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
1a61c3d3
Commit
1a61c3d3
authored
Sep 06, 2019
by
Gladys Forte
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #67 in RMS/api-main-service from gladys-dev2 to RMSv2
* commit '
9ac77de2
': post api form
parents
03ea872b
9ac77de2
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
716 additions
and
104 deletions
+716
-104
app/applicationlayer/management/changerequest/serializers.py
app/applicationlayer/management/changerequest/serializers.py
+6
-6
app/applicationlayer/management/changerequest/views.py
app/applicationlayer/management/changerequest/views.py
+233
-86
app/applicationlayer/urls.py
app/applicationlayer/urls.py
+2
-1
app/applicationlayer/utils.py
app/applicationlayer/utils.py
+44
-1
app/businesslayer/changerequest/change_request.py
app/businesslayer/changerequest/change_request.py
+255
-0
app/businesslayer/changerequest/change_request_template.py
app/businesslayer/changerequest/change_request_template.py
+57
-0
app/entities/migrations/0012_auto_20190906_1429.py
app/entities/migrations/0012_auto_20190906_1429.py
+65
-0
app/entities/models.py
app/entities/models.py
+54
-10
No files found.
app/applicationlayer/management/changerequest/serializers.py
View file @
1a61c3d3
...
...
@@ -45,7 +45,7 @@ class ChangeRequestTemplateDetailsSerializer(
class
Meta
:
model
=
models
.
ChangeRequestTemplateDetails
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
]
read_only_fields
=
[
'created'
,
'deleted_at'
,
'code'
]
class
ChangeRequestFormHeaderSerializer
(
...
...
@@ -82,7 +82,7 @@ class ChangeRequestFormHeaderSerializer(
class
Meta
:
model
=
models
.
ChangeRequestFormHeader
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
]
read_only_fields
=
[
'created'
,
'deleted_at'
,
'form_code'
]
class
ChangeRequestFormApproversSerializer
(
...
...
@@ -112,7 +112,7 @@ class ChangeRequestFormApproversSerializer(
class
Meta
:
model
=
models
.
ChangeRequestFormApprovers
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
]
read_only_fields
=
[
'created'
,
'deleted_at'
,
'code'
]
class
ChangeRequestFormStakeHoldersSerializer
(
...
...
@@ -121,7 +121,7 @@ class ChangeRequestFormStakeHoldersSerializer(
class
Meta
:
model
=
models
.
ChangeRequestFormStakeHolders
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
]
read_only_fields
=
[
'created'
,
'deleted_at'
,
'code'
]
class
ChangeRequestFormAttachmentsSerializer
(
...
...
@@ -130,7 +130,7 @@ class ChangeRequestFormAttachmentsSerializer(
class
Meta
:
model
=
models
.
ChangeRequestFormAttachments
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
]
read_only_fields
=
[
'created'
,
'deleted_at'
,
'code'
]
class
ChangeRequestFormDetailsSerializer
(
...
...
@@ -139,4 +139,4 @@ class ChangeRequestFormDetailsSerializer(
class
Meta
:
model
=
models
.
ChangeRequestFormDetails
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
]
read_only_fields
=
[
'created'
,
'deleted_at'
,
'code'
]
app/applicationlayer/management/changerequest/views.py
View file @
1a61c3d3
This diff is collapsed.
Click to expand it.
app/applicationlayer/urls.py
View file @
1a61c3d3
...
...
@@ -19,7 +19,7 @@ router.register(r'modules', ModuleViewSet)
router
.
register
(
r'notifications'
,
NotificationsViewset
)
router
.
register
(
r'template'
,
crviews
.
ChangeRequestTemplatesViewset
)
#
router.register(r'template-approvers', crviews.ChangeRequestTemplateApproversViewset)
router
.
register
(
r'template-approvers'
,
crviews
.
ChangeRequestTemplateApproversViewset
)
# router.register(r'template-stakeholders', crviews.ChangeRequestTemplateStakeHoldersViewset)
# router.register(r'template-attachments', crviews.ChangeRequestTemplateAttachmentsViewset)
# router.register(r'template-details', crviews.ChangeRequestTemplateDetailsViewset)
...
...
@@ -35,4 +35,5 @@ urlpatterns = (
path
(
''
,
include
(
router
.
urls
)),
path
(
'template-post/'
,
crviews
.
ChangeRequestTemplatePost
.
as_view
()),
path
(
'form-post/'
,
crviews
.
ChangeRequestFormPost
.
as_view
()),
)
app/applicationlayer/utils.py
View file @
1a61c3d3
...
...
@@ -65,4 +65,47 @@ def status_message_response(code, status, message, results):
'message'
:
message
,
'results'
:
results
}
return
message
\ No newline at end of file
return
message
class
QuerySetHelper
:
@
staticmethod
def
Sort
(
context
):
sort_field
=
context
.
request
.
query_params
.
get
(
'sort_field'
)
sort_order
=
context
.
request
.
query_params
.
get
(
'sort_order'
)
if
sort_field
and
sort_order
:
if
sort_order
.
lower
()
==
'asc'
:
context
.
queryset
=
context
.
queryset
.
order_by
(
sort_field
)
else
:
context
.
queryset
=
context
.
queryset
.
order_by
(
f
"-{sort_field}"
)
return
context
.
queryset
@
staticmethod
def
Search
(
context
):
search_field
=
context
.
request
.
query_params
.
get
(
'search-field'
)
search_key
=
context
.
request
.
query_params
.
get
(
'search-key'
)
if
search_field
and
search_key
:
context
.
queryset
=
context
.
queryset
(
__raw__
=
{
f
"{search_field}"
:
{
"$regex"
:
f
".*{search_key.lower()}.*"
}}
)
return
context
.
queryset
@
staticmethod
def
Filter
(
context
):
if
int
(
len
(
context
.
request
.
query_params
))
>
0
:
filtering_kwargs
=
{}
with_params
=
[]
common_params
=
(
'page'
,
'page-size'
,
'page_size'
,
'sort_order'
,
'sort_field'
)
for
field
,
value
in
context
.
request
.
GET
.
items
():
filtering_kwargs
=
{}
if
value
and
field
.
lower
()
not
in
common_params
:
filtering_kwargs
[
field
]
=
{
"$regex"
:
f
".*{value.lower()}.*"
}
filtering_kwargs
[
field
]
=
{
"$regex"
:
f
".*{value}.*"
}
# filtering_kwargs[field] = {"$regex" : f".*{value.lower()}.*"}
with_params
.
append
(
filtering_kwargs
)
raw_query
=
{
"$or"
:
with_params
}
context
.
queryset
=
context
.
queryset
(
__raw__
=
raw_query
)
return
context
.
queryset
\ No newline at end of file
app/businesslayer/changerequest/change_request.py
0 → 100644
View file @
1a61c3d3
from
django.shortcuts
import
render
from
app.entities
import
models
from
app.applicationlayer
import
paginators
from
datetime
import
datetime
from
rest_framework.response
import
Response
from
rest_framework
import
status
,
views
from
rest_framework.decorators
import
action
from
django.http
import
Http404
from
django.db.models
import
Q
def
list_by_user
(
user_id_number
):
return_queryset
=
None
try
:
approver
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
user
=
user_id_number
)
&
Q
(
deleted_at
=
None
)
)
approver
=
[
data
[
'form_code'
]
for
data
in
approver
]
stake
=
models
.
ChangeRequestFormStakeHolders
.
objects
.
filter
(
Q
(
user
=
user_id_number
)
&
Q
(
deleted_at
=
None
)
)
stake
=
[
data
[
'form_code'
]
for
data
in
stake
]
headers
=
models
.
ChangeRequestFormHeader
.
objects
.
filter
(
deleted_at
=
None
,
requested_by_user
=
user_id_number
)
headers
=
[
data
[
'form_code'
]
for
data
in
headers
]
# # TODO: Include priviledges here
# req = get_allowed_company(user_id_number)
# results = req.json()['results']
# # Get the list of distincted group_no
# crViews = list(set(
# map(lambda x: x['group_pivots'],
# list(filter(lambda x: x['view_all_change_request'], results))
# )
# ))
# priviledgedList = models.ChangeRequestFormHeader.objects.filter(
# requested_to_department__in=crViews,
# deleted_at=None,
# )
# priviledgedCrs = [data['form_code'] for data in priviledgedList]
# form_code = list(set(stake + approver + headers + priviledgedCrs))
form_code
=
list
(
set
(
stake
+
approver
+
headers
))
return_queryset
=
models
.
ChangeRequestFormHeader
.
objects
.
filter
(
form_code__in
=
form_code
,
deleted_at
=
None
,
)
exclude
=
return_queryset
.
filter
(
status__iexact
=
'Draft'
,
requested_by_user__ne
=
user_id_number
)
exclude
=
[
data
[
'form_code'
]
for
data
in
exclude
]
return_queryset
=
return_queryset
.
filter
(
form_code__nin
=
exclude
)
except
Exception
as
e
:
pass
return
return_queryset
def
filter_base
(
base_queryset
,
company_requested_to
,
department_requested_to
,
date_modified_from
,
date_modified_to
,
date_required_from
,
date_required_to
,
form_type
):
return_queryset
=
base_queryset
try
:
if
company_requested_to
:
return_queryset
=
return_queryset
.
filter
(
requested_to_company__exact
=
company_requested_to
)
if
department_requested_to
:
return_queryset
=
return_queryset
.
filter
(
requested_to_department__exact
=
department_requested_to
)
if
form_type
==
'open'
:
return_queryset
=
return_queryset
.
filter
(
status__ne
=
'Closed'
)
elif
form_type
==
'closed'
:
return_queryset
=
return_queryset
.
filter
(
status
=
'Closed'
)
date_modified
=
[]
date_modified_not
=
[]
if
date_modified_from
and
date_modified_to
:
for
query
in
return_queryset
:
created
=
datetime
.
strftime
(
query
.
created
,
"
%
Y-
%
m-
%
d"
)
if
created
>=
date_modified_from
and
created
<=
date_modified_to
:
date_modified
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__in
=
date_modified
)
else
:
date_modified_not
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__nin
=
date_modified_not
)
date_required
=
[]
date_required_not
=
[]
if
date_required_from
and
date_required_to
:
for
query
in
return_queryset
:
try
:
if
query
.
requested_to_target_date
:
requested_to_target_date
=
datetime
.
strptime
(
query
.
requested_to_target_date
[:
-
1
],
"
%
Y-
%
m-
%
dT
%
H:
%
M:
%
S.
%
f"
)
requested_to_target_date
=
datetime
.
strftime
(
requested_to_target_date
,
"
%
Y-
%
m-
%
d"
)
if
requested_to_target_date
>=
date_required_from
and
requested_to_target_date
<=
date_required_to
:
date_required
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__in
=
date_required
)
else
:
date_required_not
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__nin
=
date_required_not
)
else
:
date_required_not
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__nin
=
date_required_not
)
except
ValueError
:
if
query
.
requested_to_target_date
:
requested_to_target_date
=
datetime
.
strptime
(
query
.
requested_to_target_date
[:
-
1
],
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
requested_to_target_date
=
datetime
.
strftime
(
requested_to_target_date
,
"
%
Y-
%
m-
%
d"
)
if
requested_to_target_date
>=
date_required_from
and
requested_to_target_date
<=
date_required_to
:
date_required
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__in
=
date_required
)
else
:
date_required_not
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__nin
=
date_required_not
)
else
:
date_required_not
.
append
(
query
.
id
)
return_queryset
=
return_queryset
.
filter
(
id__nin
=
date_required_not
)
return_queryset
except
Exception
as
e
:
pass
return
return_queryset
def
filter_overdue
(
base_queryset
):
return_queryset
=
base_queryset
try
:
now
=
datetime
.
now
()
overdue
=
[]
for
query
in
return_queryset
:
try
:
if
query
.
requested_to_target_date
:
requested_to_target_date
=
datetime
.
strptime
(
query
.
requested_to_target_date
[:
-
1
],
"
%
Y-
%
m-
%
dT
%
H:
%
M:
%
S.
%
f"
)
if
(
requested_to_target_date
<
now
):
overdue
.
append
(
query
.
form_code
)
except
ValueError
:
#convert now
if
query
.
requested_to_target_date
:
requested_to_target_date
=
datetime
.
strptime
(
query
.
requested_to_target_date
[:
-
1
],
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
if
(
requested_to_target_date
<
now
):
overdue
.
append
(
query
.
form_code
)
return_queryset
=
return_queryset
.
filter
(
form_code__in
=
overdue
)
return_queryset
except
Exception
as
e
:
pass
return
return_queryset
def
filter_status
(
base_queryset
,
status
):
return_queryset
=
base_queryset
try
:
if
status
:
return_queryset
=
return_queryset
.
filter
(
status__iexact
=
status
)
return_queryset
except
Exception
as
e
:
pass
return
return_queryset
def
filter_awaiting
(
base_queryset
,
user_id_number
):
return_queryset
=
base_queryset
try
:
awaiting_included
=
[]
for
query
in
return_queryset
:
current_level
=
models
.
ChangeRequestFormApprovers
.
objects
.
filter
(
Q
(
form_code
=
query
.
form_code
)
&
Q
(
deleted_at
=
None
)
&
(
Q
(
action
=
''
)
|
Q
(
action
=
None
))
)
.
order_by
(
'level'
)
if
current_level
:
if
current_level
[
0
][
'user'
]
==
user_id_number
:
awaiting_included
.
append
(
query
.
form_code
)
return_queryset
=
return_queryset
.
filter
(
form_code__in
=
awaiting_included
)
except
Exception
as
e
:
pass
return
return_queryset
app/businesslayer/changerequest/change_request_template.py
0 → 100644
View file @
1a61c3d3
from
app.entities
import
models
def
get_template
(
self
,
code
):
try
:
template
=
{}
header
=
models
.
ChangeRequestTemplateHeader
.
objects
.
filter
(
template_no
=
code
)
.
values
()
approve
=
models
.
ChangeRequestTemplateApprovers
.
objects
.
filter
(
template_no
=
code
)
.
values
()
stakeholder
=
models
.
ChangeRequestTemplateStakeHolders
.
objects
.
filter
(
template_no
=
code
)
.
values
()
attachment
=
models
.
ChangeRequestTemplateAttachments
.
objects
.
filter
(
template_no
=
code
)
.
values
()
details
=
models
.
ChangeRequestTemplateDetails
.
objects
.
filter
(
template_no
=
code
)
.
values
()
task
=
models
.
ChangeRequestTemplateTasks
.
objects
.
filter
(
template_no
=
code
)
.
values
()
template
[
'header'
]
=
header
template
[
'aprrove'
]
=
approve
template
[
'stakeholder'
]
=
stakeholder
template
[
'attachment'
]
=
attachment
template
[
'details'
]
=
details
template
[
'task'
]
=
task
return
template
except
ChangeRequestTemplateHeader
.
DoesNotExist
:
raise
Http404
except
ChangeRequestTemplateApprovers
.
DoesNotExist
:
raise
Http404
except
ChangeRequestTemplateStakeHolders
.
DoesNotExist
:
raise
Http404
except
ChangeRequestTemplateAttachments
.
DoesNotExist
:
raise
Http404
except
ChangeRequestTemplateDetails
.
DoesNotExist
:
raise
Http404
except
ChangeRequestTemplateTasks
.
DoesNotExist
:
raise
Http404
app/entities/migrations/0012_auto_20190906_1429.py
0 → 100644
View file @
1a61c3d3
# Generated by Django 2.2 on 2019-09-06 14:29
from
django.conf
import
settings
from
django.db
import
migrations
,
models
import
django.db.models.deletion
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'entities'
,
'0011_auto_20190905_1756'
),
]
operations
=
[
migrations
.
AddField
(
model_name
=
'changerequestformapprovers'
,
name
=
'tmp_approver'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
'entities.ChangeRequestTemplateApprovers'
,
to_field
=
'code'
),
),
migrations
.
AddField
(
model_name
=
'changerequestformattachments'
,
name
=
'tmp_attach'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
'entities.ChangeRequestTemplateAttachments'
,
to_field
=
'code'
),
),
migrations
.
AddField
(
model_name
=
'changerequestformdetails'
,
name
=
'tmp_detail'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
'entities.ChangeRequestTemplateDetails'
,
to_field
=
'code'
),
),
migrations
.
AddField
(
model_name
=
'changerequestformstakeholders'
,
name
=
'tmp_stake'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
'entities.ChangeRequestTemplateStakeHolders'
,
to_field
=
'code'
),
),
migrations
.
AlterField
(
model_name
=
'changerequestformapprovers'
,
name
=
'delegation'
,
field
=
models
.
CharField
(
blank
=
True
,
max_length
=
50
,
null
=
True
),
),
migrations
.
AlterField
(
model_name
=
'changerequestformapprovers'
,
name
=
'user'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
settings
.
AUTH_USER_MODEL
,
to_field
=
'code'
),
),
migrations
.
AlterField
(
model_name
=
'changerequestformstakeholders'
,
name
=
'user'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
settings
.
AUTH_USER_MODEL
,
to_field
=
'code'
),
),
migrations
.
AlterField
(
model_name
=
'changerequesttemplateapprovers'
,
name
=
'delegation'
,
field
=
models
.
CharField
(
blank
=
True
,
max_length
=
50
,
null
=
True
),
),
migrations
.
AlterField
(
model_name
=
'changerequesttemplateapprovers'
,
name
=
'user'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
settings
.
AUTH_USER_MODEL
,
to_field
=
'code'
),
),
migrations
.
AlterField
(
model_name
=
'changerequesttemplatestakeholders'
,
name
=
'user'
,
field
=
models
.
ForeignKey
(
blank
=
True
,
null
=
True
,
on_delete
=
django
.
db
.
models
.
deletion
.
DO_NOTHING
,
to
=
settings
.
AUTH_USER_MODEL
,
to_field
=
'code'
),
),
]
app/entities/models.py
View file @
1a61c3d3
...
...
@@ -389,10 +389,12 @@ class BaseApprover(models.Model):
user
=
models
.
ForeignKey
(
User
,
blank
=
True
,
null
=
True
,
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'code'
)
delegation
=
models
.
CharField
(
max_length
=
50
)
delegation
=
models
.
CharField
(
max_length
=
50
,
blank
=
True
,
null
=
True
)
created
=
models
.
DateTimeField
(
blank
=
True
,
null
=
True
)
...
...
@@ -407,6 +409,8 @@ class BaseApprover(models.Model):
class
BaseStakeholder
(
models
.
Model
):
user
=
models
.
ForeignKey
(
User
,
blank
=
True
,
null
=
True
,
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'code'
)
delegation
=
models
.
CharField
(
...
...
@@ -661,7 +665,11 @@ class ChangeRequestFormHeader(BaseHeader):
def
save
(
self
,
*
args
,
**
kwargs
):
super
(
ChangeRequestFormHeader
,
self
)
.
save
(
*
args
,
**
kwargs
)
code
=
number_generator
(
enums
.
GenerateCode
.
FORM
.
value
,
self
.
id
)
ChangeRequestFormHeader
.
objects
.
filter
(
id
=
self
.
id
)
.
update
(
form_code
=
code
)
# ChangeRequestFormHeader.objects.filter(id=self.id).update(form_code=code)
if
self
.
form_code
==
''
:
self
.
form_code
=
code
self
.
save
()
class
ChangeRequestFormApprovers
(
BaseApprover
):
...
...
@@ -684,6 +692,12 @@ class ChangeRequestFormApprovers(BaseApprover):
date_sent
=
models
.
DateTimeField
(
blank
=
True
,
null
=
True
)
tmp_approver
=
models
.
ForeignKey
(
ChangeRequestTemplateApprovers
,
null
=
True
,
blank
=
True
,
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'code'
)
class
Meta
:
db_table
=
'change_request_form_approvers'
...
...
@@ -691,9 +705,12 @@ class ChangeRequestFormApprovers(BaseApprover):
def
save
(
self
,
*
args
,
**
kwargs
):
super
(
ChangeRequestFormApprovers
,
self
)
.
save
(
*
args
,
**
kwargs
)
code
=
number_generator
(
enums
.
GenerateCode
.
FORM_APPROVER
.
value
,
self
.
id
)
ChangeRequestFormApprovers
.
objects
.
filter
(
id
=
self
.
id
)
.
update
(
code
=
code
)
#
ChangeRequestFormApprovers.objects.filter(id=self.id).update(code=code)
pass
if
self
.
code
==
''
:
self
.
code
=
code
self
.
created
=
datetime
.
now
()
self
.
save
()
class
ChangeRequestFormDetails
(
BaseDetails
):
...
...
@@ -705,6 +722,12 @@ class ChangeRequestFormDetails(BaseDetails):
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'form_code'
,
related_name
=
'frm_details'
)
tmp_detail
=
models
.
ForeignKey
(
ChangeRequestTemplateDetails
,
null
=
True
,
blank
=
True
,
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'code'
)
class
Meta
:
db_table
=
'change_request_form_details'
...
...
@@ -712,9 +735,12 @@ class ChangeRequestFormDetails(BaseDetails):
def
save
(
self
,
*
args
,
**
kwargs
):
super
(
ChangeRequestFormDetails
,
self
)
.
save
(
*
args
,
**
kwargs
)
code
=
number_generator
(
enums
.
GenerateCode
.
FORM_DETAIL
.
value
,
self
.
id
)
ChangeRequestFormDetails
.
objects
.
filter
(
id
=
self
.
id
)
.
update
(
code
=
code
)
#
ChangeRequestFormDetails.objects.filter(id=self.id).update(code=code)
pass
if
self
.
code
==
''
:
self
.
code
=
code
self
.
created
=
datetime
.
now
()
self
.
save
()
class
ChangeRequestFormStakeHolders
(
BaseStakeholder
):
...
...
@@ -729,6 +755,12 @@ class ChangeRequestFormStakeHolders(BaseStakeholder):
date_added
=
models
.
DateTimeField
(
blank
=
True
,
null
=
True
)
tmp_stake
=
models
.
ForeignKey
(
ChangeRequestTemplateStakeHolders
,
null
=
True
,
blank
=
True
,
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'code'
)
class
Meta
:
db_table
=
'change_request_form_stakeholders'
...
...
@@ -736,9 +768,12 @@ class ChangeRequestFormStakeHolders(BaseStakeholder):
def
save
(
self
,
*
args
,
**
kwargs
):
super
(
ChangeRequestFormStakeHolders
,
self
)
.
save
(
*
args
,
**
kwargs
)
code
=
number_generator
(
enums
.
GenerateCode
.
FORM_STAKE
.
value
,
self
.
id
)
ChangeRequestFormStakeHolders
.
objects
.
filter
(
id
=
self
.
id
)
.
update
(
code
=
code
)
#
ChangeRequestFormStakeHolders.objects.filter(id=self.id).update(code=code)
pass
if
self
.
code
==
''
:
self
.
code
=
code
self
.
created
=
datetime
.
now
()
self
.
save
()
class
ChangeRequestFormAttachments
(
BaseAttachment
):
...
...
@@ -750,6 +785,12 @@ class ChangeRequestFormAttachments(BaseAttachment):
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'form_code'
,
related_name
=
'frm_attachments'
)
tmp_attach
=
models
.
ForeignKey
(
ChangeRequestTemplateAttachments
,
null
=
True
,
blank
=
True
,
on_delete
=
models
.
DO_NOTHING
,
to_field
=
'code'
)
class
Meta
:
db_table
=
'change_request_form_attachments'
...
...
@@ -757,9 +798,12 @@ class ChangeRequestFormAttachments(BaseAttachment):
def
save
(
self
,
*
args
,
**
kwargs
):
super
(
ChangeRequestFormAttachments
,
self
)
.
save
(
*
args
,
**
kwargs
)
code
=
number_generator
(
enums
.
GenerateCode
.
FORM_ATTACH
.
value
,
self
.
id
)
ChangeRequestFormAttachments
.
objects
.
filter
(
id
=
self
.
id
)
.
update
(
code
=
code
)
#
ChangeRequestFormAttachments.objects.filter(id=self.id).update(code=code)
pass
if
self
.
code
==
''
:
self
.
code
=
code
self
.
created
=
datetime
.
now
()
self
.
save
()
"""
...
...
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