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
d0036ae0
Commit
d0036ae0
authored
Feb 04, 2020
by
Gladys Forte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
{dev bugfix} check if cr prefix exists in template
parent
38b5df47
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
43 deletions
+40
-43
app/applicationlayer/cms/template/header/serializers.py
app/applicationlayer/cms/template/header/serializers.py
+2
-2
app/applicationlayer/cms/template/header/views.py
app/applicationlayer/cms/template/header/views.py
+3
-3
app/helper/decorators.py
app/helper/decorators.py
+35
-38
No files found.
app/applicationlayer/cms/template/header/serializers.py
View file @
d0036ae0
app/applicationlayer/cms/template/header/views.py
View file @
d0036ae0
app/helper/decorators.py
View file @
d0036ae0
...
...
@@ -4,7 +4,9 @@ import json
from
rest_framework.exceptions
import
ParseError
from
functools
import
wraps
from
rest_framework.authtoken.models
import
Token
from
app.entities.models
import
User
,
Department
,
Company
from
app.entities.models
import
(
User
,
Department
,
Company
,
ChangeRequestTemplateHeader
,
ChangeRequestFormHeader
)
from
app.entities
import
enums
from
django.db.models
import
Q
from
app.businesslayer.changerequest.change_request_template
import
(
...
...
@@ -285,61 +287,56 @@ def TemplateValidation(function):
def
wrapper
(
self
,
request
,
*
args
,
**
kwargs
):
template_header
=
request
.
data
required
=
{
'requested_to_template_name'
:
'Template Name'
,
'requested_to_template_id'
:
'CR Number prefix'
,
'requested_to_target_date'
:
'Lead Time'
,
'requested_to_company'
:
'Company'
,
'requested_to_department'
:
'Department'
}
for
key
in
required
.
keys
():
if
not
key
in
template_header
or
template_header
[
key
]
==
''
:
return
error_message
(
'400'
,
required
[
key
]
+
' is required'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
# Check if prefix already exists
prefix
=
ChangeRequestTemplateHeader
.
objects
.
get
(
requested_to_template_id
=
template_header
[
'requested_to_template_id'
])
if
prefix
:
return
error_message
(
'400'
,
'CR Number prefix already exists.'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
# Restrict form using Superuser Department
if
(
template_header
[
'created_by_department'
]
==
'DEPARTMENT-20190923-0000001'
or
template_header
[
'requested_to_department'
]
==
'DEPARTMENT-20190923-0000001'
):
message
=
{
'code'
:
400
,
'status'
:
'failed'
,
'message'
:
'Superuser department cannot be selected'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
return
error_message
(
'400'
,
'Superuser department cannot be selected'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
tmp_approvers
=
template_header
[
'tmp_approvers'
]
# Check if Vendor and Requestor are existing on routing table
if
len
(
tmp_approvers
)
<
2
:
message
=
{
'code'
:
400
,
'status'
:
'failed'
,
'message'
:
'Please make sure to add an Approver, Vendor and Requestor into routing table'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
return
error_message
(
'400'
,
'Please make sure to add an Approver, Vendor and Requestor into routing table'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
else
:
result
=
validation_existing_vendor_requestor
(
tmp_approvers
)
if
result
is
False
:
message
=
{
'code'
:
400
,
'status'
:
'failed'
,
'message'
:
'Please add Vendor/Implementor and Requestor into routing table'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
return
error_message
(
'400'
,
'Please add Vendor/Implementor and Requestor into routing table'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
# Do not allow adding an approver for the same level
validation_result
=
validation_approver_same_level
(
tmp_approvers
)
if
validation_result
is
not
None
:
message
=
{
'code'
:
400
,
'status'
:
'failed'
,
'message'
:
validation_result
+
' is already exist for the same level of approval.'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
return
error_message
(
'400'
,
validation_result
+
' is already exist for the same level of approval.'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
# Do not allow saving user as Vendor and other delegation
validate
=
validation_poc_vendor_only
(
template_header
[
'requested_to_user'
],
tmp_approvers
)
if
validate
is
True
:
message
=
{
'code'
:
400
,
'status'
:
'failed'
,
'message'
:
'Point of contact can only be assign to Vendor/Implementor'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
return
error_message
(
'400'
,
'Point of contact can only be assign to Vendor/Implementor'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
return
function
(
self
,
request
,
*
args
,
**
kwargs
)
return
wrapper
...
...
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