def post(self, request, *args, **kwargs): form = OrumSettingForm(request.POST, prefix='setting') context = self.get_context_data(**kwargs) if form.is_valid(): orum_type = form.cleaned_data['orum_type'] period = context['period'] setting = context['orum'].get_setting_in(period=period) if setting.installation_orum != period: period_old = setting.removed_orum setting.removed_orum = period setting.save() setting.id = None setting.installation_orum = period setting.removed_orum = period_old setting.type = orum_type setting.ratio = form.cleaned_data['ratio'] setting.power = form.cleaned_data['power'] setting.hours = form.cleaned_data['hours'] setting.save() context['form'] = form return render(request, self.template_name, context)
def post(self, request, *args, **kwargs): context = self.get_context_data(**kwargs) form_setting = OrumSettingForm(request.POST, prefix='setting') form_point = PointForm(request.POST, prefix='point') if form_setting.is_valid() and form_point.is_valid(): point = Point.objects.create( consumer=context['consumer'], title=form_point.cleaned_data['title'], ) orum = Orum.objects.create( point=point, installation_in_period=context['period'], ) OrumSetting.objects.create( orum=orum, type=form_setting.cleaned_data['orum_type'], installation_orum=context['period'], ratio=form_setting.cleaned_data['ratio'], power=form_setting.cleaned_data['power'], hours=form_setting.cleaned_data['hours'], ) return redirect(reverse('energy:consumer_orum_list', kwargs={'pk': context['consumer'].pk})) context['form_setting'] = form_setting context['form_point'] = form_point return render(request, self.template_name, context)