Commit 702fdca0 authored by Gladys Forte's avatar Gladys Forte

added is_valid template temporary

parent ffca5be7
......@@ -7,27 +7,27 @@ class ChangeRequestFormAttachmentsSerializer(
serializers.ModelSerializer
):
def to_representation(self, instance):
try:
ret = super().to_representation(instance)
user_object = {
"id": instance.uploaded_by.id,
"name": instance.uploaded_by.name,
"username": instance.uploaded_by.username,
"code": instance.uploaded_by.code,
"email": instance.uploaded_by.email,
"contact_no": instance.uploaded_by.contact_no
}
ret['uploaded_by'] = user_object
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
)
return ret
except Exception as e:
ret['uploaded_by'] = user_object
ret['file_upload'] = "none"
return ret
# try:
ret = super().to_representation(instance)
user_object = {
"id": instance.uploaded_by.id,
"name": instance.uploaded_by.name,
"username": instance.uploaded_by.username,
"code": instance.uploaded_by.code,
"email": instance.uploaded_by.email,
"contact_no": instance.uploaded_by.contact_no
}
ret['uploaded_by'] = user_object
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.id
)
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__'
......
......@@ -370,7 +370,7 @@ class ChangeRequestTemplatePost(APIView):
if serializer.is_valid(raise_exception=True):
serializer.save()
tmp_id = serializer.data['template_no']
# create template approvers
......
......@@ -516,4 +516,8 @@ def crhistory_create_save(batch_no, main_action,
template_no=template_no
)
return True
\ No newline at end of file
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,20 +386,21 @@ def attachment_add_edit_delete(form_request_body,
partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(frm_instance)
self.perform_update(serializer)
new_instance = serializer.data
# comment
crhistory_save(
batch_no,
main_action,
enums.CREnum.UPDATE.value,
entity,
form_code,
old_instance,
new_instance
)
if not data_old == i:
self.perform_update(serializer)
new_instance = serializer.data
# comment
crhistory_save(
batch_no,
main_action,
enums.CREnum.UPDATE.value,
entity,
form_code,
old_instance,
new_instance
)
else:
frm_code = {
......
# 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