def edit_gift_set(request, event_url_name, gift_set_pk=None): event = get_object_or_404(Event, url_name=event_url_name) # check permission if not is_involved(request.user, event_url_name, admin_required=True): return nopermission(request) # check if active if not event.gifts: return notactive(request) gift_set = _validate_gift_set(event, gift_set_pk) # form form = GiftSetForm(request.POST or None, instance=gift_set, event=event) if form.is_valid(): form.save() return HttpResponseRedirect( reverse('gifts:list', args=[ event.url_name, ])) context = {'event': event, 'form': form} return render(request, 'gifts/edit_gift_set.html', context)
def settings(request, event_url_name): event = get_object_or_404(Event, url_name=event_url_name) # check permission if not is_involved(request.user, event_url_name, admin_required=True): return nopermission(request) # check if badge system is active if not event.badges: return notactive(request) # roles roles = event.badge_settings.badgerole_set.all() # designs designs = event.badge_settings.badgedesign_set.all() # forms for defaults defaults_form = BadgeDefaultsForm(request.POST or None, instance=event.badge_settings.defaults, settings=event.badge_settings, prefix='event') job_defaults_form = BadgeJobDefaultsForm(request.POST or None, event=event, prefix='jobs') if defaults_form.is_valid() and job_defaults_form.is_valid(): defaults_form.save() job_defaults_form.save() return HttpResponseRedirect( reverse('badges:settings', args=[ event.url_name, ])) context = { 'event': event, 'roles': roles, 'designs': designs, 'defaults_form': defaults_form, 'job_defaults_form': job_defaults_form } return render(request, 'badges/settings.html', context)
def edit_gift(request, event_url_name, gift_pk=None): event = get_object_or_404(Event, url_name=event_url_name) # check permission if not is_involved(request.user, event_url_name, admin_required=True): return nopermission(request) # check if active if not event.gifts: return notactive(request) gift = _validate_gift(event, gift_pk) # form form = GiftForm(request.POST or None, instance=gift, event=event) if form.is_valid(): gift = form.save() log_msg = "gift created" if gift_pk: log_msg = "gift changed" logger.info(log_msg, extra={ 'user': request.user, 'event': event, 'gift_pk': gift.pk, 'gift': gift.name, }) return HttpResponseRedirect( reverse('gifts:list', args=[ event.url_name, ])) context = {'event': event, 'form': form} return render(request, 'gifts/edit_gift.html', context)