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,27 +7,27 @@ class ChangeRequestFormAttachmentsSerializer( ...@@ -7,27 +7,27 @@ class ChangeRequestFormAttachmentsSerializer(
serializers.ModelSerializer serializers.ModelSerializer
): ):
def to_representation(self, instance): def to_representation(self, instance):
try: # try:
ret = super().to_representation(instance) ret = super().to_representation(instance)
user_object = { user_object = {
"id": instance.uploaded_by.id, "id": instance.uploaded_by.id,
"name": instance.uploaded_by.name, "name": instance.uploaded_by.name,
"username": instance.uploaded_by.username, "username": instance.uploaded_by.username,
"code": instance.uploaded_by.code, "code": instance.uploaded_by.code,
"email": instance.uploaded_by.email, "email": instance.uploaded_by.email,
"contact_no": instance.uploaded_by.contact_no "contact_no": instance.uploaded_by.contact_no
} }
ret['uploaded_by'] = user_object ret['uploaded_by'] = user_object
ret['file_upload'] = self.context['request'].build_absolute_uri( ret['file_upload'] = self.context['request'].build_absolute_uri(
instance.file_upload.url.url) instance.file_upload.url.url)
ret['file_upload_id'] = self.context['request'].build_absolute_uri( ret['file_upload_id'] = self.context['request'].build_absolute_uri(
instance.file_upload.url instance.file_upload.id
) )
return ret return ret
except Exception as e: # except Exception as e:
ret['uploaded_by'] = user_object # ret['uploaded_by'] = user_object
ret['file_upload'] = "none" # ret['file_upload'] = "none"
return ret # return ret
class Meta: class Meta:
model = models.ChangeRequestFormAttachments model = models.ChangeRequestFormAttachments
......
...@@ -16,6 +16,11 @@ from app.applicationlayer.cms.template.details.serializers import ChangeRequestT ...@@ -16,6 +16,11 @@ from app.applicationlayer.cms.template.details.serializers import ChangeRequestT
from django.conf import settings from django.conf import settings
from rest_framework.exceptions import ValidationError
from app.applicationlayer.cms.utils_cr import (
BadRequestException
)
class ChangeRequestTemplatesSerializer( class ChangeRequestTemplatesSerializer(
serializers.ModelSerializer serializers.ModelSerializer
...@@ -65,6 +70,46 @@ class ChangeRequestTemplatesSerializer( ...@@ -65,6 +70,46 @@ class ChangeRequestTemplatesSerializer(
return ret 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: class Meta:
model = models.ChangeRequestTemplateHeader model = models.ChangeRequestTemplateHeader
# fields = '__all__' # fields = '__all__'
......
...@@ -370,7 +370,7 @@ class ChangeRequestTemplatePost(APIView): ...@@ -370,7 +370,7 @@ class ChangeRequestTemplatePost(APIView):
if serializer.is_valid(raise_exception=True): if serializer.is_valid(raise_exception=True):
serializer.save() serializer.save()
tmp_id = serializer.data['template_no'] tmp_id = serializer.data['template_no']
# create template approvers # create template approvers
......
...@@ -516,4 +516,8 @@ def crhistory_create_save(batch_no, main_action, ...@@ -516,4 +516,8 @@ def crhistory_create_save(batch_no, main_action,
template_no=template_no template_no=template_no
) )
return True return True
\ No newline at end of file
class BadRequestException(Exception):
pass
\ No newline at end of file
...@@ -366,8 +366,18 @@ def attachment_add_edit_delete(form_request_body, ...@@ -366,8 +366,18 @@ def attachment_add_edit_delete(form_request_body,
pk=i['id'] 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 = { frm_code = {
"form_code": form_code "form_code": form_code,
"uploaded_by": id_number
} }
data = {**i, **frm_code} data = {**i, **frm_code}
...@@ -376,20 +386,21 @@ def attachment_add_edit_delete(form_request_body, ...@@ -376,20 +386,21 @@ def attachment_add_edit_delete(form_request_body,
partial=partial) partial=partial)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(frm_instance) old_instance = model_to_dict(frm_instance)
self.perform_update(serializer)
new_instance = serializer.data if not data_old == i:
# comment self.perform_update(serializer)
crhistory_save( new_instance = serializer.data
batch_no, # comment
main_action, crhistory_save(
enums.CREnum.UPDATE.value, batch_no,
entity, main_action,
form_code, enums.CREnum.UPDATE.value,
old_instance, entity,
new_instance form_code,
) old_instance,
new_instance
)
else: else:
frm_code = { 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): ...@@ -531,6 +531,7 @@ class ChangeRequestTemplateHeader(BaseHeader):
class Meta: class Meta:
db_table = 'change_request_template_headers' db_table = 'change_request_template_headers'
ordering = ['-created']
def __str__(self): def __str__(self):
return f'{self.requested_to_template_name}' 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