主动报送提交
This commit is contained in:
parent
41c9ffd096
commit
0a4bed8391
|
@ -53,8 +53,10 @@ class RecordSerializer(serializers.ModelSerializer):
|
|||
queryset = queryset.prefetch_related('files',)
|
||||
return queryset
|
||||
|
||||
class RecordCreateUpdateSerializer(serializers.ModelSerializer):
|
||||
pass
|
||||
class RecordCreateSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Record
|
||||
fields = ['content', 'files', 'noteb']
|
||||
|
||||
|
||||
class TaksDetailSerializer(serializers.ModelSerializer):
|
||||
|
|
|
@ -235,6 +235,11 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
|
|||
queryset = queryset.exclude(state='待发布')
|
||||
return super().filter_queryset(queryset)
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.action == 'create':
|
||||
return RecordCreateSerializer
|
||||
return super().get_serializer_class()
|
||||
|
||||
@action(methods=['get'], detail=False, perms_map = {'get':'*'})
|
||||
def todos(self, request, *args, **kwargs):
|
||||
ret={}
|
||||
|
@ -262,6 +267,9 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
|
|||
|
||||
@action(methods=['post'], detail=False, perms_map = {'post':'record_createself'})
|
||||
def createself(self, request, *args, **kwargs):
|
||||
"""
|
||||
创建主动报送记录
|
||||
"""
|
||||
contents = request.data['contents']
|
||||
rlist = []
|
||||
for i in contents:
|
||||
|
@ -270,7 +278,29 @@ class RecordViewSet(PageOrNot, CreateUpdateCustomMixin, ModelViewSet):
|
|||
rlist.append(Record(**data))
|
||||
Record.objects.bulk_create(rlist)
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""
|
||||
主动报送
|
||||
"""
|
||||
data = request.data
|
||||
if data.get('files', None):
|
||||
serializer = RecordCreateSerializer(data=data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
content = Content.objects.get(pk=data['content'])
|
||||
if content.can_doself:
|
||||
sdata = {'belong_dept':request.user.dept,
|
||||
'is_self':True,
|
||||
'content_name':content.name,
|
||||
'content_desc':content.desc,
|
||||
'state':'已报送',
|
||||
'up_user':request.user,
|
||||
'up_date':timezone.now()}
|
||||
serializer.save(**sdata)
|
||||
return Response(status=status.HTTP_201_CREATED)
|
||||
return Response('该材料不在主动报送范围!', status=status.HTTP_400_BAD_REQUEST)
|
||||
return Response('未上传文件', status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
@action(methods=['put'], detail=True, perms_map = {'put':'record_up'})
|
||||
def up(self, request, *args, **kwargs):
|
||||
"""
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
from .settings import *
|
||||
DEBUG = True
|
||||
DATABASES = {
|
||||
# 'default': {
|
||||
# 'ENGINE': 'django.db.backends.postgresql',
|
||||
# 'NAME': 'cma',
|
||||
# 'USER': 'postgres',
|
||||
# 'PASSWORD': 'zctest1234',
|
||||
# 'HOST': '47.95.0.242',
|
||||
# 'PORT': '5432',
|
||||
# }
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': 'cma',
|
||||
'USER': 'cma',
|
||||
'PASSWORD': 'cma123',
|
||||
'HOST': '172.16.80.102',
|
||||
'USER': 'postgres',
|
||||
'PASSWORD': 'zctest1234',
|
||||
'HOST': '47.95.0.242',
|
||||
'PORT': '5432',
|
||||
}
|
||||
# 'default': {
|
||||
# 'ENGINE': 'django.db.backends.postgresql',
|
||||
# 'NAME': 'cma',
|
||||
# 'USER': 'cma',
|
||||
# 'PASSWORD': 'cma123',
|
||||
# 'HOST': '172.16.80.102',
|
||||
# 'PORT': '5432',
|
||||
# }
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue