PROJECT_DEMOS_DIR = '/srv/media/projects/demos/'
if not os.path.exists(PROJECT_DEMOS_DIR):
os.makedirs(PROJECT_DEMOS_DIR)
+
+FORMAT_MODULE_PATH = [
+ 'organization.formats',
+]
def settings(request):
date_now = datetime.now()
+ # SEASON
CURRENT_SEASON = int(date_now.year) - 1 if datetime(date_now.year, 1,1) <= date_now and date_now <= datetime(date_now.year, 7, 31) else date_now.year
CURRENT_SEASON_STYLED = str(CURRENT_SEASON)[-2:]+"."+str(CURRENT_SEASON+1)[-2:]
+ # NEWSLETTER
newsletter_page = Page.objects.filter(slug="newsletter")
NEWSLETTER_SUBSCRIBING_URL = ""
if newsletter_page:
NEWSLETTER_SUBSCRIBING_URL = newsletter_page.first().get_absolute_url()
+ # HOST ORGANIZATION
host_organization = Organization.objects.get(is_host=True)
return {'CURRENT_SEASON': CURRENT_SEASON,
@register.filter
def unspam(email):
return email.replace('@', ' (at) ')
+
+@register.filter
+def get_attr(obj, attr):
+ return getattr(obj, attr)
--- /dev/null
+"""
+Provides abstract models and admin features used throughout the various
+Mezzanine apps.
+"""
+from __future__ import unicode_literals
+
+default_app_config = 'organization.formats.apps.FormatsConfig'
--- /dev/null
+from django.apps import AppConfig
+
+from django.core.checks import register
+
+
+class FormatsConfig(AppConfig):
+
+ name = 'organization.formats'
+ label = 'organization-formats'
--- /dev/null
+# -*- encoding: utf-8 -*-
+# This file is distributed under the same license as the Django package.
+#
+from __future__ import unicode_literals
+
+# The *_FORMAT strings use the Django date format syntax,
+# see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
+DATE_FORMAT = 'N j, Y'
+DATE_EVENT_FORMAT = 'D, F jS'
+WEEK_DAY_FORMAT = 'D, jS'
+TIME_FORMAT = 'P'
+DATETIME_FORMAT = 'N j, Y, P'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'F j'
+SHORT_DATE_FORMAT = 'm/d/Y'
+SHORT_DATETIME_FORMAT = 'm/d/Y P'
+FIRST_DAY_OF_WEEK = 0 # Sunday
+
+# The *_INPUT_FORMATS strings use the Python strftime format syntax,
+# see http://docs.python.org/library/datetime.html#strftime-strptime-behavior
+# Kept ISO formats as they are in first position
+DATE_INPUT_FORMATS = [
+ '%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
+ # '%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006'
+ # '%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006'
+ # '%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006'
+ # '%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006'
+]
+DATETIME_INPUT_FORMATS = [
+ '%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
+ '%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
+ '%Y-%m-%d %H:%M', # '2006-10-25 14:30'
+ '%Y-%m-%d', # '2006-10-25'
+ '%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
+ '%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
+ '%m/%d/%Y %H:%M', # '10/25/2006 14:30'
+ '%m/%d/%Y', # '10/25/2006'
+ '%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
+ '%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
+ '%m/%d/%y %H:%M', # '10/25/06 14:30'
+ '%m/%d/%y', # '10/25/06'
+]
+DECIMAL_SEPARATOR = '.'
+THOUSAND_SEPARATOR = ','
+NUMBER_GROUPING = 3
--- /dev/null
+from __future__ import unicode_literals
+
+TIME_FORMAT = 'H\hi'
--- /dev/null
+# -*- encoding: utf-8 -*-
+# This file is distributed under the same license as the Django package.
+#
+from __future__ import unicode_literals
+
+# The *_FORMAT strings use the Django date format syntax,
+# see http://docs.djangoproject.com/en/dev/ref/templates/builtins/#date
+DATE_FORMAT = 'j F Y'
+DATE_EVENT_FORMAT = 'D j F'
+WEEK_DAY_FORMAT = 'D j'
+TIME_FORMAT = 'H\hi'
+DATETIME_FORMAT = 'j F Y H:i'
+YEAR_MONTH_FORMAT = 'F Y'
+MONTH_DAY_FORMAT = 'j F'
+SHORT_DATE_FORMAT = 'j N Y'
+SHORT_DATETIME_FORMAT = 'j N Y H:i'
+FIRST_DAY_OF_WEEK = 1 # Monday
+
+# The *_INPUT_FORMATS strings use the Python strftime format syntax,
+# see http://docs.python.org/library/datetime.html#strftime-strptime-behavior
+DATE_INPUT_FORMATS = [
+ '%d/%m/%Y', '%d/%m/%y', # '25/10/2006', '25/10/06'
+ '%d.%m.%Y', '%d.%m.%y', # Swiss [fr_CH), '25.10.2006', '25.10.06'
+ # '%d %B %Y', '%d %b %Y', # '25 octobre 2006', '25 oct. 2006'
+]
+DATETIME_INPUT_FORMATS = [
+ '%d/%m/%Y %H:%M:%S', # '25/10/2006 14:30:59'
+ '%d/%m/%Y %H:%M:%S.%f', # '25/10/2006 14:30:59.000200'
+ '%d/%m/%Y %H:%M', # '25/10/2006 14:30'
+ '%d/%m/%Y', # '25/10/2006'
+ '%d.%m.%Y %H:%M:%S', # Swiss [fr_CH), '25.10.2006 14:30:59'
+ '%d.%m.%Y %H:%M:%S.%f', # Swiss (fr_CH), '25.10.2006 14:30:59.000200'
+ '%d.%m.%Y %H:%M', # Swiss (fr_CH), '25.10.2006 14:30'
+ '%d.%m.%Y', # Swiss (fr_CH), '25.10.2006'
+]
+DECIMAL_SEPARATOR = ','
+THOUSAND_SEPARATOR = '\xa0' # non-breaking space
+NUMBER_GROUPING = 3
+++ /dev/null
-from django.conf import settings # import the settings file
-from organization.pages.models import Page
-
-def page_static(request):
- newsletter_page = Page.objects.filter(slug="newsletter")
- NEWSLETTER_SUBSCRIBING_URL = ""
- if newsletter_page:
- NEWSLETTER_SUBSCRIBING_URL = newsletter_page.first().get_absolute_url()
- return {'NEWSLETTER_SUBSCRIBING_URL': NEWSLETTER_SUBSCRIBING_URL,}
-{% load i18n %}
-{% load event_tags pages_tags mezzanine_tags %}
-
+{% load event_tags pages_tags mezzanine_tags organization_tags i18n %}
<!-- Start date only -->
{% if event.start and not event.end %}
- {{ event.start|date:event.date_format }}
+ {{ event.start|date:"DATE_EVENT_FORMAT" }},<br>
<!-- Start date with hour -->
{% if event.start and event.start|date:"H:i" != "23:59" %}
- - {{ event.start|date:"H\hi" }}
+ {{ event.start|time:"TIME_FORMAT" }}
{% endif %}
-
<!-- Start and end date -->
{% else %}
<!-- Start and end date is the same day -->
{% if event.start|date:"d.m.y" == event.end|date:"d.m.y" %}
{% if not event.periods.all %}
- {{ event.start|date:event.date_format }}
+ {{ event.start|date:"DATE_EVENT_FORMAT" }},<br>
<!-- Start date with hour -->
{% if event.end and event.end|date:"H:i" != "23:59" %}
- , {{ event.start|date:" H\hi" }} - {{ event.end|date:"H\hi" }}
+ {{ event.start|time:"TIME_FORMAT" }} - {{ event.end|time:"TIME_FORMAT" }}
{% else %}
- , {{ event.start|date:" H\hi" }}
+ {{ event.start|time:"TIME_FORMAT" }}
{% endif %}
{% else %}
- {{ event.start|date:event.date_format }}
+ {{ event.start|date:"DATE_EVENT_FORMAT" }},<br>
{% for period in event.periods.all %}
{% if period.date_to and period.date_to|date:"H:i" != "23:59" %}
- ,{{ period.date_from|date:"H\hi" }} - {{ period.date_to|date:"H\hi" }}
+ {{ period.date_from|time:"TIME_FORMAT" }} - {{ period.date_to|time:"TIME_FORMAT" }}
{% else %}
{% if forloop.last or event.periods.all|length == 2 %} {% trans "and"%} {% elif not forloop.first %}, {% endif %}
- {{ period.date_from|date:"H\hi" }}
+ {{ period.date_from|time:"TIME_FORMAT" }}
{% endif %}
{% endfor %}
{% endif %}
{% with event.periods.all|same_time_in_periods as same_time_in_periods %}
{% for period in event.periods.all %}
{% if period.date_to and period.date_to|date:"H:i" != "23:59" %}
- {{ period.date_from|date:event.date_format }}
+ {{ period.date_from|date:"DATE_EVENT_FORMAT" }},<br>
{% if period|period_is_more_than_hours:4 %}
- , {{ period.date_from|date:"H\hi" }} {% trans "to" %} {{ period.date_to|date:"H\hi" }}
+ {{ period.date_from|time:"WEEK_DAY_FORMAT" }} {% trans "to" %} {{ period.date_to|time:"TIME_FORMAT" }}
{% else %}
- , {{ period.date_from|date:"H\hi" }}
+ {{ period.date_from|time:"TIME_FORMAT" }}
{% endif %}
{% else %}
{% if event.periods.all|length > 1 and not forloop.last %}
- {{ period.date_from|date:event.date_format }}{% if event.periods.all|length == 2 %} {% trans "and" %} {% else %}{% endif %}
+ {{ period.date_from|date:"DATE_EVENT_FORMAT" }}{% if event.periods.all|length == 2 %} {% trans "and" %} {% else %}{% endif %}
{% else %}
- {{ period.date_from|date:event.date_format }}
- {% if event.periods.all|length > 1 and forloop.first %} {% trans "and" %}{% endif %}
+ {{ period.date_from|date:"DATE_EVENT_FORMAT" }},<br>
+ {% if event.periods.all|length > 1 and forloop.first %}{% trans "and" %}{% endif %}
{% endif %}
{% if same_time_in_periods and forloop.last %}
- {{ period.date_from|date:"H\hi" }}
+ {{ period.date_from|time:"TIME_FORMAT" }}
{% elif not same_time_in_periods %}
- , {{ period.date_from|date:"H\hi" }}
+ <br>, {{ period.date_from|time:"TIME_FORMAT" }}
{% endif %}
{% endif %}
<br />
{% endfor %}
{% endwith %}
{% else %}
- {{ event.start|date:event.date_format }} {% trans "to" %} {{ event.end|date:event.date_format }} - {{ event.start|date:"H\hi" }} - {{ event.end|date:"H\hi" }}
+ {{ event.start|date:"WEEK_DAY_FORMAT" }}
+ {% if event.end|subtract:event.start|get_attr:"days" > 1 %}
+ {% trans "to" %}
+ {% else %}
+ {% trans "and" %}
+ {% endif %}
+ {{ event.end|date:"DATE_EVENT_FORMAT" }},<br> {{ event.start|time:"TIME_FORMAT" }} - {{ event.end|time:"TIME_FORMAT" }}
{% endif %}
<!-- Start and end date are completely different -->
{% else %}
- {{ event.start|date:"j F" }} {% trans "to" %} {{ event.end|date:"j F" }}
+ {{ event.start|date:"WEEK_DAY_FORMAT" }} {% trans "to" %} {{ event.end|date:"DATE_EVENT_FORMAT" }},<br>
<!-- Start date with hour -->
{% if event.end and event.end|date:"H:i" != "23:59" %}
- , {{ event.start|date:" H\hi" }} - {{ event.end|date:"H\hi" }}
+ {{ event.start|time:"TIME_FORMAT" }} - {{ event.end|time:"TIME_FORMAT" }}
{% else %}
- , {{ event.start|date:" H\hi" }}
+ {{ event.start|time:"TIME_FORMAT" }}
{% endif %}
{% endif %}