remotes/origin/setup
ArturBaybulatov 10 years ago
parent 2eae01b08c
commit 4a13479fac
  1. 1
      archilance/management/commands/generate_users.py
  2. 2
      projects/models.py
  3. 297
      projects/templates/project_detail.html
  4. 2
      projects/views.py

@ -86,6 +86,7 @@ class Command(BaseCommand):
email='%s@example.com' % username, email='%s@example.com' % username,
is_active=True, is_active=True,
contractor_status=_.sample(User.STATUSES)[0], contractor_status=_.sample(User.STATUSES)[0],
cro=_.sample((True, False)),
) )
users = _.times(create_user, 500) users = _.times(create_user, 500)

@ -50,7 +50,7 @@ class Realty(models.Model):
construction_type = models.ForeignKey(ConstructionType, related_name='realties') construction_type = models.ForeignKey(ConstructionType, related_name='realties')
location = TreeForeignKey('common.Location', related_name='realties', null=True, blank=True) location = TreeForeignKey('common.Location', related_name='realties', null=True, blank=True)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
user = models.ForeignKey(User, related_name='realties') user = models.ForeignKey(User, related_name='realties') # Do we actually need this field?
def __str__(self): def __str__(self):
return self.name return self.name

@ -163,153 +163,156 @@
{% if request.user.is_contractor and request.user.contractor_answers.exists %} {# {% if request.user.is_contractor and request.user.contractor_answers.exists and request.user.contractor_answers.first in project.answers.all %}#}
{# #}
{# #}
{# #}
{# #}
{# #}
{% with answer=request.user.contractor_answers.first %} {# {% with answer=request.user.contractor_answers.first %}#}
<div class="candidateBlock disTab"> {# <div class="candidateBlock disTab">#}
<div class="candidate"> {# <div class="candidate">#}
<div class="col-lg-4"> {# <div class="col-lg-4">#}
<a href="#" class="aLinkExe"> {# <a href="#" class="aLinkExe">#}
<div class="imgExecutor"> {# <div class="imgExecutor">#}
{% if answer.author.avatar %} {# {% if answer.author.avatar %}#}
<img src="{{ answer.author.avatar.url }}" alt="execitor-image"> {# <img src="{{ answer.author.avatar.url }}" alt="execitor-image">#}
{% else %} {# {% else %}#}
<img src="{% static 'img/profile.jpg' %}" alt="execitor-image"> {# <img src="{% static 'img/profile.jpg' %}" alt="execitor-image">#}
{% endif %} {# {% endif %}#}
</div> {# </div>#}
</a> {# </a>#}
<p class="nameExecutor"> {# <p class="nameExecutor">#}
<a href="#">{{ answer.author.get_full_name }} [{{ answer.author.username }}]</a> {# <a href="#">{{ answer.author.get_full_name }} [{{ answer.author.username }}]</a>#}
</p> {# </p>#}
<p class="navv2">На сайте {{ answer.author.created }}</p> {# <p class="navv2">На сайте {{ answer.author.created }}</p>#}
{# #}
{% if answer.author|class_name == 'User' %} {# {% if answer.author|class_name == 'User' %}#}
{% if answer.author.contractor_status == 'free' %} {# {% if answer.author.contractor_status == 'free' %}#}
<div class="statusUser">Свободен</div><!-- ............. --> {# <div class="statusUser">Свободен</div><!-- ............. -->#}
{% endif %} {# {% endif %}#}
{% endif %} {# {% endif %}#}
</div> {# </div>#}
<div class="col-lg-3 retts"> {# <div class="col-lg-3 retts">#}
<ul class="rettList restList2"> {# <ul class="rettList restList2">#}
<li>Рейтинг: <span> 0</span></li> {# <li>Рейтинг: <span> 0</span></li>#}
<li>Безопасные сделки: <span> 0</span></li> {# <li>Безопасные сделки: <span> 0</span></li>#}
<li> {# <li>#}
<a href="javascript:void(0)">Отзывы: {# <a href="javascript:void(0)">Отзывы: #}
<span> + 0</span> {# <span> + 0</span>#}
<small> 0</small> {# <small> 0</small>#}
<mark> - 0</mark> {# <mark> - 0</mark>#}
</a> {# </a>#}
</li> {# </li>#}
</ul> {# </ul>#}
{# #}
<div class="sroUser sroExecutor"> {# {% if answer.author|class_name == 'User' %}#}
<div class="iconSRO"></div> {# <div class="sroUser sroExecutor">#}
<p>Есть допуск СРО</p> {# <div class="iconSRO"></div>#}
</div> {# <p>Есть допуск СРО</p>#}
</div> {# </div>#}
<div class="col-lg-2 listCens"> {# {% else %}#}
<p> {# ...#}
Цена: {# {% endif %}#}
<span>{{ answer.budget|intcomma }}</span> {# </div>#}
<i class="fa fa-rub"></i> {# <div class="col-lg-2 listCens">#}
</p> {# <p>#}
<p> {# Цена:#}
Срок: <span>{{ answer.term }} {{ answer.get_term_type_display|decap }}</span> {# <span>{{ answer.budget|intcomma }}</span>#}
</p> {# <i class="fa fa-rub"></i>#}
<p>Опубликован: {{ answer.created }}</p> {# </p>#}
</div> {# <p>#}
<div class="col-lg-3 retts"> {# Срок: <span>{{ answer.term }} {{ answer.get_term_type_display|decap }}</span>#}
<a href="{% url 'projects:add-candidate' answer_id=answer.pk project_id=project.pk %}" class="candLink candLink1"> {# </p>#}
Кандидат {# <p>Опубликован: {{ answer.created }}</p>#}
</a> {# </div>#}
<a href="{% url 'projects:offer-order' answer_id=answer.pk project_id=project.pk %}" class="candLink candLink2"> {# <div class="col-lg-3 retts">#}
предложить проект {# <a href="{% url 'projects:add-candidate' answer_id=answer.pk project_id=project.pk %}" class="candLink candLink1">#}
</a> {# Кандидат#}
<a href="javascript:void(0)" class="candLink candLink3"> {# </a>#}
отказ {# <a href="{% url 'projects:offer-order' answer_id=answer.pk project_id=project.pk %}" class="candLink candLink2">#}
</a> {# предложить проект#}
</div> {# </a>#}
<div class="gallMini disTab"> {# <a href="javascript:void(0)" class="candLink candLink3">#}
<div class="col-lg-3"> {# отказ#}
<div class="insetCol box-sizing disTab"> {# </a>#}
<div class="imgGal"> {# </div>#}
<div class="imgFigure"></div> {# <div class="gallMini disTab">#}
</div> {# <div class="col-lg-3">#}
</div> {# <div class="insetCol box-sizing disTab">#}
</div> {# <div class="imgGal">#}
<div class="col-lg-3"> {# <div class="imgFigure"></div>#}
<div class="insetCol box-sizing disTab"> {# </div>#}
<div class="imgGal"> {# </div>#}
<div class="imgFigure"></div> {# </div>#}
</div> {# <div class="col-lg-3">#}
</div> {# <div class="insetCol box-sizing disTab">#}
</div> {# <div class="imgGal">#}
<div class="col-lg-3"> {# <div class="imgFigure"></div>#}
<div class="insetCol box-sizing disTab"> {# </div>#}
<div class="imgGal"> {# </div>#}
<div class="imgFigure"></div> {# </div>#}
</div> {# <div class="col-lg-3">#}
</div> {# <div class="insetCol box-sizing disTab">#}
</div> {# <div class="imgGal">#}
<div class="col-lg-3"> {# <div class="imgFigure"></div>#}
<div class="insetCol box-sizing disTab"> {# </div>#}
<div class="imgGal"> {# </div>#}
<div class="imgFigure"></div> {# </div>#}
</div> {# <div class="col-lg-3">#}
</div> {# <div class="insetCol box-sizing disTab">#}
</div> {# <div class="imgGal">#}
</div> {# <div class="imgFigure"></div>#}
<div class="commBlock44 disTab"> {# </div>#}
<div class="comm44 disTab"> {# </div>#}
<div class="col-lg-10 col-lg-offset-1"> {# </div>#}
<p class="nameComm"> {# </div>#}
Иванов Петр Иванович {# <div class="commBlock44 disTab">#}
</p> {# <div class="comm44 disTab">#}
<span class="dateComm44"> {# <div class="col-lg-10 col-lg-offset-1">#}
13.01.2016 / 21:05 {# <p class="nameComm">#}
</span> {# Иванов Петр Иванович #}
<div class="stars box-sizing"> {# </p>#}
<span class="glyphicon glyphicon-star starAct" aria-hidden="true"></span> {# <span class="dateComm44">#}
<span class="glyphicon glyphicon-star starAct" aria-hidden="true"></span> {# 13.01.2016 / 21:05#}
<span class="glyphicon glyphicon-star starAct" aria-hidden="true"></span> {# </span>#}
<span class="glyphicon glyphicon-star" aria-hidden="true"></span> {# <div class="stars box-sizing">#}
<span class="glyphicon glyphicon-star" aria-hidden="true"></span> {# <span class="glyphicon glyphicon-star starAct" aria-hidden="true"></span>#}
</div> {# <span class="glyphicon glyphicon-star starAct" aria-hidden="true"></span>#}
<p class="textComm44"> {# <span class="glyphicon glyphicon-star starAct" aria-hidden="true"></span>#}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget odio. {# <span class="glyphicon glyphicon-star" aria-hidden="true"></span>#}
</p> {# <span class="glyphicon glyphicon-star" aria-hidden="true"></span>#}
</div> {# </div>#}
</div> {# <p class="textComm44">#}
<div class="comm44 disTab"> {# Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget odio.#}
<div class="col-lg-10 col-lg-offset-1"> {# </p>#}
<p class="nameComm nameCommAct"> {# </div>#}
Иванов Петр Иванович {# </div>#}
</p> {# <div class="comm44 disTab">#}
<span class="dateComm44"> {# <div class="col-lg-10 col-lg-offset-1">#}
13.01.2016 / 21:05 {# <p class="nameComm nameCommAct">#}
</span> {# Иванов Петр Иванович #}
<p class="textComm44"> {# </p>#}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget odio. {# <span class="dateComm44">#}
</p> {# 13.01.2016 / 21:05#}
<a href="javascript:void(0)" class="answerComm"> {# </span>#}
Ответить {# <p class="textComm44">#}
</a> {# Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget odio.#}
</div> {# </p>#}
</div> {# <a href="javascript:void(0)" class="answerComm">#}
</div> {# Ответить#}
</div> {# </a>#}
</div> {# </div>#}
{% endwith %} {# </div>#}
{# </div>#}
{# </div>#}
{# </div>#}
{# {% endwith %}#}
{% elif request.user.is_contractor %}
{# {% elif request.user.is_contractor and not request.user.contractor_answers.exists %}#}
{% if request.user.is_contractor and not request.user.contractor_answers.exists %}

@ -44,6 +44,8 @@ class ProjectDetailWithContractorAnswerView(BaseMixin, View):
project = get_object_or_404(Project, pk=kwargs.get('pk')) project = get_object_or_404(Project, pk=kwargs.get('pk'))
context.update({'project': project}) context.update({'project': project})
# context.update({'tmp_answer': ...}) # Tmp
if request.user.is_authenticated() and request.user.is_contractor(): if request.user.is_authenticated() and request.user.is_contractor():
form = self.form_class(request=request) form = self.form_class(request=request)
context.update({'form': form}) context.update({'form': form})

Loading…
Cancel
Save