Categories for Motions
This commit is contained in:
parent
73723feb74
commit
2614a1cb2f
@ -65,7 +65,9 @@ class Motion(SlideMixin, models.Model):
|
||||
unique=True)
|
||||
"""A string as human readable identifier for the motion."""
|
||||
|
||||
# category = models.ForeignKey('Category', null=True, blank=True)
|
||||
category = models.ForeignKey('Category', null=True, blank=True)
|
||||
"""ForeignKey to one category of motions."""
|
||||
|
||||
# TODO: proposal
|
||||
#master = models.ForeignKey('self', null=True, blank=True)
|
||||
|
||||
@ -523,12 +525,16 @@ class MotionSupporter(models.Model):
|
||||
return unicode(self.person)
|
||||
|
||||
|
||||
## class Category(models.Model):
|
||||
## name = models.CharField(max_length=255, verbose_name=ugettext_lazy("Category name"))
|
||||
## prefix = models.CharField(max_length=32, verbose_name=ugettext_lazy("Category prefix"))
|
||||
class Category(models.Model):
|
||||
name = models.CharField(max_length=255, verbose_name=ugettext_lazy("Category name"))
|
||||
prefix = models.CharField(max_length=32, verbose_name=ugettext_lazy("Category prefix"))
|
||||
|
||||
## def __unicode__(self):
|
||||
## return self.name
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def get_absolute_url(self, link='update'):
|
||||
if link == 'update' or link == 'edit':
|
||||
return reverse('motion_category_update', args=[str(self.id)])
|
||||
|
||||
|
||||
## class Comment(models.Model):
|
||||
|
@ -19,8 +19,9 @@ urlpatterns = patterns('openslides.motion.views',
|
||||
name='motion_list',
|
||||
),
|
||||
|
||||
url(r'^create/$',
|
||||
url(r'^new/$',
|
||||
'motion_create',
|
||||
# TODO: rename to motion_create
|
||||
name='motion_new',
|
||||
),
|
||||
|
||||
@ -103,4 +104,19 @@ urlpatterns = patterns('openslides.motion.views',
|
||||
'motion_detail_pdf',
|
||||
name='motion_detail_pdf',
|
||||
),
|
||||
|
||||
url(r'^category/$',
|
||||
'category_list',
|
||||
name='motion_category_list',
|
||||
),
|
||||
|
||||
url(r'^category/new/$',
|
||||
'category_create',
|
||||
name='motion_category_create',
|
||||
),
|
||||
|
||||
url(r'^category/(?P<pk>\d+)/edit/$',
|
||||
'category_update',
|
||||
name='motion_category_update',
|
||||
),
|
||||
)
|
||||
|
@ -32,7 +32,8 @@ from openslides.projector.projector import Widget, SLIDE
|
||||
from openslides.config.models import config
|
||||
from openslides.agenda.models import Item
|
||||
|
||||
from .models import Motion, MotionSubmitter, MotionSupporter, MotionPoll, MotionVersion, State, WorkflowError
|
||||
from .models import (Motion, MotionSubmitter, MotionSupporter, MotionPoll,
|
||||
MotionVersion, State, WorkflowError, Category)
|
||||
from .forms import (BaseMotionForm, MotionSubmitterMixin, MotionSupporterMixin,
|
||||
MotionDisableVersioningMixin, ConfigForm)
|
||||
from .pdf import motions_to_pdf, motion_to_pdf
|
||||
@ -473,6 +474,27 @@ motion_list_pdf = MotionPDFView.as_view(print_all_motions=True)
|
||||
motion_detail_pdf = MotionPDFView.as_view(print_all_motions=False)
|
||||
|
||||
|
||||
class CategoryListView(ListView):
|
||||
permission_required = 'motion.can_manage_motion'
|
||||
model = Category
|
||||
|
||||
category_list = CategoryListView.as_view()
|
||||
|
||||
|
||||
class CategoryCreateView(CreateView):
|
||||
permission_required = 'motion.can_manage_motion'
|
||||
model = Category
|
||||
|
||||
category_create = CategoryCreateView.as_view()
|
||||
|
||||
|
||||
class CategoryUpdateView(UpdateView):
|
||||
permission_required = 'motion.can_manage_motion'
|
||||
model = Category
|
||||
|
||||
category_update = CategoryUpdateView.as_view()
|
||||
|
||||
|
||||
class Config(FormView):
|
||||
"""The View for the config tab."""
|
||||
permission_required = 'config.can_manage_config'
|
||||
|
Loading…
Reference in New Issue
Block a user