diff --git a/archilance/settings/base.py b/archilance/settings/base.py
index a5f81b5..1d9c3e2 100644
--- a/archilance/settings/base.py
+++ b/archilance/settings/base.py
@@ -262,6 +262,7 @@ EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
SHELL_PLUS_POST_IMPORTS = ( # Extra auto imports
'natsort',
('archilance', 'util'),
+ ('django.shortcuts', 'get_object_or_404'),
('pprint', ('pprint', 'pformat')),
)
diff --git a/projects/migrations/0011_merge.py b/projects/migrations/0011_merge.py
new file mode 100644
index 0000000..430e4af
--- /dev/null
+++ b/projects/migrations/0011_merge.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-08-17 07:12
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('projects', '0010_auto_20160816_1831'),
+ ('projects', '0010_auto_20160816_1942'),
+ ]
+
+ operations = [
+ ]
diff --git a/projects/templates/project_detail.html b/projects/templates/project_detail.html
index 6fbd9a2..286c254 100644
--- a/projects/templates/project_detail.html
+++ b/projects/templates/project_detail.html
@@ -244,9 +244,11 @@
Опубликован: {{ answer.created|date:'M d, Y' }}
diff --git a/projects/urls.py b/projects/urls.py
index 506267e..60afe07 100644
--- a/projects/urls.py
+++ b/projects/urls.py
@@ -4,8 +4,10 @@ from django.views.generic import TemplateView
from .views import (
add_candidate,
contractor_portfolio_create,
+ ContractorAnswerArchiveView,
ContractorPortfolioTrashView,
ContractorPortfolioUpdateView,
+ ContractorRejectProjectAnswerView,
CustomerProjectCreateView,
CustomerProjectDeleteView,
CustomerProjectEditView,
@@ -16,7 +18,6 @@ from .views import (
ProjectComparisonView,
ProjectDetailWithAnswerView,
ProjectFilterView,
- ContractorAnswerArchiveView,
sort_candidates,
)
@@ -35,6 +36,7 @@ urlpatterns = [
urls.url(r'^(?P\d+)/delete/$', CustomerProjectDeleteView.as_view(), name='customer-project-delete'),
urls.url(r'^create-answer-message/(?P\d+)/$', ProjectAnswerCreateMessageView.as_view(), name='create-answer-message'),
+ urls.url(r'^(?P\d+)/contractor-reject-project-answer/(?P\d+)/$', ContractorRejectProjectAnswerView.as_view(), name='contractor-reject-project-answer'),
urls.url(r'^portfolio/create/$', contractor_portfolio_create, name='contractor-portfolio-create'),
urls.url(r'^portfolio/(?P\d+)/edit/$', ContractorPortfolioUpdateView.as_view(), name='contractor-portfolio-edit'),
diff --git a/projects/views.py b/projects/views.py
index 4a94efa..7d4fca3 100644
--- a/projects/views.py
+++ b/projects/views.py
@@ -163,6 +163,56 @@ class ProjectAnswerCreateMessageView(BaseMixin, View):
return redirect(redirect_to)
+class ContractorRejectProjectAnswerView(BaseMixin, View):
+ # form_class = ContractorRejectProjectAnswerForm
+
+ def dispatch(self, request, *args, **kwargs):
+ if request.user.is_authenticated() and request.user.is_contractor():
+ return super().dispatch(request, *args, **kwargs)
+ else:
+ return HttpResponseForbidden('403 Forbidden')
+
+ def post(self, request, *args, **kwargs):
+ # form = self.form_class(request.POST, request=request)
+ #
+ # if form.is_valid():
+ # message = form.save(commit=False)
+ #
+ # if request.user.is_contractor():
+ # answer = get_object_or_404(request.user.contractor_answers, pk=kwargs.get('pk'))
+ # message.answer = answer
+ # message.is_sender_customer = False
+ # message.contractor_or_team = request.user
+ # elif request.user.is_customer():
+ # answer = get_object_or_404(Answer, pk=kwargs.get('pk')) # TODO: Perform additional checks
+ # message.answer = answer
+ # message.is_sender_customer = True
+ #
+ # message.save()
+ # form.save_m2m()
+ #
+ # messages.info(request, 'Сообщение успешно размещено')
+ # else:
+ # if form.errors:
+ # messages.info(request, (
+ # 'Произошла ошибка (form)
'
+ # '{form}'
+ # ).format(form=pformat(form.errors)))
+
+ # contractor = request.user
+ #
+ # projects = contractor.projects
+ #
+ # contractor.contractor_answers.filter(project=project).first()
+ #
+ # project = get_object_or_404(request.user.contractor_answers, pk=kwargs.get('pk'))
+
+ messages.info(request, 'OKOK')
+
+ redirect_to = request.POST.get('next')
+ return redirect(redirect_to)
+
+
class ProjectFilterView(BaseMixin, View):
template_name = 'project_filter.html'
form_class = ProjectFilterForm