--- /dev/null
+# HG changeset patch
+# Parent ec3307ee2f499c75573748fd39843e3fdd5d6ad0
+diff -r ec3307ee2f49 -r 054c3747b695 grical/events/views.py
+--- a/grical/events/views.py Sat Aug 24 02:06:46 2013 +0200
++++ b/grical/events/views.py Tue Aug 27 15:16:13 2013 +0200
+@@ -1187,6 +1187,12 @@
+ # query, we prioritize /s/?query= in the url but if not present we accept
+ # /s/query
+ query = request.GET.get('query', query)
++
++ if query == "@Graz,AT":
++ query = "@Graz"
++ if query == "Graz,AT":
++ query = "Graz"
++
+ # view
+ view = request.GET.get('view', 'boxes')
+ # shows the homepage with a message if no query, except when view=json
--- /dev/null
+# HG changeset patch
+# Parent 866aea4738b99eda90556eac69c1937528b7cb50
+diff -r 866aea4738b9 -r ec3307ee2f49 grical/templates/registration/activation_complete.html
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/grical/templates/registration/activation_complete.html Sat Aug 24 02:06:46 2013 +0200
+@@ -0,0 +1,11 @@
++{% extends "base.html" %}
++{% load i18n %}
++
++{% block title %}
++activation_complete.html | {{ block.super }}
++{% endblock %}
++
++{% block container %}
++<br />
++{% trans "Thank you for signing up." %}.
++{% endblock %}
--- /dev/null
+# HG changeset patch
+# Parent 306a03f82348ca526276c0e5a1b0742d6c554af2
+
+diff -r 306a03f82348 grical/events/views.py
+--- a/grical/events/views.py Fri Jun 22 15:41:44 2012 +0200
++++ b/grical/events/views.py Tue Jul 03 01:01:04 2012 +0200
+@@ -1286,6 +1286,7 @@
+ 'start': e.start,
+ 'tags': e.tags,
+ 'upcoming': e.upcoming,
++ 'starttime': e.starttime,
+ 'url': 'http://' + domain + e.get_absolute_url(),
+ # see https://en.wikipedia.org/wiki/GeoJSON
+ 'geometry': e.coordinates
--- /dev/null
+# HG changeset patch
+# Parent ce4f14789a5be4e86db2f9ac05a168209745c18d
+diff -r ce4f14789a5b -r 866aea4738b9 grical/events/forms.py
+--- a/grical/events/forms.py Thu Aug 15 15:00:34 2013 +0200
++++ b/grical/events/forms.py Thu Aug 15 16:37:25 2013 +0200
+@@ -134,13 +134,9 @@
+ 'invalid': _(u'Enter a valid URL.'),
+ 'invalid_link': _(u'This URL appears to be a broken link.'),
+ }
+- def __init__(self, verify_exists=False,
+- validator_user_agent=validators.URL_VALIDATOR_USER_AGENT,
+- *args, **kwargs):
++ def __init__(self, *args, **kwargs):
+ super(URLFieldExtended, self).__init__( *args, **kwargs )
+- self.validators.append( URLValidatorExtended(
+- verify_exists=verify_exists,
+- validator_user_agent=validator_user_agent ) )
++ self.validators.append( URLValidatorExtended( ) )
+
+ def to_python(self, value):
+ value = value.strip()
+@@ -632,7 +628,6 @@
+ required = False )
+ when = DatesTimesField()
+ web = URLFieldExtended(
+- verify_exists=True,
+ max_length = get_field_attr( 'EventURL', 'url', 'max_length' ) )
+ class Media:
+ js = (
--- /dev/null
+# HG changeset patch
+# Parent 054c3747b6957662fabfa7837ac78952d50be72c
+
+diff -r 054c3747b695 grical/events/models.py
+--- a/grical/events/models.py Tue Aug 27 15:16:13 2013 +0200
++++ b/grical/events/models.py Sun Dec 01 23:04:05 2013 +0100
+@@ -1116,12 +1116,12 @@
+ + unicode(self.id) + u'@' + \
+ Site.objects.get_current().domain
+ # calculate DTEND
+- if self.enddate and self.enddate != self.startdate:
++ if (self.enddate and self.enddate != self.startdate) or (self.endtime and self.endtime != self.starttime):
+ # rfc2445 (iCalendar) indicates that:
+ # - DTEND can be omitted when equals DTSTART
+ # - DTEND specifies the non-inclusive end of the event
+- enddate = self.enddate + datetime.timedelta(days=1)
+ if self.endtime:
++ enddate = self.enddate if self.enddate else self.startdate
+ date_time = datetime.datetime.combine(
+ enddate, self.endtime )
+ if self.timezone:
+@@ -1130,7 +1130,7 @@
+ date_time = loc_dt.astimezone( pytz.utc )
+ vevent.add('DTEND').value = date_time
+ else:
+- vevent.add('DTEND').value = enddate
++ vevent.add('DTEND').value = self.enddate + datetime.timedelta(days=1)
+ # calculate DESCRIPTION
+ if self.description: vevent.add('DESCRIPTION').value = self.description
+ # see rfc5545 3.8.7.2. Date-Time Stamp
--- /dev/null
+# HG changeset patch
+# Parent 7e4e84214197aebf4c79a8cebe805de2e11ff7af
+
+diff -r 7e4e84214197 grical/templates/legal_notice.html
+--- a/grical/templates/legal_notice.html Tue Jul 03 04:03:46 2012 +0200
++++ b/grical/templates/legal_notice.html Tue Jul 03 12:46:05 2012 +0200
+@@ -20,17 +20,9 @@
+ Email: office ät gridmind.org
+ </pre>
+
+-<p>{% blocktrans %}
+-Value added tax identification number (in Germany called
+-<tt>Umsatzsteuer-Identifikationsnummer</tt>) according to German law <tt>§ 27 a
+- Umsatzsteuergesetz</tt>: DE270095377
+-{% endblocktrans %}
+-</p>
+-
+ <p>
+ {% blocktrans %}
+-Responsible for the content according to German law <tt>§ 55 Abs. 2 RStV</tt>: Ivan Fernando
+-Villanueva Barrio (address as before)
++Responsible for the content according to German law <tt>§ 55 Abs. 2 RStV</tt>: Verein wirdorange, Jakoministraße 16, 8010 Graz, Austria
+ {% endblocktrans %}
+ </p>
+
--- /dev/null
+# HG changeset patch
+# Parent a0a64bae16e73f79eb4dfbd628700bbf91b03d36
+
+diff -r a0a64bae16e7 grical/settings_debug.py
+--- a/grical/settings_debug.py Tue Jul 03 01:01:52 2012 +0200
++++ b/grical/settings_debug.py Tue Jul 03 01:05:15 2012 +0200
+@@ -1,25 +1,25 @@
+ from settings_base import *
+
+-DEBUG = True
+-TEMPLATE_DEBUG = True
+-TEMPLATE_STRING_IF_INVALID = 'STRING_NOT_SET'
+-MIDDLEWARE_CLASSES = (MIDDLEWARE_CLASSES[0],
+- 'debug_toolbar.middleware.DebugToolbarMiddleware'
+- ) + MIDDLEWARE_CLASSES[1:]
+-MIDDLEWARE_CLASSES += (
+- 'grical.middlewares.ProfileMiddleware', )
+-INSTALLED_APPS = ('debug_toolbar',) + INSTALLED_APPS
+-DEBUG_TOOLBAR_PANELS = (
+- 'debug_toolbar.panels.version.VersionDebugPanel',
+- 'debug_toolbar.panels.timer.TimerDebugPanel',
+- # 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', # shows passwords !!!
+- 'debug_toolbar.panels.headers.HeaderDebugPanel',
+- 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
+- 'debug_toolbar.panels.template.TemplateDebugPanel',
+- 'debug_toolbar.panels.sql.SQLDebugPanel',
+- 'debug_toolbar.panels.signals.SignalDebugPanel',
+- 'debug_toolbar.panels.logger.LoggingPanel',
+-)
++DEBUG = False
++TEMPLATE_DEBUG = False
++#TEMPLATE_STRING_IF_INVALID = 'STRING_NOT_SET'
++#MIDDLEWARE_CLASSES = (MIDDLEWARE_CLASSES[0],
++# 'debug_toolbar.middleware.DebugToolbarMiddleware'
++# ) + MIDDLEWARE_CLASSES[1:]
++#MIDDLEWARE_CLASSES += (
++# 'grical.middlewares.ProfileMiddleware', )
++#INSTALLED_APPS = ('debug_toolbar',) + INSTALLED_APPS
++#DEBUG_TOOLBAR_PANELS = (
++# 'debug_toolbar.panels.version.VersionDebugPanel',
++# 'debug_toolbar.panels.timer.TimerDebugPanel',
++# # 'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel', # shows passwords !!!
++# 'debug_toolbar.panels.headers.HeaderDebugPanel',
++# 'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
++# 'debug_toolbar.panels.template.TemplateDebugPanel',
++# 'debug_toolbar.panels.sql.SQLDebugPanel',
++# 'debug_toolbar.panels.signals.SignalDebugPanel',
++# 'debug_toolbar.panels.logger.LoggingPanel',
++#)
+ # don't show the toolbar if the profiler
+ # grical.middlewares.ProfileMiddleware
+ # is used, which happens when adding ?profile=1 to the request
--- /dev/null
+# HG changeset patch
+# Parent 94422dee5a6cc4fd0f68937d5e51f0ead2c7e14f
+
+diff --git a/m b/m
+new file mode 120000
+--- /dev/null
++++ b/m
+@@ -0,0 +1,1 @@
++grical/media
+\ No newline at end of file
--- /dev/null
+makeitwork fix symlink
+makeitwork disable debugging
+add_json_starttime
+legal_notice_wirdorange
+django_1.4_1.5_updates
+activation_complete_template
+Graz,AT list index out of range realraum workaround
+ical_endtime
--- /dev/null
+3e0e4491eeac969138687d41c03a499a84f034c8:makeitwork fix symlink
+7408a035c60a3f1bf3abd3efffbeeaa778155362:makeitwork disable debugging
+cbc6f263949933351ffad14ee8624e9cf306c32c:add_json_starttime
+ce4f14789a5be4e86db2f9ac05a168209745c18d:legal_notice_wirdorange
+866aea4738b99eda90556eac69c1937528b7cb50:django_1.4_1.5_updates
+ec3307ee2f499c75573748fd39843e3fdd5d6ad0:activation_complete_template
+054c3747b6957662fabfa7837ac78952d50be72c:Graz,AT list index out of range realraum workaround
+0ef9ffc706abce83ee88a2d9f773e022bddb99c8:ical_endtime