Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
MOOC packages by hacklab
django-courses
Commits
8bd6e5c8
Commit
8bd6e5c8
authored
Jun 10, 2020
by
Fernando Ribeiro
Browse files
Fix: update views to add users into ProfessorGlobalMessageViewSet
parent
e12c4425
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
9 deletions
+15
-9
courses/views.py
courses/views.py
+15
-9
No files found.
courses/views.py
View file @
8bd6e5c8
...
...
@@ -95,18 +95,14 @@ class ProfessorMessageViewSet(viewsets.ModelViewSet):
permission_classes
=
(
IsAssistantOrCoordinatorOrReadOnly
,)
def
perform_create
(
self
,
serializer
):
recipients
=
serializer
.
context
[
'request'
].
data
.
get
(
'users'
,
None
)
groups
=
serializer
.
context
[
'request'
].
data
.
get
(
'groups'
,
None
)
classes
=
serializer
.
context
[
'request'
].
data
.
get
(
'classes'
,
None
)
recipients
=
serializer
.
context
[
'request'
].
data
.
get
(
'users'
,
None
)
users_to_be_added
=
[]
User
=
get_user_model
()
# If groups were specified, their users are the recipients
if
groups
:
users_to_be_added
=
User
.
objects
.
filter
(
groups__in
=
groups
)
# Otherwise, user the recipients list
el
if
recipients
:
if
recipients
:
for
user_id
in
serializer
.
context
[
'request'
].
data
[
'users'
]:
users_to_be_added
.
append
(
User
.
objects
.
get
(
id
=
user_id
))
elif
classes
:
...
...
@@ -146,13 +142,23 @@ class ProfessorGlobalMessageViewSet(mixins.CreateModelMixin,
def
perform_create
(
self
,
serializer
):
User
=
get_user_model
()
all_students
=
serializer
.
context
[
'request'
].
data
.
get
(
'all_students'
,
None
)
users_to_be_added
=
[]
all_students
=
serializer
.
context
[
'request'
].
data
.
get
(
'all_students'
,
None
)
recipients
=
serializer
.
context
[
'request'
].
data
.
get
(
'users'
,
None
)
groups
=
serializer
.
context
[
'request'
].
data
.
get
(
'groups'
,
None
)
if
all_students
:
# If all_students was set to True by the client, this is a global message
users_to_be_added
=
User
.
objects
.
all
()
# If groups were specified, their users are the recipients
elif
groups
:
users_to_be_added
=
User
.
objects
.
filter
(
groups__in
=
groups
)
# Otherwise, user the recipients list
elif
recipients
:
for
user_id
in
serializer
.
context
[
'request'
].
data
[
'users'
]:
users_to_be_added
.
append
(
User
.
objects
.
get
(
id
=
user_id
))
obj
=
serializer
.
save
(
professor
=
self
.
request
.
user
,
users
=
users_to_be_added
)
if
obj
:
obj
.
send
()
...
...
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