Preparation for publishing date.
This commit is contained in:
@@ -18,6 +18,9 @@ DEFAULT_SETTINGS = (
|
||||
DefaultSetting('forms_development_init', False),
|
||||
DefaultSetting('form_initials', dict()),
|
||||
DefaultSetting('matrix_config', ImproperlyConfigured),
|
||||
DefaultSetting('publish_before_begin_days', 10),
|
||||
DefaultSetting('publish_before_deadline_days', 7),
|
||||
DefaultSetting('publish_issues', list()),
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -274,3 +274,29 @@ MATRIX_CONFIG = {
|
||||
'max_participants': 4,
|
||||
},
|
||||
}
|
||||
|
||||
# Publishing
|
||||
# PUBLISH_BEFORE_BEGIN_DAYS = 10
|
||||
# PUBLISH_BEFORE_DEADLINE_DAYS = 7
|
||||
PUBLISH_ISSUES = [
|
||||
{
|
||||
'issue': u'Heft 1',
|
||||
'release': (31, 1),
|
||||
'deadline': (15, 11),
|
||||
},
|
||||
{
|
||||
'issue': u'Heft 2',
|
||||
'release': (7, 4),
|
||||
'deadline': (15, 2),
|
||||
},
|
||||
{
|
||||
'issue': u'Heft 3',
|
||||
'release': (7, 7),
|
||||
'deadline': (15, 5),
|
||||
},
|
||||
{
|
||||
'issue': u'Heft 4',
|
||||
'release': (7, 10),
|
||||
'deadline': (15, 8),
|
||||
},
|
||||
]
|
||||
|
||||
@@ -622,10 +622,10 @@ class RegistrationForm(EventCreateForm):
|
||||
widget=DateWidget(attrs={'id': 'id_deadline_other_widget',
|
||||
'placeholder': _(u'Kann freigelassen werden'),
|
||||
},
|
||||
# usel10n=True,
|
||||
usel10n=True,
|
||||
options={
|
||||
'format': 'dd.mm.yyyy',
|
||||
'weekStart': 1,
|
||||
# 'format': 'dd.mm.yyyy',
|
||||
# 'weekStart': 1,
|
||||
'pickerPosition': 'bottom-left',
|
||||
},
|
||||
bootstrap_version=3))
|
||||
@@ -806,3 +806,64 @@ class ChargesForm(EventCreateForm):
|
||||
|
||||
class SummaryForm(EventCreateForm):
|
||||
_form_title = _(u'Zusammenfassung')
|
||||
|
||||
publish_date = forms.CharField(disabled=True,
|
||||
initial=_(u'Unverzüglich'),
|
||||
label=_(u'Voraussichtliche Veröffentlichung'),
|
||||
)
|
||||
|
||||
def get_initial_for_field(self, field, field_name):
|
||||
value = super(SummaryForm, self).get_initial_for_field(field, field_name)
|
||||
if field_name == 'publish_date':
|
||||
max_participants = self._session_data.get('max_participants', 0)
|
||||
if max_participants:
|
||||
deadline = self._session_data.get('deadline', None)
|
||||
if deadline == 'OTHER':
|
||||
deadline = self._session_data.get('deadline_other', None)
|
||||
else:
|
||||
deadline_field_name = 'deadline_%s' % deadline
|
||||
if deadline_field_name in self._session_data:
|
||||
deadline = self._session_data.get(deadline_field_name)
|
||||
else:
|
||||
raise Exception(deadline)
|
||||
|
||||
if deadline:
|
||||
publish_deadline = deadline - datetime.timedelta(app_config.settings.publish_before_deadline_days)
|
||||
else:
|
||||
first_day = self._session_data.get('first_day')
|
||||
publish_deadline = first_day - datetime.timedelta(app_config.settings.publish_before_begin_days)
|
||||
|
||||
today = datetime.date.today()
|
||||
|
||||
break_outer_loop = False
|
||||
for year in (today.year, today.year + 1):
|
||||
for issue in app_config.settings.publish_issues:
|
||||
if not ('issue' in issue and 'release' in issue and 'deadline' in issue):
|
||||
continue
|
||||
issue_name = issue['issue']
|
||||
issue_release_day = issue['release'][0]
|
||||
issue_release_month = issue['release'][1]
|
||||
issue_deadline_day = issue['deadline'][0]
|
||||
issue_deadline_month = issue['deadline'][1]
|
||||
|
||||
issue_release_date = datetime.date(year, issue_release_month, issue_release_day)
|
||||
if issue_release_date < today:
|
||||
continue
|
||||
|
||||
issue_deadline_date = datetime.date(year, issue_deadline_month, issue_deadline_day)
|
||||
if issue_deadline_date > issue_release_date:
|
||||
issue_deadline_date = datetime.date(year - 1, issue_deadline_month, issue_deadline_day)
|
||||
|
||||
if publish_deadline > issue_release_date and today < issue_deadline_date:
|
||||
value = u'{issue} / {year} - {date}'.format(issue=issue_name,
|
||||
year=year,
|
||||
date=format_date(issue_release_date,
|
||||
'EEEE, d. MMMM yyyy',
|
||||
locale=get_language()[0:2]))
|
||||
break_outer_loop = True
|
||||
break
|
||||
|
||||
if break_outer_loop:
|
||||
break
|
||||
|
||||
return value
|
||||
|
||||
@@ -4,6 +4,11 @@
|
||||
|
||||
{% block form-fields-visible %}
|
||||
{{ event.render_as_html }}
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
{% bootstrap_field form.publish_date %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock form-fields-visible %}
|
||||
{% block form-buttons %}
|
||||
{% buttons %}
|
||||
|
||||
Reference in New Issue
Block a user