def post(self, request, requestion): form = ChangeRequestionForm(instance=requestion, data=request.POST) address_form = RequestionAddressForm(instance=requestion.address, data=request.POST) if form.is_valid() and address_form.is_valid(): if form.has_changed() or address_form.has_changed(): address = address_form.save() requestion = form.save(commit=False) requestion.address = address requestion.save() # write logs context_dict = {'changed_fields': form.changed_data, 'requestion': requestion} Logger.objects.create_for_action(CHANGE_REQUESTION_BY_OPERATOR, context_dict=context_dict, extra={'user': request.user, 'obj': requestion}) messages.success(request, u'Изменения в заявке %s сохранены' % requestion) else: messages.info(request, u'Заявка %s не была изменена' % requestion) return HttpResponseRedirect( reverse('operator_requestion_info', kwargs={'requestion_id': requestion.id})) else: return self.render_to_response( {'form': form, 'requestion': requestion, 'address_form': address_form, 'openlayers_js': get_openlayers_js()})
def post(self, request, profile): token_dict = request.session.get('token') current_request_token = request.POST.get('token') if not token_dict or not(current_request_token in token_dict.keys()): return HttpResponseRedirect(request.path) if token_dict[current_request_token]: requestion = Requestion.objects.get( pk=token_dict[current_request_token]) return HttpResponseRedirect(self.redirect_to(requestion)) context = self.get_context_data(profile=profile) form = self.requestion_form(request.POST) benefits_form = self.benefits_form(data=request.POST) DocumentFormset = self.get_documents_formset() if DocumentFormset: formset = DocumentFormset( data=request.POST, queryset=EvidienceDocument.objects.filter( template__destination=BENEFIT_DOCUMENT)) else: formset = None if all((form.is_valid(), benefits_form.is_valid(), (not formset or formset.is_valid()))): if not profile: profile = self.create_profile() requestion = form.save(profile=profile) pref_sadiks = form.cleaned_data.get('pref_sadiks') benefits_form.instance = requestion requestion = benefits_form.save() find_closest_kg(requestion, save=True) if formset: formset.instance = requestion benefit_documents = formset.save() else: benefit_documents = None context_dict = { 'requestion': requestion, 'pref_sadiks': pref_sadiks, 'benefit_documents': benefit_documents, '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( self.logger_action, context_dict=context_dict, extra={ 'user': request.user, 'obj': requestion, 'added_pref_sadiks': pref_sadiks}) messages.info(request, u'Добавлена заявка %s' % requestion.requestion_number) request.session['token'][current_request_token] = requestion.id request.session.modified = True return HttpResponseRedirect(self.redirect_to(requestion)) else: context.update({'form': form, 'benefits_form': benefits_form, 'formset': formset, 'openlayers_js': get_openlayers_js()}) return self.render_to_response(context)
def get(self, request, *args, **kwargs): context = self.get_context_data() form = RequestionForm() address_form = RequestionAddressForm() if settings.FACILITY_STORE == settings.FACILITY_STORE_YES: benefits_form = BenefitsForm() else: benefits_form = BenefitCategoryForm() personal_data_approve_form = PersonalDataApproveForm() context.update({'form': form, 'address_form': address_form, 'benefits_form': benefits_form, 'personal_data_approve_form': personal_data_approve_form, 'openlayers_js': get_openlayers_js()}) return self.render_to_response(context)
def get(self, request): registration_form = OperatorRegistrationForm( prefix="user") profile_form = OperatorProfileRegistrationForm(prefix="profile") requestion_form = OperatorRequestionForm(prefix="requestion") address_form = RequestionAddressForm() if settings.FACILITY_STORE == settings.FACILITY_STORE_YES: benefits_form = BenefitsForm() else: benefits_form = BenefitCategoryForm() context = {'registration_form': registration_form, 'profile_form': profile_form, 'requestion_form': requestion_form, 'benefits_form': benefits_form, 'address_form': address_form, 'openlayers_js': get_openlayers_js()} return self.render_to_response(context)
def post(self, request, sadik): form = ChangeSadikForm(data=request.POST, files=request.FILES, instance=sadik) if form.is_valid(): if form.has_changed(): form.save() context_dict = {'sadik': sadik, 'cleaned_data': form.cleaned_data, 'changed_data': form.changed_data, } Logger.objects.create_for_action(CHANGE_SADIK_INFO, context_dict=context_dict, extra={'user': request.user, 'obj': sadik}) messages.success(request, u'Информация о %s изменена' % sadik) else: messages.success(request, u'Информация о %s не была изменена' % sadik) return HttpResponseRedirect(reverse('sadik_info', kwargs={'sadik_id': sadik.id})) return self.render_to_response({'form': form, 'sadik': sadik, 'openlayers_js': get_openlayers_js()})
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)
def get(self, request, profile): token = get_random_token() if request.session.get('token'): request.session['token'].update({token: None}) request.session.modified = True else: request.session['token'] = {token: None} context = self.get_context_data(profile=profile) form = self.requestion_form(initial={'token': token}) benefits_form = self.benefits_form() DocumentFormset = self.get_documents_formset() if DocumentFormset: formset = DocumentFormset( queryset=EvidienceDocument.objects.filter( template__destination=BENEFIT_DOCUMENT)) else: formset = None context.update({ 'form': form, 'benefits_form': benefits_form, 'formset': formset, 'openlayers_js': get_openlayers_js()}) return self.render_to_response(context)
def get(self, request, requestion): form = ChangeRequestionForm(instance=requestion) address_form = RequestionAddressForm(instance=requestion.address) return self.render_to_response({'requestion': requestion, 'form': form, 'address_form': address_form, 'openlayers_js': get_openlayers_js()})
def get(self, request, sadik): form = ChangeSadikForm(instance=sadik) return self.render_to_response({'form': form, 'sadik': sadik, 'openlayers_js': get_openlayers_js()})
def post(self, request, sadik): form = ChangeSadikForm(data=request.POST, files=request.FILES, instance=sadik) if form.is_valid(): if form.has_changed(): form.save() context_dict = {"sadik": sadik, "cleaned_data": form.cleaned_data, "changed_data": form.changed_data} Logger.objects.create_for_action( CHANGE_SADIK_INFO, context_dict=context_dict, extra={"user": request.user, "obj": sadik} ) messages.success(request, u"Информация о %s изменена" % sadik) else: messages.success(request, u"Информация о %s не была изменена" % sadik) return HttpResponseRedirect(reverse("sadik_info", kwargs={"sadik_id": sadik.id})) return self.render_to_response({"form": form, "sadik": sadik, "openlayers_js": get_openlayers_js()})
def get(self, request, sadik): form = ChangeSadikForm(instance=sadik) return self.render_to_response({"form": form, "sadik": sadik, "openlayers_js": get_openlayers_js()})
def post(self, request): temp_password = User.objects.make_random_password() registration_form = OperatorRegistrationForm(data=request.POST, password=temp_password, prefix="user") profile_form = OperatorProfileRegistrationForm(request.POST, prefix="profile") requestion_form = OperatorRequestionForm(request.POST, prefix="requestion") address_form = RequestionAddressForm(request.POST) if settings.FACILITY_STORE == settings.FACILITY_STORE_YES: benefits_form = BenefitsForm(data=request.POST) else: benefits_form = BenefitCategoryForm(data=request.POST) if (registration_form.is_valid() and profile_form.is_valid() and requestion_form.is_valid() and benefits_form.is_valid() and address_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) address = address_form.save() requestion = requestion_form.save(profile=profile) requestion.address = address requestion.save() benefits_form.instance = requestion requestion = benefits_form.save() added_pref_sadiks = requestion_form.cleaned_data.get('pref_sadiks') context_dict = {'requestion': requestion, 'pref_sadiks': requestion.pref_sadiks.all(), 'areas': requestion_form.cleaned_data.get('areas')} context_dict.update(dict([(field, benefits_form.cleaned_data[field]) for field in benefits_form.changed_data])) # если указан email, то отсылаем почту if user.email: verification_key_object = VerificationKey.objects.create_key(user) verification_key_object.send_email_verification(password=temp_password) Logger.objects.create_for_action(CREATE_PROFILE, context_dict={'user': user, 'profile': profile}, extra={'user': request.user, 'obj': profile}) Logger.objects.create_for_action(REQUESTION_REGISTRATION, context_dict=context_dict, extra={'user': request.user, 'obj': requestion, 'added_pref_sadiks': added_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("operator_benefits_change", kwargs={'requestion_id': requestion.id})) # иначе на страницу с информацией о заявке return HttpResponseRedirect( reverse('operator_requestion_info', kwargs={'requestion_id': requestion.id})) context = {'registration_form': registration_form, 'profile_form': profile_form, 'requestion_form': requestion_form, 'address_form': address_form, 'openlayers_js': get_openlayers_js()} return self.render_to_response(context)