From df95e951d049c39b4b2fded1537c6fa52843fdef Mon Sep 17 00:00:00 2001 From: Mukhtar Date: Wed, 17 Aug 2016 19:05:25 +0300 Subject: [PATCH] #ARC-15 Fixes bugs --- projects/templates/comparison.html | 13 ++- projects/templates/project_detail.html | 13 +-- projects/urls.py | 2 + projects/views.py | 13 ++- users/templates/portfolio_create_form.html | 130 +++++++++++---------- 5 files changed, 95 insertions(+), 76 deletions(-) diff --git a/projects/templates/comparison.html b/projects/templates/comparison.html index 1181df2..8e4b07e 100644 --- a/projects/templates/comparison.html +++ b/projects/templates/comparison.html @@ -68,15 +68,18 @@
-
- -
+
+
- -
+
+
+
+ {% csrf_token %} +
+
diff --git a/projects/templates/project_detail.html b/projects/templates/project_detail.html index 286c254..7ef1f30 100644 --- a/projects/templates/project_detail.html +++ b/projects/templates/project_detail.html @@ -468,22 +468,15 @@
-

Сравнить кандидатов

+

Сравнить кандидатов

- - - - - - - +

Новые исполнители

- - + {% for answer in project.answers.all %}
diff --git a/projects/urls.py b/projects/urls.py index 60afe07..e99ee89 100644 --- a/projects/urls.py +++ b/projects/urls.py @@ -19,6 +19,7 @@ from .views import ( ProjectDetailWithAnswerView, ProjectFilterView, sort_candidates, + CandidateDeleteView, ) app_name = 'projects' @@ -42,6 +43,7 @@ urlpatterns = [ urls.url(r'^portfolio/(?P\d+)/edit/$', ContractorPortfolioUpdateView.as_view(), name='contractor-portfolio-edit'), urls.url(r'^candidate/add/(?P(\d+))/(?P(\d+))/$', add_candidate, name='add-candidate'), + urls.url(r'^candidate/delete/(?P(\d+))/$', CandidateDeleteView.as_view(), name='delete-candidate'), urls.url(r'^candidate/comparison/sort/$', sort_candidates, name='comparison-sort'), urls.url(r'^candidate/comparison/(?P\d+)/$', ProjectComparisonView.as_view(), name='comparison'), diff --git a/projects/views.py b/projects/views.py index 5b38ed5..6a00b0f 100644 --- a/projects/views.py +++ b/projects/views.py @@ -595,10 +595,21 @@ class ProjectComparisonView(DetailView): def add_candidate(request, answer_id, project_id): answer = Answer.objects.get(pk=answer_id) project = Project.objects.get(pk=project_id) - candidate = Candidate.objects.create(answer=answer, project=project) + count_answers = Candidate.objects.filter(project=project).count() + count_answers += 1 + candidate = Candidate.objects.create(answer=answer, project=project, position=count_answers) return HttpResponseRedirect(reverse('projects:detail', args=[project_id])) +class CandidateDeleteView(DeleteView): + model = Candidate + + def get_success_url(self): + return reverse('projects:comparison', kwargs={'pk': self.object.project_id}) + + def get(self, *args, **kwargs): + return self.post(*args, **kwargs) + def sort_candidates(request): if request.is_ajax(): items = request.POST.getlist('items[]') diff --git a/users/templates/portfolio_create_form.html b/users/templates/portfolio_create_form.html index 540351c..557c16d 100644 --- a/users/templates/portfolio_create_form.html +++ b/users/templates/portfolio_create_form.html @@ -3,115 +3,125 @@
{% csrf_token %}
-

Название{{ portfolio_form.name.errors.as_text }}

+

Название{{ portfolio_form.name.errors.as_text }} +

-

Описание{{ portfolio_form.description.errors.as_text }}

- +

Описание{{ portfolio_form.description.errors.as_text }} +

+

Специализации

-
+
-
- -
+
+ +
-
- -
+
+ +
-
- -
+
+ +
-
- -
-
- + +
+
+ -
+
-

Бюджет{{ portfolio_form.budget.errors.as_text }}

+

Бюджет{{ portfolio_form.budget.errors.as_text }}

- +
- {{ portfolio_form.currency}} + {{ portfolio_form.currency }}
-
+
-

Срок выполнения{{ portfolio_form.budget.errors.as_text }}

+

Срок выполнения{{ portfolio_form.budget.errors.as_text }}

- +
{{ portfolio_form.term_type }}
-
+