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
05fa1631
Commit
05fa1631
authored
Mar 16, 2020
by
Gladys Forte
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product-staging' into 'product-demo'
Product staging See merge request rms/Backend/api-main-service!975
parents
aabad658
6176d02a
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
649 additions
and
127 deletions
+649
-127
app/applicationlayer/ams/ams_privilege/serializer.py
app/applicationlayer/ams/ams_privilege/serializer.py
+19
-0
app/applicationlayer/ams/ams_privilege/table_filter.py
app/applicationlayer/ams/ams_privilege/table_filter.py
+10
-0
app/applicationlayer/ams/ams_privilege/views.py
app/applicationlayer/ams/ams_privilege/views.py
+106
-0
app/applicationlayer/ams/ams_user_type/views.py
app/applicationlayer/ams/ams_user_type/views.py
+44
-0
app/applicationlayer/ams/urls_ams.py
app/applicationlayer/ams/urls_ams.py
+4
-0
app/applicationlayer/management/account/serializer.py
app/applicationlayer/management/account/serializer.py
+4
-19
app/entities/enums.py
app/entities/enums.py
+33
-2
app/entities/migrations/0004_auto_20200309_1843.py
app/entities/migrations/0004_auto_20200309_1843.py
+18
-0
app/entities/migrations/0005_amsprivilege.py
app/entities/migrations/0005_amsprivilege.py
+30
-0
app/entities/models.py
app/entities/models.py
+242
-28
requirements/RMSv2.postman_collection.json
requirements/RMSv2.postman_collection.json
+139
-78
No files found.
app/applicationlayer/ams/ams_privilege/serializer.py
0 → 100644
View file @
05fa1631
from
rest_framework
import
serializers
from
app.entities.models
import
AMSPrivilege
from
app.applicationlayer.utils
import
model_to_dict
class
AMSPrivilegeSerializer
(
serializers
.
ModelSerializer
):
def
to_representation
(
self
,
instance
):
ret
=
super
()
.
to_representation
(
instance
)
ret
[
'id_number'
]
=
model_to_dict
(
instance
.
id_number
)
ret
[
'department'
]
=
model_to_dict
(
instance
.
department
)
ret
[
'company'
]
=
model_to_dict
(
instance
.
department
.
company
)
ret
[
'ams_user_type'
]
=
instance
.
ams_user_type
return
ret
class
Meta
:
model
=
AMSPrivilege
fields
=
'__all__'
app/applicationlayer/ams/ams_privilege/table_filter.py
0 → 100644
View file @
05fa1631
from
django_filters
import
rest_framework
as
filters
from
app.entities.models
import
AMSPrivilege
from
django.db.models
import
Q
class
AMSPrivilegeFilterSet
(
filters
.
FilterSet
):
class
Meta
:
model
=
AMSPrivilege
fields
=
'__all__'
app/applicationlayer/ams/ams_privilege/views.py
0 → 100644
View file @
05fa1631
from
rest_framework
import
status
,
viewsets
from
rest_framework.response
import
Response
from
app.entities.models
import
AMSPrivilege
from
app.applicationlayer.utils
import
(
CustomPagination
,
status_message_response
)
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.ams.ams_privilege.serializer
import
(
AMSPrivilegeSerializer
)
from
app.applicationlayer.ams.ams_privilege.table_filter
import
(
AMSPrivilegeFilterSet
)
from
django.db
import
transaction
from
rest_framework.exceptions
import
ValidationError
from
django.db
import
IntegrityError
class
AMSPrivilegeViewSet
(
viewsets
.
ModelViewSet
):
queryset
=
AMSPrivilege
.
objects
.
select_related
(
'id_number'
,
'department'
)
.
all
()
serializer_class
=
AMSPrivilegeSerializer
pagination_class
=
CustomPagination
lookup_field
=
'id_number'
filter_backends
=
(
DjangoFilterBackend
,
SearchFilter
,
OrderingFilter
)
filterset_class
=
AMSPrivilegeFilterSet
ordering_fields
=
'__all__'
search_fields
=
(
'id_number__code'
,
'department__code'
,
'ams_user_type'
)
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 AMS Privilege 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'
]
AMSPrivilege
.
objects
.
filter
(
id_number
=
id_number
)
.
delete
()
serializer
=
AMSPrivilegeSerializer
(
data
=
form
,
many
=
True
)
if
serializer
.
is_valid
(
raise_exception
=
True
):
serializer
.
save
()
message
=
{
'code'
:
201
,
'status'
:
'success'
,
'message'
:
'AMS User Privilege 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
IntegrityError
as
e
:
error
=
'Adding the same Department under the same Company is not allowed'
message
=
{
'code'
:
400
,
'status'
:
'failed'
,
'message'
:
error
,
}
return
Response
(
message
,
status
=
status
.
HTTP_400_BAD_REQUEST
)
except
Exception
as
e
:
message
=
{
'code'
:
500
,
'status'
:
'failed'
,
'message'
:
str
(
e
),
}
return
Response
(
message
,
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
app/applicationlayer/ams/ams_user_type/views.py
0 → 100644
View file @
05fa1631
from
rest_framework.views
import
APIView
from
rest_framework.response
import
Response
from
app.entities
import
enums
class
AMSUserTypeViewSet
(
APIView
):
def
get
(
self
,
request
,
format
=
None
):
manager_value
=
enums
.
AMSUserTypeEnum
.
MANAGER
.
value
user_client_value
=
enums
.
AMSUserTypeEnum
.
USER_CLIENT
.
value
support_value
=
enums
.
AMSUserTypeEnum
.
SUPPORT
.
value
viewer_value
=
enums
.
AMSUserTypeEnum
.
VIEWER
.
value
manager_key
=
str
(
enums
.
AMSUserTypeEnum
.
MANAGER
.
name
)
.
capitalize
()
user_client_key
=
str
(
enums
.
AMSUserTypeEnum
.
USER_CLIENT
.
name
)
.
replace
(
'_'
,
'/'
)
.
title
()
support_key
=
str
(
enums
.
AMSUserTypeEnum
.
SUPPORT
.
name
)
.
capitalize
()
viewer_key
=
str
(
enums
.
AMSUserTypeEnum
.
VIEWER
.
name
)
.
capitalize
()
data
=
{
"code"
:
"200"
,
"status"
:
"success"
,
"message"
:
"list of ams user types"
,
"results"
:
[
{
"name"
:
manager_key
,
"value"
:
manager_value
,
},
{
"name"
:
user_client_key
,
"value"
:
user_client_value
},
{
"name"
:
support_key
,
"value"
:
support_value
},
{
"name"
:
viewer_key
,
"value"
:
viewer_value
}
]
}
return
Response
(
data
)
\ No newline at end of file
app/applicationlayer/ams/urls_ams.py
View file @
05fa1631
...
@@ -4,11 +4,15 @@ from django.conf.urls import url
...
@@ -4,11 +4,15 @@ from django.conf.urls import url
from
rest_framework.urlpatterns
import
format_suffix_patterns
from
rest_framework.urlpatterns
import
format_suffix_patterns
from
app.applicationlayer.ams.asset_group
import
views
as
assetgroup
from
app.applicationlayer.ams.asset_group
import
views
as
assetgroup
from
app.applicationlayer.ams.ams_privilege
import
views
as
amsprivilege
from
app.applicationlayer.ams.ams_user_type.views
import
AMSUserTypeViewSet
router
=
routers
.
DefaultRouter
()
router
=
routers
.
DefaultRouter
()
router
.
register
(
r'asset-group'
,
assetgroup
.
AssetGroupViewset
)
router
.
register
(
r'asset-group'
,
assetgroup
.
AssetGroupViewset
)
router
.
register
(
r'ams-privilege'
,
amsprivilege
.
AMSPrivilegeViewSet
)
urlpatterns
=
[
urlpatterns
=
[
path
(
''
,
include
(
router
.
urls
)),
path
(
''
,
include
(
router
.
urls
)),
url
(
r'^ams-user-types/$'
,
AMSUserTypeViewSet
.
as_view
(),
name
=
"ams-user-types"
),
]
]
\ No newline at end of file
app/applicationlayer/management/account/serializer.py
View file @
05fa1631
...
@@ -86,22 +86,10 @@ class UserManagementRetreiveSerializer(serializers.ModelSerializer):
...
@@ -86,22 +86,10 @@ class UserManagementRetreiveSerializer(serializers.ModelSerializer):
def
get_cms_privilege
(
self
,
user
):
def
get_cms_privilege
(
self
,
user
):
# test = AllowedCompany.objects.extra(
create_form
=
user
.
allowed_company_id_number
.
filter
(
# select={
create_change_request
=
True
)
.
count
()
# 'create_form': "create_change_request=True",
create_template
=
user
.
allowed_company_id_number
.
filter
(
# 'create_template': "create_change_request_template=True",
create_change_request_template
=
True
)
.
count
()
# }
# ).filter(id_number=user.code).values('create_form', "create_template")
create_form
=
AllowedCompany
.
objects
.
filter
(
Q
(
id_number
=
user
.
code
)
&
Q
(
create_change_request
=
True
)
)
.
count
()
create_template
=
AllowedCompany
.
objects
.
filter
(
Q
(
id_number
=
user
.
code
)
&
Q
(
create_change_request_template
=
True
)
)
.
count
()
if
create_form
>=
1
:
if
create_form
>=
1
:
create_form
=
1
create_form
=
1
...
@@ -109,14 +97,11 @@ class UserManagementRetreiveSerializer(serializers.ModelSerializer):
...
@@ -109,14 +97,11 @@ class UserManagementRetreiveSerializer(serializers.ModelSerializer):
if
create_template
>=
1
:
if
create_template
>=
1
:
create_template
=
1
create_template
=
1
return
{
return
{
"create_form"
:
create_form
,
"create_form"
:
create_form
,
"create_template"
:
create_template
"create_template"
:
create_template
}
}
def
get_image
(
self
,
user
):
def
get_image
(
self
,
user
):
request
=
self
.
context
.
get
(
'request'
)
request
=
self
.
context
.
get
(
'request'
)
...
...
app/entities/enums.py
View file @
05fa1631
...
@@ -31,8 +31,13 @@ class GenerateCode(Enum):
...
@@ -31,8 +31,13 @@ class GenerateCode(Enum):
FORM_DETAIL
=
'FRMDETAIL'
FORM_DETAIL
=
'FRMDETAIL'
ETL
=
'ETL'
ETL
=
'ETL'
ASSET_GROUP
=
'AMSGRP'
#
ASSET_GROUP = 'AMSGRP'
CMS_SETTINGS
=
"CMSSET"
CMS_SETTINGS
=
"CMSSET"
ASSET_TYPE
=
'ASSTTYPE'
ASSET
=
'ASST'
ASSET_STOCK
=
'ASSTSTOCK'
ASSET_GROUP
=
'ASSTGRP'
'''
'''
*********
*********
...
@@ -114,4 +119,30 @@ NOTIFICATION ENUMS
...
@@ -114,4 +119,30 @@ NOTIFICATION ENUMS
class
NotifTypeEnum
(
Enum
):
class
NotifTypeEnum
(
Enum
):
REMINDER
=
"REMINDER"
REMINDER
=
"REMINDER"
ACTIVITY
=
"ACTIVITY"
ACTIVITY
=
"ACTIVITY"
TASK
=
"TASK"
TASK
=
"TASK"
\ No newline at end of file
'''
*********
AMS ENUMS
*********
'''
class
AMSUserTypeEnum
(
Enum
):
MANAGER
=
"MANAGER"
USER_CLIENT
=
"USER_CLIENT"
SUPPORT
=
"SUPPORT"
VIEWER
=
"VIEWER"
class
AMSAssetStatus
(
Enum
):
INSTORE
=
'In-Store'
DEPLOYED
=
'Deployed'
RETURNED
=
'Returned'
WRITTENOFF
=
'Written Off'
FAULTY
=
'Faulty'
class
AMSAssetAquisitionType
(
Enum
):
OWN
=
'Owned'
LOAN
=
'Loan'
app/entities/migrations/0004_auto_20200309_1843.py
0 → 100644
View file @
05fa1631
# Generated by Django 2.2 on 2020-03-09 18:43
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'entities'
,
'0003_allowedcompany_view_all_change_request_template'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'changerequesttemplateheader'
,
name
=
'requested_to_priority'
,
field
=
models
.
CharField
(
blank
=
True
,
max_length
=
255
,
null
=
True
),
),
]
app/entities/migrations/0005_amsprivilege.py
0 → 100644
View file @
05fa1631
# Generated by Django 2.2 on 2020-03-10 14:23
from
django.conf
import
settings
from
django.db
import
migrations
,
models
import
django.db.models.deletion
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'entities'
,
'0004_auto_20200309_1843'
),
]
operations
=
[
migrations
.
CreateModel
(
name
=
'AMSPrivilege'
,
fields
=
[
(
'id'
,
models
.
AutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'ams_user_type'
,
models
.
CharField
(
choices
=
[(
'MANAGER'
,
'MANAGER'
),
(
'USERCLIENT'
,
'USERCLIENT'
),
(
'SUPPORT'
,
'SUPPORT'
),
(
'VIEWER'
,
'VIEWER'
)],
default
=
'MANAGER'
,
max_length
=
100
)),
(
'created_at'
,
models
.
DateTimeField
(
auto_now_add
=
True
)),
(
'deleted_at'
,
models
.
DateTimeField
(
blank
=
True
,
null
=
True
)),
(
'department'
,
models
.
ForeignKey
(
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
related_name
=
'ams_privilege_departments'
,
to
=
'entities.Department'
,
to_field
=
'code'
)),
(
'id_number'
,
models
.
ForeignKey
(
on_delete
=
django
.
db
.
models
.
deletion
.
CASCADE
,
related_name
=
'ams_privilege_id_number'
,
to
=
settings
.
AUTH_USER_MODEL
,
to_field
=
'code'
)),
],
options
=
{
'db_table'
:
'ams_privileges'
,
'unique_together'
:
{(
'department'
,
'id_number'
)},
},
),
]
app/entities/models.py
View file @
05fa1631
...
@@ -464,7 +464,6 @@ class BaseHeader(models.Model):
...
@@ -464,7 +464,6 @@ class BaseHeader(models.Model):
max_length
=
255
,
max_length
=
255
,
blank
=
True
,
blank
=
True
,
null
=
True
)
null
=
True
)
requested_to_priority
=
models
.
CharField
(
max_length
=
255
)
description
=
models
.
CharField
(
description
=
models
.
CharField
(
max_length
=
255
,
max_length
=
255
,
blank
=
True
,
blank
=
True
,
...
@@ -606,6 +605,10 @@ class ChangeRequestTemplateHeader(BaseHeader):
...
@@ -606,6 +605,10 @@ class ChangeRequestTemplateHeader(BaseHeader):
to_field
=
'code'
,
to_field
=
'code'
,
related_name
=
'created_by_department'
)
related_name
=
'created_by_department'
)
requested_to_target_date
=
models
.
IntegerField
()
requested_to_target_date
=
models
.
IntegerField
()
requested_to_priority
=
models
.
CharField
(
blank
=
True
,
null
=
True
,
max_length
=
255
)
class
Meta
:
class
Meta
:
db_table
=
'change_request_template_headers'
db_table
=
'change_request_template_headers'
...
@@ -787,6 +790,8 @@ class ChangeRequestFormHeader(BaseHeader):
...
@@ -787,6 +790,8 @@ class ChangeRequestFormHeader(BaseHeader):
requested_to_target_date
=
models
.
DateTimeField
(
requested_to_target_date
=
models
.
DateTimeField
(
blank
=
True
,
blank
=
True
,
null
=
True
)
null
=
True
)
requested_to_priority
=
models
.
CharField
(
max_length
=
255
)
class
Meta
:
class
Meta
:
db_table
=
'change_request_form_headers'
db_table
=
'change_request_form_headers'
...
@@ -1195,7 +1200,46 @@ class OverdueTrigger(models.Model):
...
@@ -1195,7 +1200,46 @@ class OverdueTrigger(models.Model):
class
Meta
:
class
Meta
:
db_table
=
'trigger_overdue'
db_table
=
'trigger_overdue'
# comment
class
ChangeRequestSettings
(
models
.
Model
):
code
=
models
.
CharField
(
unique
=
True
,
max_length
=
255
)
active_user
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
CASCADE
,
to_field
=
'code'
,
related_name
=
'cms_settings_active_users'
)
behalf_user
=
models
.
ForeignKey
(
User
,
on_delete
=
models
.
CASCADE
,
to_field
=
'code'
,
related_name
=
'cms_settings_behalf_users'
)
behalf_approved
=
models
.
BooleanField
(
default
=
False
)
behalf_accepted
=
models
.
BooleanField
(
default
=
False
)
behalf_rejected
=
models
.
BooleanField
(
default
=
False
)
behalf_implemented
=
models
.
BooleanField
(
default
=
False
)
behalf_completed
=
models
.
BooleanField
(
default
=
False
)
created
=
models
.
DateTimeField
(
auto_now_add
=
True
)
deleted_at
=
models
.
DateTimeField
(
null
=
True
,
blank
=
True
)
class
Meta
:
db_table
=
'change_request_settings'
ordering
=
[
'-created'
]
unique_together
=
[
'active_user'
,
'behalf_user'
]
def
__str__
(
self
):
return
f
'{self.code}'
def
save
(
self
,
*
args
,
**
kwargs
):
super
(
ChangeRequestSettings
,
self
)
.
save
(
*
args
,
**
kwargs
)
code
=
number_generator
(
enums
.
GenerateCode
.
CMS_SETTINGS
.
value
,
self
.
id
)
if
self
.
code
==
''
:
self
.
code
=
code
self
.
created
=
datetime
.
now
()
self
.
save
()
"""
"""
**********************
**********************
*** AMS TABLES ***
*** AMS TABLES ***
...
@@ -1233,41 +1277,211 @@ class AssetGroup(models.Model):
...
@@ -1233,41 +1277,211 @@ class AssetGroup(models.Model):
self
.
save
()
self
.
save
()
class
ChangeRequestSettings
(
models
.
Model
):
class
AMSPrivilege
(
models
.
Model
):
code
=
models
.
CharField
(
unique
=
True
,
max_length
=
255
)
id_number
=
models
.
ForeignKey
(
active_user
=
models
.
ForeignKey
(
User
,
User
,
on_delete
=
models
.
CASCADE
,
on_delete
=
models
.
CASCADE
,
to_field
=
'code'
,
to_field
=
'code'
,
related_name
=
'
cms_settings_active_users
'
related_name
=
'
ams_privilege_id_number
'
)
)
behalf_user
=
models
.
ForeignKey
(
department
=
models
.
ForeignKey
(
User
,
Department
,
on_delete
=
models
.
CASCADE
,
on_delete
=
models
.
CASCADE
,
to_field
=
'code
'
,
related_name
=
'ams_privilege_departments
'
,
related_name
=
'cms_settings_behalf_users
'
to_field
=
'code
'
)
)
behalf_approved
=
models
.
BooleanField
(
default
=
False
)
ams_user_type
=
models
.
CharField
(
behalf_accepted
=
models
.
BooleanField
(
default
=
False
)
choices
=
[(
tag
.
value
,
tag
.
value
)
for
tag
in
enums
.
AMSUserTypeEnum
],
behalf_rejected
=
models
.
BooleanField
(
default
=
False
)
default
=
enums
.
AMSUserTypeEnum
.
MANAGER
.
value
,
behalf_implemented
=
models
.
BooleanField
(
default
=
False
)
max_length
=
100
behalf_completed
=
models
.
BooleanField
(
default
=
False
)
)
created
=
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
=
'change_request_settings'
db_table
=
'ams_privileges'
ordering
=
[
'-created'
]
unique_together
=
[
'department'
,
'id_number'
]
unique_together
=
[
'active_user'
,
'behalf_user'
]
# class AMSAssetGroup(models.Model):
# code = models.CharField(
# unique=True,
# max_length=255)
# name = models.CharField(
# unique=True,
# max_length=255)
# created_by = models.ForeignKey(
# User,
# on_delete=models.CASCADE,
# to_field='code',
# related_name='ams_asset_group_created_by'
# )
# created = models.DateTimeField(auto_now_add=True)
# deleted_at = models.DateTimeField(null=True, blank=True)
def
__str__
(
self
):
# class Meta:
return
f
'{self.code}'
# db_table = 'ams_asset_groups'
# ordering = ['-created']
# def __str__(self):
# return f'{self.code}'
def
save
(
self
,
*
args
,
**
kwargs
):
#
def save(self, *args, **kwargs):
super
(
ChangeRequestSettings
,
self
)
.
save
(
*
args
,
**
kwargs
)
# super(AMSAssetGroup
, self).save(*args, **kwargs)
code
=
number_generator
(
enums
.
GenerateCode
.
CMS_SETTINGS
.
value
,
self
.
id
)
# code = number_generator(enums.GenerateCode.ASSET_GROUP
.value, self.id)
if
self
.
code
==
''
:
# if self.code == '':
self
.
code
=
code
# self.code = code
self
.
created
=
datetime
.
now
()
# self.created = datetime.now()
self
.
save
()
# self.save()
# class AMSAssetType(models.Model):
# code = models.CharField(
# unique=True,
# max_length=255)
# name = models.CharField(
# unique=True,
# max_length=255)
# dynamic_field = models.TextField(
# blank=True,
# null=True
# )
# created_by = models.ForeignKey(
# User,
# on_delete=models.CASCADE,
# to_field='code',
# related_name='ams_asset_type_created_by'
# )
# created = models.DateTimeField(auto_now_add=True)
# deleted_at = models.DateTimeField(null=True, blank=True)
# class Meta:
# db_table = 'ams_asset_types'
# ordering = ['-created']
# def __str__(self):
# return f'{self.code}'
# def save(self, *args, **kwargs):
# super(AMSAssetType, self).save(*args, **kwargs)
# code = number_generator(enums.GenerateCode.ASSET_TYPE.value, self.id)
# if self.code == '':
# self.code = code
# self.created = datetime.now()
# self.save()
# class AMSAsset(models.Model):
# code = models.CharField(
# unique=True,
# max_length=255)
# name = models.CharField(
# unique=True,
# max_length=255)
# asset_type = models.ForeignKey(
# AMSAssetType,
# on_delete=models.CASCADE,
# to_field='code',
# related_name='ams_asset_type'
# )
# description = models.CharField(
# blank=True,
# null=True,
# max_length=255)
# created_by = models.ForeignKey(
# User,
# on_delete=models.CASCADE,
# to_field='code',
# related_name='ams_asset_created_by'
# )
# created = models.DateTimeField(auto_now_add=True)
# deleted_at = models.DateTimeField(null=True, blank=True)
# class Meta:
# db_table = 'ams_assets'
# ordering = ['-created']
# def __str__(self):
# return f'{self.code}'
# def save(self, *args, **kwargs):
# super(AMSAsset, self).save(*args, **kwargs)
# code = number_generator(enums.GenerateCode.ASSET.value, self.id)
# if self.code == '':
# self.code = code
# self.created = datetime.now()
# self.save()
# class AMSAssetStock(models.Model):
# code = models.CharField(
# unique=True,
# max_length=255)
# unique_identifier = models.CharField(
# unique=True,
# max_length=255)
# status = models.CharField(
# choices=[(tag.value, tag.value) for tag in enums.AMSAssetStatus],
# default=enums.AMSAssetStatus.INSTORE.value,
# max_length=100
# )
# acquisition_type = models.CharField(
# choices=[(tag.value, tag.value) for tag in enums.AMSAssetAquisitionType],
# default=enums.AMSAssetAquisitionType.OWN.value,
# max_length=100
# )
# location = models.CharField(
# max_length=255
# )
# user_client = models.ForeignKey(
# User,
# on_delete=models.CASCADE,
# to_field='code',
# related_name='ams_asset_user_client'
# )
# manager = models.ForeignKey(
# User,
# on_delete=models.CASCADE,
# to_field='code',
# related_name='ams_asset_manager'
# )
# dynamic_field = models.TextField(
# blank=True,
# null=True
# )
# asset = models.ForeignKey(
# AMSAsset,
# on_delete=models.CASCADE,
# to_field='code'
# )
# asset_type = models.ForeignKey(
# AMSAssetType,
# on_delete=models.CASCADE,
# to_field='code'
# )
# created = models.DateTimeField(auto_now_add=True)
# deleted_at = models.DateTimeField(null=True, blank=True)
# class Meta:
# db_table = 'ams_asset_stocks'
# ordering = ['-created']
# def __str__(self):
# return f'{self.code}'
# def save(self, *args, **kwargs):
# super(AMSAssetStock, self).save(*args, **kwargs)
# code = number_generator(enums.GenerateCode.ASSET_STOCK.value, self.id)
# if self.code == '':
# self.code = code
# self.created = datetime.now()
# self.save()
requirements/RMSv2.postman_collection.json
View file @
05fa1631
...
@@ -2590,6 +2590,62 @@
...
@@ -2590,6 +2590,62 @@
"protocolProfileBehavior"
:
{},
"protocolProfileBehavior"
:
{},
"_postman_isSubFolder"
:
true
"_postman_isSubFolder"
:
true
},
},
{
"name"
:
"Allowed Company"
,
"item"
:
[
{
"name"
:
"List of Allowed Company"
,
"request"
:
{
"method"
:
"GET"
,
"header"
:
[],
"url"
:
{
"raw"
:
"{{baseurl}}/change-request/allowed-companies/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"change-request"
,
"allowed-companies"
,
""
]
}
},
"response"
:
[]
},
{
"name"
:
"Create Allowed Company"
,
"request"
:
{
"method"
:
"POST"
,
"header"
:
[
{
"key"
:
"Content-Type"
,
"name"
:
"Content-Type"
,
"value"
:
"application/json"
,
"type"
:
"text"
}
],
"body"
:
{
"mode"
:
"raw"
,
"raw"
:
"{
\n\t\"
form
\"
: [
\n
{
\n
\"
create_change_request
\"
: true,
\n
\"
create_change_request_template
\"
: true,
\n
\"
view_all_change_request
\"
: true,
\n
\"
approve_cr
\"
: true,
\n
\"
view_all_change_request_template
\"
: true,
\n
\"
id_number
\"
:
\"
USER-20200122-0000006
\"
,
\n
\"
company_pivot
\"
:
\"
COMPANY-20200122-0000002
\"
,
\n
\"
group_pivots
\"
:
\"
DEPARTMENT-20200122-0000002
\"\n
},
\n
{
\n
\"
create_change_request
\"
: true,
\n
\"
create_change_request_template
\"
: true,
\n
\"
view_all_change_request
\"
: true,
\n
\"
approve_cr
\"
: true,
\n
\"
view_all_change_request_template
\"
: true,
\n
\"
id_number
\"
:
\"
USER-20200122-0000006
\"
,
\n
\"
company_pivot
\"
:
\"
COMPANY-20190923-0000001
\"
,
\n
\"
group_pivots
\"
:
\"
DEPARTMENT-20200122-0000003
\"\n
}
\n
]
\n
}"
},
"url"
:
{
"raw"
:
"{{baseurl}}/change-request/allowed-companies/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"change-request"
,
"allowed-companies"
,
""
]
}
},
"response"
:
[]
}
],
"protocolProfileBehavior"
:
{},
"_postman_isSubFolder"
:
true
},
{
{
"name"
:
"CR Templates"
,
"name"
:
"CR Templates"
,
"item"
:
[
"item"
:
[
...
@@ -2651,14 +2707,14 @@
...
@@ -2651,14 +2707,14 @@
"method"
:
"GET"
,
"method"
:
"GET"
,
"header"
:
[],
"header"
:
[],
"url"
:
{
"url"
:
{
"raw"
:
"{{baseurl}}/change-request/template/TMP-2020021
4-0000099
/"
,
"raw"
:
"{{baseurl}}/change-request/template/TMP-2020021
8-0000023
/"
,
"host"
:
[
"host"
:
[
"{{baseurl}}"
"{{baseurl}}"
],
],
"path"
:
[
"path"
:
[
"change-request"
,
"change-request"
,
"template"
,
"template"
,
"TMP-2020021
4-0000099
"
,
"TMP-2020021
8-0000023
"
,
""
""
]
]
}
}
...
@@ -2912,62 +2968,6 @@
...
@@ -2912,62 +2968,6 @@
"protocolProfileBehavior"
:
{},
"protocolProfileBehavior"
:
{},
"_postman_isSubFolder"
:
true
"_postman_isSubFolder"
:
true
},
},
{
"name"
:
"Allowed Company"
,
"item"
:
[
{
"name"
:
"List of Allowed Company"
,
"request"
:
{
"method"
:
"GET"
,
"header"
:
[],
"url"
:
{
"raw"
:
"{{baseurl}}/change-request/allowed-companies/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"change-request"
,
"allowed-companies"
,
""
]
}
},
"response"
:
[]
},
{
"name"
:
"Create Allowed Company"
,
"request"
:
{
"method"
:
"POST"
,
"header"
:
[
{
"key"
:
"Content-Type"
,
"name"
:
"Content-Type"
,
"value"
:
"application/json"
,
"type"
:
"text"
}
],
"body"
:
{
"mode"
:
"raw"
,
"raw"
:
"{
\n\t\"
form
\"
: [
\n
{
\n
\"
create_change_request
\"
: true,
\n
\"
create_change_request_template
\"
: true,
\n
\"
view_all_change_request
\"
: true,
\n
\"
approve_cr
\"
: true,
\n
\"
view_all_change_request_template
\"
: true,
\n
\"
id_number
\"
:
\"
USER-20200122-0000006
\"
,
\n
\"
company_pivot
\"
:
\"
COMPANY-20200122-0000002
\"
,
\n
\"
group_pivots
\"
:
\"
DEPARTMENT-20200122-0000002
\"\n
},
\n
{
\n
\"
create_change_request
\"
: true,
\n
\"
create_change_request_template
\"
: true,
\n
\"
view_all_change_request
\"
: true,
\n
\"
approve_cr
\"
: true,
\n
\"
view_all_change_request_template
\"
: true,
\n
\"
id_number
\"
:
\"
USER-20200122-0000006
\"
,
\n
\"
company_pivot
\"
:
\"
COMPANY-20190923-0000001
\"
,
\n
\"
group_pivots
\"
:
\"
DEPARTMENT-20200122-0000003
\"\n
}
\n
]
\n
}"
},
"url"
:
{
"raw"
:
"{{baseurl}}/change-request/allowed-companies/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"change-request"
,
"allowed-companies"
,
""
]
}
},
"response"
:
[]
}
],
"protocolProfileBehavior"
:
{},
"_postman_isSubFolder"
:
true
},
{
{
"name"
:
"Filter by Allowed Company Template"
,
"name"
:
"Filter by Allowed Company Template"
,
"item"
:
[
"item"
:
[
...
@@ -3426,6 +3426,86 @@
...
@@ -3426,6 +3426,86 @@
{
{
"name"
:
"Asset Management"
,
"name"
:
"Asset Management"
,
"item"
:
[
"item"
:
[
{
"name"
:
"AMS User Type"
,
"item"
:
[
{
"name"
:
"AMS User Type Listing"
,
"request"
:
{
"method"
:
"GET"
,
"header"
:
[],
"url"
:
{
"raw"
:
"{{baseurl}}/asset-management/ams-user-types/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"asset-management"
,
"ams-user-types"
,
""
]
}
},
"response"
:
[]
}
],
"protocolProfileBehavior"
:
{},
"_postman_isSubFolder"
:
true
},
{
"name"
:
"AMS Privilege"
,
"item"
:
[
{
"name"
:
"List of AMS Privilege"
,
"request"
:
{
"method"
:
"GET"
,
"header"
:
[],
"url"
:
{
"raw"
:
"{{baseurl}}/asset-management/ams-privilege/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"asset-management"
,
"ams-privilege"
,
""
]
}
},
"response"
:
[]
},
{
"name"
:
"Create AMS Privilege"
,
"request"
:
{
"method"
:
"POST"
,
"header"
:
[],
"body"
:
{
"mode"
:
"raw"
,
"raw"
:
"{
\n\t\"
body_data
\"
: [
\n
{
\n
\"
id_number
\"
:
\"
USER-20200122-0000002
\"
,
\n
\"
department
\"
:
\"
DEPARTMENT-20200122-0000003
\"
,
\n
\"
ams_user_type
\"
:
\"
MANAGER
\"\n
},
\n
{
\n
\"
id_number
\"
:
\"
USER-20200122-0000002
\"
,
\n
\"
department
\"
:
\"
DEPARTMENT-20200122-0000002
\"
,
\n
\"
ams_user_type
\"
:
\"
USER_CLIENT
\"\n
}
\n
]
\n
}"
,
"options"
:
{
"raw"
:
{
"language"
:
"json"
}
}
},
"url"
:
{
"raw"
:
"{{baseurl}}/asset-management/ams-privilege/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"asset-management"
,
"ams-privilege"
,
""
]
}
},
"response"
:
[]
}
],
"protocolProfileBehavior"
:
{},
"_postman_isSubFolder"
:
true
},
{
{
"name"
:
"Asset Groups"
,
"name"
:
"Asset Groups"
,
"item"
:
[
"item"
:
[
...
@@ -3552,25 +3632,6 @@
...
@@ -3552,25 +3632,6 @@
}
}
},
},
"response"
:
[]
"response"
:
[]
},
{
"name"
:
"TRy"
,
"request"
:
{
"method"
:
"GET"
,
"header"
:
[],
"url"
:
{
"raw"
:
"{{baseurl}}/asset-management/acctdl/"
,
"host"
:
[
"{{baseurl}}"
],
"path"
:
[
"asset-management"
,
"acctdl"
,
""
]
}
},
"response"
:
[]
}
}
],
],
"protocolProfileBehavior"
:
{},
"protocolProfileBehavior"
:
{},
...
@@ -3585,7 +3646,7 @@
...
@@ -3585,7 +3646,7 @@
"bearer"
:
[
"bearer"
:
[
{
{
"key"
:
"token"
,
"key"
:
"token"
,
"value"
:
"4
c044cb536e1eab7f9d5d9bfa370ed003d9104c5
"
,
"value"
:
"4
a6d5d4ce95b759f2718e64878d4be38d257022b
"
,
"type"
:
"string"
"type"
:
"string"
}
}
]
]
...
...
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