calendar indexOutOfRange bug fixed

remotes/origin/1203
Ivan Kovalkovskyi 11 years ago
parent 0352ea9b9c
commit aa01b8273c
  1. 69
      core/views.py
  2. 7
      templates/client/accounts/calendar.html

@ -265,36 +265,39 @@ from django.core.urlresolvers import reverse
def download_workbook(request): def download_workbook(request):
lang = get_language() lang = get_language()
data = request.GET data = request.GET
qs = [] if data:
for i,obj in enumerate(data): qs = []
if data.get('data[%i][name]'%i) == 'expo': for i,obj in enumerate(data):
qs.append(Exposition.objects.language(lang).get(id=data['data[%i][value]'%i])) if data.get('data[%i][name]'%i) == 'expo':
elif data.get('data[%i][name]'%i) == 'conf': qs.append(Exposition.objects.language(lang).get(id=data['data[%i][value]'%i]))
qs.append(Conference.objects.language(lang).get(id=data['data[%i][value]'%i])) elif data.get('data[%i][name]'%i) == 'conf':
qs.append(Conference.objects.language(lang).get(id=data['data[%i][value]'%i]))
earliest_event = qs[0].data_begin
for i, obj in enumerate(qs, start=1): earliest_event = qs[0].data_begin
if obj.data_begin < earliest_event: for i, obj in enumerate(qs, start=1):
earliest_event = obj.data_begin if obj.data_begin < earliest_event:
setattr(obj, 'number', i) earliest_event = obj.data_begin
setattr(obj, 'dates', u'%s - %s'%(obj.data_begin.strftime('%d %B %Y'),obj.data_end.strftime('%d %B %Y'))) setattr(obj, 'number', i)
setattr(obj, 'full_place', u'%s, %s, %s' % (obj.country, obj.city, getattr(obj.place, 'name', ''))) setattr(obj, 'dates', u'%s - %s'%(obj.data_begin.strftime('%d %B %Y'),obj.data_end.strftime('%d %B %Y')))
try: setattr(obj, 'full_place', u'%s, %s, %s' % (obj.country, obj.city, getattr(obj.place, 'name', '')))
setattr(obj, 'link', u'http://www.expomap.ru%s)'%obj.get_absolute_url()) try:
except: setattr(obj, 'link', u'http://www.expomap.ru%s)'%obj.get_absolute_url())
setattr(obj, 'link', u'http://www.expomap.ru%s)'%obj.get_permanent_url()) except:
setattr(obj, 'link', u'http://www.expomap.ru%s)'%obj.get_permanent_url())
columns = (
'number', columns = (
'name', 'number',
'dates', 'name',
'main_title', 'dates',
'full_place', 'main_title',
'participation_note', 'full_place',
'link') 'participation_note',
'link')
workbook = queryset_to_workbook(qs, columns, earliest_event)
response = HttpResponse(content_type='application/vnd.ms-excel') workbook = queryset_to_workbook(qs, columns, earliest_event)
response['Content-Disposition'] = 'attachment; filename="My calendar.xls"' response = HttpResponse(content_type='application/vnd.ms-excel')
workbook.save(response) response['Content-Disposition'] = 'attachment; filename="My calendar.xls"'
return response workbook.save(response)
return response
else:
return HttpResponseRedirect(request.META.get('HTTP_REFERER'), "/profile/calendar/")

@ -65,7 +65,12 @@
} }
console.log(clear_list); console.log(clear_list);
var query = $.param({data:clear_list}); var query = $.param({data:clear_list});
window.location.href = "/profile/calendar/export/?" + query; if(clear_list.Length > 0){
window.location.href = "/profile/calendar/export/?" + query;
}
else{
alert({% trans "Не выбрано ни одного события!" %})
}
}); });
}) })

Loading…
Cancel
Save