Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
R
red-ci-cd
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
red-group-test
red-ci-cd
Commits
507a79aa
Commit
507a79aa
authored
Sep 25, 2019
by
Gladys Forte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
clean code re route
parent
1a9e2524
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
62 additions
and
32 deletions
+62
-32
app/applicationlayer/cms/form/views.py
app/applicationlayer/cms/form/views.py
+57
-29
app/applicationlayer/cms/utils_cr.py
app/applicationlayer/cms/utils_cr.py
+3
-1
app/businesslayer/changerequest/change_request.py
app/businesslayer/changerequest/change_request.py
+2
-2
No files found.
app/applicationlayer/cms/form/views.py
View file @
507a79aa
...
...
@@ -32,6 +32,7 @@ from app.entities import enums
from
django.forms.models
import
model_to_dict
import
json
from
django.shortcuts
import
get_object_or_404
from
django.db.models
import
Min
APPROVER_MESSAGE
=
settings
.
APPROVER_MESSAGE
...
...
@@ -296,7 +297,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
pk
=
instance
.
id
)
new_instance
=
model_to_dict
(
form_header
)
# save history in form header
crhistory_save
(
batchno
,
...
...
@@ -308,46 +309,73 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
new_instance
)
approver_data
=
[]
# get all approvers of form
approvers
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
form_code
=
form_code
)
for
approver
in
approvers
:
# get old data
old_instance
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
code
=
approver
.
code
)
.
values
()
approver_add
=
{
'id'
:
approver
.
id
,
'action'
:
None
,
'remarks'
:
None
,
'date_sent'
:
None
,
'action_date'
:
None
}
old_instance
=
list
(
old_instance
)
approver_data
.
append
(
approver_add
)
# reset details
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
code
=
approver
.
code
)
.
update
(
action
=
None
,
remarks
=
None
,
date_sent
=
None
,
action_date
=
None
)
change_request
.
form_add_edit_delete
(
approver_data
,
models
.
ChangeRequestFormApprovers
,
enums
.
CREntitiesEnum
.
CR_FRM_APPROVER
.
value
,
serializers
.
ChangeRequestFormApproversSerializer
,
partial
,
self
,
form_code
,
batchno
,
enums
.
CREnum
.
REROUTE
.
value
)
# get new data
new_instance
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
code
=
approver
.
code
)
.
values
()
min_level
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
form_code
=
form_code
)
.
aggregate
(
Min
(
'level'
))
min_level
=
min_level
.
get
(
'level__min'
)
# get details of next approver/s
next_approver
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
level
=
str
(
min_level
),
form_code
=
form_code
)
# LOOP on next approver for sending email
for
n_approver
in
next_approver
:
# NOTIF MSG FOR NEXT APPROVER
notification_msg
=
APPROVER_MESSAGE
.
split
(
';'
)[
0
]
new_instance
=
list
(
new_instance
)
if
n_approver
.
delegation
.
lower
()
==
'vendor/implementor'
:
notification_msg
=
VENDOR_ACKNOWLEDGE_MESSAGE
.
split
(
';'
)[
0
]
next_approver_email
(
n_approver
.
user
.
code
,
form_code
,
n_approver
.
delegation
.
lower
(),
notification_msg
)
# save history in form approver
crhistory_save
(
batchno
,
enums
.
CREnum
.
REROUTE
.
value
,
enums
.
CREnum
.
UPDATE
.
value
,
enums
.
CREntitiesEnum
.
CR_FRM_APPROVER
.
value
,
form_code
,
old_instance
,
new_instance
# update next approver details
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
form_code
=
form_code
)
&
Q
(
level
=
str
(
min_level
))
)
.
update
(
date_sent
=
datetime
.
now
()
)
# return Response(serializer.data)
return
Response
(
"Change request form successfully re routed"
,
status
=
status
.
HTTP_200_OK
message
=
status_message_response
(
200
,
'success'
,
'Change request form successfully re routed'
,
serializer
.
data
)
return
Response
(
message
,
status
=
status
.
HTTP_200_OK
)
@
action
(
methods
=
[
'PATCH'
],
detail
=
True
,
...
...
@@ -744,7 +772,7 @@ class ChangeRequestFormsViewset(meviewsets.ModelViewSet):
form_code
,
batchno
,
enums
.
CREnum
.
SUBMIT
.
value
)
)
change_request
.
form_add_edit_delete
(
form_data
[
'frm_stakes'
],
...
...
app/applicationlayer/cms/utils_cr.py
View file @
507a79aa
...
...
@@ -447,4 +447,6 @@ def crhistory_log_bulk_delete(queryset, entity, tbl, form_code,
tbl
.
objects
.
filter
(
id
=
test
[
'id'
])
.
delete
()
return
True
except
IntegrityError
as
exc
:
raise
APIException
(
detail
=
exc
)
\ No newline at end of file
raise
APIException
(
detail
=
exc
)
app/businesslayer/changerequest/change_request.py
View file @
507a79aa
...
...
@@ -290,8 +290,8 @@ def form_add_edit_delete(form_request_body,
serializer
=
serializer_data
(
frm_instance
,
data
=
i
,
partial
=
True
)
partial
=
partial
)
serializer
.
is_valid
(
raise_exception
=
True
)
old_instance
=
model_to_dict
(
frm_instance
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment