|
|
|
|
@ -423,7 +423,7 @@ class CustomerProjectCreateView(BaseMixin, View): |
|
|
|
|
form_class = CustomerProjectEditFormNew |
|
|
|
|
realty_form = RealtyFormNew |
|
|
|
|
work_type_suggestion_form = ProjectWorkTypeSuggestionForm |
|
|
|
|
template_name = 'customer_project_create.html' |
|
|
|
|
template_name = 'customer_project_create_or_edit.html' |
|
|
|
|
|
|
|
|
|
def get_context_data(self, **kwargs): |
|
|
|
|
ctx = super().get_context_data() |
|
|
|
|
@ -449,15 +449,13 @@ class CustomerProjectCreateView(BaseMixin, View): |
|
|
|
|
|
|
|
|
|
def post(self, request, *args, **kwargs): |
|
|
|
|
form = self.form_class(request.POST, request=request) # Passing `request.FILES` seems unnecessary here. Files are added manually below |
|
|
|
|
print('POST = ', request.POST) |
|
|
|
|
# print('POST = ', request.POST) |
|
|
|
|
form.is_valid() |
|
|
|
|
realty = form.cleaned_data.get('realty') |
|
|
|
|
|
|
|
|
|
if realty: |
|
|
|
|
print("Has Realty") |
|
|
|
|
realty_form = self.realty_form(request.POST, instance=realty, request=request, prefix='realty_form') |
|
|
|
|
else: |
|
|
|
|
print("Create new Realty") |
|
|
|
|
realty_form = self.realty_form(request.POST, request=request, prefix='realty_form') |
|
|
|
|
|
|
|
|
|
if form.is_valid() and realty_form.is_valid(): |
|
|
|
|
@ -480,9 +478,9 @@ class CustomerProjectCreateView(BaseMixin, View): |
|
|
|
|
realty = realty_form.save(commit=False) |
|
|
|
|
realty.user = user |
|
|
|
|
if not request.POST.get('new_realty_name'): |
|
|
|
|
print("Virtual!") |
|
|
|
|
# print("Virtual!") |
|
|
|
|
realty.is_virtual = True |
|
|
|
|
print("Set realty name -->", request.POST.get('new_realty_name')) |
|
|
|
|
# print("Set realty name -->", request.POST.get('new_realty_name')) |
|
|
|
|
realty.name = request.POST.get('new_realty_name') |
|
|
|
|
realty.save() |
|
|
|
|
realty_form.save_m2m() |
|
|
|
|
@ -516,10 +514,10 @@ class CustomerProjectCreateView(BaseMixin, View): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CustomerProjectEditView(BaseMixin, View): |
|
|
|
|
form_class = CustomerProjectEditForm |
|
|
|
|
form_class = CustomerProjectEditFormNew |
|
|
|
|
realty_form = RealtyForm |
|
|
|
|
work_type_suggestion_form = ProjectWorkTypeSuggestionForm |
|
|
|
|
template_name = 'customer_project_edit.html' |
|
|
|
|
template_name = 'customer_project_create_or_edit.html' |
|
|
|
|
|
|
|
|
|
def dispatch(self, request, *args, **kwargs): |
|
|
|
|
if request.user.is_authenticated() and request.user.is_customer(): |
|
|
|
|
@ -557,6 +555,7 @@ class CustomerProjectEditView(BaseMixin, View): |
|
|
|
|
return render(request, self.template_name, context) |
|
|
|
|
|
|
|
|
|
def post(self, request, *args, **kwargs): |
|
|
|
|
# print("request.POST = ", request.POST) |
|
|
|
|
project = get_object_or_404(request.user.customer_projects, pk=kwargs.get('pk')) |
|
|
|
|
form = self.form_class(request.POST, request.FILES, request=request, instance=project) |
|
|
|
|
|
|
|
|
|
@ -577,14 +576,14 @@ class CustomerProjectEditView(BaseMixin, View): |
|
|
|
|
form.save_m2m() |
|
|
|
|
|
|
|
|
|
for file in request.FILES.getlist('new_files'): |
|
|
|
|
proj_file = ProjectFile.objects.create(file=file, project=project) |
|
|
|
|
proj_file.save() |
|
|
|
|
ProjectFile.objects.create(file=file, project=project) |
|
|
|
|
|
|
|
|
|
if realty: |
|
|
|
|
realty_form.save() |
|
|
|
|
else: |
|
|
|
|
if not realty: |
|
|
|
|
realty = realty_form.save(commit=False) |
|
|
|
|
realty.user = request.user |
|
|
|
|
if not request.POST.get('new_realty_name'): |
|
|
|
|
realty.is_virtual = True |
|
|
|
|
realty.name = request.POST.get('new_realty_name') |
|
|
|
|
realty.save() |
|
|
|
|
realty_form.save_m2m() |
|
|
|
|
|
|
|
|
|
@ -592,7 +591,8 @@ class CustomerProjectEditView(BaseMixin, View): |
|
|
|
|
project.save() |
|
|
|
|
|
|
|
|
|
messages.info(request, 'Проект успешно отредактирован') |
|
|
|
|
redirect_to = request.POST.get('next') |
|
|
|
|
# redirect_to = request.POST.get('back') |
|
|
|
|
redirect_to = reverse('projects:detail', kwargs={'pk': project.pk}) |
|
|
|
|
return redirect(redirect_to) |
|
|
|
|
else: |
|
|
|
|
if form.errors: |
|
|
|
|
|