Merge branch 'develop' of git.general-servers.com:expomap/expomap into develop

remotes/origin/1203
pavel 11 years ago
commit f10cc403aa
  1. 38
      accounts/views.py
  2. 22
      templates/client/includes/accounts/calendar_table.html

@ -30,6 +30,13 @@ class SettingsView(TemplateView):
context['email_announcement_form'] = EmailAnnouncementForm()
return context
def dates_range(date1, date2):
delta = date2 - date1
dates = []
for i in range(delta.days + 1):
dates.append(date1 + datetime.timedelta(days=i))
return dates
class CalendarView(TemplateView):
"""
display template with user calendar(one month)
@ -79,6 +86,37 @@ class CalendarView(TemplateView):
# events in current month
context['events'] = calendar.events_by_month(now)
events = context['events']
days = context['days']
event_in_day = False
counter = 0
dates_with_events = []
for event in events:
dates_with_events += dates_range(event.data_begin, event.data_end)
dates_with_events = list(set(dates_with_events))
day_colspan = {}
for day in days:
if day.date() in dates_with_events:
day_colspan[day] = {'event': True}
else:
day_colspan[day] = {'event': False}
previous_day = day - datetime.timedelta(days=1)
if previous_day not in days:
day_colspan[day]['start'] = day
else:
if day_colspan[previous_day]['event']:
day_colspan[day]['start'] = day
else:
day_colspan[day]['start'] = day_colspan[previous_day]['start']
if day_colspan[day_colspan[day]['start']].get('counter'):
day_colspan[day_colspan[day]['start']]['counter'] += 1
else:
day_colspan[day_colspan[day]['start']]['counter'] = 1
context['day_colspan'] = day_colspan
return context

@ -40,12 +40,28 @@
{# первый ряд с отображениями дней где нет событий #}
<tr>
{% for day in days %}
{% if day|in_events:events %}
<td></td>
{% if day_colspan|get_item:day|get_item:'event' %}
{% ifnotequal day current_day %}
<td></td>
{% else %}
<td class="c-cur"></td>
{% endifnotequal %}
{% else %}
<td class="c-cur">&nbsp;</td>{# нет событий в эти дни #}
{% if day_colspan|get_item:day|get_item:'counter' %}
{# здесь ячейка с днями без событий #}
<td class="c-cur" colspan="{{ day_colspan|get_item:day|get_item:'counter' }}">
<div class="c-event">
<div class="ce-wrap">{% trans "Нет отмеченых событий" %}</div>
</div>
</td>
{% endif %}
{% endif %}
{% endfor %}
</tr>

Loading…
Cancel
Save