def decorator(request, *args, **kwargs): event = get_event_by_id(kwargs["event_id"]) user = get_user_profile(request.user.id) if user.is_ambassador(): return func(request, *args, **kwargs) else: return HttpResponseRedirect(reverse("web.index"))
def view_event(request, event_id, slug): event = get_event_by_id(event_id) return render_to_response('pages/view_event.html', { 'event': event, }, context_instance=RequestContext(request))
def view_event(request, event_id, slug): event = get_event_by_id(event_id) return render_to_response( 'pages/view_event.html', { 'event': event, }, context_instance=RequestContext(request))
def edit_event(request, event_id): event = get_event_by_id(event_id) user = request.user initial = get_initial_data(event) initial["user_email"] = request.user.email event_data = {} if request.method == "POST": event_form = AddEventForm(data=request.POST, files=request.FILES) else: event_form = AddEventForm(initial=initial) existing_picture = event.picture if event_form.is_valid(): # picture_check works with jasny bootstrap magix picture_check = request.POST.get("picture") picture = request.FILES.get("picture", None) event_data = event_form.cleaned_data event_data["creator"] = request.user # checking if user entered a different email than in her profile if user.email != event_data["user_email"]: update_user_email(user.id, event_data["user_email"]) event_data.pop("user_email") try: if picture: if picture.size > (256 * 1024): raise ImageSizeTooLargeException("Image size too large.") event_data["picture"] = process_image(picture) elif picture_check == "nochange": event_data["picture"] = existing_picture else: del event_data["picture"] create_or_update_event(event_id, **event_data) return HttpResponseRedirect(reverse("web.view_event", kwargs={"event_id": event.id, "slug": event.slug})) except ImageSizeTooLargeException: messages.error( request, "The image is just a bit too big for us (must be up to 256 kb). " "Please reduce your image size and try agin.", ) except UploadImageError as e: messages.error(request, e.message) return render_to_response( "pages/add_event.html", { "form": event_form, "address": event_data.get("location", None), "editing": True, "picture_url": event.picture, }, context_instance=RequestContext(request), )
def test_get_all_events_with_different_statuses(self): event = Event.objects.create(organizer='asdasd1', creator=User.objects.filter(pk=1)[0], title='asdasd1', description='asdsad1', location='asdsad1', start_date=datetime.datetime.now() - datetime.timedelta(days=1, hours=3), end_date=datetime.datetime.now() + datetime.timedelta(days=3, hours=3), event_url='http://eee.com', contact_person='*****@*****.**', country='SI', pub_date=datetime.datetime.now()) theme = EventTheme.objects.filter(pk=1) audience = EventAudience.objects.filter(pk=1) event.theme.add(*theme) event.audience.add(*audience) event.status = 'APPROVED' event.save() self.assertEqual('PENDING', get_event_by_id(1).status) self.assertEqual('APPROVED', event.status) all_events = get_all_events() self.assertEqual(2, all_events.count())
def test_get_all_events_with_different_statuses(self): event = Event.objects.create( organizer='asdasd1', creator=User.objects.filter(pk=1)[0], title='asdasd1', description='asdsad1', location='asdsad1', start_date=datetime.datetime.now() - datetime.timedelta(days=1, hours=3), end_date=datetime.datetime.now() + datetime.timedelta(days=3, hours=3), event_url='http://eee.com', contact_person='*****@*****.**', country='SI', pub_date=datetime.datetime.now()) theme = EventTheme.objects.filter(pk=1) audience = EventAudience.objects.filter(pk=1) event.theme.add(*theme) event.audience.add(*audience) event.status = 'APPROVED' event.save() self.assertEqual('PENDING', get_event_by_id(1).status) self.assertEqual('APPROVED', event.status) all_events = get_all_events() self.assertEqual(2, all_events.count())
def decorator(request, *args, **kwargs): event = get_event_by_id(kwargs['event_id']) user = get_user_profile(request.user.id) if user.is_ambassador(): return func(request, *args, **kwargs) else: return HttpResponseRedirect(reverse('web.index'))
def edit_event(request, event_id): event = get_event_by_id(event_id) user = request.user initial = get_initial_data(event) initial['user_email'] = request.user.email event_data = {} if request.method == 'POST': event_form = AddEventForm(data=request.POST, files=request.FILES) else: event_form = AddEventForm(initial=initial) existing_picture = event.picture if event_form.is_valid(): # picture_check works with jasny bootstrap magix picture_check = request.POST.get('picture') picture = request.FILES.get('picture', None) event_data = event_form.cleaned_data event_data['creator'] = request.user # checking if user entered a different email than in her profile if user.email != event_data['user_email']: update_user_email(user.id, event_data['user_email']) event_data.pop('user_email') try: if picture: if picture.size > (256 * 1024): raise ImageSizeTooLargeException('Image size too large.') event_data['picture'] = process_image(picture) elif picture_check == "nochange": event_data['picture'] = existing_picture else: del event_data['picture'] create_or_update_event(event_id, **event_data) return HttpResponseRedirect( reverse( 'web.view_event', kwargs={ 'event_id': event.id, 'slug': event.slug})) except ImageSizeTooLargeException: messages.error( request, 'The image is just a bit too big for us (must be up to 256 kb). ' 'Please reduce your image size and try agin.') except UploadImageError as e: messages.error(request, e.message) return render_to_response( 'pages/add_event.html', { 'form': event_form, 'address': event_data.get('location', None), 'editing': True, 'picture_url': event.picture, }, context_instance=RequestContext(request))
def view_event_by_id(request, event_id): try: event = get_event_by_id(event_id) except ObjectDoesNotExist as e: raise Http404 return redirect(view_event, event_id, event.slug)
def edit_event(request, event_id): event = get_event_by_id(event_id) user = request.user initial = get_initial_data(event) initial['user_email'] = request.user.email event_data = {} if request.method == 'POST': event_form = AddEventForm(data=request.POST, files=request.FILES) else: event_form = AddEventForm(initial=initial) if event_form.is_valid(): picture = request.FILES.get('picture', None) event_data = event_form.cleaned_data event_data['creator'] = request.user # checking if user entered a different email than in her profile if user.email != event_data['user_email']: update_user_email(user.id, event_data['user_email']) event_data.pop('user_email') try: if picture: if picture.size > (256 * 1024): raise ImageSizeTooLargeException('Image size too large.') event_data['picture'] = process_image(picture) else: del event_data['picture'] create_or_update_event(event_id, **event_data) return HttpResponseRedirect( reverse('web.view_event', kwargs={ 'event_id': event.id, 'slug': event.slug })) except ImageSizeTooLargeException: messages.error( request, 'The image is just a bit too big for us (must be up to 256 kb). ' 'Please reduce your image size and try agin.') except UploadImageError as e: messages.error(request, e.message) return render_to_response('pages/add_event.html', { 'form': event_form, 'address': event_data.get('location', None), 'editing': True, 'picture_url': event.picture, }, context_instance=RequestContext(request))
def view_event(request, event_id, slug): event = get_event_by_id(event_id) next_event = get_next_or_previous(event, country_code=event.country) nearby = get_nearby_events(event, limit=10) return render_to_response('pages/view_event.html', { 'event': event, 'next_event': next_event, 'nearby': nearby }, context_instance=RequestContext(request))
def view_event(request, event_id, slug): event = get_event_by_id(event_id) next_event = get_next_or_previous(event, country_code=event.country) nearby = get_nearby_events(event, limit=10) return render_to_response( 'pages/view_event.html', { 'event': event, 'next_event': next_event, 'nearby': nearby }, context_instance=RequestContext(request))
def test_get_all_events_with_different_statuses(self): event = ApprovedEventFactory.create() theme = EventTheme.objects.filter(pk=1) audience = EventAudience.objects.filter(pk=1) event.theme.add(*theme) event.audience.add(*audience) event.save() self.assertEqual('PENDING', get_event_by_id(1).status) self.assertEqual('APPROVED', event.status) all_events = get_all_events() self.assertEqual(2, all_events.count())
def view_event(request, event_id, slug): try: event = get_event_by_id(event_id) except ObjectDoesNotExist as e: raise Http404 next_event = get_next_or_previous(event, country_code=event.country) nearby = get_nearby_events(event, limit=4) return render_to_response( "pages/view_event.html", {"event": event, "next_event": next_event, "nearby": nearby}, context_instance=RequestContext(request), )
def view_event(request, event_id, slug): try: event = get_event_by_id(event_id) except ObjectDoesNotExist as e: raise Http404 next_event = get_next_or_previous(event, country_code=event.country) nearby = get_nearby_events(event, limit=4) return render_to_response('pages/view_event.html', { 'event': event, 'next_event': next_event, 'nearby': nearby }, context_instance=RequestContext(request))
def edit_event(request, event_id): event = get_event_by_id(event_id) initial = get_initial_data(event) event_data = {} if request.method == 'POST': event_form = AddEventForm(data=request.POST, files=request.FILES) else: event_form = AddEventForm(initial=initial) if event_form.is_valid(): picture = request.FILES.get('picture', None) event_data = event_form.cleaned_data event_data['creator'] = request.user try: if picture: if picture.size > (256 * 1024): raise ImageSizeTooLargeException('Image size too large.') event_data['picture'] = process_image(picture) else: del event_data['picture'] create_or_update_event(event_id, **event_data) return HttpResponseRedirect(reverse('web.view_event', kwargs={'event_id': event.id, 'slug': event.slug})) except ImageSizeTooLargeException: messages.error(request, 'The image is just a bit too big for us (must be up to 256 kb). ' 'Please reduce your image size and try agin.') except UploadImageError as e: messages.error(request, e.message) return render_to_response( 'pages/add_event.html', { 'form': event_form, 'address': event_data.get('location', None), 'editing': True, 'picture_url': event.picture, }, context_instance=RequestContext(request))
def report_event(request, event_id): event = get_event_by_id(event_id) user = request.user initial = get_initial_data(event) initial['name_for_certificate'] = event.organizer event_report_fields = OrderedDict() if request.method == 'POST': report_event_form = ReportEventForm(data=request.POST) else: report_event_form = ReportEventForm(initial=initial) if event.is_reporting_allowed(): if report_event_form.is_valid(): event_data = report_event_form.cleaned_data event.__dict__.update(event_data) event.reported_at = datetime.now() event.save() if generate_certificate_for(event.pk, event.certificate_file_name(), event.name_for_certificate): event.certificate_generated_at = datetime.now() event.save() return HttpResponseRedirect( reverse('web.view_event', kwargs={ 'event_id': event.id, 'slug': event.slug })) else: for field_name, field in report_event_form.fields.items(): event_report_fields[field.label] = initial[field_name] return render_to_response('pages/report_event.html', { 'form': report_event_form, 'event': event, 'event_report_fields': event_report_fields, }, context_instance=RequestContext(request))
def report_event(request, event_id): event = get_event_by_id(event_id) user = request.user initial = get_initial_data(event) initial['name_for_certificate'] = event.organizer event_report_fields = OrderedDict() if request.method == 'POST': report_event_form = ReportEventForm(data=request.POST) else: report_event_form = ReportEventForm(initial=initial) if event.is_reporting_allowed(): if report_event_form.is_valid(): event_data = report_event_form.cleaned_data event.__dict__.update(event_data) event.reported_at = datetime.now() event.save() if generate_certificate_for(event.pk, event.certificate_file_name(), event.name_for_certificate): event.certificate_generated_at = datetime.now() event.save() return HttpResponseRedirect( reverse( 'web.view_event', kwargs={ 'event_id': event.id, 'slug': event.slug})) else: for field_name, field in report_event_form.fields.items(): event_report_fields[field.label] = initial[field_name] return render_to_response( 'pages/report_event.html', { 'form': report_event_form, 'event': event, 'event_report_fields': event_report_fields, }, context_instance=RequestContext(request))
def decorator(request, *args, **kwargs): event = get_event_by_id(kwargs['event_id']) if request.user.id == event.creator.id: return func(request, *args, **kwargs) else: return HttpResponseRedirect(reverse('web.index'))
def test_get_event(self): test_event = Event.objects.get(title="asdasd") self.assertEqual(test_event, get_event_by_id(event_id=1))
def test_get_event_by_id_ok(self): test_event = get_event_by_id(1) self.assertEqual(1, test_event.pk)
def test_get_event_by_id_without_id(self): with self.assertRaises(TypeError): test_event = get_event_by_id()
def decorator(request, *args, **kwargs): event = get_event_by_id(kwargs["event_id"]) if request.user.id == event.creator.id: return func(request, *args, **kwargs) else: return HttpResponseRedirect(reverse("web.index"))