def add_comms_log(self, request, *args, **kwargs): try: with transaction.atomic(): instance = self.get_object() request.data['approval'] = u'{}'.format(instance.id) request.data['staff'] = u'{}'.format(request.user.id) serializer = ApprovalLogEntrySerializer(data=request.data) serializer.is_valid(raise_exception=True) comms = serializer.save() # Save the files for f in request.FILES: document = comms.documents.create() document.name = str(request.FILES[f]) document._file = request.FILES[f] document.save() # End Save Documents return Response(serializer.data) except serializers.ValidationError: print(traceback.print_exc()) raise except ValidationError as e: print(traceback.print_exc()) raise serializers.ValidationError(repr(e.error_dict)) except Exception as e: print(traceback.print_exc()) raise serializers.ValidationError(str(e))
def comms_log(self, request, *args, **kwargs): try: instance = self.get_object() qs = instance.comms_logs.all() serializer = ApprovalLogEntrySerializer(qs, many=True) return Response(serializer.data) except serializers.ValidationError: print(traceback.print_exc()) raise except ValidationError as e: print(traceback.print_exc()) raise serializers.ValidationError(repr(e.error_dict)) except Exception as e: print(traceback.print_exc()) raise serializers.ValidationError(str(e))