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
ad73e4d6
Commit
ad73e4d6
authored
Sep 18, 2019
by
John Red Medrano
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added allowed company endpoint
parent
2d3352db
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
215 additions
and
2 deletions
+215
-2
app/applicationlayer/cms/allowed_company/serializer.py
app/applicationlayer/cms/allowed_company/serializer.py
+9
-0
app/applicationlayer/cms/allowed_company/table_filter.py
app/applicationlayer/cms/allowed_company/table_filter.py
+17
-0
app/applicationlayer/cms/allowed_company/views.py
app/applicationlayer/cms/allowed_company/views.py
+94
-0
app/applicationlayer/cms/urls_cms.py
app/applicationlayer/cms/urls_cms.py
+3
-0
app/applicationlayer/management/company/views.py
app/applicationlayer/management/company/views.py
+0
-2
app/entities/migrations/0003_allowedcompany.py
app/entities/migrations/0003_allowedcompany.py
+32
-0
app/entities/migrations/0004_auto_20190918_1104.py
app/entities/migrations/0004_auto_20190918_1104.py
+32
-0
app/entities/models.py
app/entities/models.py
+28
-0
No files found.
app/applicationlayer/cms/allowed_company/serializer.py
0 → 100644
View file @
ad73e4d6
from
rest_framework
import
serializers
from
app.entities.models
import
AllowedCompany
class
AllowedCompanySerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
AllowedCompany
fields
=
'__all__'
app/applicationlayer/cms/allowed_company/table_filter.py
0 → 100644
View file @
ad73e4d6
from
django_filters
import
rest_framework
as
filters
from
django.db.models
import
Count
from
app.entities.models
import
AllowedCompany
from
django.db.models
import
Q
class
AllowedCompanyFilterSet
(
filters
.
FilterSet
):
# search = filters.CharFilter(method='search_bar', label='search')
# def search_bar(self, queryset, name, value):
# return queryset.filter(
# Q(username__icontains=value) |
# Q(first_name__icontains=value) |
# Q(last_name__icontains=value))
class
Meta
:
model
=
AllowedCompany
fields
=
'__all__'
app/applicationlayer/cms/allowed_company/views.py
0 → 100644
View file @
ad73e4d6
# from rest_framework.views import APIView
from
rest_framework
import
status
,
viewsets
from
rest_framework.response
import
Response
from
app.entities
import
enums
from
app.entities.models
import
AllowedCompany
from
app.applicationlayer.utils
import
CustomPagination
,
status_message_response
# from rest_framework.exceptions import ParseError
from
django_filters
import
rest_framework
as
filters
from
django_filters.rest_framework
import
DjangoFilterBackend
from
rest_framework.filters
import
SearchFilter
,
OrderingFilter
from
app.applicationlayer.cms.allowed_company.serializer
import
(
AllowedCompanySerializer
)
from
app.applicationlayer.cms.allowed_company.table_filter
import
(
AllowedCompanyFilterSet
)
from
django.db
import
transaction
from
rest_framework.exceptions
import
ValidationError
class
AllowedCompanyViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
AllowedCompany
.
objects
.
all
()
serializer_class
=
AllowedCompanySerializer
pagination_class
=
CustomPagination
lookup_field
=
'code'
filter_backends
=
(
DjangoFilterBackend
,
SearchFilter
,
OrderingFilter
)
filterset_class
=
AllowedCompanyFilterSet
ordering_fields
=
'__all__'
search_fields
=
(
'id_number__code'
,
'company_pivot__code'
,
'group_pivots__code'
)
# @decorators.rms.user_list
def
list
(
self
,
request
,
*
args
,
**
kwargs
):
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
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 Users found'
,
serializer
.
data
)
return
self
.
get_paginated_response
(
message
)
serializer
=
self
.
get_serializer
(
queryset
,
many
=
True
)
return
Response
(
serializer
.
data
,
status
=
status
.
HTTP_200_OK
)
@
transaction
.
atomic
def
create
(
self
,
request
,
*
args
,
**
kwargs
):
try
:
form
=
request
.
data
[
'form'
]
id_number
=
form
[
0
][
'id_number'
]
AllowedCompany
.
objects
.
filter
(
id_number
=
id_number
)
.
delete
()
# print(body['form'])
serializer
=
AllowedCompanySerializer
(
data
=
form
,
many
=
True
)
if
serializer
.
is_valid
(
raise_exception
=
True
):
serializer
.
save
()
message
=
{
'code'
:
201
,
'status'
:
'success'
,
'message'
:
'Form Details successfully saved!'
,
'results'
:
serializer
.
data
}
return
Response
(
message
,
status
=
status
.
HTTP_201_CREATED
)
except
ValidationError
as
e
:
message
=
{
'code'
:
400
,
'status'
:
'failed'
,
'message'
:
str
(
e
),
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
except
Exception
as
e
:
message
=
{
'code'
:
500
,
'status'
:
'failed'
,
'message'
:
'Request was not able to process'
+
str
(
e
),
}
return
Response
(
str
(
e
),
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
app/applicationlayer/cms/urls_cms.py
View file @
ad73e4d6
...
...
@@ -5,6 +5,7 @@ from django.conf.urls import url
from
app.applicationlayer.management.notification.views
import
NotificationsViewset
from
app.applicationlayer.cms.template
import
views
as
crtemplate_views
from
app.applicationlayer.cms.form
import
views
as
crform_views
from
app.applicationlayer.cms.allowed_company
import
views
router
=
routers
.
DefaultRouter
()
...
...
@@ -21,11 +22,13 @@ router.register(r'form-approvers', crform_views.ChangeRequestFormApproversViewse
router
.
register
(
r'form-stakeholders'
,
crform_views
.
ChangeRequestFormStakeHoldersViewset
)
router
.
register
(
r'form-attachments'
,
crform_views
.
ChangeRequestFormAttachmentsViewset
)
router
.
register
(
r'form-details'
,
crform_views
.
ChangeRequestFormDetailsViewset
)
router
.
register
(
r'allowed-companies'
,
views
.
AllowedCompanyViewSet
)
urlpatterns
=
(
path
(
''
,
include
(
router
.
urls
)),
path
(
'template-post/'
,
crtemplate_views
.
ChangeRequestTemplatePost
.
as_view
()),
path
(
'form-post/'
,
crform_views
.
ChangeRequestFormPost
.
as_view
()),
# path('allowed-companies/', views.AllowedCompanyApiView.as_view()),
path
(
'user-list/'
,
crtemplate_views
.
UserList
.
as_view
(),
name
=
"User List"
),
)
app/applicationlayer/management/company/views.py
View file @
ad73e4d6
...
...
@@ -44,10 +44,8 @@ class CompanyViewSet(viewsets.ModelViewSet):
# @decorators.rms.company_list
def
list
(
self
,
request
,
*
args
,
**
kwargs
):
print
(
self
.
queryset
)
queryset
=
self
.
filter_queryset
(
self
.
get_queryset
())
page
=
self
.
paginate_queryset
(
queryset
)
print
(
self
.
queryset
)
if
page
is
not
None
:
serializer
=
self
.
get_serializer
(
page
,
many
=
True
)
...
...
app/entities/migrations/0003_allowedcompany.py
0 → 100644
View file @
ad73e4d6
# Generated by Django 2.2 on 2019-09-17 18:02
from
django.conf
import
settings
from
django.db
import
migrations
,
models
import
django.db.models.deletion
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'entities'
,
'0002_auto_20190917_1716'
),
]
operations
=
[
migrations
.
CreateModel
(
name
=
'AllowedCompany'
,
fields
=
[
(
'id'
,
models
.
AutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'create_change_request'
,
models
.
BooleanField
(
default
=
True
)),
(
'create_change_request_template'
,
models
.
BooleanField
(
default
=
True
)),
(
'view_all_change_request'
,
models
.
BooleanField
(
default
=
True
)),
(
'created_at'
,
models
.
DateTimeField
(
auto_now_add
=
True
)),
(
'deleted_at'
,
models
.
DateTimeField
(
blank
=
True
,
null
=
True
)),
(
'company_pivot'
,
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
related_name
=
'allowed_company_company_pivot'
,
to
=
'entities.Company'
,
to_field
=
'code'
)),
(
'group_pivots'
,
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
related_name
=
'allowed_company_group_pivots'
,
to
=
'entities.Department'
,
to_field
=
'code'
)),
(
'id_number'
,
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
related_name
=
'allowed_company_id_number'
,
to
=
settings
.
AUTH_USER_MODEL
,
to_field
=
'code'
)),
],
options
=
{
'db_table'
:
'allowed_company'
,
},
),
]
app/entities/migrations/0004_auto_20190918_1104.py
0 → 100644
View file @
ad73e4d6
# Generated by Django 2.2 on 2019-09-18 11:04
from
django.conf
import
settings
from
django.db
import
migrations
,
models
import
django.db.models.deletion
import
django.utils.timezone
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'entities'
,
'0003_allowedcompany'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'allowedcompany'
,
name
=
'company_pivot'
,
field
=
models
.
ForeignKey
(
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
related_name
=
'allowed_company_company_pivot'
,
to
=
'entities.Company'
,
to_field
=
'code'
),
),
migrations
.
AlterField
(
model_name
=
'allowedcompany'
,
name
=
'group_pivots'
,
field
=
models
.
ForeignKey
(
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
related_name
=
'allowed_company_group_pivots'
,
to
=
'entities.Department'
,
to_field
=
'code'
),
),
migrations
.
AlterField
(
model_name
=
'allowedcompany'
,
name
=
'id_number'
,
field
=
models
.
ForeignKey
(
default
=
django
.
utils
.
timezone
.
now
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
related_name
=
'allowed_company_id_number'
,
to
=
settings
.
AUTH_USER_MODEL
,
to_field
=
'code'
),
preserve_default
=
False
,
),
]
app/entities/models.py
View file @
ad73e4d6
...
...
@@ -977,3 +977,31 @@ class PasswordReset(models.Model):
class
Meta
:
db_table
=
'password_resets'
class
AllowedCompany
(
models
.
Model
):
id_number
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'code'
,
related_name
=
'allowed_company_id_number'
)
company_pivot
=
models
.
ForeignKey
(
Company
,
on_delete
=
models
.
DO_NOTHING
,
related_name
=
'allowed_company_company_pivot'
,
to_field
=
'code'
)
group_pivots
=
models
.
ForeignKey
(
Department
,
on_delete
=
models
.
DO_NOTHING
,
related_name
=
'allowed_company_group_pivots'
,
to_field
=
'code'
)
# app_code = models.CharField(max_length=250)
create_change_request
=
models
.
BooleanField
(
default
=
True
)
create_change_request_template
=
models
.
BooleanField
(
default
=
True
)
view_all_change_request
=
models
.
BooleanField
(
default
=
True
)
created_at
=
models
.
DateTimeField
(
auto_now_add
=
True
)
deleted_at
=
models
.
DateTimeField
(
null
=
True
,
blank
=
True
)
class
Meta
:
db_table
=
'allowed_company'
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