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
cd053dbd
Commit
cd053dbd
authored
Dec 02, 2019
by
Gladys Forte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
reject new routing action
parent
94aa12c1
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
162 additions
and
117 deletions
+162
-117
app/applicationlayer/cms/utils_cr.py
app/applicationlayer/cms/utils_cr.py
+81
-3
app/businesslayer/changerequest/change_request.py
app/businesslayer/changerequest/change_request.py
+66
-98
app/helper/email_service/sender.py
app/helper/email_service/sender.py
+14
-15
app/helper/email_service/templates/RMS-CRREVISED.html
app/helper/email_service/templates/RMS-CRREVISED.html
+1
-1
No files found.
app/applicationlayer/cms/utils_cr.py
View file @
cd053dbd
...
...
@@ -208,6 +208,7 @@ def send_mail_vendor(requestor,
recipient
=
vendor_email
action_type
=
action
delegation_type
=
delegation
delegation_recipient
=
'vendor'
admin
=
sender_email
args
=
[
name
,
action_by
,
routing_level
,
status
,
cr_number
,
cr_name
,
...
...
@@ -276,11 +277,84 @@ def send_mail_requestor(current_user,
recipient
=
requestor_email
action_type
=
action
delegation_type
=
delegation
delegation_recipient
=
'requestor'
admin
=
sender_email
args
=
[
name
,
action_by
,
routing_level
,
status
,
cr_number
,
cr_name
,
company_requestedto
,
department_requestedto
,
priority_level
,
url
,
remarks
,
recipient
,
action_type
,
delegation_type
,
admin
]
url
,
remarks
,
recipient
,
action_type
,
delegation_type
,
delegation_recipient
,
admin
]
main_threading
(
args
,
sender
.
routing_table_actions
)
message
=
f
"{sender_name} {msg} ({template_name})"
# create notification
notification_create
(
form_code
,
message
,
requestor_code
,
current_user
,
'cms'
)
def
send_mail_approver
(
current_user
,
form_code
,
delegation
,
msg
,
action
,
remarks
,
routing_level
,
approver_code
):
cr_link
=
f
'{CR_FRONT_LINK}/{form_code}'
template_instance
=
get_template_instance
(
form_code
)
cr_number
=
template_instance
.
requested_to_template_id
template_name
=
template_instance
.
requested_to_template_name
requested_to_company
=
template_instance
.
requested_to_company
.
code
requested_to_department
=
template_instance
.
requested_to_department
.
code
requested_by_user
=
template_instance
.
requested_by_user
.
code
requested_to_priority
=
template_instance
.
requested_to_priority
cr_status
=
template_instance
.
status
# receiver details --------------------------------------------------
approver_instance
=
get_account_details
(
approver_code
)
approver_name
=
approver_instance
.
values_list
(
'name'
,
flat
=
True
)[
0
]
approver_email
=
approver_instance
.
values_list
(
'email'
,
flat
=
True
)[
0
]
approver_code
=
approver_instance
.
values_list
(
'code'
,
flat
=
True
)[
0
]
# sender details --------------------------------------------------
sender_instance
=
get_account_details
(
current_user
)
sender_email
=
sender_instance
.
values_list
(
'email'
,
flat
=
True
)[
0
]
sender_name
=
sender_instance
.
values_list
(
'name'
,
flat
=
True
)[
0
]
department
=
get_dept_details
(
requested_to_department
)
dept_name
=
department
.
values_list
(
'name'
,
flat
=
True
)[
0
]
company
=
get_companies_details
(
requested_to_company
)
company_name
=
company
.
values_list
(
'name'
,
flat
=
True
)[
0
]
# call sender email
name
=
approver_name
action_by
=
sender_name
routing_level
=
routing_level
status
=
cr_status
cr_number
=
cr_number
cr_name
=
template_name
company_requestedto
=
company_name
department_requestedto
=
dept_name
priority_level
=
requested_to_priority
url
=
cr_link
recipient
=
approver_email
action_type
=
action
delegation_type
=
delegation
delegation_recipient
=
'approver'
admin
=
sender_email
args
=
[
name
,
action_by
,
routing_level
,
status
,
cr_number
,
cr_name
,
company_requestedto
,
department_requestedto
,
priority_level
,
url
,
remarks
,
recipient
,
action_type
,
delegation_type
,
delegation_recipient
,
admin
]
main_threading
(
args
,
sender
.
routing_table_actions
)
...
...
@@ -352,11 +426,13 @@ def next_approver_email(form_code, next_level):
recipient
=
receiver_email
delegation_type
=
n_approver
.
delegation
.
name
.
lower
()
delegation_recipient
=
'None'
admin
=
sender_email
args
=
[
name
,
cr_number
,
cr_name
,
company_requestedto
,
department_requestedto
,
priority_level
,
status
,
url
,
recipient
,
delegation_type
,
admin
]
status
,
url
,
recipient
,
delegation_type
,
delegation_recipient
,
admin
]
main_threading
(
args
,
sender
.
routing_table_actions_required
)
...
...
@@ -731,11 +807,13 @@ def cancelled_user_trigger(form_code,
recipient
=
receiver_email
action_type
=
action
delegation_type
=
'others'
delegation_recipient
=
'None'
admin
=
sender_email
args
=
[
name
,
action_by
,
routing_level
,
status
,
cr_number
,
cr_name
,
company_requestedto
,
department_requestedto
,
priority_level
,
url
,
remarks
,
recipient
,
action_type
,
delegation_type
,
admin
]
url
,
remarks
,
recipient
,
action_type
,
delegation_type
,
delegation_recipient
,
admin
]
main_threading
(
args
,
sender
.
routing_table_actions
)
...
...
app/businesslayer/changerequest/change_request.py
View file @
cd053dbd
...
...
@@ -25,7 +25,8 @@ from app.applicationlayer.cms.utils_cr import (
reminder_trigger_save
,
overdue_trigger_save
,
reset_autoemail_tables
,
cancelled_user_trigger
cancelled_user_trigger
,
send_mail_approver
)
from
app.applicationlayer.utils
import
model_to_dict
from
app.entities
import
enums
,
models
...
...
@@ -562,12 +563,12 @@ def cr_routing_actions(approver_instance, current_user, move_to_level):
#save details for reminder trigger
reminder_trigger_save
(
form_code
,
date_now
,
date_now
)
elif
approver_instance
[
'action'
]
.
lower
()
==
're
vis
ed'
:
elif
approver_instance
[
'action'
]
.
lower
()
==
're
ject
ed'
:
# send email to vendor
if
delegation
.
lower
()
==
'requestor'
:
notification_msg
=
REVISED
_MESSAGE
.
split
(
';'
)[
0
]
notification_msg
=
VENDOR_REJECT
_MESSAGE
.
split
(
';'
)[
0
]
# send reject email to vendor
send_mail_vendor
(
...
...
@@ -590,34 +591,82 @@ def cr_routing_actions(approver_instance, current_user, move_to_level):
else
:
prev_vendor
=
check_vendor_level
(
'prev'
,
level
,
form_code
)
# move_to_level
if
prev_vendor
.
count
()
>
0
:
back_to_approver
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
form_code
=
form_code
)
&
Q
(
level
=
move_to_level
)
)
.
first
()
print
(
back_to_approver
.
delegation
.
name
)
if
back_to_approver
.
delegation
.
name
.
lower
()
==
'requestor'
:
notification_msg
=
REVISED
_MESSAGE
.
split
(
';'
)[
0
]
requestor_notification_msg
=
REQUESTOR_REJECT
_MESSAGE
.
split
(
';'
)[
0
]
# SEND EMAIL AND NOTIF TO REQUESTOR
send_mail_requestor
(
current_user
,
form_code
,
delegation
,
requestor_notification_msg
,
action
,
remarks
,
level
)
update_form_header_status
(
form_code
,
'Rejected'
)
elif
back_to_approver
.
delegation
.
name
.
lower
()
==
'vendor/implementor'
:
vendor_notification_msg
=
REVISED_MESSAGE
.
split
(
';'
)[
0
]
# send reject email to vendor
send_mail_vendor
(
current_user
,
form_code
,
'others'
,
notification_msg
,
action
,
current_user
,
form_code
,
delegation
,
vendor_
notification_msg
,
action
,
remarks
,
level
)
last_action_vendor
=
prev_vendor
.
last
()
requestor_notification_msg
=
REQUESTOR_REJECT_MESSAGE
.
split
(
';'
)[
0
]
# SEND EMAIL AND NOTIF TO REQUESTOR
send_mail_requestor
(
current_user
,
form_code
,
delegation
,
requestor_notification_msg
,
action
,
remarks
,
level
)
# reset selected vendor details
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
code
=
last_action_vendor
Q
(
form_code
=
form_code
)
&
Q
(
level
=
int
(
move_to_level
))
)
.
update
(
is_action
=
True
,
action
=
'Acknowledged'
,
action_date
=
datetime
.
now
(),
date_sent
=
datetime
.
now
()
)
)
else
:
approver_code
=
back_to_approver
.
user
.
code
approver_notification_msg
=
REVISED_MESSAGE
.
split
(
';'
)[
0
]
send_mail_approver
(
current_user
,
form_code
,
delegation
,
approver_notification_msg
,
action
,
remarks
,
level
,
approver_code
)
# level = last_action_vendor.level
# print(level)
requestor_notification_msg
=
REQUESTOR_REJECT_MESSAGE
.
split
(
';'
)[
0
]
# SEND EMAIL AND NOTIF TO REQUESTOR
send_mail_requestor
(
current_user
,
form_code
,
delegation
,
requestor_notification_msg
,
action
,
remarks
,
level
)
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
form_code
=
form_code
)
&
Q
(
level__gt
e
=
int
(
level
))
Q
(
form_code
=
form_code
)
&
Q
(
level__gt
=
int
(
move_to_
level
))
)
.
update
(
is_action
=
False
,
action
=
None
,
...
...
@@ -625,87 +674,6 @@ def cr_routing_actions(approver_instance, current_user, move_to_level):
action_date
=
None
,
date_sent
=
None
)
elif
approver_instance
[
'action'
]
.
lower
()
==
'rejected'
:
# update_form_header_status(form_code, 'Rejected')
# # EMAIL CODE FOR REQUESTOR
# requestor_notification_msg = REQUESTOR_REJECT_MESSAGE.split(';')[0]
# # SEND EMAIL AND NOTIF TO REQUESTOR
# send_mail_requestor(
# current_user, form_code, delegation,
# requestor_notification_msg, action,
# remarks, level
# )
# send email to vendor
if
delegation
.
lower
()
==
'requestor'
:
notification_msg
=
REVISED_MESSAGE
.
split
(
';'
)[
0
]
# send reject email to vendor
send_mail_vendor
(
current_user
,
form_code
,
delegation
,
notification_msg
,
action
,
remarks
,
level
)
prev_level
=
int
(
level
)
-
1
# reset last vendor details
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
form_code
=
form_code
)
&
Q
(
level
=
int
(
prev_level
))
)
.
update
(
is_action
=
True
,
action
=
'Acknowledged'
,
action_date
=
datetime
.
now
(),
date_sent
=
datetime
.
now
()
)
else
:
# move_to_level
back_to_approver
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
form_code
=
form_code
)
&
Q
(
level
=
move_to_level
)
)
.
first
()
print
(
back_to_approver
.
delegation
.
name
)
# prev_vendor = check_vendor_level(
# 'prev', level, form_code)
# if prev_vendor.count() > 0:
# notification_msg = REVISED_MESSAGE.split(';')[0]
# send_mail_vendor(
# current_user, form_code, 'others',
# notification_msg, action,
# remarks, level
# )
# last_action_vendor = prev_vendor.last()
# models.ChangeRequestFormApprovers.objects.filter(
# code=last_action_vendor
# ).update(
# is_action=True,
# action='Acknowledged',
# action_date=datetime.now(),
# date_sent=datetime.now()
# )
# models.ChangeRequestFormApprovers.objects.filter(
# Q(form_code=form_code) & Q(level__gte=int(level))
# ).update(
# is_action=False,
# action=None,
# remarks=None,
# action_date=None,
# date_sent=None
# )
elif
approver_instance
[
'action'
]
.
lower
()
==
'completed'
:
...
...
app/helper/email_service/sender.py
View file @
cd053dbd
...
...
@@ -243,7 +243,8 @@ def routing_table_actions(args):
recipient
=
args
[
11
]
action_type
=
args
[
12
]
delegation_type
=
args
[
13
]
admin
=
args
[
14
]
delegation_recipient
=
args
[
14
]
admin
=
args
[
15
]
if
args
[
12
]
.
lower
()
==
'approved'
:
email_template
=
'RMS-CRAPPROVED.html'
...
...
@@ -258,20 +259,18 @@ def routing_table_actions(args):
email_template
=
'RMS-CRACCEPTED.html'
subject
=
'Resource Management System - Change Request Accepted'
elif
args
[
12
]
.
lower
()
==
'rejected'
:
subject
=
'Resource Management System - Change Request Rejected'
if
args
[
13
]
.
lower
()
==
'requestor'
or
args
[
13
]
.
lower
()
==
'others'
:
email_template
=
'RMS-CRREJECTED-VENDOR.html'
else
:
if
args
[
14
]
.
lower
()
==
'requestor'
:
subject
=
'Resource Management System - Change Request Rejected'
email_template
=
'RMS-CRREJECTED.html'
elif
args
[
12
]
.
lower
()
==
'revised
'
:
subject
=
'Resource Management System - Action Required for Change Request'
email_template
=
'RMS-CRREVISED.html'
elif
args
[
14
]
.
lower
()
==
'vendor'
or
args
[
14
]
.
lower
()
==
'approver
'
:
subject
=
'Resource Management System - Action Required for Change Request'
email_template
=
'RMS-CRREVISED.html'
elif
args
[
12
]
.
lower
()
==
'cancelled'
:
subject
=
'Resource Management System - Change Request Cancelled'
email_template
=
'RMS-CRCANCELLED-USERTRIGGER.html'
F
=
open
(
os
.
path
.
join
(
settings
.
EMAIL_TEMPLATES_ROOT
,
email_template
),
'r'
)
FC
=
F
.
read
()
FC
=
FC
.
replace
(
'{name}'
,
name
)
...
...
@@ -285,15 +284,15 @@ def routing_table_actions(args):
FC
=
FC
.
replace
(
'{priority_level}'
,
priority_level
)
FC
=
FC
.
replace
(
'{url}'
,
url
)
if
args
[
12
]
.
lower
()
==
'rejected'
or
args
[
12
]
.
lower
()
==
'revised'
:
if
args
[
12
]
.
lower
()
==
'rejected'
:
FC
=
FC
.
replace
(
'{remarks}'
,
remarks
)
if
email_template
==
'RMS-CRRE
JECTED-VENDOR
.html'
:
if
email_template
==
'RMS-CRRE
VISED
.html'
:
if
args
[
1
3
]
.
lower
()
==
'request
or'
:
FC
=
FC
.
replace
(
'{
delegation}'
,
'requestor
'
)
if
args
[
1
4
]
.
lower
()
==
'vend
or'
:
FC
=
FC
.
replace
(
'{
action_revise}'
,
'acknowledgement
'
)
else
:
FC
=
FC
.
replace
(
'{
delegation}'
,
'approver
'
)
FC
=
FC
.
replace
(
'{
action_revise}'
,
'approval
'
)
try
:
send_mail
(
...
...
app/helper/email_service/templates/RMS-CRREVISED.html
View file @
cd053dbd
...
...
@@ -9,7 +9,7 @@
<h3
style=
"color:#888888;"
>
Change Request Revision
</h3><br>
<p>
Dear {name},
</p><br>
<p>
A change request has been submitted for your
acknowledgement
to revise. Please see the details of the change request below.
</p><br>
<p>
A change request has been submitted for your
{action_revise}
to revise. Please see the details of the change request below.
</p><br>
<b>
Rejected By
</b><br>
{action_by}
<br><br>
<b>
Routing Level
</b><br>
{routing_level}
<br><br>
...
...
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