Commit 395e14bf authored by Gladys Forte's avatar Gladys Forte

Merge pull request #351 in RMS/api-main-service from gladys-dev2 to RMSv2

* commit '702fdca0':
  added is_valid template temporary
parents ffca5be7 702fdca0
......@@ -7,7 +7,7 @@ class ChangeRequestFormAttachmentsSerializer(
serializers.ModelSerializer
):
def to_representation(self, instance):
try:
# try:
ret = super().to_representation(instance)
user_object = {
"id": instance.uploaded_by.id,
......@@ -21,13 +21,13 @@ class ChangeRequestFormAttachmentsSerializer(
ret['file_upload'] = self.context['request'].build_absolute_uri(
instance.file_upload.url.url)
ret['file_upload_id'] = self.context['request'].build_absolute_uri(
instance.file_upload.url
instance.file_upload.id
)
return ret
except Exception as e:
ret['uploaded_by'] = user_object
ret['file_upload'] = "none"
return ret
# except Exception as e:
# ret['uploaded_by'] = user_object
# ret['file_upload'] = "none"
# return ret
class Meta:
model = models.ChangeRequestFormAttachments
......
......@@ -16,6 +16,11 @@ from app.applicationlayer.cms.template.details.serializers import ChangeRequestT
from django.conf import settings
from rest_framework.exceptions import ValidationError
from app.applicationlayer.cms.utils_cr import (
BadRequestException
)
class ChangeRequestTemplatesSerializer(
serializers.ModelSerializer
......@@ -65,6 +70,46 @@ class ChangeRequestTemplatesSerializer(
return ret
def is_valid(self, raise_exception=False):
assert not hasattr(self, 'restore_object'), (
'Serializer `%s.%s` has old-style version 2 `.restore_object()` '
'that is no longer compatible with REST framework 3. '
'Use the new-style `.create()` and `.update()` methods instead.' %
(self.__class__.__module__, self.__class__.__name__)
)
assert hasattr(self, 'initial_data'), (
'Cannot call `.is_valid()` as no `data=` keyword argument was '
'passed when instantiating the serializer instance.'
)
if not hasattr(self, '_validated_data'):
try:
self._validated_data = self.run_validation(self.initial_data)
except ValidationError as exc:
self._validated_data = {}
self._errors = exc.detail
else:
self._errors = {}
# if validation failed
if self._errors and raise_exception:
error_message = {}
message = str(self.errors)
for k, v in self.errors.items():
message = str(v)
start = message.find('string=') + 8
end = message.find(', code=') - 1
message = message[start:end]
error_message[str(k)] = message
raise BadRequestException(error_message)
return not bool(self._errors)
class Meta:
model = models.ChangeRequestTemplateHeader
# fields = '__all__'
......
......@@ -517,3 +517,7 @@ def crhistory_create_save(batch_no, main_action,
)
return True
class BadRequestException(Exception):
pass
\ No newline at end of file
......@@ -366,8 +366,18 @@ def attachment_add_edit_delete(form_request_body,
pk=i['id']
)
data_old = {
'id': frm_instance.id,
'attachment_type': frm_instance.attachment_type,
'attachment_name': frm_instance.attachment_name,
'file_name': frm_instance.file_name,
'description': frm_instance.description,
'file_upload': frm_instance.file_upload.id
}
frm_code = {
"form_code": form_code
"form_code": form_code,
"uploaded_by": id_number
}
data = {**i, **frm_code}
......@@ -376,8 +386,9 @@ def attachment_add_edit_delete(form_request_body,
partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(frm_instance)
if not data_old == i:
self.perform_update(serializer)
new_instance = serializer.data
# comment
......
# Generated by Django 2.2 on 2019-10-09 16:40
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('entities', '0016_auto_20191008_1730'),
]
operations = [
migrations.AlterModelOptions(
name='changerequesttemplateheader',
options={'ordering': ['-created']},
),
]
......@@ -531,6 +531,7 @@ class ChangeRequestTemplateHeader(BaseHeader):
class Meta:
db_table = 'change_request_template_headers'
ordering = ['-created']
def __str__(self):
return f'{self.requested_to_template_name}'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment