This commit is contained in:
@@ -1 +1 @@
|
||||
default_app_config = 'dav_events.apps.AppConfig'
|
||||
default_app_config = 'dav_events.apps.AppConfig' # pylint: disable=invalid-name
|
||||
|
||||
@@ -16,17 +16,17 @@ DEFAULT_SETTINGS = (
|
||||
DefaultSetting('groups_publisher_facebook', []),
|
||||
DefaultSetting('groups_office', []),
|
||||
DefaultSetting('forms_development_init', False),
|
||||
DefaultSetting('form_initials', dict()),
|
||||
DefaultSetting('form_initials', {}),
|
||||
DefaultSetting('matrix_config', ImproperlyConfigured),
|
||||
DefaultSetting('publish_before_begin_days', 10),
|
||||
DefaultSetting('publish_before_deadline_days', 7),
|
||||
DefaultSetting('publish_issues', list()),
|
||||
DefaultSetting('publish_issues', []),
|
||||
)
|
||||
|
||||
|
||||
class AppConfig(_AppConfig):
|
||||
name = 'dav_events'
|
||||
verbose_name = u'DAV Touren & Kurse'
|
||||
verbose_name = 'DAV Touren & Kurse'
|
||||
default_settings = DEFAULT_SETTINGS
|
||||
|
||||
def ready(self):
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import datetime
|
||||
import logging
|
||||
import pytz
|
||||
import re
|
||||
import pytz
|
||||
from six import string_types
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Iso8601Serializer(object):
|
||||
class Iso8601Serializer:
|
||||
marker = 'ISO8601'
|
||||
separator = ':'
|
||||
|
||||
|
||||
@@ -5,4 +5,4 @@ from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
class RegistrationResponseForm(forms.Form):
|
||||
apply_reduced_fee = forms.BooleanField(required=False,
|
||||
label=_(u'Reduzierte Teilnahmegebühr'))
|
||||
label=_('Reduzierte Teilnahmegebühr'))
|
||||
|
||||
@@ -1 +1 @@
|
||||
from .trashed_participant import TrashedParticipant
|
||||
from .trashed_participant import TrashedParticipant
|
||||
|
||||
@@ -14,9 +14,9 @@ register = template.Library()
|
||||
|
||||
@register.simple_tag
|
||||
def render_event_status(event, show_void=True):
|
||||
label_html = u'<span class="label label-{context}">{label}</span> '
|
||||
label_html = '<span class="label label-{context}">{label}</span> '
|
||||
|
||||
html = u''
|
||||
html = ''
|
||||
|
||||
status_list = event.workflow.get_status_list()
|
||||
if show_void and len(status_list) < 1:
|
||||
@@ -39,29 +39,29 @@ def render_event_status(event, show_void=True):
|
||||
|
||||
@register.simple_tag
|
||||
def render_event_changelog(event):
|
||||
change_templ = u'<li class="list-group-item">\n' \
|
||||
u'\t<p class="list-group-item-heading">' \
|
||||
u'<span class="glyphicon glyphicon-{icon}"></span>' \
|
||||
u' {timestamp}' \
|
||||
u' - ' \
|
||||
u' {user}</p>\n' \
|
||||
u'\t{content}\n' \
|
||||
u'</li>\n'
|
||||
update_sub_templ = u'<li class="list-group-item">\n' \
|
||||
u'\t{field}:{separator1}\n' \
|
||||
u'\t<span style="background-color: #ffe0e0;">{refer}</span>\n' \
|
||||
u'\t{separator2}\n' \
|
||||
u'\t<span style="background-color: #e0ffe0;">{current}</span>\n' \
|
||||
u'</li>\n'
|
||||
raise_flag_templ = u'<span class="text-success glyphicon glyphicon-plus"></span>' \
|
||||
u' <span class="label label-{bcontext}">{label}</span>' \
|
||||
u' <span class="text-success glyphicon glyphicon-plus"></span>'
|
||||
lower_flag_templ = u'<span class="text-danger glyphicon glyphicon-minus"></span>' \
|
||||
u' <del><span class="label label-{bcontext}">{label}</span></del>' \
|
||||
u' <span class="text-danger glyphicon glyphicon-minus"></span>'
|
||||
change_templ = '<li class="list-group-item">\n' \
|
||||
'\t<p class="list-group-item-heading">' \
|
||||
'<span class="glyphicon glyphicon-{icon}"></span>' \
|
||||
' {timestamp}' \
|
||||
' - ' \
|
||||
' {user}</p>\n' \
|
||||
'\t{content}\n' \
|
||||
'</li>\n'
|
||||
update_sub_templ = '<li class="list-group-item">\n' \
|
||||
'\t{field}:{separator1}\n' \
|
||||
'\t<span style="background-color: #ffe0e0;">{refer}</span>\n' \
|
||||
'\t{separator2}\n' \
|
||||
'\t<span style="background-color: #e0ffe0;">{current}</span>\n' \
|
||||
'</li>\n'
|
||||
raise_flag_templ = '<span class="text-success glyphicon glyphicon-plus"></span>' \
|
||||
' <span class="label label-{bcontext}">{label}</span>' \
|
||||
' <span class="text-success glyphicon glyphicon-plus"></span>'
|
||||
lower_flag_templ = '<span class="text-danger glyphicon glyphicon-minus"></span>' \
|
||||
' <del><span class="label label-{bcontext}">{label}</span></del>' \
|
||||
' <span class="text-danger glyphicon glyphicon-minus"></span>'
|
||||
|
||||
if event.changes.exists():
|
||||
html = u'<ul class="list-group">\n'
|
||||
html = '<ul class="list-group">\n'
|
||||
|
||||
for change in event.changes.all():
|
||||
|
||||
@@ -70,8 +70,8 @@ def render_event_changelog(event):
|
||||
username = change.user
|
||||
|
||||
if change.operation == EventChange.UPDATE:
|
||||
icon = u'pencil'
|
||||
content_html = u'<ul class="list-group">'
|
||||
icon = 'pencil'
|
||||
content_html = '<ul class="list-group">'
|
||||
subchanges = json.loads(change.content)
|
||||
for subchange in subchanges:
|
||||
field_label = event._meta.get_field(subchange['field']).verbose_name
|
||||
@@ -80,33 +80,33 @@ def render_event_changelog(event):
|
||||
except TypeError:
|
||||
is_long_strings = False
|
||||
if is_long_strings:
|
||||
separator1 = u'<br />'
|
||||
separator2 = u'<br />'
|
||||
separator1 = '<br />'
|
||||
separator2 = '<br />'
|
||||
else:
|
||||
separator1 = u' '
|
||||
separator2 = u' -> '
|
||||
separator1 = ' '
|
||||
separator2 = ' -> '
|
||||
content_html += format_html(update_sub_templ,
|
||||
field=field_label,
|
||||
separator1=mark_safe(separator1),
|
||||
refer=subchange['refer'],
|
||||
separator2=mark_safe(separator2),
|
||||
current=subchange['current'])
|
||||
content_html += u'</ul>'
|
||||
content_html += '</ul>'
|
||||
elif change.operation == EventChange.RAISE_FLAG:
|
||||
icon = u'flag'
|
||||
icon = 'flag'
|
||||
status = get_or_create_event_status(change.content)
|
||||
content_html = format_html(raise_flag_templ,
|
||||
bcontext=status.bootstrap_context or u'default',
|
||||
bcontext=status.bootstrap_context or 'default',
|
||||
label=status.label)
|
||||
elif change.operation == EventChange.LOWER_FLAG:
|
||||
icon = u'flag'
|
||||
icon = 'flag'
|
||||
status = get_or_create_event_status(change.content)
|
||||
content_html = format_html(lower_flag_templ,
|
||||
bcontext=status.bootstrap_context or u'default',
|
||||
bcontext=status.bootstrap_context or 'default',
|
||||
label=status.label)
|
||||
else:
|
||||
icon = u'question-sign'
|
||||
content_html = format_html(u'{content}', content=change.content)
|
||||
icon = 'question-sign'
|
||||
content_html = format_html('{content}', content=change.content)
|
||||
|
||||
html += format_html(change_templ,
|
||||
icon=icon,
|
||||
@@ -114,7 +114,7 @@ def render_event_changelog(event):
|
||||
user=username,
|
||||
content=mark_safe(content_html))
|
||||
|
||||
html += u'</ul>\n'
|
||||
html += '</ul>\n'
|
||||
else:
|
||||
html = _(u'Keine Einträge')
|
||||
html = _('Keine Einträge')
|
||||
return mark_safe(html)
|
||||
|
||||
@@ -6,13 +6,12 @@ import os
|
||||
from django.apps import apps
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import Group
|
||||
from django.db import models
|
||||
|
||||
from ..models.event import Event
|
||||
from ..models.eventstatus import EventStatus
|
||||
|
||||
|
||||
class RoleMixin(object):
|
||||
class RoleMixin:
|
||||
def create_user_for_role(self, role_name, password, first_name, last_name):
|
||||
group = Group(name=role_name)
|
||||
group.save()
|
||||
@@ -31,7 +30,7 @@ class RoleMixin(object):
|
||||
return user
|
||||
|
||||
|
||||
class EventMixin(object):
|
||||
class EventMixin:
|
||||
def get_status_label(self, status_code):
|
||||
return EventStatus.objects.get(code=status_code).label
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import sys
|
||||
import datetime
|
||||
from unittest import TestCase
|
||||
|
||||
@@ -10,7 +9,7 @@ class Iso8601SerializerTestCase(TestCase):
|
||||
date = start_date
|
||||
while date <= end_date:
|
||||
text = '%04d-%02d-%02d' % (date.year, date.month, date.day)
|
||||
yield (date, text)
|
||||
yield date, text
|
||||
date += datetime.timedelta(step)
|
||||
|
||||
def _gen_times(self, step_hours=1, step_minutes=1, step_seconds=1):
|
||||
@@ -50,7 +49,7 @@ class Iso8601SerializerTestCase(TestCase):
|
||||
'2019-03-01',
|
||||
)
|
||||
for value in invalid_values:
|
||||
emsg = ('Expected datetime.datetime, datetime.date or datetime.time,'
|
||||
emsg = ('Expected datetime.datetime, datetime.date or datetime.time,'
|
||||
' not {}'.format(value.__class__.__name__))
|
||||
with self.assertRaisesRegexp(ValueError, emsg):
|
||||
Iso8601Serializer.serialize(value)
|
||||
|
||||
@@ -83,7 +83,7 @@ Ausschreibung:
|
||||
==============
|
||||
{event_text}"""
|
||||
|
||||
EVENT_ACCEPTED_EMAIL_TEMPLATE=u"""Hallo {recipient_first_name},
|
||||
EVENT_ACCEPTED_EMAIL_TEMPLATE = """Hallo {recipient_first_name},
|
||||
|
||||
deine Veranstaltung wurde von {editor_full_name} freigegeben.
|
||||
Die Redaktion wurde informiert, um deine Veranstaltung zu veröffentlichen.
|
||||
|
||||
@@ -158,4 +158,3 @@ class EventsTestCase(EventMixin, TestCase):
|
||||
def test_event_create_view(self):
|
||||
for data in self.gen_create_event_input():
|
||||
self.create_event_by_view(data)
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ class OneClickActionRunView(generic.DetailView):
|
||||
login(self.request, user)
|
||||
logger.info('Logged in via OneClickAction: %s', user.username)
|
||||
messages.success(self.request,
|
||||
_(u'Benutzer angemeldet: %(username)s') % {'username': user.username})
|
||||
_('Benutzer angemeldet: %(username)s') % {'username': user.username})
|
||||
|
||||
if 'location' in result:
|
||||
return HttpResponseRedirect(result['location'])
|
||||
|
||||
Reference in New Issue
Block a user