cleanup the imports of the application app
This commit is contained in:
parent
8feb195067
commit
f074cb5bfd
@ -12,9 +12,9 @@
|
|||||||
|
|
||||||
from django import forms
|
from django import forms
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
from django.utils.translation import ugettext as _, ugettext_noop
|
||||||
|
|
||||||
from openslides.utils.forms import CssClassMixin
|
from openslides.utils.forms import CssClassMixin
|
||||||
from openslides.utils.translation_ext import ugettext as _
|
|
||||||
from openslides.application.models import Application
|
from openslides.application.models import Application
|
||||||
|
|
||||||
|
|
||||||
@ -39,17 +39,20 @@ class UserModelMultipleChoiceField(forms.ModelMultipleChoiceField):
|
|||||||
class ApplicationForm(forms.Form, CssClassMixin):
|
class ApplicationForm(forms.Form, CssClassMixin):
|
||||||
title = forms.CharField(widget=forms.TextInput(), label=_("Title"))
|
title = forms.CharField(widget=forms.TextInput(), label=_("Title"))
|
||||||
text = forms.CharField(widget=forms.Textarea(), label=_("Text"))
|
text = forms.CharField(widget=forms.Textarea(), label=_("Text"))
|
||||||
reason = forms.CharField(widget=forms.Textarea(), required=False, label=_("Reason"))
|
reason = forms.CharField(widget=forms.Textarea(), required=False,
|
||||||
|
label=_("Reason"))
|
||||||
|
|
||||||
|
|
||||||
class ApplicationFormTrivialChanges(ApplicationForm):
|
class ApplicationFormTrivialChanges(ApplicationForm):
|
||||||
trivial_change = forms.BooleanField(required=False, label=_("Trivial change"),
|
trivial_change = forms.BooleanField(required=False,
|
||||||
|
label=_("Trivial change"),
|
||||||
help_text=_("Trivial changes don't create a new version."))
|
help_text=_("Trivial changes don't create a new version."))
|
||||||
|
|
||||||
|
|
||||||
class ApplicationManagerForm(forms.ModelForm, CssClassMixin):
|
class ApplicationManagerForm(forms.ModelForm, CssClassMixin):
|
||||||
submitter = UserModelChoiceField(
|
submitter = UserModelChoiceField(
|
||||||
queryset=User.objects.all().exclude(profile=None).order_by("first_name"),
|
queryset=User.objects.all().exclude(profile=None).
|
||||||
|
order_by("first_name"),
|
||||||
label=_("Submitter"),
|
label=_("Submitter"),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -60,7 +63,8 @@ class ApplicationManagerForm(forms.ModelForm, CssClassMixin):
|
|||||||
|
|
||||||
class ApplicationManagerFormSupporter(ApplicationManagerForm):
|
class ApplicationManagerFormSupporter(ApplicationManagerForm):
|
||||||
supporter = UserModelMultipleChoiceField(
|
supporter = UserModelMultipleChoiceField(
|
||||||
queryset=User.objects.all().exclude(profile=None).order_by("first_name"),
|
queryset=User.objects.all().exclude(profile=None).
|
||||||
|
order_by("first_name"),
|
||||||
required=False, label=_("Supporters"),
|
required=False, label=_("Supporters"),
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -73,7 +77,8 @@ class ApplicationImportForm(forms.Form, CssClassMixin):
|
|||||||
import_permitted = forms.BooleanField(
|
import_permitted = forms.BooleanField(
|
||||||
required=False,
|
required=False,
|
||||||
label=_("Import applications with status \"permitted\""),
|
label=_("Import applications with status \"permitted\""),
|
||||||
help_text=_("Set the initial status for each application to \"permitted\""),
|
help_text=_('Set the initial status for each application to \
|
||||||
|
"permitted"'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -120,6 +125,7 @@ class ConfigForm(forms.Form, CssClassMixin):
|
|||||||
|
|
||||||
application_allow_trivial_change = forms.BooleanField(
|
application_allow_trivial_change = forms.BooleanField(
|
||||||
label=_("Allow trivial changes"),
|
label=_("Allow trivial changes"),
|
||||||
help_text=_('Warning: Trivial changes undermine the application permission system.'),
|
help_text=_('Warning: Trivial changes undermine the application \
|
||||||
|
permission system.'),
|
||||||
required=False,
|
required=False,
|
||||||
)
|
)
|
||||||
|
@ -17,18 +17,21 @@ from django.db.models import Max
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.utils.translation import pgettext
|
from django.utils.translation import pgettext
|
||||||
|
from django.utils.translation import ugettext as _, ugettext_noop
|
||||||
|
|
||||||
from projector.api import register_slidemodel
|
from openslides.utils.utils import _propper_unicode
|
||||||
from projector.models import SlideMixin
|
|
||||||
|
|
||||||
from participant.models import Profile
|
from openslides.config.models import config
|
||||||
from config.models import config
|
|
||||||
from utils.utils import _propper_unicode
|
|
||||||
from utils.translation_ext import ugettext as _
|
|
||||||
|
|
||||||
from poll.models import BaseOption, BasePoll, CountVotesCast, CountInvalid, Vote
|
from openslides.participant.models import Profile
|
||||||
|
|
||||||
from agenda.models import Item
|
from openslides.poll.models import (BaseOption, BasePoll, CountVotesCast,
|
||||||
|
CountInvalid, Vote)
|
||||||
|
|
||||||
|
from openslides.projector.api import register_slidemodel
|
||||||
|
from openslides.projector.models import SlideMixin
|
||||||
|
|
||||||
|
from openslides.agenda.models import Item
|
||||||
|
|
||||||
|
|
||||||
class Application(models.Model, SlideMixin):
|
class Application(models.Model, SlideMixin):
|
||||||
@ -503,10 +506,10 @@ class Application(models.Model, SlideMixin):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
permissions = (
|
permissions = (
|
||||||
('can_see_application', _("Can see application", fixstr=True)),
|
('can_see_application', ugettext_noop("Can see application")),
|
||||||
('can_create_application', _("Can create application", fixstr=True)),
|
('can_create_application', ugettext_noop("Can create application")),
|
||||||
('can_support_application', _("Can support application", fixstr=True)),
|
('can_support_application', ugettext_noop("Can support application")),
|
||||||
('can_manage_application', _("Can manage application", fixstr=True)),
|
('can_manage_application', ugettext_noop("Can manage application")),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -546,7 +549,8 @@ class ApplicationOption(BaseOption):
|
|||||||
|
|
||||||
class ApplicationPoll(BasePoll, CountInvalid, CountVotesCast):
|
class ApplicationPoll(BasePoll, CountInvalid, CountVotesCast):
|
||||||
option_class = ApplicationOption
|
option_class = ApplicationOption
|
||||||
vote_values = [_('Yes', fixstr=True), _('No', fixstr=True), _('Abstain', fixstr=True)]
|
vote_values = [ugettext_noop('Yes'), ugettext_noop('No'),
|
||||||
|
ugettext_noop('Abstain')]
|
||||||
|
|
||||||
application = models.ForeignKey(Application)
|
application = models.ForeignKey(Application)
|
||||||
|
|
||||||
|
@ -12,7 +12,8 @@
|
|||||||
|
|
||||||
from django.conf.urls.defaults import url, patterns
|
from django.conf.urls.defaults import url, patterns
|
||||||
|
|
||||||
from application.views import ApplicationDelete, ViewPoll, ApplicationPDF, ApplicationPollPDF, CreateAgendaItem
|
from application.views import (ApplicationDelete, ViewPoll, ApplicationPDF,
|
||||||
|
ApplicationPollPDF, CreateAgendaItem)
|
||||||
|
|
||||||
urlpatterns = patterns('application.views',
|
urlpatterns = patterns('application.views',
|
||||||
url(r'^$',
|
url(r'^$',
|
||||||
@ -55,7 +56,7 @@ urlpatterns = patterns('application.views',
|
|||||||
ApplicationDelete.as_view(),
|
ApplicationDelete.as_view(),
|
||||||
name='application_delete',
|
name='application_delete',
|
||||||
),
|
),
|
||||||
|
|
||||||
url(r'^del/$',
|
url(r'^del/$',
|
||||||
ApplicationDelete.as_view(),
|
ApplicationDelete.as_view(),
|
||||||
{ 'application_id' : None , 'application_ids' : None },
|
{ 'application_id' : None , 'application_ids' : None },
|
||||||
@ -67,7 +68,7 @@ urlpatterns = patterns('application.views',
|
|||||||
name='application_set_number',
|
name='application_set_number',
|
||||||
),
|
),
|
||||||
|
|
||||||
url(r'^(?P<application_id>\d+)/setstatus/' '(?P<status>[a-z]{3})/$',
|
url(r'^(?P<application_id>\d+)/setstatus/(?P<status>[a-z]{3})/$',
|
||||||
'set_status',
|
'set_status',
|
||||||
name='application_set_status',
|
name='application_set_status',
|
||||||
),
|
),
|
||||||
|
@ -9,13 +9,13 @@
|
|||||||
:copyright: 2011, 2012 by OpenSlides team, see AUTHORS.
|
:copyright: 2011, 2012 by OpenSlides team, see AUTHORS.
|
||||||
:license: GNU GPL, see LICENSE for more details.
|
:license: GNU GPL, see LICENSE for more details.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# for python 2.5 support
|
||||||
from __future__ import with_statement
|
from __future__ import with_statement
|
||||||
|
|
||||||
import csv
|
import csv
|
||||||
import utils.csv_ext
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from urllib import urlencode
|
|
||||||
try:
|
try:
|
||||||
from urlparse import parse_qs
|
from urlparse import parse_qs
|
||||||
except ImportError: # python <= 2.5
|
except ImportError: # python <= 2.5
|
||||||
@ -23,46 +23,41 @@ except ImportError: # python <= 2.5
|
|||||||
|
|
||||||
from reportlab.lib import colors
|
from reportlab.lib import colors
|
||||||
from reportlab.lib.units import cm
|
from reportlab.lib.units import cm
|
||||||
from reportlab.platypus import SimpleDocTemplate, PageBreak, Paragraph, Spacer, Table, TableStyle
|
from reportlab.platypus import (SimpleDocTemplate, PageBreak, Paragraph, Spacer,
|
||||||
|
Table, TableStyle)
|
||||||
|
|
||||||
from django.shortcuts import redirect
|
from django.conf import settings
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.contrib.auth.models import User, Group
|
from django.contrib.auth.models import User, Group
|
||||||
from django.core.urlresolvers import reverse
|
|
||||||
from django.core.context_processors import csrf
|
from django.core.context_processors import csrf
|
||||||
from django.utils.translation import ugettext as _
|
from django.core.urlresolvers import reverse
|
||||||
from django.utils.translation import ungettext
|
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
from django.conf import settings
|
from django.shortcuts import redirect
|
||||||
|
from django.utils.translation import ugettext as _, ungettext
|
||||||
from openslides.config.models import config
|
|
||||||
|
|
||||||
|
from openslides.utils import csv_ext
|
||||||
from openslides.utils.pdf import stylesheet
|
from openslides.utils.pdf import stylesheet
|
||||||
|
from openslides.utils.template import Tab
|
||||||
|
from openslides.utils.utils import (template, permission_required,
|
||||||
|
del_confirm_form, gen_confirm_form)
|
||||||
from openslides.utils.views import PDFView, RedirectView, DeleteView, FormView
|
from openslides.utils.views import PDFView, RedirectView, DeleteView, FormView
|
||||||
|
|
||||||
from openslides.utils.utils import template, permission_required, \
|
from openslides.config.models import config
|
||||||
render_to_forbitten, del_confirm_form, gen_confirm_form
|
|
||||||
from openslides.utils.template import Tab
|
|
||||||
|
|
||||||
from openslides.projector.projector import Widget
|
from openslides.projector.projector import Widget
|
||||||
|
|
||||||
from openslides.poll.views import PollFormView
|
from openslides.poll.views import PollFormView
|
||||||
|
|
||||||
from openslides.participant.models import Profile
|
|
||||||
from openslides.participant.api import gen_username, gen_password
|
from openslides.participant.api import gen_username, gen_password
|
||||||
|
from openslides.participant.models import Profile
|
||||||
|
|
||||||
from openslides.agenda.models import Item
|
from openslides.agenda.models import Item
|
||||||
|
|
||||||
from openslides.application.models import Application, AVersion, ApplicationPoll
|
from openslides.application.models import Application, AVersion, ApplicationPoll
|
||||||
from openslides.application.forms import (
|
from openslides.application.forms import (ApplicationForm,
|
||||||
ApplicationForm,
|
ApplicationFormTrivialChanges, ApplicationManagerForm,
|
||||||
ApplicationFormTrivialChanges,
|
ApplicationManagerFormSupporter, ApplicationImportForm, ConfigForm)
|
||||||
ApplicationManagerForm,
|
|
||||||
ApplicationManagerFormSupporter,
|
|
||||||
ApplicationImportForm,
|
|
||||||
ConfigForm,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@permission_required('application.can_see_application')
|
@permission_required('application.can_see_application')
|
||||||
@ -194,8 +189,8 @@ def edit(request, application_id=None):
|
|||||||
actions = None
|
actions = None
|
||||||
|
|
||||||
formclass = ApplicationFormTrivialChanges \
|
formclass = ApplicationFormTrivialChanges \
|
||||||
if config['application_allow_trivial_change'] and application_id \
|
if config['application_allow_trivial_change'] and application_id \
|
||||||
else ApplicationForm
|
else ApplicationForm
|
||||||
|
|
||||||
managerformclass = ApplicationManagerFormSupporter \
|
managerformclass = ApplicationManagerFormSupporter \
|
||||||
if config['application_min_supporters'] \
|
if config['application_min_supporters'] \
|
||||||
|
Loading…
Reference in New Issue
Block a user