Commit 79560676 authored by Sli's avatar Sli
Browse files

Election right update

parent 2764f6d2
...@@ -363,8 +363,16 @@ Cette page vise à documenter la syntaxe *Markdown* utilisée sur le site. ...@@ -363,8 +363,16 @@ Cette page vise à documenter la syntaxe *Markdown* utilisée sur le site.
operation.save() operation.save()
# Create an election # Create an election
public_group = Group.objects.get(id=settings.SITH_GROUP_PUBLIC_ID)
subscriber_group = Group.objects.get(name=settings.SITH_MAIN_MEMBERS_GROUP)
ae_board_gorup = Group.objects.get(name=settings.SITH_MAIN_BOARD_GROUP)
el = Election(title="Élection 2017", description="La roue tourne", start_candidature='1942-06-12 10:28:45', end_candidature='2042-06-12 10:28:45',start_date='1942-06-12 10:28:45', end_date='7942-06-12 10:28:45') el = Election(title="Élection 2017", description="La roue tourne", start_candidature='1942-06-12 10:28:45', end_candidature='2042-06-12 10:28:45',start_date='1942-06-12 10:28:45', end_date='7942-06-12 10:28:45')
el.save() el.save()
el.view_groups.add(public_group)
el.edit_groups.add(ae_board_gorup)
el.candidature_group.add(subscriber_group)
el.vote_group.add(subscriber_group)
el.save()
liste = ElectionList(title="Candidature Libre", election=el) liste = ElectionList(title="Candidature Libre", election=el)
liste.save() liste.save()
listeT = ElectionList(title="Troll", election=el) listeT = ElectionList(title="Troll", election=el)
......
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('election', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='role',
name='max_choice',
field=models.IntegerField(verbose_name='max choice', default=1),
),
]
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0016_auto_20161212_1922'),
('election', '0002_role_max_choice'),
]
operations = [
migrations.AddField(
model_name='election',
name='candidature_group',
field=models.ManyToManyField(related_name='candidate_election', blank=True, verbose_name='candidature group', to='core.Group'),
),
migrations.AddField(
model_name='election',
name='edit_groups',
field=models.ManyToManyField(related_name='editable_election', blank=True, verbose_name='edit group', to='core.Group'),
),
migrations.AddField(
model_name='election',
name='view_groups',
field=models.ManyToManyField(related_name='viewable_election', blank=True, verbose_name='view group', to='core.Group'),
),
migrations.AddField(
model_name='election',
name='vote_group',
field=models.ManyToManyField(related_name='votable_election', blank=True, verbose_name='vote group', to='core.Group'),
),
]
...@@ -4,7 +4,7 @@ from django.utils import timezone ...@@ -4,7 +4,7 @@ from django.utils import timezone
from django.conf import settings from django.conf import settings
from datetime import timedelta from datetime import timedelta
from core.models import User from core.models import User, Group
class Election(models.Model): class Election(models.Model):
...@@ -18,6 +18,11 @@ class Election(models.Model): ...@@ -18,6 +18,11 @@ class Election(models.Model):
start_date = models.DateTimeField(_('start date'), blank=False) start_date = models.DateTimeField(_('start date'), blank=False)
end_date = models.DateTimeField(_('end date'), blank=False) end_date = models.DateTimeField(_('end date'), blank=False)
edit_groups = models.ManyToManyField(Group, related_name="editable_election", verbose_name=_("edit group"), blank=True)
view_groups = models.ManyToManyField(Group, related_name="viewable_election", verbose_name=_("view group"), blank=True)
vote_group = models.ManyToManyField(Group, related_name="votable_election", verbose_name=_("vote group"), blank=True)
candidature_group = models.ManyToManyField(Group, related_name="candidate_election", verbose_name=_("candidature group"), blank=True)
def __str__(self): def __str__(self):
return self.title return self.title
...@@ -38,11 +43,7 @@ class Election(models.Model): ...@@ -38,11 +43,7 @@ class Election(models.Model):
def get_results(self): def get_results(self):
pass pass
def can_view(self, obj): # Permissions
return True
def can_be_viewed_by(self, user):
return True
class Role(models.Model): class Role(models.Model):
...@@ -53,6 +54,7 @@ class Role(models.Model): ...@@ -53,6 +54,7 @@ class Role(models.Model):
title = models.CharField(_('title'), max_length=255) title = models.CharField(_('title'), max_length=255)
description = models.TextField(_('description'), null=True, blank=True) description = models.TextField(_('description'), null=True, blank=True)
has_voted = models.ManyToManyField(User, verbose_name=('has voted'), related_name='has_voted') has_voted = models.ManyToManyField(User, verbose_name=('has voted'), related_name='has_voted')
max_choice = models.IntegerField(_('max choice'), default=1)
def __str__(self): def __str__(self):
return ("%s : %s") % (self.election.title, self.title) return ("%s : %s") % (self.election.title, self.title)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment