Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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)