#ARC-9 Add field is_archive

remotes/origin/PR-39
Mukhtar 10 years ago
parent ffc23a7796
commit af326ed35e
  1. 20
      projects/migrations/0009_project_is_archive.py
  2. 1
      projects/models.py
  3. 38
      users/templates/contractor_office.html
  4. 90
      users/templates/contractor_office_open_projects.html
  5. 30
      users/templates/partials/contractor_profile_tabs.html
  6. 4
      users/urls.py
  7. 24
      users/views.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-08-16 13:58
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0008_auto_20160815_1900'),
]
operations = [
migrations.AddField(
model_name='project',
name='is_archive',
field=models.BooleanField(default=False),
),
]

@ -93,6 +93,7 @@ class Project(models.Model):
term_type = models.CharField(max_length=20, choices=TERMS, default='hour') term_type = models.CharField(max_length=20, choices=TERMS, default='hour')
text = models.TextField(blank=True) text = models.TextField(blank=True)
work_type = models.IntegerField(default=1, choices=WORK_TYPES) work_type = models.IntegerField(default=1, choices=WORK_TYPES)
is_archive = models.BooleanField(default=False)
def __str__(self): def __str__(self):
return self.name return self.name

@ -7,46 +7,12 @@
{% block content %} {% block content %}
{% include 'partials/header.html' %} {% include 'partials/header.html' %}
<div class="container mainScore" xmlns="http://www.w3.org/1999/html"> <div class="container mainScore">
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<p class="titleScore">Личный кабинет</p> <p class="titleScore">Личный кабинет</p>
</div> </div>
{% include 'partials/contractor_profile_tabs.html' with contractor_pk=request.user.pk active='groups' %}
<div class="profileTabs">
<ul class="nav nav-tabs nav-justified">
<li role="presentation">
<a href="{% url 'users:contractor-filter' %}">Поиск исполнителей</a>
</li>
<li role="presentation" class="active">
<a href="#">Мои группы</a>
<div class="roundsCount">
<div class="countR">1</div>
<div class="countG">2</div>
</div>
</li>
<li role="presentation">
<a href="#">Открытые проекты</a>
<span class="desPresent">
в процессе обсуждения
</span>
<div class="roundsCount">
<div class="countR">1</div>
<div class="countG">2</div>
</div>
</li>
<li role="presentation">
<a href="#">Проекты в работе</a>
<div class="roundsCount">
<div class="countG">2</div>
</div>
</li>
</ul>
</div>
<div class="buttonGP disTab"> <div class="buttonGP disTab">
<div class="btn-group valProject2 val-pro3" role="group" aria-label="..."> <div class="btn-group valProject2 val-pro3" role="group" aria-label="...">
<button type="button" class="btn btn-default"> <button type="button" class="btn btn-default">

@ -0,0 +1,90 @@
{% extends 'partials/base.html' %}
{% load staticfiles %}
{% load specializtions_tags %}
{% load thumbnail %}
{% block content %}
{% include 'partials/header.html' %}
<div class="container mainScore" >
<div class="row">
<div class="col-lg-12">
<p class="titleScore">Личный кабинет</p>
</div>
{% include 'partials/contractor_profile_tabs.html' with contractor_pk=request.user.pk active='open' %}
<div class="buttonGP disTab">
<div class="btn-group valProject2" role="group" aria-label="...">
<a href="{% url 'users:contractor-office-open-projects' pk=request.user.pk %}" class="btn btn-default">Все</a>
<a href="{% url 'users:contractor-office-open-projects' pk=request.user.pk %}?owner=private" class="btn btn-default">Личные</a>
<a href="{% url 'users:contractor-office-open-projects' pk=request.user.pk %}?owner=teams" class="btn btn-default">От именни группы</a>
</div>
<div class="btn-group valProject2" role="group" aria-label="...">
<button type="button" class="btn btn-default">
Открытые проекты
<span><mark>2</mark> / <span>35</span></span>
</button>
<button type="button" class="btn btn-default">
Архив
<span><mark></mark><span>7</span></span>
</button>
</div>
</div>
<div class="projectsBlock disTab">
{% for proj in open_projects %}
<div class="projectPro clearfix">
<div class="col-lg-9 leftPro">
<a href="{% url 'projects:detail' proj.pk %}">
<p class="titlePro">
{{ proj }}
</p>
</a>
<ul class="desPro">
<li>
Объект "{{ proj.realty.name }}"
</li>
<li>
<span>0</span> ответ от имени группы
</li>
</ul>
<p class="textPro">
</p>
<ul class="listPro">
<li>
{{ proj.created }}
</li>
<li>
0
</li>
<li>
0
</li>
<li>
{{ proj.customer.username }}
</li>
</ul>
</div>
<div class="col-lg-3 rightPro">
<p class="cenaPro">
{{ proj.budget }} <i class="fa fa-rub"></i>
</p>
<ul>
<li>
Безопасная сделка
</li>
<li>
Отказаться и перемстить
в корзину
</li>
</ul>
</div>
</div>
{% endfor %}
</div>
{% include 'partials/footer.html' %}
</div>
</div>
{% endblock %}

