Commit ec309822 authored by John Red Medrano's avatar John Red Medrano

{dev bugfix} removed read_only_field on serializer added enums

parent 7ddd97b9
...@@ -16,4 +16,3 @@ class AMSAssetSerializer(serializers.ModelSerializer): ...@@ -16,4 +16,3 @@ class AMSAssetSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = AMSAsset model = AMSAsset
fields = '__all__' fields = '__all__'
read_only_fields = ('created_by',)
...@@ -11,6 +11,8 @@ from app.applicationlayer.utils import( ...@@ -11,6 +11,8 @@ from app.applicationlayer.utils import(
CustomPagination, status_message_response CustomPagination, status_message_response
) )
from rest_framework.decorators import action from rest_framework.decorators import action
from app.applicationlayer.utils import log_save, enums
from app.applicationlayer.utils import model_to_dict
class AMSAssetViewSet(viewsets.ModelViewSet): class AMSAssetViewSet(viewsets.ModelViewSet):
...@@ -57,8 +59,8 @@ class AMSAssetViewSet(viewsets.ModelViewSet): ...@@ -57,8 +59,8 @@ class AMSAssetViewSet(viewsets.ModelViewSet):
@transaction.atomic @transaction.atomic
def create(self, request, *args, **kwargs): def create(self, request, *args, **kwargs):
form = request.data
serializer = self.get_serializer(data=request.data) serializer = self.get_serializer(data=form)
serializer.is_valid(raise_exception=True) serializer.is_valid(raise_exception=True)
self.perform_create(serializer) self.perform_create(serializer)
...@@ -71,6 +73,35 @@ class AMSAssetViewSet(viewsets.ModelViewSet): ...@@ -71,6 +73,35 @@ class AMSAssetViewSet(viewsets.ModelViewSet):
message message
) )
def update(self, request, *args, **kwargs):
try:
partial = kwargs.pop('partial', False)
instance = self.get_object()
form = request.data
form['created_by'] = request.user.code
serializer = self.get_serializer(instance, data=form, partial=partial)
serializer.is_valid(raise_exception=True)
old_instance = model_to_dict(instance)
self.perform_update(serializer)
new_instance = serializer.data
log_save(
enums.LogEnum.UPDATE.value,
enums.LogEntitiesEnum.AMSReport.value,
old_instance['id'],
old_instance,
new_instance
)
return Response(serializer.data)
except IntegrityError as e:
return Response(
{"message": "Cannot delete or update this reocrd it has foreign key constraint to other tables"},
status=status.HTTP_400_BAD_REQUEST
)
def retrieve(self, request, *args, **kwargs): def retrieve(self, request, *args, **kwargs):
instance = self.get_object() instance = self.get_object()
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
......
...@@ -171,6 +171,7 @@ class AMSReportViewset(viewsets.ModelViewSet): ...@@ -171,6 +171,7 @@ class AMSReportViewset(viewsets.ModelViewSet):
instance.is_active = True instance.is_active = True
instance.save() instance.save()
new_instance = model_to_dict(instance) new_instance = model_to_dict(instance)
log_save( log_save(
enums.LogEnum.UPDATE.value, enums.LogEnum.UPDATE.value,
......
...@@ -78,6 +78,9 @@ class LogEntitiesEnum(Enum): ...@@ -78,6 +78,9 @@ class LogEntitiesEnum(Enum):
AMSReportType = 'AMSReportType' AMSReportType = 'AMSReportType'
AMSReport = 'AMSReport' AMSReport = 'AMSReport'
AMSAsset = 'AMSAsset'
AMSAssetStock = 'AMSAssetStock'
AMSAssetStockSupport = 'AMSAssetStockSupport'
''' '''
********* *********
......
# Generated by Django 2.2 on 2020-03-18 15:35
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0006_auto_20200318_1314'),
]
operations = [
migrations.AlterField(
model_name='entitylog',
name='entity',
field=models.CharField(choices=[('USER', 'USER'), ('APPLICATION', 'APPLICATION'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('MODULE', 'MODULE'), ('DELEGATION', 'DELEGATION'), ('ChangeRequestTemplateHeader', 'ChangeRequestTemplateHeader'), ('ChangeRequestTemplateApprovers', 'ChangeRequestTemplateApprovers'), ('ChangeRequestTemplateStakeHolders', 'ChangeRequestTemplateStakeHolders'), ('ChangeRequestTemplateAttachments', 'ChangeRequestTemplateAttachments'), ('ChangeRequestTemplateDetails', 'ChangeRequestTemplateDetails'), ('ChangeRequestFormHeader', 'ChangeRequestFormHeader'), ('ChangeRequestFormApprovers', 'ChangeRequestFormApprovers'), ('ChangeRequestFormStakeHolders', 'ChangeRequestFormStakeHolders'), ('ChangeRequestFormAttachments', 'ChangeRequestFormAttachments'), ('ChangeRequestFormDetails', 'ChangeRequestFormDetails'), ('ChangeRequestSettings', 'ChangeRequestSettings'), ('AMSReportType', 'AMSReportType'), ('AMSReport', 'AMSReport'), ('AMSASSET', 'AMSASSET')], default='Add', max_length=50),
),
]
# Generated by Django 2.2 on 2020-03-18 15:45
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('entities', '0007_auto_20200318_1535'),
]
operations = [
migrations.AlterField(
model_name='entitylog',
name='entity',
field=models.CharField(choices=[('USER', 'USER'), ('APPLICATION', 'APPLICATION'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('MODULE', 'MODULE'), ('DELEGATION', 'DELEGATION'), ('ChangeRequestTemplateHeader', 'ChangeRequestTemplateHeader'), ('ChangeRequestTemplateApprovers', 'ChangeRequestTemplateApprovers'), ('ChangeRequestTemplateStakeHolders', 'ChangeRequestTemplateStakeHolders'), ('ChangeRequestTemplateAttachments', 'ChangeRequestTemplateAttachments'), ('ChangeRequestTemplateDetails', 'ChangeRequestTemplateDetails'), ('ChangeRequestFormHeader', 'ChangeRequestFormHeader'), ('ChangeRequestFormApprovers', 'ChangeRequestFormApprovers'), ('ChangeRequestFormStakeHolders', 'ChangeRequestFormStakeHolders'), ('ChangeRequestFormAttachments', 'ChangeRequestFormAttachments'), ('ChangeRequestFormDetails', 'ChangeRequestFormDetails'), ('ChangeRequestSettings', 'ChangeRequestSettings'), ('AMSReportType', 'AMSReportType'), ('AMSReport', 'AMSReport'), ('AMSAsset', 'AMSAsset'), ('AMSAssetStock', 'AMSAssetStock'), ('AMSAssetStockSupport', 'AMSAssetStockSupport')], default='Add', max_length=50),
),
]
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