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
c4c8a822
Commit
c4c8a822
authored
Oct 02, 2019
by
John Red Medrano
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added new endpoint for list of companies, department and user for template and form
parent
fc506ac5
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
277 additions
and
26 deletions
+277
-26
app/applicationlayer/cms/master/form/account/views.py
app/applicationlayer/cms/master/form/account/views.py
+12
-11
app/applicationlayer/cms/master/form/company/serializer.py
app/applicationlayer/cms/master/form/company/serializer.py
+0
-0
app/applicationlayer/cms/master/form/company/table_filters.py
...applicationlayer/cms/master/form/company/table_filters.py
+0
-0
app/applicationlayer/cms/master/form/company/views.py
app/applicationlayer/cms/master/form/company/views.py
+5
-3
app/applicationlayer/cms/master/form/department/serializer.py
...applicationlayer/cms/master/form/department/serializer.py
+0
-0
app/applicationlayer/cms/master/form/department/table_filters.py
...licationlayer/cms/master/form/department/table_filters.py
+0
-0
app/applicationlayer/cms/master/form/department/views.py
app/applicationlayer/cms/master/form/department/views.py
+4
-3
app/applicationlayer/cms/master/template/account/views.py
app/applicationlayer/cms/master/template/account/views.py
+70
-0
app/applicationlayer/cms/master/template/company/serializer.py
...pplicationlayer/cms/master/template/company/serializer.py
+8
-0
app/applicationlayer/cms/master/template/company/table_filters.py
...icationlayer/cms/master/template/company/table_filters.py
+17
-0
app/applicationlayer/cms/master/template/company/views.py
app/applicationlayer/cms/master/template/company/views.py
+49
-0
app/applicationlayer/cms/master/template/department/serializer.py
...icationlayer/cms/master/template/department/serializer.py
+18
-0
app/applicationlayer/cms/master/template/department/table_filters.py
...tionlayer/cms/master/template/department/table_filters.py
+17
-0
app/applicationlayer/cms/master/template/department/views.py
app/applicationlayer/cms/master/template/department/views.py
+55
-0
app/applicationlayer/cms/urls_cms.py
app/applicationlayer/cms/urls_cms.py
+22
-9
No files found.
app/applicationlayer/cms/master/account/views.py
→
app/applicationlayer/cms/master/
form/
account/views.py
View file @
c4c8a822
...
@@ -8,7 +8,7 @@ from django.db.models import Q
...
@@ -8,7 +8,7 @@ from django.db.models import Q
from
rest_framework
import
status
from
rest_framework
import
status
class
UserList
(
APIView
):
class
UserList
Form
(
APIView
):
pagination_class
=
CustomPagination
pagination_class
=
CustomPagination
...
@@ -17,16 +17,17 @@ class UserList(APIView):
...
@@ -17,16 +17,17 @@ class UserList(APIView):
try
:
try
:
serializer
=
ChangeRequestList
serializer
=
ChangeRequestList
dept
=
self
.
request
.
query_params
[
'department_code'
]
dept
=
self
.
request
.
query_params
[
'department_code'
]
company
=
self
.
request
.
query_params
[
'company_code'
]
# company = self.request.query_params['company_code']
user_list
=
models
.
AllowedCompany
.
objects
.
filter
(
# allowed = models.AllowedCompany.objects.filter(
Q
(
company_pivot
=
company
)
&
# Q(group_pivots=dept) &
Q
(
group_pivots
=
dept
)
&
# Q()
Q
(
id_number
=
request
.
user
.
code
)
# )
)
user_list
=
models
.
User
.
objects
.
filter
(
user_list
=
user_list
.
exclude
(
id
=
1
)
.
values
(
'id_number'
)
department
=
dept
queryset
=
models
.
User
.
objects
.
filter
(
code__in
=
user_list
)
.
order_by
(
'name'
)
)
.
exclude
(
id
=
1
)
user_list
=
user_list
.
exclude
(
id
=
request
.
user
.
id
)
page
=
self
.
paginate_queryset
(
queryset
)
print
(
user_list
.
query
)
page
=
self
.
paginate_queryset
(
user_list
)
if
page
is
not
None
:
if
page
is
not
None
:
...
...
app/applicationlayer/cms/master/company/serializer.py
→
app/applicationlayer/cms/master/
form/
company/serializer.py
View file @
c4c8a822
File moved
app/applicationlayer/cms/master/company/table_filters.py
→
app/applicationlayer/cms/master/
form/
company/table_filters.py
View file @
c4c8a822
File moved
app/applicationlayer/cms/master/company/views.py
→
app/applicationlayer/cms/master/
form/
company/views.py
View file @
c4c8a822
...
@@ -6,14 +6,15 @@ from app.businesslayer.company.serializer import AdminCompanySerializer
...
@@ -6,14 +6,15 @@ from app.businesslayer.company.serializer import AdminCompanySerializer
from
app.applicationlayer.utils
import
CustomPagination
,
status_message_response
from
app.applicationlayer.utils
import
CustomPagination
,
status_message_response
from
django_filters.rest_framework
import
DjangoFilterBackend
from
django_filters.rest_framework
import
DjangoFilterBackend
from
app.applicationlayer.management.company
import
serializer
from
app.applicationlayer.management.company
import
serializer
from
app.applicationlayer.cms.master.company.table_filters
import
(
from
app.applicationlayer.cms.master.
form.
company.table_filters
import
(
ChangeRequestCompanyFilterSet
ChangeRequestCompanyFilterSet
)
)
from
app.helper.decorators
import
rms
from
app.helper.decorators
import
rms
from
rest_framework.response
import
Response
from
rest_framework.response
import
Response
from
django.db.models
import
Q
class
ChangeRequestCompanyViewSet
(
viewsets
.
ModelViewSet
):
class
ChangeRequestCompany
Form
ViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Company
.
objects
.
all
()
queryset
=
Company
.
objects
.
all
()
serializer_class
=
AdminCompanySerializer
serializer_class
=
AdminCompanySerializer
pagination_class
=
CustomPagination
pagination_class
=
CustomPagination
...
@@ -27,7 +28,8 @@ class ChangeRequestCompanyViewSet(viewsets.ModelViewSet):
...
@@ -27,7 +28,8 @@ class ChangeRequestCompanyViewSet(viewsets.ModelViewSet):
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
allowed
=
AllowedCompany
.
objects
.
filter
(
allowed
=
AllowedCompany
.
objects
.
filter
(
id_number
=
self
.
request
.
user
.
code
Q
(
id_number
=
self
.
request
.
user
.
code
)
&
Q
(
create_change_request_template
=
True
)
)
.
values
(
'company_pivot'
)
)
.
values
(
'company_pivot'
)
queryset
=
queryset
.
filter
(
code__in
=
allowed
)
queryset
=
queryset
.
filter
(
code__in
=
allowed
)
page
=
self
.
paginate_queryset
(
queryset
)
page
=
self
.
paginate_queryset
(
queryset
)
...
...
app/applicationlayer/cms/master/department/serializer.py
→
app/applicationlayer/cms/master/
form/
department/serializer.py
View file @
c4c8a822
File moved
app/applicationlayer/cms/master/department/table_filters.py
→
app/applicationlayer/cms/master/
form/
department/table_filters.py
View file @
c4c8a822
File moved
app/applicationlayer/cms/master/department/views.py
→
app/applicationlayer/cms/master/
form/
department/views.py
View file @
c4c8a822
...
@@ -10,7 +10,7 @@ from app.applicationlayer.utils import (
...
@@ -10,7 +10,7 @@ from app.applicationlayer.utils import (
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
import
serializer
from
app.applicationlayer.cms.master.department.table_filters
import
(
from
app.applicationlayer.cms.master.
form.
department.table_filters
import
(
ChangeRequestDepartmentFilterSet
ChangeRequestDepartmentFilterSet
)
)
from
app.helper.decorators
import
rms
from
app.helper.decorators
import
rms
...
@@ -18,7 +18,7 @@ from django.db.models import Q
...
@@ -18,7 +18,7 @@ from django.db.models import Q
from
rest_framework.exceptions
import
ParseError
from
rest_framework.exceptions
import
ParseError
class
ChangeRequestDepartmentViewSet
(
viewsets
.
ModelViewSet
):
class
ChangeRequestDepartment
Form
ViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Department
.
objects
.
all
()
queryset
=
Department
.
objects
.
all
()
serializer_class
=
serializer
.
AdminDepartmentSerializer
serializer_class
=
serializer
.
AdminDepartmentSerializer
pagination_class
=
CustomPagination
pagination_class
=
CustomPagination
...
@@ -34,7 +34,8 @@ class ChangeRequestDepartmentViewSet(viewsets.ModelViewSet):
...
@@ -34,7 +34,8 @@ class ChangeRequestDepartmentViewSet(viewsets.ModelViewSet):
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
allowed
=
AllowedCompany
.
objects
.
filter
(
allowed
=
AllowedCompany
.
objects
.
filter
(
Q
(
id_number
=
self
.
request
.
user
.
code
)
&
Q
(
id_number
=
self
.
request
.
user
.
code
)
&
Q
(
company_pivot
=
company
)
Q
(
company_pivot
=
company
)
&
Q
(
create_change_request_template
=
True
)
)
.
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
)
...
...
app/applicationlayer/cms/master/template/account/views.py
0 → 100644
View file @
c4c8a822
from
rest_framework.views
import
APIView
from
app.applicationlayer.utils
import
(
CustomPagination
,
status_message_response
)
from
app.applicationlayer.management.account.serializer
import
ChangeRequestList
from
app.entities
import
models
from
rest_framework.response
import
Response
from
django.db.models
import
Q
from
rest_framework
import
status
class
UserListTemplate
(
APIView
):
pagination_class
=
CustomPagination
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
try
:
serializer
=
ChangeRequestList
dept
=
self
.
request
.
query_params
[
'department_code'
]
# company = self.request.query_params['company_code']
user_list
=
models
.
User
.
objects
.
filter
(
department
=
dept
)
.
exclude
(
id
=
1
)
user_list
=
user_list
.
exclude
(
id
=
request
.
user
.
id
)
print
(
user_list
.
query
)
page
=
self
.
paginate_queryset
(
user_list
)
if
page
is
not
None
:
serializer
=
ChangeRequestList
(
page
,
many
=
True
)
message
=
status_message_response
(
200
,
'success'
,
'list of User found'
,
serializer
.
data
)
return
self
.
get_paginated_response
(
message
)
except
Exception
as
e
:
return
Response
(
{
"message"
:
"this endpoint expect a query params department_id"
},
status
=
status
.
HTTP_400_BAD_REQUEST
)
@
property
def
paginator
(
self
):
"""
The paginator instance associated with the view, or `None`.
"""
if
not
hasattr
(
self
,
'_paginator'
):
if
self
.
pagination_class
is
None
:
self
.
_paginator
=
None
else
:
self
.
_paginator
=
self
.
pagination_class
()
return
self
.
_paginator
def
paginate_queryset
(
self
,
queryset
):
"""
Return a single page of results, or `None` if pagination is disabled.
"""
if
self
.
paginator
is
None
:
return
None
return
self
.
paginator
.
paginate_queryset
(
queryset
,
self
.
request
,
view
=
self
)
def
get_paginated_response
(
self
,
data
):
"""
Return a paginated style `Response` object for the given output data.
"""
assert
self
.
paginator
is
not
None
return
self
.
paginator
.
get_paginated_response
(
data
)
\ No newline at end of file
app/applicationlayer/cms/master/template/company/serializer.py
0 → 100644
View file @
c4c8a822
from
rest_framework
import
serializers
from
app.entities.models
import
Company
class
AdminCompanySerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
Company
fields
=
'__all__'
app/applicationlayer/cms/master/template/company/table_filters.py
0 → 100644
View file @
c4c8a822
from
django_filters
import
rest_framework
as
filters
from
django.db.models
import
Count
from
app.entities.models
import
Company
from
django.db.models
import
Q
class
ChangeRequestCompanyFilterSet
(
filters
.
FilterSet
):
# search = filters.CharFilter(method='search_bar', label='search')
# def search_bar(self, queryset, name, value):
# return queryset.filter(
# Q(Companyname__icontains=value) |
# Q(first_name__icontains=value) |
# Q(last_name__icontains=value))
class
Meta
:
model
=
Company
fields
=
'__all__'
app/applicationlayer/cms/master/template/company/views.py
0 → 100644
View file @
c4c8a822
from
rest_framework.filters
import
SearchFilter
,
OrderingFilter
from
django_filters
import
rest_framework
as
filters
from
app.entities.models
import
Company
,
AllowedCompany
from
rest_framework
import
viewsets
,
status
from
app.businesslayer.company.serializer
import
AdminCompanySerializer
from
app.applicationlayer.utils
import
CustomPagination
,
status_message_response
from
django_filters.rest_framework
import
DjangoFilterBackend
from
app.applicationlayer.management.company
import
serializer
from
app.applicationlayer.cms.master.template.company.table_filters
import
(
ChangeRequestCompanyFilterSet
)
from
app.helper.decorators
import
rms
from
rest_framework.response
import
Response
from
django.db.models
import
Q
class
ChangeRequestCompanyTemplateViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Company
.
objects
.
all
()
serializer_class
=
AdminCompanySerializer
pagination_class
=
CustomPagination
filter_backends
=
(
DjangoFilterBackend
,
SearchFilter
,
OrderingFilter
)
filterset_class
=
ChangeRequestCompanyFilterSet
ordering_fields
=
'__all__'
search_fields
=
(
'name'
,)
http_method_names
=
[
'get'
]
def
list
(
self
,
request
,
*
args
,
**
kwargs
):
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
allowed
=
AllowedCompany
.
objects
.
filter
(
Q
(
id_number
=
self
.
request
.
user
.
code
)
&
Q
(
create_change_request_template
=
True
)
)
.
values
(
'company_pivot'
)
queryset
=
queryset
.
filter
(
code__in
=
allowed
)
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 Company found'
,
serializer
.
data
)
return
self
.
get_paginated_response
(
message
)
serializer
=
self
.
get_serializer
(
queryset
,
many
=
True
)
return
Response
(
serializer
.
data
)
app/applicationlayer/cms/master/template/department/serializer.py
0 → 100644
View file @
c4c8a822
from
rest_framework
import
serializers
from
app.entities.models
import
Department
from
django.forms.models
import
model_to_dict
class
AdminDepartmentSerializer
(
serializers
.
ModelSerializer
):
def
to_representation
(
self
,
instance
):
ret
=
super
()
.
to_representation
(
instance
)
ret
[
'company'
]
=
model_to_dict
(
instance
.
company
)
return
ret
class
Meta
:
model
=
Department
fields
=
'__all__'
read_only_fields
=
(
'created'
,
'createdby'
,
'modified'
,
'modifiedby'
,
'code'
,
)
app/applicationlayer/cms/master/template/department/table_filters.py
0 → 100644
View file @
c4c8a822
from
django_filters
import
rest_framework
as
filters
from
django.db.models
import
Count
from
app.entities.models
import
Department
from
django.db.models
import
Q
class
ChangeRequestDepartmentFilterSet
(
filters
.
FilterSet
):
# search = filters.CharFilter(method='search_bar', label='search')
# def search_bar(self, queryset, name, value):
# return queryset.filter(
# Q(Companyname__icontains=value) |
# Q(first_name__icontains=value) |
# Q(last_name__icontains=value))
class
Meta
:
model
=
Department
fields
=
'__all__'
app/applicationlayer/cms/master/template/department/views.py
0 → 100644
View file @
c4c8a822
from
rest_framework
import
viewsets
,
status
from
rest_framework.response
import
Response
from
django.forms.models
import
model_to_dict
from
rest_framework.filters
import
SearchFilter
,
OrderingFilter
from
django_filters
import
rest_framework
as
filters
from
app.entities.models
import
Department
,
AllowedCompany
from
app.applicationlayer.utils
import
(
CustomPagination
,
status_message_response
)
from
django_filters.rest_framework
import
DjangoFilterBackend
from
app.applicationlayer.master.department
import
serializer
from
app.applicationlayer.cms.master.template.department.table_filters
import
(
ChangeRequestDepartmentFilterSet
)
from
app.helper.decorators
import
rms
from
django.db.models
import
Q
from
rest_framework.exceptions
import
ParseError
class
ChangeRequestDepartmentTemplateViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
Department
.
objects
.
all
()
serializer_class
=
serializer
.
AdminDepartmentSerializer
pagination_class
=
CustomPagination
lookup_field
=
'code'
filter_backends
=
(
DjangoFilterBackend
,
SearchFilter
,
OrderingFilter
)
filterset_class
=
ChangeRequestDepartmentFilterSet
ordering_fields
=
'__all__'
search_fields
=
(
'name'
,
'company__name'
,
'code'
)
# @rms.department_list
def
list
(
self
,
request
,
*
args
,
**
kwargs
):
company
=
self
.
request
.
query_params
[
'company_code'
]
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
allowed
=
AllowedCompany
.
objects
.
filter
(
Q
(
id_number
=
self
.
request
.
user
.
code
)
&
Q
(
company_pivot
=
company
)
&
Q
(
create_change_request_template
=
True
)
)
.
values
(
'group_pivots'
)
queryset
=
queryset
.
filter
(
code__in
=
allowed
)
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 Department found'
,
serializer
.
data
)
return
self
.
get_paginated_response
(
message
)
serializer
=
self
.
get_serializer
(
queryset
,
many
=
True
)
return
Response
(
serializer
.
data
)
app/applicationlayer/cms/urls_cms.py
View file @
c4c8a822
...
@@ -7,12 +7,19 @@ from rest_framework.urlpatterns import format_suffix_patterns
...
@@ -7,12 +7,19 @@ from rest_framework.urlpatterns import format_suffix_patterns
from
app.applicationlayer.cms.form
import
views
as
crform_views
from
app.applicationlayer.cms.form
import
views
as
crform_views
from
app.applicationlayer.cms.allowed_company
import
views
as
allowed
from
app.applicationlayer.cms.allowed_company
import
views
as
allowed
# MASTERS
# MASTERS
Form
from
app.applicationlayer.cms.master.
company.views
import
ChangeRequestCompany
ViewSet
from
app.applicationlayer.cms.master.
template.company.views
import
ChangeRequestCompanyTemplate
ViewSet
from
app.applicationlayer.cms.master.
department.views
import
ChangeRequestDepartment
ViewSet
from
app.applicationlayer.cms.master.
template.department.views
import
ChangeRequestDepartmentTemplate
ViewSet
from
app.applicationlayer.cms.master.
account.views
import
UserList
from
app.applicationlayer.cms.master.
template.account.views
import
UserListTemplate
from
app.applicationlayer.cms.master.template_list.views
import
ChangeRequestTemplateHeaderMaster
from
app.applicationlayer.cms.master.template_list.views
import
ChangeRequestTemplateHeaderMaster
# MASTERS
# MASTERS Form
# MASTERS Template
from
app.applicationlayer.cms.master.form.company.views
import
ChangeRequestCompanyFormViewSet
from
app.applicationlayer.cms.master.form.department.views
import
ChangeRequestDepartmentFormViewSet
from
app.applicationlayer.cms.master.form.account.views
import
UserListForm
# MASTERS Template
# TEMPLATE
# TEMPLATE
from
app.applicationlayer.cms.template.header
import
views
as
header
from
app.applicationlayer.cms.template.header
import
views
as
header
...
@@ -54,18 +61,24 @@ router.register(r'allowed-companies', allowed.AllowedCompanyViewSet)
...
@@ -54,18 +61,24 @@ router.register(r'allowed-companies', allowed.AllowedCompanyViewSet)
# privilege CMS
# privilege CMS
# filter endpoints under Allowed Companies table
# filter endpoints under Allowed Companies table
router
.
register
(
r'
companies'
,
ChangeRequestCompany
ViewSet
)
router
.
register
(
r'
template-companies'
,
ChangeRequestCompanyTemplate
ViewSet
)
router
.
register
(
r'
departments'
,
ChangeRequestDepartment
ViewSet
)
router
.
register
(
r'
template-departments'
,
ChangeRequestDepartmentTemplate
ViewSet
)
router
.
register
(
r'allowed-templates'
,
ChangeRequestTemplateHeaderMaster
)
router
.
register
(
r'
template-
allowed-templates'
,
ChangeRequestTemplateHeaderMaster
)
# filter endpoints under Allowed Companies table
# filter endpoints under Allowed Companies table
# filter endpoints under Allowed Companies table
router
.
register
(
r'form-companies'
,
ChangeRequestCompanyFormViewSet
)
router
.
register
(
r'form-departments'
,
ChangeRequestDepartmentFormViewSet
)
# filter endpoints under Allowed Companies table
urlpatterns
=
[
urlpatterns
=
[
path
(
''
,
include
(
router
.
urls
)),
path
(
''
,
include
(
router
.
urls
)),
path
(
'template-post/'
,
header
.
ChangeRequestTemplatePost
.
as_view
()),
path
(
'template-post/'
,
header
.
ChangeRequestTemplatePost
.
as_view
()),
path
(
'form-post/'
,
headerform
.
ChangeRequestFormPost
.
as_view
()),
path
(
'form-post/'
,
headerform
.
ChangeRequestFormPost
.
as_view
()),
# filter endpoints under Allowed Companies table
# filter endpoints under Allowed Companies table
path
(
'user-list/'
,
UserList
.
as_view
(),
name
=
"User List"
),
# path('template-user-list/', UserList.as_view(), name="User TemplateList"),
path
(
'form-user-list/'
,
UserListForm
.
as_view
(),
name
=
"User List"
),
path
(
'template-user-list/'
,
UserListTemplate
.
as_view
(),
name
=
"User List"
),
# filter endpoints under Allowed Companies table
# filter endpoints under Allowed Companies table
]
]
...
...
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