@ -0,0 +1,30 @@
<div class="profileTabs">
<ul class="nav nav-tabs nav-justified">
<li role="presentation">
<a href="{% url 'users:contractor-filter' %}">Поиск исполнителей </a>
</li>
<li role="presentation" {% if active == 'groups' %}class="active"{% endif %}>
<a href="{% url 'users:contractor-office' pk=contractor_pk %}" >
Мои группы
</a>
<div class="roundsCount">
</div>
</li>
<li role="presentation" {% if active == 'open' %}class="active"{% endif %}>
<a href="{% url 'users:contractor-office-open-projects' pk=contractor_pk %}" >Открытые проекты</a>
<span class="desPresent">
в процессе обсуждения
</span>
<div class="roundsCount">
<div class="countR">0</div>
<div class="countG">0</div>
</div>
</li>
<li role="presentation">
<a href="{% url 'chat:chat-user' %}">Проекты в работе</a>
<div class="roundsCount">
<div class="countG">0</div>
</div>
</li>
</ul>
</div>

@ -16,6 +16,7 @@ from .views import (
UserProfileEditView, UserProfileEditView,
TeamCreateView, TeamCreateView,
ContractorResumeUpdateView, ContractorResumeUpdateView,
ContractorOfficeOpenProjectsView,
contractor_resumefile_create, contractor_resumefile_create,
) )
@ -40,6 +41,7 @@ urlpatterns = [
urls.url(r'^contractorsresumefiles/create/$', contractor_resumefile_create, name='contractor-resume-file-create'), urls.url(r'^contractorsresumefiles/create/$', contractor_resumefile_create, name='contractor-resume-file-create'),
urls.url(r'^contractors/(?P<pk>\d+)/$', ContractorProfileDetailView.as_view(), name='contractor-profile'), urls.url(r'^contractors/(?P<pk>\d+)/$', ContractorProfileDetailView.as_view(), name='contractor-profile'),
urls.url(r'^contractor-office/(?P<pk>\d+)/$', ContractorOfficeDetailView.as_view(), name='contractor-office'), urls.url(r'^contractor-office/(?P<pk>\d+)/$', ContractorOfficeDetailView.as_view(), name='contractor-office'),
urls.url(r'^contractor-office/(?P<pk>\d+)/open-projects/$', ContractorOfficeOpenProjectsView.as_view(), name='contractor-office-open-projects'),
urls.url(r'^test/$', send_mail_test), urls.url(r'^test/$', send_mail_test),
] ]

@ -384,6 +384,29 @@ class ContractorOfficeDetailView(DetailView):
return context return context
class ContractorOfficeOpenProjectsView(BaseMixin,View):
template_name = 'contractor_office_open_projects.html'
def get(self, request, *args, **kwargs):
context = self.get_context_data(**_.merge({},request.GET, kwargs))
contractor = get_object_or_404(User.contractor_objects,pk=kwargs.get('pk'))
owner = request.GET.get('owner')
# import code; code.interact(local=dict(globals(), **locals()))
if owner and owner == 'private':
all_project_ids = [a.project.pk for a in contractor.contractor_answers.all()]
elif owner and owner == 'teams':
all_project_ids = [a.project.pk for a in contractor.team.answers.all()]
else:
team_project_ids = [a.project.pk for a in contractor.team.answers.all()]
contractor_project_ids = [a.project.pk for a in contractor.contractor_answers.all()]
all_project_ids = contractor_project_ids + team_project_ids
open_projects = Project.objects.filter(pk__in=all_project_ids)
context.update({
'open_projects': open_projects,
})
return render(request, self.template_name, context)
class CustomerProfileOpenProjectsView(BaseMixin, View): class CustomerProfileOpenProjectsView(BaseMixin, View):
template_name = 'customer_profile_open_projects.html' template_name = 'customer_profile_open_projects.html'
@ -491,7 +514,6 @@ class CustomerProfileCurrentProjectsView(BaseMixin, DetailView):
context_object_name = 'customer' context_object_name = 'customer'
class TeamCreateView(View): class TeamCreateView(View):
form_class = TeamForm form_class = TeamForm

Loading…
Cancel
Save