Commit bc8c5681 authored by Gladys Forte's avatar Gladys Forte

Merge pull request #411 in RMS/api-main-service from RMSv2 to staging

* commit '0be97e89':
  fix partial update template
  sorting level temp approver
  partial update temp
  threading
parents 4393656e 0be97e89
...@@ -65,7 +65,7 @@ class ReminderTriggerAPIView(views.APIView): ...@@ -65,7 +65,7 @@ class ReminderTriggerAPIView(views.APIView):
requestor_recipient, admin] requestor_recipient, admin]
main_threading(args_requestor, sender.routing_table_reminder_requestor) main_threading(args_requestor, sender.routing_table_reminder_requestor)
today_mail.update(date_to_send=next_day.strftime('%Y-%m-%d 00:00:00.000')) today_mail.update(date_to_send=next_day.strftime('%Y-%m-%d 00:00:00.000'))
return Response( return Response(
......
...@@ -85,6 +85,11 @@ class ChangeRequestFormHeaderSerializer( ...@@ -85,6 +85,11 @@ class ChangeRequestFormHeaderSerializer(
return ret return ret
def setup_eager_loading(self, cls, queryset):
""" Perform necessary eager loading of data. """
queryset = queryset.prefetch_related('frm_approvers')
return queryset
class Meta: class Meta:
model = models.ChangeRequestFormHeader model = models.ChangeRequestFormHeader
# fields = '__all__' # fields = '__all__'
......
...@@ -60,6 +60,7 @@ from rest_framework.filters import SearchFilter, OrderingFilter ...@@ -60,6 +60,7 @@ from rest_framework.filters import SearchFilter, OrderingFilter
from django_filters import rest_framework as filters from django_filters import rest_framework as filters
from django_filters.rest_framework import DjangoFilterBackend from django_filters.rest_framework import DjangoFilterBackend
import json import json
from app.applicationlayer.utils import main_threading
APPROVER_MESSAGE = settings.APPROVER_MESSAGE APPROVER_MESSAGE = settings.APPROVER_MESSAGE
REQUESTOR_MESSAGE = settings.REQUESTOR_MESSAGE REQUESTOR_MESSAGE = settings.REQUESTOR_MESSAGE
...@@ -368,24 +369,27 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -368,24 +369,27 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
id_number = self.request.user.code id_number = self.request.user.code
form_code = kwargs['form_code'] form_code = kwargs['form_code']
instance = self.get_object()
serializer = self.get_serializer(instance)
models.Notification.objects.filter( models.Notification.objects.filter(
account_no=id_number, account_no=id_number,
form_code=form_code, form_code=form_code,
is_read=False).update(is_read=True) is_read=False).update(is_read=True)
ROOM = id_number ROOM = id_number
SENDER = id_number SENDER = id_number
send_broadcast_message( notif = send_broadcast_message(
ROOM, ROOM,
SENDER, SENDER,
'UPDATE NOTIFICATIONS' 'UPDATE NOTIFICATIONS'
) )
instance = self.get_object() main_threading(1, notif)
serializer = self.get_serializer(instance)
return Response(serializer.data) return Response(serializer.data)
@transaction.atomic() @transaction.atomic()
def destroy(self, request, *args, **kwargs): def destroy(self, request, *args, **kwargs):
try: try:
...@@ -680,7 +684,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet): ...@@ -680,7 +684,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
url_path='actions', url_name='actions' url_path='actions', url_name='actions'
) )
def actions(self, request, *args, **kwargs): def actions(self, request, *args, **kwargs):
current_user = self.request.user.code current_user = self.request.user.code
action_body = request.data action_body = request.data
......
...@@ -184,7 +184,7 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -184,7 +184,7 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
@transaction.atomic @transaction.atomic
def partial_update(self, request, *args, **kwargs): def partial_update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False) partial = kwargs.pop('partial', True)
instance = self.get_object() instance = self.get_object()
template_no = kwargs['template_no'] template_no = kwargs['template_no']
...@@ -222,38 +222,35 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet): ...@@ -222,38 +222,35 @@ class ChangeRequestTemplatesViewset(viewsets.ModelViewSet):
template_no template_no
) )
if body_data['tmp_stakes']: tmp_add_edit_delete(
tmp_add_edit_delete( body_data['tmp_stakes'],
body_data['tmp_stakes'], models.ChangeRequestTemplateStakeHolders,
models.ChangeRequestTemplateStakeHolders, enums.LogEntitiesEnum.ChangeRequestTemplateStakeHolders.value,
enums.LogEntitiesEnum.ChangeRequestTemplateStakeHolders.value, ChangeRequestTemplateStakeHoldersSerializer,
ChangeRequestTemplateStakeHoldersSerializer, partial,
partial, self,
self, template_no
template_no )
)
if body_data['tmp_attachments']: tmp_add_edit_delete(
tmp_add_edit_delete( body_data['tmp_attachments'],
body_data['tmp_attachments'], models.ChangeRequestTemplateAttachments,
models.ChangeRequestTemplateAttachments, enums.LogEntitiesEnum.ChangeRequestTemplateAttachments.value,
enums.LogEntitiesEnum.ChangeRequestTemplateAttachments.value, ChangeRequestTemplateAttachmentsSerializer,
ChangeRequestTemplateAttachmentsSerializer, partial,
partial, self,
self, template_no
template_no )
)
if body_data['tmp_details']: tmp_add_edit_delete(
tmp_add_edit_delete( body_data['tmp_details'],
body_data['tmp_details'], models.ChangeRequestTemplateDetails,
models.ChangeRequestTemplateDetails, enums.LogEntitiesEnum.ChangeRequestTemplateDetails.value,
enums.LogEntitiesEnum.ChangeRequestTemplateDetails.value, ChangeRequestTemplateDetailsSerializer,
ChangeRequestTemplateDetailsSerializer, partial,
partial, self,
self, template_no
template_no )
)
serializer = self.get_serializer(instance) serializer = self.get_serializer(instance)
......
# Generated by Django 2.2 on 2019-10-22 14:33
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('entities', '0023_auto_20191021_1706'),
]
operations = [
migrations.AlterModelOptions(
name='changerequesttemplateapprovers',
options={'ordering': ['level']},
),
]
...@@ -572,6 +572,7 @@ class ChangeRequestTemplateApprovers(BaseApprover): ...@@ -572,6 +572,7 @@ class ChangeRequestTemplateApprovers(BaseApprover):
class Meta: class Meta:
db_table = 'change_request_template_approvers' db_table = 'change_request_template_approvers'
ordering = ['level']
def __str__(self): def __str__(self):
return f'{self.code}' return f'{self.code}'
......
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