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
243729f3
Commit
243729f3
authored
Sep 11, 2019
by
Gladys Forte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update model
parent
2d922195
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
104 additions
and
32 deletions
+104
-32
app/applicationlayer/cms/template/serializers.py
app/applicationlayer/cms/template/serializers.py
+25
-10
app/applicationlayer/cms/template/views.py
app/applicationlayer/cms/template/views.py
+64
-21
app/applicationlayer/cms/utils_cr.py
app/applicationlayer/cms/utils_cr.py
+11
-0
app/entities/models.py
app/entities/models.py
+4
-1
No files found.
app/applicationlayer/cms/template/serializers.py
View file @
243729f3
from
app.entities
import
models
from
rest_framework
import
serializers
from
django.db.models
import
Q
from
drf_writable_nested
import
WritableNestedModelSerializer
class
ChangeRequestTemplatesSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
models
.
ChangeRequestTemplateHeader
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
,
'template_no'
]
class
ChangeRequestTemplateApproversSerializer
(
serializers
.
ModelSerializer
):
...
...
@@ -45,4 +37,27 @@ class ChangeRequestTemplateDetailsSerializer(
class
Meta
:
model
=
models
.
ChangeRequestTemplateDetails
fields
=
'__all__'
read_only_fields
=
[
'created'
,
'deleted_at'
,
'code'
]
\ No newline at end of file
read_only_fields
=
[
'created'
,
'deleted_at'
,
'code'
]
class
ChangeRequestTemplatesSerializer
(
WritableNestedModelSerializer
):
tmp_approvers
=
ChangeRequestTemplateApproversSerializer
(
many
=
True
)
tmp_stakes
=
ChangeRequestTemplateStakeHoldersSerializer
(
many
=
True
)
tmp_attachments
=
ChangeRequestTemplateAttachmentsSerializer
(
many
=
True
)
tmp_details
=
ChangeRequestTemplateDetailsSerializer
(
many
=
True
)
class
Meta
:
model
=
models
.
ChangeRequestTemplateHeader
# fields = '__all__'
fields
=
(
'template_no'
,
'requested_to_template_name'
,
'requested_to_objective'
,
'requested_to_target_date'
,
'requested_to_priority'
,
'description'
,
'created'
,
'requested_to_template_id'
,
'requested_to_company'
,
'requested_to_department'
,
'requested_to_user'
,
'created_by_user'
,
'created_by_department'
,
'tmp_approvers'
,
'tmp_stakes'
,
'tmp_attachments'
,
'tmp_details'
)
read_only_fields
=
[
'created'
,
'deleted_at'
,
'template_no'
]
\ No newline at end of file
app/applicationlayer/cms/template/views.py
View file @
243729f3
...
...
@@ -22,7 +22,13 @@ from rest_framework.exceptions import ValidationError
from
django.db
import
transaction
,
IntegrityError
,
connection
from
app.applicationlayer.utils
import
QuerySetHelper
from
app.businesslayer.changerequest
import
change_request
from
app.applicationlayer.cms.utils_cr
import
number_generator
from
app.applicationlayer.cms.utils_cr
import
number_generator
,
crhistory_save
from
django.shortcuts
import
get_object_or_404
from
rest_framework.generics
import
GenericAPIView
from
rest_framework.mixins
import
UpdateModelMixin
from
django.forms.models
import
model_to_dict
from
app.entities
import
enums
class
ChangeRequestTemplatesViewset
(
meviewsets
.
ModelViewSet
):
...
...
@@ -31,17 +37,16 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet):
lookup_field
=
'template_no'
serializer_class
=
serializers
.
ChangeRequestTemplatesSerializer
pagination_class
=
paginators
.
SimplePageNumberPagination
def
list
(
self
,
request
,
*
args
,
**
kwargs
):
self
.
queryset
=
self
.
queryset
.
order_by
(
'-created'
)
self
.
queryset
=
QuerySetHelper
.
Sort
(
self
)
return
super
(
ChangeRequestTemplatesViewset
,
self
)
.
list
(
request
)
def
retrieve
(
self
,
request
,
*
args
,
**
kwargs
):
instance
=
self
.
queryset
.
filter
(
deleted_at
=
None
,
template_no
=
str
(
self
.
kwargs
.
get
(
'template_no'
))
)
.
first
()
...
...
@@ -60,24 +65,62 @@ class ChangeRequestTemplatesViewset(meviewsets.ModelViewSet):
return
Response
(
e
,
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
def
partial_update
(
self
,
request
,
*
args
,
**
kwargs
):
try
:
kwargs
[
'partial'
]
=
True
template_no
=
self
.
kwargs
[
'template_no'
]
instance
=
models
.
ChangeRequestTemplateHeader
.
objects
.
filter
(
template_no
=
template_no
)
.
order_by
(
'-deleted_at'
)
instance
.
update
(
deleted_at
=
None
)
message
=
"Archived Change Request restored"
return
Response
(
message
,
status
=
status
.
HTTP_200_OK
)
@
transaction
.
atomic
def
update
(
self
,
request
,
*
args
,
**
kwargs
):
except
Exception
as
e
:
message
=
{
500
,
'failed'
,
'Request was not able to process'
+
str
(
e
),
[]
}
return
Response
(
message
,
status
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
)
partial
=
kwargs
.
pop
(
'partial'
,
False
)
instance
=
self
.
get_object
()
serializer
=
self
.
get_serializer
(
instance
,
data
=
request
.
data
,
partial
=
partial
)
serializer
.
is_valid
(
raise_exception
=
True
)
old_instance
=
model_to_dict
(
instance
)
self
.
perform_update
(
serializer
)
new_instance
=
serializer
.
data
print
(
new_instance
)
crhistory_save
(
enums
.
LogEnum
.
DELETED
.
value
,
enums
.
CREntitiesEnum
.
CR_TMP_HEADER
.
value
,
's'
,
old_instance
,
new_instance
)
return
Response
(
serializer
.
data
)
# template_no = self.kwargs['template_no']
# template = get_object_or_404(models.ChangeRequestTemplateHeader, template_no=template_no)
# print(template_no)
# serializer = serializers.ChangeRequestTemplatesSerializer(template, data=request.data, partial=True)
# if serializer.is_valid():
# question = serializer.save()
# return Response(serializers.ChangeRequestTemplatesSerializer(question).data)
# return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
# instance = models.ChangeRequestTemplateHeader.objects.filter(
# template_no=template_no)
# instance.update()
# serializer = serializers.ChangeRequestTemplatesSerializer(
# data=template_header)
# if serializer.is_valid(raise_exception=True):
# serializer.update()
# message = "Archived Change Request restored"
# return Response(message, status=status.HTTP_200_OK)
# return super(ChangeRequestTemplatesViewset, self).list(request)
# except Exception as e:
# message = {
# 500, 'failed',
# 'Request was not able to process' + str(e), []
# }
# return Response(message,
# status=status.HTTP_500_INTERNAL_SERVER_ERROR)
class
ChangeRequestTemplateApproversViewset
(
meviewsets
.
ModelViewSet
):
...
...
app/applicationlayer/cms/utils_cr.py
View file @
243729f3
...
...
@@ -436,3 +436,14 @@ def cancel_overdue(request):
email_content
=
email_content_cancel
)
return
True
def
crhistory_save
(
action
,
entity
,
form_code
,
fromValue
,
toValue
):
models
.
ChangeRequestHistory
.
objects
.
create
(
action
=
action
,
entity
=
entity
,
form_code
=
form_code
,
fromValue
=
fromValue
,
toValue
=
toValue
)
return
True
\ No newline at end of file
app/entities/models.py
View file @
243729f3
...
...
@@ -845,7 +845,10 @@ class ChangeRequestHistory(AuditClass):
(
tag
.
value
,
tag
.
value
)
for
tag
in
enums
.
CREntitiesEnum
],
default
=
enums
.
CREntitiesEnum
.
CR_FRM_HEADER
.
value
,
max_length
=
50
)
form_code
=
models
.
IntegerField
()
form_code
=
models
.
CharField
(
max_length
=
255
,
blank
=
True
,
null
=
True
)
fromValue
=
models
.
TextField
(
blank
=
True
,
null
=
True
)
toValue
=
models
.
TextField
(
blank
=
True
,
null
=
True
)
...
...
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