|
|
|
|
@ -1,4 +1,4 @@ |
|
|
|
|
from django.http import HttpResponseForbidden |
|
|
|
|
from django.http import HttpResponseForbidden, HttpResponseRedirect |
|
|
|
|
from django.core.urlresolvers import reverse |
|
|
|
|
from django.contrib.auth.mixins import PermissionRequiredMixin |
|
|
|
|
from django.views.generic import ListView, DetailView, CreateView, View, TemplateView |
|
|
|
|
@ -52,19 +52,19 @@ class ProjectDetailView(FormMixin, DetailView): |
|
|
|
|
return super().form_valid(form) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ProjectCreateView(CreateView): |
|
|
|
|
model = Project |
|
|
|
|
# permission_required = ('projects.add_project',) |
|
|
|
|
raise_exception = True |
|
|
|
|
form_class = ProjectForm |
|
|
|
|
success_url = '/projects/' # TODO: Use `reverse_lazy('projects-list')` from `django.core.urlresolvers` |
|
|
|
|
|
|
|
|
|
def form_valid(self, form): |
|
|
|
|
project = form.instance |
|
|
|
|
project.user = self.request.user |
|
|
|
|
project.save() |
|
|
|
|
|
|
|
|
|
return super().form_valid(form) |
|
|
|
|
# class ProjectCreateView(CreateView): |
|
|
|
|
# model = Project |
|
|
|
|
# # permission_required = ('projects.add_project',) |
|
|
|
|
# raise_exception = True |
|
|
|
|
# form_class = ProjectForm |
|
|
|
|
# success_url = '/projects/' # TODO: Use `reverse_lazy('projects-list')` from `django.core.urlresolvers` |
|
|
|
|
# |
|
|
|
|
# def form_valid(self, form): |
|
|
|
|
# project = form.instance |
|
|
|
|
# project.user = self.request.user |
|
|
|
|
# project.save() |
|
|
|
|
# |
|
|
|
|
# return super().form_valid(form) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class PortfolioCreateView(PermissionRequiredMixin, CreateView): |
|
|
|
|
@ -73,9 +73,36 @@ class PortfolioCreateView(PermissionRequiredMixin, CreateView): |
|
|
|
|
permission_required = ('projects.add_portfolio',) |
|
|
|
|
success_url = '/projects/' |
|
|
|
|
|
|
|
|
|
# import code; code.interact(local=dict(globals(), **locals())) |
|
|
|
|
class ProjectCreateView(PermissionRequiredMixin, View): |
|
|
|
|
permission_required = ('projects.add_project',) |
|
|
|
|
project_form = ProjectForm |
|
|
|
|
realty_form = RealtyForm |
|
|
|
|
template_name = 'projects/project_form.html' |
|
|
|
|
|
|
|
|
|
def get(self, request, *args, **kwargs): |
|
|
|
|
project_form = self.project_form() |
|
|
|
|
realty_form = self.realty_form(prefix='realty_form') |
|
|
|
|
return render(request, self.template_name, {'project_form': project_form , 'realty_form': realty_form}) |
|
|
|
|
|
|
|
|
|
def post(self, request, *args, **kwargs): |
|
|
|
|
project_form = self.project_form(request.POST) |
|
|
|
|
realty_form = self.realty_form(request.POST, prefix='realty_form') |
|
|
|
|
if project_form.is_valid() and realty_form.is_valid(): |
|
|
|
|
return self.form_valid(request, project_form, realty_form) |
|
|
|
|
return render(request, self.template_name, {'project_form': project_form , 'realty_form': realty_form}) |
|
|
|
|
|
|
|
|
|
def form_valid(self, request, project_form, realty_form): |
|
|
|
|
realty = realty_form.save(commit=False) |
|
|
|
|
realty.user = request.user |
|
|
|
|
realty.save() |
|
|
|
|
project = project_form.save(commit=False) |
|
|
|
|
project.user = request.user |
|
|
|
|
project.realty = realty |
|
|
|
|
project.save() |
|
|
|
|
return HttpResponseRedirect('/projects/') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from django.http import HttpResponseRedirect |
|
|
|
|
class TestView(View): |
|
|
|
|
template_name = 'projects/test_form.html' |
|
|
|
|
form_class = RealtyForm |
|
|
|
|
|