Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
Backend
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
swp-unisport
team-warumkeinrust
Backend
Commits
b0595362
Commit
b0595362
authored
3 years ago
by
borzechof99
Browse files
Options
Downloads
Patches
Plain Diff
Adhere to Linter
parent
69008fa9
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
unisportomat/quiz/models.py
+9
-0
9 additions, 0 deletions
unisportomat/quiz/models.py
unisportomat/quiz/serializers.py
+18
-8
18 additions, 8 deletions
unisportomat/quiz/serializers.py
unisportomat/quiz/views.py
+17
-18
17 additions, 18 deletions
unisportomat/quiz/views.py
with
44 additions
and
26 deletions
unisportomat/quiz/models.py
+
9
−
0
View file @
b0595362
...
...
@@ -163,6 +163,9 @@ class CallToMove(models.Model):
return
self
.
text
def
take_base64_image
(
self
,
image_data
,
image_type
):
"""
Takes a String of a Base64 Image and writes it onto the objects image field
"""
new_image
=
convert_base64_to_image
(
image_data
,
image_type
,
"
activity_img
"
)
if
new_image
is
None
:
...
...
@@ -180,6 +183,9 @@ class KnowledgeSnack(models.Model):
return
self
.
text
def
take_base64_image
(
self
,
image_data
,
image_type
):
"""
Takes a String of a Base64 Image and writes it onto the objects image field
"""
new_image
=
convert_base64_to_image
(
image_data
,
image_type
,
"
snack_image
"
)
if
new_image
is
None
:
...
...
@@ -188,6 +194,9 @@ class KnowledgeSnack(models.Model):
def
convert_base64_to_image
(
image_data
,
image_type
,
image_name
):
"""
Converts a Base64-String into a Django Image File
"""
if
image_data
==
""
:
return
None
...
...
This diff is collapsed.
Click to expand it.
unisportomat/quiz/serializers.py
+
18
−
8
View file @
b0595362
...
...
@@ -327,7 +327,14 @@ class SnackTivityListSerializer(serializers.BaseSerializer):
class
SingleSnackTivitySerializer
(
serializers
.
BaseSerializer
):
"""
Converts a Single SnackTivity Object to JSON and back
"""
def
to_internal_value
(
self
,
data
):
"""
Validates Data given in a Request
"""
validated_data
=
{}
...
...
@@ -343,24 +350,27 @@ class SingleSnackTivitySerializer(serializers.BaseSerializer):
return
validated_data
def
to_representation
(
self
,
object
):
def
to_representation
(
self
,
obj
):
"""
Converts a SnackTivity Model
"""
# bug https://code.djangoproject.com/ticket/25528
has_image
=
obj
ect
.
image
not
in
[
None
,
""
]
has_image
=
obj
.
image
not
in
[
None
,
""
]
if
has_image
:
image_base64
=
base64
.
b64encode
(
obj
ect
.
image
.
file
.
read
())
#
TODO:
Maybe rethink this? Dunno if unsafe.
image_type
=
"
image/
"
+
obj
ect
.
image
.
file
.
name
.
split
(
"
.
"
)[
-
1
]
image_base64
=
base64
.
b64encode
(
obj
.
image
.
file
.
read
())
# Maybe rethink this? Dunno if unsafe.
image_type
=
"
image/
"
+
obj
.
image
.
file
.
name
.
split
(
"
.
"
)[
-
1
]
else
:
image_base64
=
""
image_type
=
""
data
=
{
"
id
"
:
obj
ect
.
pk
,
"
text_de
"
:
obj
ect
.
text_de
,
"
text_en
"
:
obj
ect
.
text_en
or
""
,
"
id
"
:
obj
.
pk
,
"
text_de
"
:
obj
.
text_de
,
"
text_en
"
:
obj
.
text_en
or
""
,
"
has_image
"
:
has_image
,
"
image_type
"
:
image_type
,
"
image
"
:
image_base64
,
...
...
This diff is collapsed.
Click to expand it.
unisportomat/quiz/views.py
+
17
−
18
View file @
b0595362
...
...
@@ -5,7 +5,6 @@ Defines the views for the API
# from django.shortcuts import render
from
rest_framework
import
viewsets
from
rest_framework
import
filters
from
rest_framework.views
import
APIView
from
rest_framework.response
import
Response
from
django.shortcuts
import
get_object_or_404
...
...
@@ -104,7 +103,7 @@ class SmallSportListView(viewsets.ViewSet):
if
"
ordering
"
in
request
.
query_params
.
keys
():
order_by
=
order_by_dict
[
request
.
query_params
.
get
(
"
ordering
"
)]
#
TODO:
Maybe care for is_filled ordering
# Maybe care for is_filled ordering
in the Future?
sports
=
Sport
.
objects
.
all
().
order_by
(
order_by
)
sports
=
paginator
.
paginate_queryset
(
sports
,
request
)
...
...
@@ -539,7 +538,7 @@ class SnackTivityView(viewsets.ViewSet):
data
=
SingleSnackTivitySerializer
().
to_internal_value
(
request
.
data
)
new_object
=
self
.
used_objects
()
new_object
=
self
.
used_objects
()
# pylint: disable=not-callable
if
"
text_de
"
in
data
.
keys
():
new_object
.
text_de
=
data
[
"
text_de
"
]
...
...
@@ -572,18 +571,18 @@ class SnackTivityView(viewsets.ViewSet):
Assumes every Data was given and fills them out for given PK
"""
obj
ect
=
get_object_or_404
(
self
.
used_objects
,
pk
=
pk
)
obj
=
get_object_or_404
(
self
.
used_objects
,
pk
=
pk
)
data
=
SingleSnackTivitySerializer
().
to_internal_value
(
request
.
data
)
obj
ect
.
text_de
=
data
[
"
text_de
"
]
obj
ect
.
text_en
=
data
[
"
text_en
"
]
obj
.
text_de
=
data
[
"
text_de
"
]
obj
.
text_en
=
data
[
"
text_en
"
]
obj
ect
.
take_base64_image
(
data
[
"
image
"
],
data
[
"
image_type
"
])
obj
.
take_base64_image
(
data
[
"
image
"
],
data
[
"
image_type
"
])
obj
ect
.
save
()
obj
.
save
()
return
Response
(
SingleSnackTivitySerializer
(
obj
ect
).
data
)
return
Response
(
SingleSnackTivitySerializer
(
obj
).
data
)
def
partial_update
(
self
,
request
,
pk
=
None
):
"""
...
...
@@ -591,21 +590,21 @@ class SnackTivityView(viewsets.ViewSet):
Fills in Given Data in PK
"""
obj
ect
=
get_object_or_404
(
self
.
used_objects
,
pk
=
pk
)
obj
=
get_object_or_404
(
self
.
used_objects
,
pk
=
pk
)
data
=
SingleSnackTivitySerializer
().
to_internal_value
(
request
.
data
)
if
"
text_de
"
in
data
.
keys
():
obj
ect
.
text_de
=
data
[
"
text_de
"
]
obj
.
text_de
=
data
[
"
text_de
"
]
if
"
text_en
"
in
data
.
keys
():
obj
ect
.
text_en
=
data
[
"
text_en
"
]
obj
.
text_en
=
data
[
"
text_en
"
]
if
"
image
"
in
data
.
keys
():
obj
ect
.
take_base64_image
(
data
[
"
image
"
],
data
[
"
image_type
"
])
obj
.
take_base64_image
(
data
[
"
image
"
],
data
[
"
image_type
"
])
obj
ect
.
save
()
obj
.
save
()
return
Response
(
SingleSnackTivitySerializer
(
obj
ect
).
data
)
return
Response
(
SingleSnackTivitySerializer
(
obj
).
data
)
def
destroy
(
self
,
request
,
pk
=
None
):
"""
...
...
@@ -613,12 +612,12 @@ class SnackTivityView(viewsets.ViewSet):
Deletes given PK
"""
obj
ect
=
get_object_or_404
(
self
.
used_objects
,
pk
=
pk
)
obj
=
get_object_or_404
(
self
.
used_objects
,
pk
=
pk
)
# Delete Appended Image first
obj
ect
.
image
.
delete
()
obj
.
image
.
delete
()
obj
ect
.
delete
()
obj
.
delete
()
return
Response
(
status
=
404
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment