@@ -156,10 +159,10 @@
@@ -170,7 +173,7 @@
diff --git a/users/views.py b/users/views.py
index bf4514f..3503822 100644
--- a/users/views.py
+++ b/users/views.py
@@ -26,6 +26,7 @@ from work_sell.forms import WorkSellForm
from .forms import (
ContractorFilterForm,
CustomerProfileProjectRealtyForm,
+ UserProfileBasicInfoEditForm,
UserFinancialInfoEditForm,
UserProfileEditForm,
)
@@ -62,14 +63,11 @@ class UserProfileEditView(BaseMixin, View):
def post(self, request, *args, **kwargs):
context = self.get_context_data(**kwargs)
- customer = request.user
-
- # Мухтар, смотри, фишечка:
specs = request.POST.getlist('contractor_specializations')
request.POST.setlist('contractor_specializations', _.compact(specs)) # Ignore empty input values
- form = self.form_class(request.POST, request.FILES, request=request, instance=customer)
+ form = self.form_class(request.POST, request.FILES, request=request, instance=request.user)
if form.is_valid():
form.save()
@@ -89,7 +87,8 @@ class UserProfileEditView(BaseMixin, View):
class UserFinancialInfoEditView(BaseMixin, View):
- form_class = UserFinancialInfoEditForm
+ form_class = UserProfileBasicInfoEditForm
+ fin_info_form_class = UserFinancialInfoEditForm
template_name = 'user_financial_info_edit.html'
def dispatch(self, request, *args, **kwargs):
@@ -100,25 +99,32 @@ class UserFinancialInfoEditView(BaseMixin, View):
def get(self, request, *args, **kwargs):
context = self.get_context_data(**_.merge({}, request.GET, kwargs))
- form = self.form_class(request=request, instance=request.user.financial_info)
- context.update({'form': form})
+
+ form = self.form_class(request=request, instance=request.user)
+ fin_info_form = self.fin_info_form_class(request=request, instance=request.user.financial_info, prefix='fin_info')
+
+ context.update({
+ 'form': form,
+ 'fin_info_form': fin_info_form,
+ })
+
return render(request, self.template_name, context)
def post(self, request, *args, **kwargs):
context = self.get_context_data(**kwargs)
- form = self.form_class(request.POST, request.FILES, request=request, instance=request.user.financial_info)
- # if form.is_valid():
- # financical_instance = form.save()
- # request.user.contractor_financial_info = financical_instance
- # request.user.save()
- # messages.info(request, 'Данные успешно отредактированы')
- # return redirect(reverse('users:contractor-financical', kwargs={'pk': request.user.pk}))
- #
- # return render(request, self.template_name, {'form': form})
+ specs = request.POST.getlist('contractor_specializations')
+ request.POST.setlist('contractor_specializations', _.compact(specs)) # Ignore empty input values
- if form.is_valid():
- form.save()
+ form = self.form_class(request.POST, request.FILES, request=request, instance=request.user)
+ fin_info_form = self.fin_info_form_class(request.POST, request.FILES, request=request, instance=request.user.financial_info, prefix='fin_info')
+
+ if form.is_valid() and fin_info_form.is_valid():
+ user = form.save()
+ fin_info = fin_info_form.save()
+
+ user.financial_info = fin_info
+ user.save()
messages.info(request, 'Финансовая информация успешно отредактирована')
redirect_to = request.POST.get('next')
@@ -130,7 +136,17 @@ class UserFinancialInfoEditView(BaseMixin, View):
'
{form}'
).format(form=pformat(form.errors)))
- context.update({'form': form})
+ if fin_info_form.errors:
+ messages.info(request, (
+ '
Произошла ошибка (fin_info_form)
'
+ '
{form}'
+ ).format(form=pformat(fin_info_form.errors)))
+
+ context.update({
+ 'form': form,
+ 'fin_info_form': fin_info_form,
+ })
+
return render(request, self.template_name, context)
@@ -458,8 +474,6 @@ class CustomerProfileReviewsView(BaseMixin, View):
customer = get_object_or_404(User.customer_objects, pk=self.kwargs['pk'])
reviews = Review.objects.filter(target_customer=customer)
- # import code; code.interact(local=dict(globals(), **locals()))
-
context.update({
'reviews': reviews,
'customer': customer,