Merge branch 'develop' into 'Django2.0'

# Conflicts:
#   webapp/urls.py
This commit is contained in:
Aarni Halinen
2018-07-18 20:44:23 +03:00
3 changed files with 60 additions and 18 deletions
+31 -2
View File
@@ -25,11 +25,20 @@ class EventSerializer(serializers.HyperlinkedModelSerializer):
def create(self, validated_data):
signupForms = validated_data.pop('signupForm')
event = Event.objects.create(**validated_data)
for signupForm in signupForms:
event.signupForm.add(signupForm)
for form in signupForms:
event.signupForm.add(form)
event.save()
return event
def update(self, instance, validated_data):
signupForms = validated_data.pop('signupForm')
instance = super(EventSerializer, self).update(instance, validated_data)
instance.signupForm.clear()
for form_data in signupForms:
# form_qs = SignupForms.objects.filter(id=form['id'])
instance.signupForm.add(form_data)
return instance
class SignupSerializer(serializers.ModelSerializer):
class Meta:
@@ -40,3 +49,23 @@ class SignupSerializer(serializers.ModelSerializer):
'view_name': 'signup-detail',
}
}
class SavedQuestionsSerializer(serializers.ModelSerializer):
class Meta:
model = TemplateQuestion
fields = ('id', 'name', 'question')
class FeedSerializer(serializers.ModelSerializer):
class Meta:
model = Feed
fields = ('id', 'tags', 'visible', 'title', 'description',
'content', 'publish_time', 'autohide')
class ContactsSerializer(serializers.ModelSerializer):
class Meta:
model = Official
fields = ('id', 'first_name', 'last_name', 'phone_number', 'role')
depth = 2
+10 -7
View File
@@ -9,7 +9,7 @@ from rest_framework import routers
# from webapp.views import main_index
# from webapp.views import login_view
# from webapp.views import logout_view
# from webapp.views import about_view
from webapp.views import about_view
# from webapp.views import guild_view
# from webapp.views import freshmen_view
# from webapp.views import jobs_view
@@ -18,23 +18,29 @@ from rest_framework import routers
# from webapp.views import sosso_view
# from webapp.views import contact_view
from webapp.views import EventViewSet, SignupFormViewSet, SignupViewSet
from webapp.views import EventViewSet, SignupFormViewSet, SignupViewSet,\
FeedViewSet, ContactsViewSet, SavedQuestionsViewSet
router = routers.DefaultRouter()
router.register(r'events', EventViewSet)
router.register(r'signupForm', SignupFormViewSet)
router.register(r'signup', SignupViewSet)
router.register(r'feed', FeedViewSet)
router.register(r'contacts', ContactsViewSet)
router.register(r'questions', SavedQuestionsViewSet)
urlpatterns = [
url(r'^', include(router.urls)),
url(r'^api/', include(router.urls)),
# login stuff
# url(r'^login$', login_view),
# url(r'^logout$', logout_view),
# git revision
url(r'^about', about_view),
]
# urlpatterns = [
# # main
# url(r'^$', main_index),
# url(r'^api/$', api_root),
# url(r'^api/events/$', EventList.as_view(), name='event-list'),
# url(r'^api/events/(?P<pk>[0-9]+)/$', EventDetail.as_view(), name='event-detail'),
# url(r'^api/signup/$', SignupFormList.as_view(), name='signupform-list'),
@@ -49,9 +55,6 @@ urlpatterns = [
# url(r'^login$', login_view),
# url(r'^logout$', logout_view),
# # git revision
# url(r'^about', about_view),
# # pages
# url(r'^guild', guild_view),
# url(r'^freshmen', freshmen_view),
+19 -9
View File
@@ -9,7 +9,6 @@ from django.views.decorators.http import require_http_methods
# from django.contrib.auth.decorators import permission_required, login_required
# from django.conf import settings
# from django.utils import timezone
from rest_framework.decorators import api_view
from rest_framework import viewsets
# from rest_framework import permissions, authentication
from rest_framework.response import Response
@@ -19,18 +18,14 @@ from rest_framework.reverse import reverse
# import requests
from dealer.git import git
from webapp.models import Event, SignupForm, Signup, Committee
from webapp.serializers import EventSerializer, SignupFormSerializer, SignupSerializer
from webapp.models import Event, SignupForm, Signup, TemplateQuestion, Feed,\
Committee, Official
from webapp.serializers import *
from members.views.utils import *
# -- REST API -- #
@api_view(['GET'])
def api_root(request, format=None):
return Response({'events': reverse('event-list', request=request, format=format), })
class EventViewSet(viewsets.ModelViewSet):
queryset = Event.objects.all()
serializer_class = EventSerializer
@@ -46,6 +41,21 @@ class SignupViewSet(viewsets.ModelViewSet):
serializer_class = SignupSerializer
class SavedQuestionsViewSet(viewsets.ModelViewSet):
queryset = TemplateQuestion.objects.all()
serializer_class = SavedQuestionsSerializer
class FeedViewSet(viewsets.ModelViewSet):
queryset = Feed.objects.all()
serializer_class = FeedSerializer
class ContactsViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Official.objects.all()
serializer_class = ContactsSerializer
# -- OLD CODEBASE -- #
@require_http_methods(["GET"])
@@ -65,7 +75,7 @@ def about_view(request, *args, **kwargs):
latest_commit = repo.git("rev-parse HEAD").decode('utf-8')
latest_date = repo.git("show -s --format=%ci " + latest_commit).decode('utf-8')
latest_tag = repo.git("describe --tags " + repo.git("rev-list --tags --max-count=1").decode('utf-8')).decode('utf-8')
except:
except Exception:
pass
context = {