def register(request): if is_registration_disabled(): raise Http404 if not is_free_rooms(): return HttpResponseRedirect('/waiting/') title = "Registration" definition = get_object_or_404(ZosiaDefinition, active_definition=True) date_1, date_2, date_3, date_4 = definition.zosia_start, (definition.zosia_start + timedelta(days=1)),\ (definition.zosia_start + timedelta(days=2)),\ (definition.zosia_start + timedelta(days=3)) user_form = RegistrationForm(request.POST or None) pref_form = preferences_form_fabric(definition)(request.POST or None) org_form = OrganizationForm(request.POST or None) f1 = user_form.is_valid() f2 = pref_form.is_valid() f3 = org_form.is_valid() if f1 and f2 and f3: user = user_form.save() org = org_form.save() send_confirmation_mail(request, user, definition) preference = pref_form.save(commit=False) preference.user = user preference.org = org preference.state = definition preference.save() return HttpResponseRedirect('/register/thanks/') return render_to_response('register_form.html', locals())
def org_register(request): if request.method == 'POST': form = OrganizationForm(request.POST, request.FILES) try: if form.is_valid: # commit=False tells Django that "Don't send this to database yet. # I have more things I want to do with it." org = form.save(commit=False) org.user = request.user # form.save() org.save() name = form.cleaned_data.get('name') messages.success(request, f'{name} Created!') return redirect('users-profile') except ValueError: messages.error(request, 'Validation form must be a pdf.') return redirect('donos-new_organization') else: form = OrganizationForm() context = { 'form': form, 'title': 'register', } return render(request, 'donos/register_org.html', context=context)
def update_organization(request, pk=None): if pk is not None: organization = get_object_or_404(Organization, pk=pk) form = OrganizationForm(request.POST or None, instance=organization) else: organization = None form = OrganizationForm(request.POST or None) if form.is_valid(): form.save() messages.success(request, _('Organization updated')) return redirect('organizations') ctx = {'form': form, 'organization': organization} return render(request, 'users/organization_form.html', ctx)