diff --git a/common/templatetags/common_tags.py b/common/templatetags/common_tags.py index 37b43ae..1f76ddd 100644 --- a/common/templatetags/common_tags.py +++ b/common/templatetags/common_tags.py @@ -1,20 +1,19 @@ from django import template from pprint import pprint, pformat +import os register = template.Library() @register.inclusion_tag('templatetags/inspect.html', takes_context=True) def inspect(context, obj): - return { - 'obj': pformat(obj.__dict__), - } + return {'obj': pformat(obj.__dict__)} + @register.inclusion_tag('templatetags/inspect.html', takes_context=True) def inspect2(context, obj): - return { - 'obj': pformat(dir(obj)), - } + return {'obj': pformat(dir(obj))} + @register.simple_tag def interact(**kwargs): @@ -35,4 +34,10 @@ def to_str(val): def multiply(string, times): return string * times + +@register.filter('basename') +def basename(val): + return os.path.basename(val) + + # import code; code.interact(local=dict(globals(), **locals())) diff --git a/projects/templates/customer_project_edit.html b/projects/templates/customer_project_edit.html index 11e06b9..7c48e46 100644 --- a/projects/templates/customer_project_edit.html +++ b/projects/templates/customer_project_edit.html @@ -42,10 +42,12 @@
{msg}'.format(msg=pformat(form.errors)))
-# return render(request, self.template_name, context)
-# else:
-# return HttpResponseForbidden('403 Forbidden')
- pass
-
-
-# class CustomerProjectEditView(BaseMixin, View):
-# form_class = CustomerProjectEditForm
-# realty_form = RealtyForm
-# template_name = 'customer_project_edit.html'
-#
-# def get(self, request, *args, **kwargs):
-# if request.user.is_authenticated() and request.user.is_customer():
-# form = self.form_class(request=request)
-# realty_form = self.realty_form(request=request, prefix='realty_form')
-#
-# context = self.get_context_data(**_.merge({}, request.GET, kwargs))
-# context.update({'form': form, 'realty_form': realty_form})
-#
-# return render(request, self.template_name, context)
-# else:
-# return HttpResponseForbidden('403 Forbidden')
-#
-# def post(self, request, *args, **kwargs):
-# if request.user.is_authenticated() and request.user.is_customer():
-# form = self.form_class(request.POST, request.FILES, request=request)
-#
-# form.is_valid()
-# realty = form.cleaned_data.get('realty')
-#
-# if realty:
-# realty_form = self.realty_form(request.POST, instance=realty, request=request, prefix='realty_form')
-# else:
-# realty_form = self.realty_form(request.POST, request=request, prefix='realty_form')
-#
-# if form.is_valid() and realty_form.is_valid():
-# project = form.save(commit=False)
-# project.customer = request.user
-# project.save()
-# form.save_m2m()
-#
-# for file in request.FILES.getlist('files'):
-# proj_file = ProjectFile.objects.create(file=file, project=project)
-# proj_file.save()
-#
-# if realty:
-# realty_form.save()
-# else:
-# realty = realty_form.save(commit=False)
-# realty.user = request.user
-# realty.save()
-# realty_form.save_m2m()
-#
-# project.realty = realty # Connect a realty with a project
-# project.save()
-#
-# messages.info(request, 'Проект успешно создан')
-# redirect_to = reverse('projects:detail', kwargs={'pk': project.pk})
-# return redirect(redirect_to)
-# else:
-# if form.errors:
-# messages.info(request, (
-# 'Произошла ошибка (form)
' -# '{form}'
-# ).format(form=pformat(form.errors)))
-#
-# if realty_form and realty_form.errors:
-# messages.info(request, (
-# 'Произошла ошибка (realty_form)
' -# '{realty_form}'
-# ).format(realty_form=pformat(realty_form.errors)))
-#
-# context = self.get_context_data(**kwargs)
-# context.update({'form': form, 'realty_form': realty_form})
-# return render(request, self.template_name, context)
-# else:
-# return HttpResponseForbidden('403 Forbidden')
+ form_class = CustomerProjectEditForm
+ realty_form = RealtyForm
+ template_name = 'customer_project_edit.html'
+
+ def get(self, request, *args, **kwargs):
+ if request.user.is_authenticated() and request.user.is_customer():
+ project = get_object_or_404(request.user.projects, pk=kwargs.get('pk'))
+ form = self.form_class(instance=project, request=request)
+
+ realty = project.realty
+
+ if realty:
+ realty_form = self.realty_form(instance=project.realty, request=request, prefix='realty_form')
+ else:
+ realty_form = self.realty_form(request=request, prefix='realty_form')
+
+ context = self.get_context_data(**_.merge({}, request.GET, kwargs))
+ context.update({'form': form, 'realty_form': realty_form})
+
+ return render(request, self.template_name, context)
+ else:
+ return HttpResponseForbidden('403 Forbidden')
+
+ def post(self, request, *args, **kwargs):
+ if request.user.is_authenticated() and request.user.is_customer():
+ project = get_object_or_404(request.user.projects, pk=kwargs.get('pk'))
+ form = self.form_class(_.merge({}, request.POST, kwargs), request.FILES, request=request, instance=project)
+
+ if form.is_valid():
+ # .....
+ #
+ # messages.info(request, 'Проект успешно отредактирован')
+ # redirect_to = request.POST.get('next')
+ # return redirect(redirect_to)
+
+ import code; code.interact(local=dict(globals(), **locals()))
+ else:
+ context = self.get_context_data(**kwargs)
+ context.update({'form': form})
+
+ messages.info(request, 'Произошла ошибка: {msg}'.format(msg=pformat(form.errors)))
+ return render(request, self.template_name, context)
+ else:
+ return HttpResponseForbidden('403 Forbidden')
class ContractorProjectAnswerView(BaseMixin, View):