present a poll
This commit is contained in:
parent
bc05b78648
commit
c4874ae6a0
@ -1,4 +1 @@
|
|||||||
from projector.api import register_slidefunc
|
|
||||||
from agenda.slides import agenda_show
|
|
||||||
|
|
||||||
register_slidefunc('agenda_show', agenda_show)
|
|
||||||
|
@ -152,4 +152,11 @@ ItemText = Item # ItemText is Depricated
|
|||||||
|
|
||||||
register_slidemodel(Item)
|
register_slidemodel(Item)
|
||||||
|
|
||||||
|
# TODO: put this in anouther file
|
||||||
|
|
||||||
|
from projector.api import register_slidefunc
|
||||||
|
from agenda.slides import agenda_show
|
||||||
|
|
||||||
|
register_slidefunc('agenda_show', agenda_show)
|
||||||
|
|
||||||
|
|
||||||
|
@ -501,3 +501,6 @@ class ApplicationOption(BaseOption):
|
|||||||
|
|
||||||
class ApplicationPoll(BasePoll):
|
class ApplicationPoll(BasePoll):
|
||||||
option_class = ApplicationOption
|
option_class = ApplicationOption
|
||||||
|
|
||||||
|
def get_application(self):
|
||||||
|
return self.get_options()[0].application
|
||||||
|
@ -72,6 +72,7 @@
|
|||||||
{% if poll.has_vote %}</a>{% endif %}
|
{% if poll.has_vote %}</a>{% endif %}
|
||||||
<a href="{% url application_poll_delete poll.id %}"><img src="/static/images/icons/edit-delete.png" title="{% trans 'Delete Vote' %}"></a>
|
<a href="{% url application_poll_delete poll.id %}"><img src="/static/images/icons/edit-delete.png" title="{% trans 'Delete Vote' %}"></a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<a href="{% url application_poll_activate poll.id %}">{% trans 'project' %}</a>
|
||||||
<br>
|
<br>
|
||||||
{% if poll.has_vote %}
|
{% if poll.has_vote %}
|
||||||
{% for option in poll.options %}
|
{% for option in poll.options %}
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
from django.conf.urls.defaults import *
|
from django.conf.urls.defaults import *
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
from application.views import ViewPoll
|
from application.views import ViewPoll, ActivatePoll
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = patterns('application.views',
|
urlpatterns = patterns('application.views',
|
||||||
@ -83,7 +83,12 @@ urlpatterns = patterns('application.views',
|
|||||||
|
|
||||||
url(r'^application/poll/(?P<poll_id>\d+)$',
|
url(r'^application/poll/(?P<poll_id>\d+)$',
|
||||||
ViewPoll.as_view(),
|
ViewPoll.as_view(),
|
||||||
name='application_poll_view'
|
name='application_poll_view',
|
||||||
|
),
|
||||||
|
|
||||||
|
url(r'^application/poll/(?P<poll_id>\d+)/activate$',
|
||||||
|
ActivatePoll.as_view(),
|
||||||
|
name='application_poll_activate',
|
||||||
),
|
),
|
||||||
|
|
||||||
url(r'^application/poll/(?P<poll_id>\d+)/del$', 'delete_poll', \
|
url(r'^application/poll/(?P<poll_id>\d+)/del$', 'delete_poll', \
|
||||||
|
@ -22,6 +22,7 @@ from django.core.urlresolvers import reverse
|
|||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.utils.translation import ungettext
|
from django.utils.translation import ungettext
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
|
from django.views.generic.base import RedirectView
|
||||||
|
|
||||||
from system import config
|
from system import config
|
||||||
|
|
||||||
@ -424,7 +425,7 @@ class ViewPoll(PollFormView):
|
|||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super(ViewPoll, self).get_context_data()
|
context = super(ViewPoll, self).get_context_data()
|
||||||
self.application = self.poll.get_options()[0].application
|
self.application = self.poll.get_application()
|
||||||
context['application'] = self.application
|
context['application'] = self.application
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@ -434,6 +435,20 @@ class ViewPoll(PollFormView):
|
|||||||
return ''
|
return ''
|
||||||
|
|
||||||
|
|
||||||
|
class ActivatePoll(RedirectView):
|
||||||
|
permanent = False
|
||||||
|
|
||||||
|
def get_redirect_url(self, **kwargs):
|
||||||
|
poll = ApplicationPoll.objects.get(pk=self.kwargs['poll_id'])
|
||||||
|
application = poll.get_application()
|
||||||
|
return reverse('application_view', args=[application.id])
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
self.poll = ApplicationPoll.objects.get(pk=self.kwargs['poll_id'])
|
||||||
|
self.poll.set_active()
|
||||||
|
return super(ActivatePoll, self).get(request, *args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
@permission_required('application.can_manage_application')
|
@permission_required('application.can_manage_application')
|
||||||
def permit_version(request, aversion_id):
|
def permit_version(request, aversion_id):
|
||||||
aversion = AVersion.objects.get(pk=aversion_id)
|
aversion = AVersion.objects.get(pk=aversion_id)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
from django import forms
|
from django import forms
|
||||||
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
class OptionForm(forms.Form):
|
class OptionForm(forms.Form):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
@ -13,8 +13,10 @@
|
|||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
#from projector.api import register_slidemodel
|
from projector.api import register_slidemodel
|
||||||
#from projector.models import Slide
|
from projector.models import Slide
|
||||||
|
|
||||||
|
from poll.forms import OptionForm
|
||||||
|
|
||||||
|
|
||||||
class BaseOption(models.Model):
|
class BaseOption(models.Model):
|
||||||
@ -42,7 +44,7 @@ class Vote(models.Model):
|
|||||||
value = models.CharField(max_length=255, null=True)
|
value = models.CharField(max_length=255, null=True)
|
||||||
|
|
||||||
|
|
||||||
class BasePoll(models.Model): #, Slide):
|
class BasePoll(models.Model, Slide):
|
||||||
prefix = 'BasePoll'
|
prefix = 'BasePoll'
|
||||||
|
|
||||||
description = models.TextField(null=True, blank=True, verbose_name = _("Description"))
|
description = models.TextField(null=True, blank=True, verbose_name = _("Description"))
|
||||||
@ -97,9 +99,13 @@ class BasePoll(models.Model): #, Slide):
|
|||||||
form = self.get_vote_form(formid=option.id, **kwargs)
|
form = self.get_vote_form(formid=option.id, **kwargs)
|
||||||
form.option = option
|
form.option = option
|
||||||
forms.append(form)
|
forms.append(form)
|
||||||
|
|
||||||
return forms
|
return forms
|
||||||
|
|
||||||
|
def slide(self):
|
||||||
|
data = super(BasePoll, self).slide()
|
||||||
|
# data['template'] = 'projector/TODO.html'
|
||||||
|
return data
|
||||||
|
|
||||||
#register_slidemodel(BasePoll)
|
|
||||||
|
register_slidemodel(BasePoll)
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ class Slide(object):
|
|||||||
return {
|
return {
|
||||||
'slide': self,
|
'slide': self,
|
||||||
'title': 'dummy-title',
|
'title': 'dummy-title',
|
||||||
|
'template': 'projector/default.html',
|
||||||
}
|
}
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
Loading…
Reference in New Issue
Block a user