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
de9e7054
Commit
de9e7054
authored
Nov 08, 2019
by
Gladys Forte
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #438 in RMS/api-main-service from gladys-dev2 to RMSv2
* commit '
ea0a8da6
': filtered delegation
parents
1bb598e2
ea0a8da6
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
118 additions
and
13 deletions
+118
-13
app/applicationlayer/cms/form/approver/serializers.py
app/applicationlayer/cms/form/approver/serializers.py
+23
-0
app/applicationlayer/cms/form/header/views.py
app/applicationlayer/cms/form/header/views.py
+1
-1
app/applicationlayer/cms/master/form/department/serializer.py
...applicationlayer/cms/master/form/department/serializer.py
+1
-1
app/applicationlayer/cms/master/form/department/views.py
app/applicationlayer/cms/master/form/department/views.py
+7
-2
app/applicationlayer/management/delegation/views.py
app/applicationlayer/management/delegation/views.py
+12
-1
app/applicationlayer/master/department/serializer.py
app/applicationlayer/master/department/serializer.py
+10
-1
app/applicationlayer/master/department/views.py
app/applicationlayer/master/department/views.py
+37
-4
app/businesslayer/department/serializer.py
app/businesslayer/department/serializer.py
+1
-1
app/businesslayer/department/views.py
app/businesslayer/department/views.py
+1
-1
app/entities/migrations/0032_auto_20191108_1109.py
app/entities/migrations/0032_auto_20191108_1109.py
+23
-0
app/entities/models.py
app/entities/models.py
+2
-1
No files found.
app/applicationlayer/cms/form/approver/serializers.py
View file @
de9e7054
...
@@ -28,6 +28,11 @@ class ChangeRequestFormApproversSerializer(
...
@@ -28,6 +28,11 @@ class ChangeRequestFormApproversSerializer(
"contact_no"
:
instance
.
user
.
contact_no
"contact_no"
:
instance
.
user
.
contact_no
}
}
ret
[
'user'
]
=
user_object
ret
[
'user'
]
=
user_object
ret
[
'delegation'
]
=
{
"id"
:
instance
.
delegation
.
id
,
"code"
:
instance
.
delegation
.
code
,
"name"
:
instance
.
delegation
.
name
}
if
instance
.
form_code
.
status
==
'Draft'
:
if
instance
.
form_code
.
status
==
'Draft'
:
if
instance
.
tmp_approver
:
if
instance
.
tmp_approver
:
...
@@ -45,15 +50,22 @@ class ChangeRequestFormApproversSerializer(
...
@@ -45,15 +50,22 @@ class ChangeRequestFormApproversSerializer(
ret
[
'editable_dept'
]
=
False
ret
[
'editable_dept'
]
=
False
else
:
else
:
ret
[
'editable_dept'
]
=
True
ret
[
'editable_dept'
]
=
True
if
instance
.
tmp_approver
.
delegation
or
instance
.
tmp_approver
.
delegation
.
name
.
lower
()
==
'requestor'
:
ret
[
'editable_deleg'
]
=
False
else
:
ret
[
'editable_deleg'
]
=
True
else
:
else
:
ret
[
'editable_user'
]
=
True
ret
[
'editable_user'
]
=
True
ret
[
'editable_comp'
]
=
True
ret
[
'editable_comp'
]
=
True
ret
[
'editable_dept'
]
=
True
ret
[
'editable_dept'
]
=
True
ret
[
'editable_deleg'
]
=
True
else
:
else
:
ret
[
'editable_user'
]
=
False
ret
[
'editable_user'
]
=
False
ret
[
'editable_comp'
]
=
False
ret
[
'editable_comp'
]
=
False
ret
[
'editable_dept'
]
=
False
ret
[
'editable_dept'
]
=
False
ret
[
'editable_deleg'
]
=
False
return
ret
return
ret
...
@@ -90,6 +102,17 @@ class ChangeRequestFormApproversSerializer(
...
@@ -90,6 +102,17 @@ class ChangeRequestFormApproversSerializer(
ret
[
'department'
]
=
None
ret
[
'department'
]
=
None
ret
[
'editable_dept'
]
=
True
ret
[
'editable_dept'
]
=
True
if
instance
.
tmp_approver
.
delegation
or
instance
.
tmp_approver
.
delegation
.
name
.
lower
()
==
'requestor'
:
ret
[
'delegation'
]
=
{
"id"
:
instance
.
tmp_approver
.
delegation
.
id
,
"code"
:
instance
.
tmp_approver
.
delegation
.
code
,
"name"
:
instance
.
tmp_approver
.
delegation
.
name
}
ret
[
'editable_deleg'
]
=
False
else
:
ret
[
'delegation'
]
=
None
ret
[
'editable_deleg'
]
=
True
else
:
else
:
ret
[
'editable_user'
]
=
True
ret
[
'editable_user'
]
=
True
ret
[
'editable_comp'
]
=
True
ret
[
'editable_comp'
]
=
True
...
...
app/applicationlayer/cms/form/header/views.py
View file @
de9e7054
...
@@ -229,7 +229,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
...
@@ -229,7 +229,7 @@ class ChangeRequestFormsViewset(viewsets.ModelViewSet):
id_number
=
self
.
request
.
user
.
code
id_number
=
self
.
request
.
user
.
code
self
.
queryset
=
change_request
.
list_by_user
(
id_number
)
self
.
queryset
=
change_request
.
list_by_user
(
id_number
)
self
.
queryset
=
change_request
.
filter_status
(
self
.
queryset
=
change_request
.
filter_status
(
self
.
queryset
,
self
.
queryset
,
request
.
query_params
.
get
(
'status'
)
request
.
query_params
.
get
(
'status'
)
...
...
app/applicationlayer/cms/master/form/department/serializer.py
View file @
de9e7054
...
@@ -15,4 +15,4 @@ class AdminDepartmentSerializer(serializers.ModelSerializer):
...
@@ -15,4 +15,4 @@ class AdminDepartmentSerializer(serializers.ModelSerializer):
fields
=
'__all__'
fields
=
'__all__'
read_only_fields
=
(
read_only_fields
=
(
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
)
)
\ No newline at end of file
app/applicationlayer/cms/master/form/department/views.py
View file @
de9e7054
...
@@ -3,7 +3,7 @@ from rest_framework.response import Response
...
@@ -3,7 +3,7 @@ from rest_framework.response import Response
from
app.applicationlayer.utils
import
model_to_dict
from
app.applicationlayer.utils
import
model_to_dict
from
rest_framework.filters
import
SearchFilter
,
OrderingFilter
from
rest_framework.filters
import
SearchFilter
,
OrderingFilter
from
django_filters
import
rest_framework
as
filters
from
django_filters
import
rest_framework
as
filters
from
app.entities.models
import
Department
,
AllowedCompany
from
app.entities.models
import
Department
,
AllowedCompany
,
Delegation
from
app.applicationlayer.utils
import
(
from
app.applicationlayer.utils
import
(
CustomPagination
,
status_message_response
CustomPagination
,
status_message_response
)
)
...
@@ -39,7 +39,7 @@ class ChangeRequestDepartmentFormViewSet(viewsets.ModelViewSet):
...
@@ -39,7 +39,7 @@ class ChangeRequestDepartmentFormViewSet(viewsets.ModelViewSet):
)
.
values
(
'group_pivots'
)
)
.
values
(
'group_pivots'
)
queryset
=
queryset
.
filter
(
code__in
=
allowed
)
queryset
=
queryset
.
filter
(
code__in
=
allowed
)
page
=
self
.
paginate_queryset
(
queryset
)
page
=
self
.
paginate_queryset
(
queryset
)
if
page
is
not
None
:
if
page
is
not
None
:
serializer
=
self
.
get_serializer
(
page
,
many
=
True
)
serializer
=
self
.
get_serializer
(
page
,
many
=
True
)
...
@@ -53,3 +53,8 @@ class ChangeRequestDepartmentFormViewSet(viewsets.ModelViewSet):
...
@@ -53,3 +53,8 @@ class ChangeRequestDepartmentFormViewSet(viewsets.ModelViewSet):
serializer
=
self
.
get_serializer
(
queryset
,
many
=
True
)
serializer
=
self
.
get_serializer
(
queryset
,
many
=
True
)
return
Response
(
serializer
.
data
)
return
Response
(
serializer
.
data
)
app/applicationlayer/management/delegation/views.py
View file @
de9e7054
...
@@ -66,6 +66,17 @@ class DelegationViewSet(viewsets.ModelViewSet):
...
@@ -66,6 +66,17 @@ class DelegationViewSet(viewsets.ModelViewSet):
instance
=
self
.
get_object
()
instance
=
self
.
get_object
()
new_instance
=
model_to_dict
(
instance
)
new_instance
=
model_to_dict
(
instance
)
# restrictions
if
(
new_instance
[
'name'
]
.
lower
()
==
'head of department'
or
new_instance
[
'name'
]
.
lower
()
==
'sd/od'
or
new_instance
[
'name'
]
.
lower
()
==
'change control board'
or
new_instance
[
'name'
]
.
lower
()
==
'approver'
or
new_instance
[
'name'
]
.
lower
()
==
'vendor/implementor'
or
new_instance
[
'name'
]
.
lower
()
==
'requestor'
):
print
(
"hello"
)
self
.
perform_destroy
(
instance
)
self
.
perform_destroy
(
instance
)
log_save
(
log_save
(
...
@@ -89,7 +100,7 @@ class DelegationViewSet(viewsets.ModelViewSet):
...
@@ -89,7 +100,7 @@ class DelegationViewSet(viewsets.ModelViewSet):
old_instance
=
model_to_dict
(
instance
)
old_instance
=
model_to_dict
(
instance
)
self
.
perform_update
(
serializer
)
self
.
perform_update
(
serializer
)
new_instance
=
serializer
.
data
new_instance
=
serializer
.
data
log_save
(
log_save
(
enums
.
LogEnum
.
DELETED
.
value
,
enums
.
LogEnum
.
DELETED
.
value
,
enums
.
LogEntitiesEnum
.
DELEGATION
.
value
,
enums
.
LogEntitiesEnum
.
DELEGATION
.
value
,
...
...
app/applicationlayer/master/department/serializer.py
View file @
de9e7054
from
rest_framework
import
serializers
from
rest_framework
import
serializers
from
app.entities.models
import
Department
from
app.entities.models
import
Department
,
Delegation
from
app.applicationlayer.utils
import
model_to_dict
from
app.applicationlayer.utils
import
model_to_dict
...
@@ -16,3 +16,12 @@ class AdminDepartmentSerializer(serializers.ModelSerializer):
...
@@ -16,3 +16,12 @@ class AdminDepartmentSerializer(serializers.ModelSerializer):
read_only_fields
=
(
read_only_fields
=
(
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
)
)
class
DelegationSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
Delegation
fields
=
'__all__'
read_only_fields
=
(
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
)
\ No newline at end of file
app/applicationlayer/master/department/views.py
View file @
de9e7054
...
@@ -3,20 +3,23 @@ from rest_framework.response import Response
...
@@ -3,20 +3,23 @@ from rest_framework.response import Response
from
app.applicationlayer.utils
import
model_to_dict
from
app.applicationlayer.utils
import
model_to_dict
from
rest_framework.filters
import
SearchFilter
,
OrderingFilter
from
rest_framework.filters
import
SearchFilter
,
OrderingFilter
from
django_filters
import
rest_framework
as
filters
from
django_filters
import
rest_framework
as
filters
from
app.entities.models
import
Department
from
app.entities.models
import
Department
,
Delegation
from
app.applicationlayer.utils
import
(
from
app.applicationlayer.utils
import
(
CustomPagination
,
status_message_response
CustomPagination
,
status_message_response
)
)
from
django_filters.rest_framework
import
DjangoFilterBackend
from
django_filters.rest_framework
import
DjangoFilterBackend
from
app.applicationlayer.master.department
import
serializer
from
app.applicationlayer.master.department.serializer
import
(
AdminDepartmentSerializer
,
DelegationSerializer
)
from
app.applicationlayer.management.department.table_filters
import
DepartmentFilterSet
from
app.applicationlayer.management.department.table_filters
import
DepartmentFilterSet
from
app.helper.decorators
import
rms
from
app.helper.decorators
import
rms
from
rest_framework.decorators
import
action
class
AdminDepartmentViewSet
(
viewsets
.
ModelViewSet
):
class
AdminDepartmentViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Department
.
objects
.
all
()
.
order_by
(
'-created'
)
queryset
=
Department
.
objects
.
all
()
.
order_by
(
'-created'
)
serializer_class
=
serializer
.
AdminDepartmentSerializer
serializer_class
=
AdminDepartmentSerializer
pagination_class
=
CustomPagination
pagination_class
=
CustomPagination
lookup_field
=
'code'
lookup_field
=
'code'
filter_backends
=
(
DjangoFilterBackend
,
SearchFilter
,
OrderingFilter
)
filter_backends
=
(
DjangoFilterBackend
,
SearchFilter
,
OrderingFilter
)
...
@@ -44,7 +47,6 @@ class AdminDepartmentViewSet(viewsets.ModelViewSet):
...
@@ -44,7 +47,6 @@ class AdminDepartmentViewSet(viewsets.ModelViewSet):
)
)
return
self
.
get_paginated_response
(
message
)
return
self
.
get_paginated_response
(
message
)
except
Exception
as
e
:
except
Exception
as
e
:
# serializer = self.get_serializer(queryset, many=True)
message
=
status_message_response
(
message
=
status_message_response
(
400
,
400
,
'failed'
,
'failed'
,
...
@@ -52,3 +54,34 @@ class AdminDepartmentViewSet(viewsets.ModelViewSet):
...
@@ -52,3 +54,34 @@ class AdminDepartmentViewSet(viewsets.ModelViewSet):
''
''
)
)
return
Response
(
message
)
return
Response
(
message
)
@
action
(
detail
=
True
,
methods
=
[
'get'
],
url_path
=
'delegations'
,
name
=
"Delegation Filtered List"
)
def
delegations
(
self
,
request
,
*
args
,
**
kwargs
):
try
:
dept_code
=
kwargs
[
'code'
]
queryset
=
Delegation
.
objects
.
filter
(
department__code
=
dept_code
)
page
=
self
.
paginate_queryset
(
queryset
)
if
page
is
not
None
:
self
.
serializer_class
=
DelegationSerializer
serializer
=
self
.
get_serializer
(
page
,
many
=
True
)
message
=
status_message_response
(
200
,
'success'
,
'list of filtered delegations found'
,
serializer
.
data
)
return
self
.
get_paginated_response
(
message
)
except
Exception
as
e
:
message
=
status_message_response
(
400
,
'failed'
,
str
(
e
),
''
)
return
Response
(
message
)
\ No newline at end of file
app/businesslayer/department/serializer.py
View file @
de9e7054
...
@@ -8,4 +8,4 @@ class AdminDepartmentSerializer(serializers.ModelSerializer):
...
@@ -8,4 +8,4 @@ class AdminDepartmentSerializer(serializers.ModelSerializer):
fields
=
'__all__'
fields
=
'__all__'
read_only_fields
=
(
read_only_fields
=
(
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
)
)
\ No newline at end of file
app/businesslayer/department/views.py
View file @
de9e7054
...
@@ -41,4 +41,4 @@ class AdminDepartmentViewSet(viewsets.ModelViewSet):
...
@@ -41,4 +41,4 @@ class AdminDepartmentViewSet(viewsets.ModelViewSet):
return
self
.
get_paginated_response
(
message
)
return
self
.
get_paginated_response
(
message
)
serializer
=
self
.
get_serializer
(
queryset
,
many
=
True
)
serializer
=
self
.
get_serializer
(
queryset
,
many
=
True
)
return
Response
(
serializer
.
data
)
return
Response
(
serializer
.
data
)
\ No newline at end of file
app/entities/migrations/0032_auto_20191108_1109.py
0 → 100644
View file @
de9e7054
# Generated by Django 2.2 on 2019-11-08 11:09
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'entities'
,
'0031_auto_20191107_1239'
),
]
operations
=
[
migrations
.
AddField
(
model_name
=
'allowedcompany'
,
name
=
'approve_cr'
,
field
=
models
.
BooleanField
(
default
=
True
),
),
migrations
.
AlterField
(
model_name
=
'entitylog'
,
name
=
'entity'
,
field
=
models
.
CharField
(
choices
=
[(
'USER'
,
'USER'
),
(
'APPLICATION'
,
'APPLICATION'
),
(
'COMPANY'
,
'COMPANY'
),
(
'DEPARTMENT'
,
'DEPARTMENT'
),
(
'MODULE'
,
'MODULE'
),
(
'DELEGATION'
,
'DELEGATION'
),
(
'ChangeRequestTemplateHeader'
,
'ChangeRequestTemplateHeader'
),
(
'ChangeRequestTemplateApprovers'
,
'ChangeRequestTemplateApprovers'
),
(
'ChangeRequestTemplateStakeHolders'
,
'ChangeRequestTemplateStakeHolders'
),
(
'ChangeRequestTemplateAttachments'
,
'ChangeRequestTemplateAttachments'
),
(
'ChangeRequestTemplateDetails'
,
'ChangeRequestTemplateDetails'
),
(
'ChangeRequestFormHeader'
,
'ChangeRequestFormHeader'
),
(
'ChangeRequestFormApprovers'
,
'ChangeRequestFormApprovers'
),
(
'ChangeRequestFormStakeHolders'
,
'ChangeRequestFormStakeHolders'
),
(
'ChangeRequestFormAttachments'
,
'ChangeRequestFormAttachments'
),
(
'ChangeRequestFormDetails'
,
'ChangeRequestFormDetails'
)],
default
=
'Add'
,
max_length
=
50
),
),
]
app/entities/models.py
View file @
de9e7054
...
@@ -1050,9 +1050,10 @@ class AllowedCompany(models.Model):
...
@@ -1050,9 +1050,10 @@ class AllowedCompany(models.Model):
create_change_request
=
models
.
BooleanField
(
default
=
True
)
create_change_request
=
models
.
BooleanField
(
default
=
True
)
create_change_request_template
=
models
.
BooleanField
(
default
=
True
)
create_change_request_template
=
models
.
BooleanField
(
default
=
True
)
view_all_change_request
=
models
.
BooleanField
(
default
=
True
)
view_all_change_request
=
models
.
BooleanField
(
default
=
True
)
approve_cr
=
models
.
BooleanField
(
default
=
True
)
created_at
=
models
.
DateTimeField
(
auto_now_add
=
True
)
created_at
=
models
.
DateTimeField
(
auto_now_add
=
True
)
deleted_at
=
models
.
DateTimeField
(
null
=
True
,
blank
=
True
)
deleted_at
=
models
.
DateTimeField
(
null
=
True
,
blank
=
True
)
class
Meta
:
class
Meta
:
db_table
=
'allowed_company'
db_table
=
'allowed_company'
unique_together
=
[
'company_pivot'
,
'group_pivots'
,
'id_number'
]
unique_together
=
[
'company_pivot'
,
'group_pivots'
,
'id_number'
]
...
...
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