Skip to content
Snippets Groups Projects
Commit 4a67940f authored by Calum Mackervoy's avatar Calum Mackervoy Committed by Benoit Alessandroni
Browse files

major: Django 2 upgrade

parent b93126c0
No related branches found
No related tags found
No related merge requests found
...@@ -16,7 +16,6 @@ Including another URLconf ...@@ -16,7 +16,6 @@ Including another URLconf
"""djangoldp project URL Configuration""" """djangoldp project URL Configuration"""
from django.conf.urls import url,include from django.conf.urls import url,include
from django.contrib import admin
from .views import TotalVotes from .views import TotalVotes
from djangoldp.models import Model from djangoldp.models import Model
from djangoldp_polls.models import PollOption from djangoldp_polls.models import PollOption
......
# Generated by Django 2.2.16 on 2020-09-23 09:39
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('djangoldp_polls', '0009_auto_20200911_1316'),
]
operations = [
migrations.AlterField(
model_name='poll',
name='author',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='createdVotes', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='poll',
name='circle',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='polls', to='djangoldp_circle.Circle'),
),
migrations.AlterField(
model_name='poll',
name='is_backlink',
field=models.BooleanField(default=False, help_text='set automatically to indicate the Model is a backlink'),
),
migrations.AlterField(
model_name='polloption',
name='is_backlink',
field=models.BooleanField(default=False, help_text='set automatically to indicate the Model is a backlink'),
),
migrations.AlterField(
model_name='tag',
name='is_backlink',
field=models.BooleanField(default=False, help_text='set automatically to indicate the Model is a backlink'),
),
migrations.AlterField(
model_name='vote',
name='is_backlink',
field=models.BooleanField(default=False, help_text='set automatically to indicate the Model is a backlink'),
),
migrations.AlterField(
model_name='vote',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='votes', to=settings.AUTH_USER_MODEL),
),
]
...@@ -41,18 +41,18 @@ class PollOption (Model): ...@@ -41,18 +41,18 @@ class PollOption (Model):
class Poll (Model): class Poll (Model):
created_at = models.DateTimeField(auto_now_add=True) created_at = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='createdVotes', null=True,blank=True) author = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='createdVotes', null=True, blank=True, on_delete=models.SET_NULL)
title = models.CharField(max_length=250,verbose_name="Title") title = models.CharField(max_length=250,verbose_name="Title")
image = models.URLField(verbose_name="Illustration",default=settings.BASE_URL +"/media/defaultpoll.png") image = models.URLField(verbose_name="Illustration",default=settings.BASE_URL +"/media/defaultpoll.png")
hostingOrganisation = models.CharField(max_length=250,verbose_name="Name of the hosting organisation") hostingOrganisation = models.CharField(max_length=250,verbose_name="Name of the hosting organisation")
startDate = models.DateField(verbose_name="Start date", blank=True, null=True ) startDate = models.DateField(verbose_name="Start date", blank=True, null=True )
endDate = models.DateField(verbose_name="End data" ) endDate = models.DateField(verbose_name="End data" )
shortDescription = models.CharField(max_length=250,verbose_name="Short description") shortDescription = models.CharField(max_length=250,verbose_name="Short description")
longDescription = models.TextField(verbose_name="Long description") longDescription = models.TextField(verbose_name="Long description")
tags = models.ManyToManyField(Tag, related_name='polls', blank=True) tags = models.ManyToManyField(Tag, related_name='polls', blank=True)
pollOptions = models.ManyToManyField(PollOption, related_name='relatedPollOptions', blank=True) pollOptions = models.ManyToManyField(PollOption, related_name='relatedPollOptions', blank=True)
debate = models.ManyToManyField(Conversation, related_name='polls', blank=True) debate = models.ManyToManyField(Conversation, related_name='polls', blank=True)
circle = models.ForeignKey(Circle, null=True, related_name="polls") circle = models.ForeignKey(Circle, null=True, related_name="polls", on_delete=models.SET_NULL)
class Meta : class Meta :
serializer_fields = ['@id','created_at','debate','pollOptions','votes','author','title','image','circle',\ serializer_fields = ['@id','created_at','debate','pollOptions','votes','author','title','image','circle',\
...@@ -67,9 +67,9 @@ class Poll (Model): ...@@ -67,9 +67,9 @@ class Poll (Model):
class Vote (Model): class Vote (Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='votes',null=True,blank=True) user = models.ForeignKey(settings.AUTH_USER_MODEL, related_name='votes',null=True,blank=True, on_delete=models.SET_NULL)
chosenOption = models.ForeignKey(PollOption, related_name='userVote') chosenOption = models.ForeignKey(PollOption, related_name='userVote', on_delete=models.CASCADE)
relatedPoll = models.ForeignKey(Poll, related_name='votes') relatedPoll = models.ForeignKey(Poll, related_name='votes', on_delete=models.CASCADE)
class Meta : class Meta :
auto_author = "user" auto_author = "user"
...@@ -79,5 +79,4 @@ class Vote (Model): ...@@ -79,5 +79,4 @@ class Vote (Model):
authenticated_perms = ['inherit','add'] authenticated_perms = ['inherit','add']
def __str__(self): def __str__(self):
return self.chosenOption return self.chosenOption.__str__()
\ No newline at end of file
\ No newline at end of file
...@@ -19,6 +19,7 @@ class FuturePollViewset(LDPViewSet): ...@@ -19,6 +19,7 @@ class FuturePollViewset(LDPViewSet):
class TotalVotes(LDPViewSet): class TotalVotes(LDPViewSet):
'''view to GET the total counts of votes selecting a particular option''' '''view to GET the total counts of votes selecting a particular option'''
serializer_class = PollOptionSerializer
def _get_poll_or_404(self): def _get_poll_or_404(self):
pk = self.kwargs['pk'] pk = self.kwargs['pk']
...@@ -39,8 +40,3 @@ class TotalVotes(LDPViewSet): ...@@ -39,8 +40,3 @@ class TotalVotes(LDPViewSet):
def get_queryset(self, *args, **kwargs): def get_queryset(self, *args, **kwargs):
poll = self._get_poll_or_404() poll = self._get_poll_or_404()
return poll.pollOptions.all() return poll.pollOptions.all()
def get_serializer_class(self):
# NOTE: this is required because currently DjangoLDP overrides the serializer_class during __init__
# https://git.startinblox.com/djangoldp-packages/djangoldp/issues/241
return PollOptionSerializer
...@@ -10,7 +10,9 @@ license = MIT ...@@ -10,7 +10,9 @@ license = MIT
[options] [options]
packages = find: packages = find:
install_requires = install_requires =
djangoldp~=0.5 djangoldp~=0.0
djangoldp_conversation
djangoldp_circle
[options.extras_require] [options.extras_require]
dev = dev =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment