Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
thalia
concrexit
Commits
b5bca7fd
Verified
Commit
b5bca7fd
authored
Apr 19, 2017
by
Gijs Hendriksen
Committed by
Sébastiaan Versteeg
May 28, 2017
Browse files
Added API for event info
parent
b00f294c
Changes
2
Hide whitespace changes
Inline
Side-by-side
website/events/api/serializers.py
View file @
b5bca7fd
...
...
@@ -88,3 +88,10 @@ class UnpublishedEventSerializer(CalenderJSSerializer):
def
_url
(
self
,
instance
):
return
reverse
(
'events:admin-details'
,
kwargs
=
{
'event_id'
:
instance
.
id
})
class
EventDataSerializer
(
serializers
.
ModelSerializer
):
class
Meta
:
model
=
Event
fields
=
(
'title'
,
'description'
,
'start'
,
'end'
,
'organiser'
,
'location'
,
'price'
,
'fine'
)
website/events/api/viewsets.py
View file @
b5bca7fd
...
...
@@ -2,13 +2,13 @@ from datetime import datetime
from
django.utils
import
timezone
from
rest_framework
import
viewsets
from
rest_framework.decorators
import
list_route
from
rest_framework.exceptions
import
ParseError
from
rest_framework.permissions
import
IsAdminUser
from
rest_framework.response
import
Response
from
rest_framework.decorators
import
list_route
from
rest_framework.permissions
import
IsAuthenticated
,
IsAdminUser
from
events.api.permissions
import
UnpublishedEventPermissions
from
events.api.serializers
import
EventSerializer
,
UnpublishedEventSerializer
from
events.api.serializers
import
EventSerializer
,
UnpublishedEventSerializer
,
EventDataSerializer
from
events.models
import
Event
...
...
@@ -54,3 +54,19 @@ class EventViewset(viewsets.ViewSet):
serializer
=
UnpublishedEventSerializer
(
queryset
,
many
=
True
,
context
=
{
'user'
:
request
.
user
})
return
Response
(
serializer
.
data
)
@
list_route
(
permission_classes
=
[
IsAuthenticated
])
def
data
(
self
,
request
):
if
'event_id'
not
in
request
.
query_params
:
raise
ParseError
(
detail
=
'missing required event_id parameter'
)
try
:
serializer
=
EventDataSerializer
(
Event
.
objects
.
get
(
pk
=
request
.
query_params
[
'event_id'
])
)
return
Response
(
serializer
.
data
)
except
Event
.
DoesNotExist
:
raise
ParseError
(
detail
=
'No event with id {}'
.
format
(
request
.
query_params
[
'event_id'
]
)
)
Write
Preview
Supports
Markdown
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