def post(self, request, *args, **kwargs): registration_form = RegistrationForm(request.POST) profile_form = ProfileRegistrationForm(request.POST) personal_data_approve_form = PersonalDataApproveForm(request.POST) if (registration_form.is_valid() and profile_form.is_valid() and personal_data_approve_form.is_valid()): user = registration_form.save() # задаем права permission = Permission.objects.get(codename=u'is_requester') user.user_permissions.add(permission) profile = profile_form.save(user=user) user = authenticate(username=user.username, password=registration_form.cleaned_data['password1']) if user is not None: if user.is_active: login(request, user) verification_key_object = VerificationKey.objects.create_key(user) verification_key_object.send_email_verification() Logger.objects.create_for_action(CREATE_PROFILE, context_dict={'user': user, 'profile': profile}, extra={'user': request.user, 'obj': profile}) return HttpResponseRedirect(reverse('frontpage')) else: context = {'registration_form': registration_form, 'profile_form': profile_form, 'personal_data_approve_form': personal_data_approve_form} return self.render_to_response(context)
def post(self, request, *args, **kwargs): context = self.get_context_data() form = RequestionForm(request.POST) address_form = RequestionAddressForm(request.POST) personal_data_approve_form = PersonalDataApproveForm(request.POST) if settings.FACILITY_STORE == settings.FACILITY_STORE_YES: benefits_form = BenefitsForm(data=request.POST) else: benefits_form = BenefitCategoryForm(data=request.POST) if (form.is_valid() and benefits_form.is_valid() and address_form.is_valid() and personal_data_approve_form.is_valid()): profile = request.user.get_profile() address = address_form.save() requestion = form.save(profile=profile) requestion.address = address requestion.save() pref_sadiks = form.cleaned_data.get('pref_sadiks') benefits_form.instance = requestion requestion = benefits_form.save() context_dict = {'requestion': requestion, 'pref_sadiks': pref_sadiks, 'areas': form.cleaned_data.get('areas')} context_dict.update(dict([(field, benefits_form.cleaned_data[field]) for field in benefits_form.changed_data])) Logger.objects.create_for_action(ADD_REQUESTION, context_dict=context_dict, extra={ 'user': request.user, 'obj': requestion, 'added_pref_sadiks': pref_sadiks}) messages.info(request, u'Добавлена заявка %s' % requestion.requestion_number) # если были заданы типы льгот, то редирект на изменение документов if (settings.FACILITY_STORE == settings.FACILITY_STORE_YES and requestion.benefit_category != BenefitCategory.objects.category_without_benefits()): return HttpResponseRedirect(reverse("account_benefits_change", kwargs={'requestion_id': requestion.id})) # иначе на страницу с информацией о заявке return HttpResponseRedirect( reverse('account_requestion_info', kwargs={'requestion_id': requestion.id})) else: context.update({'form': form, 'benefits_form': benefits_form, 'address_form': address_form, 'personal_data_approve_form': personal_data_approve_form, 'openlayers_js': get_openlayers_js()}) return self.render_to_response(context)