#ARC-14 (Intermediate commit before markup merge)

remotes/origin/PR-39
ArturBaybulatov 10 years ago
parent 1c9984f6fb
commit 3d7215aa11
  1. 1
      archilance/settings/base.py
  2. 16
      projects/migrations/0011_merge.py
  3. 8
      projects/templates/project_detail.html
  4. 4
      projects/urls.py
  5. 50
      projects/views.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')),
)

@ -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 = [
]

@ -244,9 +244,11 @@
<p>Опубликован: {{ answer.created|date:'M d, Y' }}</p>
</div>
<div class="col-lg-3 retts">
<a href="#" onclick="return false" class="candLink candLink3">
отказ
</a>
<form action="{% url 'projects:contractor-reject-project-answer' pk=project.pk answer_id=answer.pk %}" method="POST" novalidate>
{% csrf_token %}
<input type="hidden" name="next" value="{{ request.path }}">
<a href="#" onclick="$(this).closest('form').submit(); return false" class="candLink candLink3">отказ</a>
</form>
</div>

@ -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<pk>\d+)/delete/$', CustomerProjectDeleteView.as_view(), name='customer-project-delete'),
urls.url(r'^create-answer-message/(?P<pk>\d+)/$', ProjectAnswerCreateMessageView.as_view(), name='create-answer-message'),
urls.url(r'^(?P<pk>\d+)/contractor-reject-project-answer/(?P<answer_id>\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<pk>\d+)/edit/$', ContractorPortfolioUpdateView.as_view(), name='contractor-portfolio-edit'),

@ -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, (
# '<p>Произошла ошибка (form)</p>'
# '<pre>{form}</pre>'
# ).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

Loading…
Cancel
Save