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
5712a025
Commit
5712a025
authored
Sep 28, 2019
by
John Red Medrano
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added new endpoint list of temlates filter by allowed companies
parent
6d1813c4
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
185 additions
and
1 deletion
+185
-1
app/applicationlayer/cms/form_listing_download/serializers.py
...applicationlayer/cms/form_listing_download/serializers.py
+21
-0
app/applicationlayer/cms/form_listing_download/views.py
app/applicationlayer/cms/form_listing_download/views.py
+91
-0
app/applicationlayer/cms/master/template_list/serializers.py
app/applicationlayer/cms/master/template_list/serializers.py
+9
-0
app/applicationlayer/cms/master/template_list/views.py
app/applicationlayer/cms/master/template_list/views.py
+56
-0
app/applicationlayer/cms/urls_cms.py
app/applicationlayer/cms/urls_cms.py
+2
-0
config/settings/base.py
config/settings/base.py
+2
-1
requirements/local.txt
requirements/local.txt
+4
-0
No files found.
app/applicationlayer/cms/form_listing_download/serializers.py
0 → 100644
View file @
5712a025
from
cms.entities
import
models
from
rest_framework_mongoengine
import
serializers
class
headers
(
serializers
.
DocumentSerializer
):
def
to_representation
(
self
,
instance
):
setattr
(
instance
,
'action'
,
'wew'
)
return
super
()
.
to_representation
(
instance
)
class
Meta
:
model
=
models
.
ChangeRequestFormHeader
fields
=
(
'requested_to_template_name'
,
'company_desc'
,
'department_desc'
,
'requested_desc'
,
'status'
,
'requested_to_priority'
,
'created'
,
'requested_to_target_date'
)
app/applicationlayer/cms/form_listing_download/views.py
0 → 100644
View file @
5712a025
from
rest_framework_mongoengine
import
viewsets
as
meviewsets
from
rest_framework_mongoengine.viewsets
import
ReadOnlyModelViewSet
from
drf_renderer_xlsx.mixins
import
XLSXFileMixin
from
drf_renderer_xlsx.renderers
import
XLSXRenderer
from
cms.entities.models
import
(
ChangeRequestFormHeader
,
ChangeRequestFormApprovers
,
ChangeRequestFormStakeHolders
)
from
cms.applicationlayer.download.change_request_download
import
headers
from
django.db.models
import
CharField
,
Value
from
mongoengine.queryset.visitor
import
Q
from
rest_framework.response
import
Response
from
cms.applicationlayer.utilities
import
logged_user
class
DownloadRequest
(
XLSXFileMixin
,
ReadOnlyModelViewSet
):
queryset
=
ChangeRequestFormHeader
.
objects
.
all
()
serializer_class
=
headers
renderer_classes
=
(
XLSXRenderer
,)
filename
=
'Change Request Form.xlsx'
def
list
(
self
,
request
,
*
args
,
**
kwargs
):
# id_number = self.request.META.get('HTTP_ACCOUNT_NO')
id_number
=
'USER-20190923-0000001'
# id_number = self.request.query_params.get('id_number')
approver
=
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
user
=
id_number
)
&
Q
(
deleted_at
=
None
)
)
approver
=
[
data
[
'form_code'
]
for
data
in
approver
]
stake
=
ChangeRequestFormStakeHolders
.
objects
.
filter
(
Q
(
user
=
id_number
)
&
Q
(
deleted_at
=
None
)
)
stake
=
[
data
[
'form_code'
]
for
data
in
stake
]
headers
=
ChangeRequestFormHeader
.
objects
.
filter
(
deleted_at
=
None
,
requested_by_user
=
id_number
)
headers
=
[
data
[
'form_code'
]
for
data
in
headers
]
form_code
=
stake
+
approver
+
headers
self
.
queryset
=
ChangeRequestFormHeader
.
objects
.
filter
(
form_code__in
=
form_code
,
deleted_at
=
None
,
)
exclude
=
self
.
queryset
.
filter
(
status
=
'DRAFT'
,
requested_by_user__ne
=
id_number
)
exclude
=
[
data
[
'form_code'
]
for
data
in
exclude
]
self
.
queryset
=
self
.
queryset
.
filter
(
form_code__nin
=
exclude
)
serializer
=
self
.
get_serializer
(
self
.
queryset
,
many
=
True
)
return
Response
(
serializer
.
data
)
column_header
=
{
'titles'
:
[
"Name"
,
"Company Request To"
,
"Department Requested To"
,
"Requested By"
,
"Status"
,
"Priority Level"
,
"Action"
"Date Modified"
,
"Date Required"
],
'column_width'
:
[
17
,
30
,
17
],
'height'
:
25
,
'style'
:
{
'alignment'
:
{
'horizontal'
:
'center'
,
'vertical'
:
'center'
,
'wrapText'
:
False
,
'shrink_to_fit'
:
True
,
},
'border_side'
:
{
'border_style'
:
'thin'
,
'color'
:
'FF000000'
,
},
'font'
:
{
'name'
:
'Arial'
,
'size'
:
14
,
'bold'
:
True
,
'color'
:
'FF000000'
,
},
},
}
app/applicationlayer/cms/master/template_list/serializers.py
0 → 100644
View file @
5712a025
from
app.entities
import
models
from
rest_framework
import
serializers
class
ChangeRequestTemplatesSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
models
.
ChangeRequestTemplateHeader
fields
=
'__all__'
\ No newline at end of file
app/applicationlayer/cms/master/template_list/views.py
0 → 100644
View file @
5712a025
from
rest_framework
import
viewsets
,
status
from
rest_framework.response
import
Response
from
app.entities.models
import
ChangeRequestTemplateHeader
,
AllowedCompany
from
app.applicationlayer.cms.master.template_list.serializers
import
ChangeRequestTemplatesSerializer
from
app.applicationlayer.utils
import
CustomPagination
,
status_message_response
from
rest_framework.exceptions
import
ParseError
class
ChangeRequestTemplateHeaderMaster
(
viewsets
.
ModelViewSet
):
queryset
=
ChangeRequestTemplateHeader
.
objects
.
all
()
serializer_class
=
ChangeRequestTemplatesSerializer
pagination_class
=
CustomPagination
lookup_field
=
'template_no'
def
list
(
self
,
request
,
*
args
,
**
kwargs
):
if
"department_code"
not
in
request
.
query_params
:
raise
ParseError
(
'department_code is expected at query params'
)
department
=
request
.
query_params
[
'department_code'
]
# queryset = self.filter_queryset(self.get_queryset())
permit
=
AllowedCompany
.
objects
.
filter
(
group_pivots
=
department
)
.
count
()
if
permit
<=
0
:
raise
ParseError
(
'This department is not allowed'
)
else
:
queryset
=
ChangeRequestTemplateHeader
.
objects
.
filter
(
created_by_department
=
department
)
.
order_by
(
'requested_to_template_name'
)
# queryset = queryset.filter
# self.serializer_class = ChangeRequestTemplatesSerializerList
page
=
self
.
paginate_queryset
(
queryset
)
if
page
is
not
None
:
serializer
=
self
.
get_serializer
(
page
,
many
=
True
)
message
=
status_message_response
(
200
,
'success'
,
'List of Templates found'
,
serializer
.
data
)
return
self
.
get_paginated_response
(
message
)
serializer
=
self
.
get_serializer
(
self
.
queryset
,
many
=
True
)
return
Response
(
serializer
.
data
,
status
=
status
.
HTTP_200_OK
)
app/applicationlayer/cms/urls_cms.py
View file @
5712a025
...
...
@@ -11,6 +11,7 @@ from app.applicationlayer.cms.allowed_company import views as allowed
from
app.applicationlayer.cms.master.company.views
import
ChangeRequestCompanyViewSet
from
app.applicationlayer.cms.master.department.views
import
ChangeRequestDepartmentViewSet
from
app.applicationlayer.cms.master.account.views
import
UserList
from
app.applicationlayer.cms.master.template_list.views
import
ChangeRequestTemplateHeaderMaster
# MASTERS
# TEMPLATE
...
...
@@ -44,6 +45,7 @@ router.register(r'allowed-companies', allowed.AllowedCompanyViewSet)
# filter endpoints under Allowed Companies table
router
.
register
(
r'companies'
,
ChangeRequestCompanyViewSet
)
router
.
register
(
r'departments'
,
ChangeRequestDepartmentViewSet
)
router
.
register
(
r'allowed-templates'
,
ChangeRequestTemplateHeaderMaster
)
# filter endpoints under Allowed Companies table
...
...
config/settings/base.py
View file @
5712a025
...
...
@@ -136,7 +136,8 @@ REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES'
:
[
'rest_framework.renderers.JSONRenderer'
,
'rest_framework.renderers.AdminRenderer'
,
'rest_framework.renderers.BrowsableAPIRenderer'
'rest_framework.renderers.BrowsableAPIRenderer'
,
'drf_renderer_xlsx.renderers.XLSXRenderer'
,
],
'DEFAULT_PERMISSION_CLASSES'
:
(
...
...
requirements/local.txt
View file @
5712a025
...
...
@@ -19,7 +19,9 @@ Django==2.2
django-cors-headers==2.5.2
django-filter==2.1.0
djangorestframework==3.9.2
drf-renderer-xlsx==0.3.3
drf-writable-nested==0.5.1
et-xmlfile==1.0.1
gevent==1.4.0
greenlet==0.4.15
hiredis==1.0.0
...
...
@@ -27,11 +29,13 @@ hyperlink==19.0.0
idna==2.8
incremental==17.5.0
isort==4.3.17
jdcal==1.4.1
lazy-object-proxy==1.3.1
Markdown==3.1
mccabe==0.6.1
msgpack==0.6.1
mysqlclient==1.4.2.post1
openpyxl==3.0.0
pep8==1.7.1
Pillow==6.0.0
pycparser==2.19
...
...
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