diff --git a/projects/admin.py b/projects/admin.py index a61cfe0..f9faa7a 100644 --- a/projects/admin.py +++ b/projects/admin.py @@ -7,6 +7,7 @@ from .models import Project, Portfolio, PortfolioPhoto, \ class ProjectAdmin(admin.ModelAdmin): readonly_fields = ('pk',) + list_display = ('name','pk','customer','state') admin.site.register(Answer) diff --git a/projects/forms.py b/projects/forms.py index 46a2e51..0779cdf 100644 --- a/projects/forms.py +++ b/projects/forms.py @@ -137,9 +137,13 @@ class ProjectDeleteForm(Form): self.fields['pk'].queryset = self.req.user.projects.filter(Q(state='active') | Q(state='trashed')) -class ProjectEditForm(Form): +class ProjectEditForm(forms.ModelForm): pk = forms.ModelChoiceField(queryset=Project.objects.none()) + class Meta: + model = Project + fields = '__all__' + def __init__(self, *args, **kwargs): self.req = kwargs.pop('req') super().__init__(*args, **kwargs) diff --git a/projects/templates/customer_project_detail.html b/projects/templates/customer_project_detail.html index 93216ca..ffe72ad 100644 --- a/projects/templates/customer_project_detail.html +++ b/projects/templates/customer_project_detail.html @@ -77,12 +77,18 @@
{msg}'.format(msg=pformat(form.errors)))
- return render(req, self.template_name, {'form': form})
+ return render(req, self.template_name, context)
else:
return HttpResponseForbidden('403 Forbidden')
-class TestView(View):
- template_name = 'test_form.html'
- form_class = RealtyForm
- form_second = ProjectForm
-
- def get(self, request, *args, **kwargs):
- form = self.form_class()
- second_form = self.form_second(prefix='form_2')
- return render(request,self.template_name, {'form': form, 'second_form': second_form})
-
- def post(self, request, *args, **kwargs):
- form = self.form_class(request.POST)
- second_form = self.form_second(request.POST, prefix='form_2')
- if form.is_valid() and second_form.is_valid():
- return self.form_valid(request, form, second_form)
- return render(request, self.template_name, {'form': form, 'second_form': second_form})
-
- def form_valid(self, request, form, second_form):
- realty = form.save(commit=False)
- realty.user = request.user
- realty.save()
- project = second_form.save(commit=False)
- project.user = request.user
- project.realty = realty
- project.save()
- return HttpResponseRedirect('/projects/')
-
-
-class TestProjectView(View):
- model = Project
- form_class = ProjectForm
- template_name = 'test.html'
- success_url = '/projects/'
-
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- context['realty_form'] = RealtyForm(prefix='form_2')
- return context
-
- # def get(self, request, *args, **kwargs):
- # self.object = None
-
- def post(self, request, *args, **kwargs):
- self.object = None
- form_class = self.get_form_class()
- form = self.get_form(form_class)
- realty_form = RealtyForm(self.request.POST)
- # import code; code.interact(local=dict(globals(), **locals()))
- if form.is_valid():
- return self.form_valid(form, realty_form)
- else:
- return self.form_invalid(form, realty_form)
-
-
- def form_valid(self, form, realty_form):
- status = 'form_valid'
-
- realty = realty_form.instance
- realty.user = self.request.user
- realty.save()
- project = form.instance
- project.user = self.request.user
- project.realty = realty
- project.save()
- # import code; code.interact(local=dict(globals(), **locals()))
-
- def form_invalid(self, form, realty_form):
- status = 'form_invalid'
- return self.render_to_response(
- self.get_context_data(form=form,
- realty_form=realty_form))
-
-
class ProjectComparisonView(DetailView):
model = Project
template_name = 'comparison.html'
diff --git a/users/models.py b/users/models.py
index b76330a..72b72c6 100644
--- a/users/models.py
+++ b/users/models.py
@@ -38,7 +38,6 @@ GENDERS = (
)
-
class ContractorFinancialInfo(models.Model):
RESIDENCIES = (
('russian_resident', 'Резидент РФ'),
@@ -46,16 +45,16 @@ class ContractorFinancialInfo(models.Model):
('refugee', 'Беженец'),
('russian_stay_permit', 'Вид на жительство'),
)
-
+
LEGAL_STATUSES = (
('individual', 'Физическое лицо'),
- ('legal_entity', 'ИП и Юридическое лицо'),
+ ('legal_entity', 'ИП и юридическое лицо'),
)
-
+
fio = models.CharField(max_length=255)
date_of_birth = models.DateTimeField()
phone = models.CharField(max_length=30)
- residency = models.CharField(max_length=50,choices=RESIDENCIES)
+ residency = models.CharField(max_length=50, choices=RESIDENCIES)
legal_status = models.CharField(max_length=30, choices=LEGAL_STATUSES)
passport_series = models.CharField(max_length=6)
passport_number = models.CharField(max_length=10)
diff --git a/users/templates/customer_profile_open_projects.html b/users/templates/customer_profile_open_projects.html
index 51cb31d..ef72104 100644
--- a/users/templates/customer_profile_open_projects.html
+++ b/users/templates/customer_profile_open_projects.html
@@ -27,7 +27,7 @@
-