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
fe07283f
Commit
fe07283f
authored
Feb 04, 2020
by
Gladys Forte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
{dev bugfix} Validation required Form Post
parent
53435a62
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
45 deletions
+36
-45
app/helper/decorators.py
app/helper/decorators.py
+36
-45
No files found.
app/helper/decorators.py
View file @
fe07283f
...
@@ -303,7 +303,7 @@ def TemplateValidation(function):
...
@@ -303,7 +303,7 @@ def TemplateValidation(function):
'requested_to_department'
:
'Department'
}
'requested_to_department'
:
'Department'
}
for
key
in
required
.
keys
():
for
key
in
required
.
keys
():
if
not
key
in
template_header
or
template_header
[
key
]
==
''
:
if
not
key
in
template_header
or
template_header
[
key
]
.
strip
()
==
''
:
return
error_message
(
'400'
,
required
[
key
]
+
' is required'
,
return
error_message
(
'400'
,
required
[
key
]
+
' is required'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
...
@@ -362,72 +362,63 @@ def FormValidation(function):
...
@@ -362,72 +362,63 @@ def FormValidation(function):
def
wrapper
(
self
,
request
,
*
args
,
**
kwargs
):
def
wrapper
(
self
,
request
,
*
args
,
**
kwargs
):
form_header
=
request
.
data
form_header
=
request
.
data
required
=
{
'requested_to_template_name'
:
'CR Name'
,
'requested_to_target_date'
:
'Date Required'
,
'requested_to_company'
:
'Company'
,
'requested_to_department'
:
'Department'
,
'requested_to_user'
:
'Point of Contact'
,
'requested_to_priority'
:
'Priority Level'
}
for
key
in
required
.
keys
():
if
not
key
in
form_header
or
form_header
[
key
]
.
strip
()
==
''
:
return
error_message
(
'400'
,
required
[
key
]
+
' is required'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
# restrict superuser department
# restrict superuser department
if
(
form_header
[
'requested_by_department'
]
==
'DEPARTMENT-20190923-0000001'
or
if
(
form_header
[
'requested_by_department'
]
==
'DEPARTMENT-20190923-0000001'
or
form_header
[
'requested_to_department'
]
==
'DEPARTMENT-20190923-0000001'
):
form_header
[
'requested_to_department'
]
==
'DEPARTMENT-20190923-0000001'
):
message
=
{
return
error_message
(
'400'
,
'Superuser department cannot be selected'
,
'code'
:
400
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
'status'
:
'failed'
,
'message'
:
'Superuser department cannot be selected'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
frm_approvers
=
form_header
[
'frm_approvers'
]
frm_approvers
=
form_header
[
'frm_approvers'
]
# Check if Vendor and Requestor are existing on routing table
# Check if Vendor and Requestor are existing on routing table
if
len
(
frm_approvers
)
<
2
:
if
len
(
frm_approvers
)
<
2
:
message
=
{
'code'
:
400
,
return
error_message
(
'400'
,
'Please make sure to add an Approver, Vendor and Requestor into routing table'
,
'status'
:
'failed'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
'message'
:
'Please make sure to add an Approver, Vendor and Requestor into routing table'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
else
:
else
:
result
=
validation_existing_vendor_requestor
(
frm_approvers
)
result
=
validation_existing_vendor_requestor
(
frm_approvers
)
if
result
is
False
:
if
result
is
False
:
message
=
{
'code'
:
400
,
return
error_message
(
'400'
,
'Please add Vendor/Implementor and Requestor into routing table'
,
'status'
:
'failed'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
'message'
:
'Please add Vendor/Implementor and Requestor into routing table'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
# Do not allow adding an approver for the same level
# Do not allow adding an approver for the same level
validation_result
=
validation_approver_same_level
(
frm_approvers
)
validation_result
=
validation_approver_same_level
(
frm_approvers
)
if
validation_result
is
not
None
:
if
validation_result
is
not
None
:
message
=
{
return
error_message
(
'400'
,
validation_result
+
' is already exist for the same level of approval.'
,
'code'
:
400
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
'status'
:
'failed'
,
'message'
:
validation_result
+
' is already exist for the same level of approval.'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
# Restrict a requestor to submit a CR without atleast 1 approver
# Restrict a requestor to submit a CR without atleast 1 approver
counter
=
validation_existing_approver
(
frm_approvers
)
counter
=
validation_existing_approver
(
frm_approvers
)
if
form_header
[
'status'
]
.
lower
()
==
'pending'
and
counter
==
0
:
if
form_header
[
'status'
]
.
lower
()
==
'pending'
and
counter
==
0
:
message
=
{
return
error_message
(
'400'
,
'Please select at least 1 approver before submitting this request.'
,
'code'
:
400
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
'status'
:
'failed'
,
'message'
:
'Please select at least 1 approver before submitting this request.'
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
# Do not allow saving user as Vendor and other delegation
# Do not allow saving user as Vendor and other delegation
validate
=
validation_poc_vendor_only
(
validate
=
validation_poc_vendor_only
(
form_header
[
'requested_to_user'
],
frm_approvers
)
form_header
[
'requested_to_user'
],
frm_approvers
)
if
validate
is
True
:
if
validate
is
True
:
message
=
{
return
error_message
(
'400'
,
'Point of contact can only be assign to Vendor/Implementor'
,
'code'
:
400
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
'status'
:
'failed'
,
'message'
:
'Point of contact can only be assign to Vendor/Implementor'
,
# Do not allow to save Vendor same level to other delegation
}
validate
=
validation_vendor_unique_level
(
frm_approvers
)
return
Response
(
message
,
if
validate
is
True
:
status
=
status
.
HTTP_400_BAD_REQUEST
)
return
error_message
(
'400'
,
'Vendor/Implementor cannot have same level with other delegation/s'
,
'failed'
,
status
.
HTTP_400_BAD_REQUEST
)
return
function
(
self
,
request
,
*
args
,
**
kwargs
)
return
function
(
self
,
request
,
*
args
,
**
kwargs
)
return
wrapper
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