commit
29b9550dff
24 changed files with 896 additions and 1088 deletions
@ -0,0 +1,73 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.6 on 2016-07-06 09:49 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.conf import settings |
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
import mptt.fields |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('common', '0003_mainpage'), |
||||
('specializations', '0002_auto_20160602_1203'), |
||||
('projects', '0037_auto_20160704_1444'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='budget', |
||||
field=models.DecimalField(decimal_places=0, default=0, max_digits=10, null=True), |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='budget_by_agreement', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='building_classification', |
||||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.BuildingClassfication'), |
||||
preserve_default=False, |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='construction_type', |
||||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.ConstructionType'), |
||||
preserve_default=False, |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='location', |
||||
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='common.Location'), |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='specialization', |
||||
field=mptt.fields.TreeForeignKey(default=5, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='specializations.Specialization'), |
||||
preserve_default=False, |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='term', |
||||
field=models.IntegerField(default=0), |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='term_type', |
||||
field=models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20), |
||||
), |
||||
migrations.AddField( |
||||
model_name='portfolio', |
||||
name='worksell', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='portfolio', |
||||
name='user', |
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to=settings.AUTH_USER_MODEL), |
||||
), |
||||
] |
||||
@ -0,0 +1,92 @@ |
||||
{% load common_tags %} |
||||
<div class="modal-body"> |
||||
<form method="post">{% csrf_token %} |
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Название заказа <span style="color: red">{{ worksell_form.name.errors.as_text }}</span></p> |
||||
<input type="text" class="box-sizing" name="{{ worksell_form.name.html_name }}" |
||||
value="{{ worksell_form.name.value }}"> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Подробно опишите задание <span style="color: red">{{ worksell_form.text.errors.as_text }}</span></p> |
||||
<textarea name="{{ worksell_form.text.html_name }}" id="text-new">{{ worksell_form.text.value }}</textarea> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<select id="realtyBuildingClassificationId" class="selectpicker" |
||||
name="{{ realty_form.building_classification.html_name }}"> |
||||
{% for c in realty_form.building_classification.field.queryset %} |
||||
<option value="{{ c.pk }}" |
||||
{% if realty_form.building_classification.value|int == c.pk %}selected="selected"{% endif %}>{{ c.name }}</option> |
||||
{% endfor %} |
||||
</select> |
||||
</div> |
||||
|
||||
|
||||
|
||||
<div class="polsF1 disTab"> |
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-2" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-3" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-4" style="width: 100%"> |
||||
</div> |
||||
|
||||
<input type="hidden" id="chosenSpecId" name="{{ worksell_form.specialization.html_name }}" |
||||
value="{{ worksell_form.specialization.value }}"> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Бюджет{{ worksell_form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ worksell_form.budget_type }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Срок выаолнения{{ worksell_form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ worksell_form.term_type }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Бюджет{{ worksell_form.budget.errors.as_text }}</p> |
||||
|
||||
<select id="realtyConstructionTypeId" class="selectpicker" name="{{ worksell_form.construction_type.html_name }}"> |
||||
{% for t in realty_form.construction_type.field.queryset %} |
||||
<option value="{{ t.pk }}" |
||||
{% if realty_form.construction_type.value|int == t.pk %}selected="selected"{% endif %}>{{ t.name }}</option> |
||||
{% endfor %} |
||||
</select> |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF links-filter"> |
||||
<input class="btn-submit-link" type="submit" value="Разместить проект"> |
||||
</div> |
||||
|
||||
</form> |
||||
</div> |
||||
|
||||
<div class="modal-footer"> |
||||
|
||||
</div> |
||||
@ -1,582 +0,0 @@ |
||||
{% extends 'partials/base.html' %} |
||||
{% load staticfiles %} |
||||
{% load common_tags %} |
||||
{% block content %} |
||||
{% include 'partials/header.html' %} |
||||
<div class="container mainScore"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 allProjects"> |
||||
<h1>Чат</h1> |
||||
</div> |
||||
<div class="btnReadyBlock disTab"> |
||||
<div class="triangle1"></div> |
||||
<div class="col-lg-6 col-lg-offset-3 tabsChat"> |
||||
<div class="profileTabs2"> |
||||
<ul class="nav nav-tabs nav-justified"> |
||||
<li role="presentation" class="active"> |
||||
<a href="#tab1" data-toggle="tab">Личные</a> |
||||
</li> |
||||
<li role="presentation"> |
||||
<a href="#tab2" data-toggle="tab">Заказчики</a> |
||||
</li> |
||||
<li role="presentation"> |
||||
<a href="#tab3" data-toggle="tab">Исполнители</a> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="tab-content"> |
||||
<div class="chatBlock disTab tab-pane fade in active" id="tab1"> |
||||
<div class="col-lg-3 wrMessages"> |
||||
<div class="messageBlock box-sizing disTab"> |
||||
<p>Заказы</p> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB"> |
||||
<p class="pOB"> |
||||
<span>Испонитель:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
<li>Александ Смирнов</li> |
||||
<li>Иванов Петр</li> |
||||
</ul> |
||||
<p class="pOB"> |
||||
<span>Чаты:</span> Иванов, Петров, Пенкин |
||||
</p> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB"> |
||||
<p class="pOB"> |
||||
<span>Испонитель:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
<li>Александ Смирнов</li> |
||||
<li>Иванов Петр</li> |
||||
</ul> |
||||
<p class="pOB"> |
||||
<span>Чаты:</span> Иванов, Петров, Пенкин |
||||
</p> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB"> |
||||
<p class="pOB"> |
||||
<span>Испонитель:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
<li>Александ Смирнов</li> |
||||
<li>Иванов Петр</li> |
||||
</ul> |
||||
<p class="pOB"> |
||||
<span>Чаты:</span> Иванов, Петров, Пенкин |
||||
</p> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-6 commChat"> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. |
||||
</p> |
||||
</div> |
||||
<textarea id="chat" class="box-sizing"></textarea> |
||||
<div class="bunChat"> |
||||
<div class="setChat box-sizing"> |
||||
<p>Прикрепить файл</p> |
||||
<span> |
||||
Не более 10 файлов с общим объемом 500мб |
||||
</span> |
||||
</div> |
||||
<a href="javascript:void(0)">отправить</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-3 wrChat1"> |
||||
<div class="messageBlock box-sizing disTab"> |
||||
<p>Контакты</p> |
||||
<div class="message"> |
||||
<div class="imgMess"> |
||||
<img src="img/mess.png" alt="mess-image"> |
||||
</div> |
||||
<p class="nameMess"> |
||||
<a href="#">Иванов Петр Иванович</a> |
||||
</p> |
||||
<a href="javascript:void(0)" class="conMess">Контакты</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-12 startChat"> |
||||
<div class="insetSC1"> |
||||
Начало: |
||||
<span>Срок сдачи:</span> |
||||
</div> |
||||
<div class="insetSC2"> |
||||
13.0.2016 |
||||
<span>13.0.2016</span> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-12 documentsChat"> |
||||
<p>Входящие документы</p> |
||||
<ul> |
||||
<li> |
||||
Архитерурное 2.jpg |
||||
<span>7мб</span> |
||||
<div></div> |
||||
</li> |
||||
<li> |
||||
Архитерурное 2.jpg |
||||
<span>7мб</span> |
||||
<div></div> |
||||
</li> |
||||
<li> |
||||
Архитерурное 2.jpg |
||||
<span>7мб</span> |
||||
<div></div> |
||||
</li> |
||||
</ul> |
||||
<a href="javascript:void(0)"> |
||||
Распечатать с помощью ресурса |
||||
</a> |
||||
</div> |
||||
<div class="textAreaBlock2 box-sizing disTab"> |
||||
<p>Для заметок</p> |
||||
<textarea id="chat2"></textarea> |
||||
<a href="javascript:void()">сохранить</a> |
||||
</div> |
||||
<div class="closeChat closeChat1"> |
||||
<a href="javascript:void(0)"> |
||||
Закрыть проект<br>и оставить отзыв |
||||
</a> |
||||
</div> |
||||
<div class="closeChat closeChat2"> |
||||
<a href="javascript:void(0)"> |
||||
Закрыть проект<br>и оставить отзыв |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="chatBlock disTab tab-pane fade" id="tab2"> |
||||
<div class="col-lg-3 wrMessages"> |
||||
<div class="messageBlock box-sizing disTab"> |
||||
<p>Контакты</p> |
||||
<div class="message messd"> |
||||
<div class="imgMess"> |
||||
<img src="img/mess.png" alt="mess-image"> |
||||
</div> |
||||
<p class="nameMess"> |
||||
<a href="#">Иванов Петр Иванович</a> |
||||
</p> |
||||
<a href="javascript:void(0)" class="conMess">Контакты</a> |
||||
<span>17</span> |
||||
<a href="javascript:void(0)" class="deleteMess"> |
||||
Удалить контакт |
||||
</a> |
||||
</div> |
||||
<div class="message messd"> |
||||
<div class="imgMess"> |
||||
<img src="img/mess.png" alt="mess-image"> |
||||
</div> |
||||
<p class="nameMess"> |
||||
<a href="#">Иванов Петр Иванович</a> |
||||
</p> |
||||
<a href="javascript:void(0)" class="conMess">Контакты</a> |
||||
<span>17</span> |
||||
<a href="javascript:void(0)" class="deleteMess"> |
||||
Удалить контакт |
||||
</a> |
||||
</div> |
||||
<div class="message messd"> |
||||
<div class="imgMess"> |
||||
<img src="img/mess.png" alt="mess-image"> |
||||
</div> |
||||
<p class="nameMess"> |
||||
<a href="#">Иванов Петр Иванович</a> |
||||
</p> |
||||
<a href="javascript:void(0)" class="conMess">Контакты</a> |
||||
<span>17</span> |
||||
<a href="javascript:void(0)" class="deleteMess"> |
||||
Удалить контакт |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-6 commChat"> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. |
||||
</p> |
||||
</div> |
||||
<textarea id="chat" class="box-sizing"></textarea> |
||||
<div class="bunChat"> |
||||
<div class="setChat box-sizing"> |
||||
<p>Прикрепить файл</p> |
||||
<span> |
||||
Не более 10 файлов с общим объемом 500мб |
||||
</span> |
||||
</div> |
||||
<a href="javascript:void(0)">отправить</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-3 wrTAB"> |
||||
<div class="textAreaBlock2 box-sizing disTab"> |
||||
<p>Для заметок</p> |
||||
<textarea id="chat2" ></textarea> |
||||
<a href="javascript:void()">сохранить</a> |
||||
</div> |
||||
<div class="linkChatB box-sizing disTab"> |
||||
<a href="javascript:void(0)">предложить проект</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="chatBlock disTab tab-pane fade" id="tab3"> |
||||
<div class="col-lg-3 wrMessages"> |
||||
<div class="messageBlock box-sizing disTab"> |
||||
<p>Заказы</p> |
||||
<div class="orderBlock box-sizing orAct"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB disTab"> |
||||
<p class="pOB"> |
||||
<span>Заказчик:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
</ul> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB disTab"> |
||||
<p class="pOB"> |
||||
<span>Заказчик:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
</ul> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB disTab"> |
||||
<p class="pOB"> |
||||
<span>Заказчик:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
</ul> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-6 commChat"> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. |
||||
</p> |
||||
</div> |
||||
<textarea id="chat" class="box-sizing"></textarea> |
||||
<div class="bunChat"> |
||||
<div class="setChat box-sizing"> |
||||
<p>Прикрепить файл</p> |
||||
<span> |
||||
Не более 10 файлов с общим объемом 500мб |
||||
</span> |
||||
</div> |
||||
<a href="javascript:void(0)">отправить</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-3 wrstepschat"> |
||||
<p>Этапы работы</p> |
||||
<div class="stepssBlock box-sizing disTab"> |
||||
<p class="titleStepss">1 / Согласование условий</p> |
||||
<p class="textStepss"> |
||||
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем. |
||||
</p> |
||||
</div> |
||||
<div class="numberStepp box-sizing"> |
||||
<div class="insetNumStepp"> |
||||
<p class="titleNumStepp"> |
||||
<span>Этап 1</span>Название этапа |
||||
</p> |
||||
<p class="textNumStepp"> |
||||
Результаты этапа: Готовый чертеж 1 |
||||
</p> |
||||
<div> |
||||
<p>до 16.03.2015</p> |
||||
<span>30 000 <i class="fa fa-rub"></i></span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="numberStepp box-sizing"> |
||||
<div class="insetNumStepp"> |
||||
<p class="titleNumStepp"> |
||||
<span>Этап 2</span>Название этапа |
||||
</p> |
||||
<p class="textNumStepp"> |
||||
Результаты этапа: Готовый чертеж 1 |
||||
</p> |
||||
<div> |
||||
<p>до 16.03.2015</p> |
||||
<span>30 000 <i class="fa fa-rub"></i></span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="textAreaBlock2 FFD box-sizing disTab"> |
||||
<a href="javascript:void()">согласовать</a> |
||||
</div> |
||||
<div class="stepssBlock box-sizing disTab"> |
||||
<p class="titleStepss">2 / Резервирование</p> |
||||
<p class="textStepss"> |
||||
Резервирование заказчиком суммы оплаты по заказ. Деньги перечисляются и хранятся на сайте. |
||||
</p> |
||||
<ul> |
||||
<li>Сумма еще не зарезервирована</li> |
||||
<li>Сумма за этап1, Зарезервирована</li> |
||||
</ul> |
||||
</div> |
||||
<div class="stepssBlock box-sizing disTab"> |
||||
<p class="titleStepss">3 / Выполнение работы</p> |
||||
<p class="textStepss"> |
||||
Процесс выполнения задания в заказе до получения заказчиком итогового результата работы. |
||||
</p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% include 'partials/footer.html' %} |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -1,312 +0,0 @@ |
||||
{% extends 'partials/base.html' %} |
||||
{% load staticfiles %} |
||||
{% load common_tags %} |
||||
{% block content %} |
||||
{% include 'partials/header.html' %} |
||||
|
||||
<div class="container mainScore"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 allProjects"> |
||||
<h1>Чат</h1> |
||||
</div> |
||||
<div class="btnReadyBlock disTab"> |
||||
<div class="triangle1"></div> |
||||
<div class="col-lg-6 col-lg-offset-3 tabsChat"> |
||||
<div class="profileTabs2"> |
||||
<ul class="nav nav-tabs nav-justified"> |
||||
<li role="presentation" class="active"> |
||||
<a href="#tab1" data-toggle="tab">Личные</a> |
||||
</li> |
||||
<li role="presentation"> |
||||
<a href="#tab3" data-toggle="tab">Исполнители</a> |
||||
</li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="tab-content"> |
||||
<div class="chatBlock disTab tab-pane fade in active" id="tab1"> |
||||
<div class="col-lg-3 wrMessages"> |
||||
<div class="messageBlock box-sizing disTab"> |
||||
<p>Заказы</p> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB"> |
||||
<p class="pOB"> |
||||
<span>Испонитель:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
<li>Александ Смирнов</li> |
||||
<li>Иванов Петр</li> |
||||
</ul> |
||||
<p class="pOB"> |
||||
<span>Чаты:</span> Иванов, Петров, Пенкин |
||||
</p> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB"> |
||||
<p class="pOB"> |
||||
<span>Испонитель:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
<li>Александ Смирнов</li> |
||||
<li>Иванов Петр</li> |
||||
</ul> |
||||
<p class="pOB"> |
||||
<span>Чаты:</span> Иванов, Петров, Пенкин |
||||
</p> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-6 commChat"> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. |
||||
</p> |
||||
</div> |
||||
<textarea id="chat" class="box-sizing"></textarea> |
||||
<div class="bunChat"> |
||||
<div class="setChat box-sizing"> |
||||
<p>Прикрепить файл</p> |
||||
<span> |
||||
Не более 10 файлов с общим объемом 500мб |
||||
</span> |
||||
</div> |
||||
<a href="javascript:void(0)">отправить</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-3 wrChat1"> |
||||
<div class="messageBlock box-sizing disTab"> |
||||
<p>Контакты</p> |
||||
<div class="message"> |
||||
<div class="imgMess"> |
||||
<img src="{% static 'img/mess.png' %}" alt="mess-image"> |
||||
</div> |
||||
<p class="nameMess"> |
||||
<a href="#">Иванов Петр Иванович</a> |
||||
</p> |
||||
<a href="javascript:void(0)" class="conMess">Контакты</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-12 startChat"> |
||||
<div class="insetSC1"> |
||||
Начало: |
||||
<span>Срок сдачи:</span> |
||||
</div> |
||||
<div class="insetSC2"> |
||||
13.0.2016 |
||||
<span>13.0.2016</span> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-12 documentsChat"> |
||||
<p>Входящие документы</p> |
||||
<ul> |
||||
<li> |
||||
Архитерурное 2.jpg |
||||
<span>7мб</span> |
||||
<div></div> |
||||
</li> |
||||
</ul> |
||||
<a href="javascript:void(0)"> |
||||
Распечатать с помощью ресурса |
||||
</a> |
||||
</div> |
||||
<div class="textAreaBlock2 box-sizing disTab"> |
||||
<p>Для заметок</p> |
||||
<textarea id="chat2"></textarea> |
||||
<a href="javascript:void()">сохранить</a> |
||||
</div> |
||||
<div class="closeChat closeChat1"> |
||||
<a href="javascript:void(0)"> |
||||
Закрыть проект<br>и оставить отзыв |
||||
</a> |
||||
</div> |
||||
<div class="closeChat closeChat2"> |
||||
<a href="javascript:void(0)"> |
||||
Закрыть проект<br>и оставить отзыв |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="chatBlock disTab tab-pane fade" id="tab3"> |
||||
<div class="col-lg-3 wrMessages"> |
||||
<div class="messageBlock box-sizing disTab"> |
||||
<p>Заказы</p> |
||||
<div class="orderBlock box-sizing orAct"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB disTab"> |
||||
<p class="pOB"> |
||||
<span>Заказчик:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
</ul> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
<div class="orderBlock box-sizing"> |
||||
<span class="dimovChat"></span> |
||||
<p class="titleOB"> |
||||
Дизай-проект квартиры на набережной 200 m2 |
||||
</p> |
||||
<div class="hideOBB disTab"> |
||||
<p class="pOB"> |
||||
<span>Заказчик:</span> Группа Икс |
||||
</p> |
||||
<ul class="listChat1"> |
||||
<li>Иванов Петр Иванович</li> |
||||
<li>Сергей Пенкин</li> |
||||
</ul> |
||||
<a href="javascript:void(0)" class="linkChat11"> |
||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||
Полное описание заказа |
||||
</a> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-6 commChat"> |
||||
<div class="col-lg-12 insetCommChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat"> |
||||
Иванов Петр Иванович |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet</p> |
||||
</div> |
||||
<div class="col-lg-12 insetCommChat youChat"> |
||||
<div class="topCommChat"> |
||||
<p class="nameCommChat greenNCC"> |
||||
Вы |
||||
</p> |
||||
<span> |
||||
13.0.2016 / 21:05 |
||||
</span> |
||||
</div> |
||||
<p class="textCommChat"> |
||||
Lorem ipsum dolor sit amet</p> |
||||
</div> |
||||
<textarea id="chat" class="box-sizing"></textarea> |
||||
<div class="bunChat"> |
||||
<div class="setChat box-sizing"> |
||||
<p>Прикрепить файл</p> |
||||
<span> |
||||
Не более 10 файлов с общим объемом 500мб |
||||
</span> |
||||
</div> |
||||
<a href="javascript:void(0)">отправить</a> |
||||
</div> |
||||
</div> |
||||
<div class="col-lg-3 wrstepschat"> |
||||
<p>Этапы работы</p> |
||||
<div class="stepssBlock box-sizing disTab"> |
||||
<p class="titleStepss">1 / Согласование условий</p> |
||||
<p class="textStepss"> |
||||
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем. |
||||
</p> |
||||
</div> |
||||
<div class="numberStepp box-sizing"> |
||||
<div class="insetNumStepp"> |
||||
<p class="titleNumStepp"> |
||||
<span>Этап 1</span>Название этапа |
||||
</p> |
||||
<p class="textNumStepp"> |
||||
Результаты этапа: Готовый чертеж 1 |
||||
</p> |
||||
<div> |
||||
<p>до 16.03.2015</p> |
||||
<span>30 000 <i class="fa fa-rub"></i></span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="numberStepp box-sizing"> |
||||
<div class="insetNumStepp"> |
||||
<p class="titleNumStepp"> |
||||
<span>Этап 2</span>Название этапа |
||||
</p> |
||||
<p class="textNumStepp"> |
||||
Результаты этапа: Готовый чертеж 1 |
||||
</p> |
||||
<div> |
||||
<p>до 16.03.2015</p> |
||||
<span>30 000 <i class="fa fa-rub"></i></span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="textAreaBlock2 FFD box-sizing disTab"> |
||||
<a href="javascript:void()">согласовать</a> |
||||
</div> |
||||
<div class="stepssBlock box-sizing disTab"> |
||||
<p class="titleStepss">2 / Резервирование</p> |
||||
<p class="textStepss"> |
||||
Резервирование заказчиком суммы оплаты по заказ.</p> |
||||
<ul> |
||||
<li>Сумма еще не зарезервирована</li> |
||||
<li>Сумма за этап1, Зарезервирована</li> |
||||
</ul> |
||||
</div> |
||||
<div class="stepssBlock box-sizing disTab"> |
||||
<p class="titleStepss">3 / Выполнение работы</p> |
||||
<p class="textStepss"> |
||||
Процесс выполнения задания в заказе </p> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
{% include 'partials/footer.html' %} |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
@ -0,0 +1,82 @@ |
||||
{% load common_tags %} |
||||
<div class="modal-body"> |
||||
<form method="post" id="portfolio-add-form">{% csrf_token %} |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Название заказа <span style="color: red">{{ worksell_form.name.errors.as_text }}</span></p> |
||||
<input type="text" class="box-sizing" name="{{ worksell_form.name.html_name }}" |
||||
value="{{ worksell_form.name.value }}"> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Подробно опишите задание <span style="color: red">{{ worksell_form.description.errors.as_text }}</span></p> |
||||
<textarea name="{{ worksell_form.description.html_name }}" id="text-new">{{ worksell_form.description.value }}</textarea> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Специализации</p> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-2" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-3" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-4" style="width: 100%"> |
||||
</div> |
||||
|
||||
<input type="hidden" id="chosenSpecId" name="{{ worksell_form.specialization.html_name }}" |
||||
value="{{ worksell_form.specialization.value }}"> |
||||
|
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Бюджет{{ worksell_form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ worksell_form.budget_type }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Срок выполнения{{ worksell_form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ worksell_form.term_type }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Вид строительства</p> |
||||
{{ worksell_form.construction_type}} |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Классификация здания</p> |
||||
{{ worksell_form.building_classification}} |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF links-filter"> |
||||
<input class="btn-submit-link" type="submit" value="Разместить проект"> |
||||
</div> |
||||
|
||||
</form> |
||||
</div> |
||||
|
||||
<div class="modal-footer"> |
||||
</div> |
||||
@ -0,0 +1,90 @@ |
||||
{% load common_tags %} |
||||
<div class="modal-body"> |
||||
<form method="post" id="worksell-add-form">{% csrf_token %} |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Название заказа <span style="color: red">{{ worksell_form.name.errors.as_text }}</span></p> |
||||
<input type="text" class="box-sizing" name="{{ worksell_form.name.html_name }}" |
||||
value="{{ worksell_form.name.value }}"> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Подробно опишите задание <span style="color: red">{{ worksell_form.description.errors.as_text }}</span></p> |
||||
<textarea name="{{ worksell_form.description.html_name }}" id="text-new">{{ worksell_form.description.value }}</textarea> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Специализации</p> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-2" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-3" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-4" style="width: 100%"> |
||||
</div> |
||||
|
||||
<input type="hidden" id="chosenSpecId" name="{{ worksell_form.specialization.html_name }}" |
||||
value="{{ worksell_form.specialization.value }}"> |
||||
|
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Бюджет{{ worksell_form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ worksell_form.currency}} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Срок выполнения{{ worksell_form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ worksell_form.term_type }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Вид строительства</p> |
||||
{{ worksell_form.construction_type}} |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Классификация здания</p> |
||||
{{ worksell_form.building_classification}} |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<input type="text" name="{{ worksell_form.contractor.html_name }}" value="{{ request.user.pk }}" /> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<input type="file" name="{{ worksell_form.img.html_name }}" > |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF links-filter"> |
||||
<input class="btn-submit-link" type="submit" value="Разместить проект"> |
||||
</div> |
||||
|
||||
</form> |
||||
</div> |
||||
|
||||
<div class="modal-footer"> |
||||
</div> |
||||
@ -1,9 +1,22 @@ |
||||
from django import forms |
||||
|
||||
from common.models import Location |
||||
from .models import WorkSell |
||||
|
||||
|
||||
class WorkSellForm(forms.ModelForm): |
||||
|
||||
class Meta: |
||||
model = WorkSell |
||||
fields = '__all__' |
||||
|
||||
widgets = { |
||||
'construction_type': forms.Select(attrs={'class':'selectpicker'}), |
||||
'building_classification': forms.Select(attrs={'class':'selectpicker'}), |
||||
} |
||||
|
||||
def __init__(self, *args, **kwargs): |
||||
# self.request = kwargs.pop('request') |
||||
super().__init__(*args, **kwargs) |
||||
|
||||
self.fields['location'].queryset = Location.objects.root_nodes()[0].get_descendants() |
||||
|
||||
@ -0,0 +1,67 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.6 on 2016-07-06 09:49 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
import mptt.fields |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('projects', '0038_auto_20160706_1249'), |
||||
('common', '0003_mainpage'), |
||||
('specializations', '0002_auto_20160602_1203'), |
||||
('work_sell', '0007_auto_20160705_1514'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RemoveField( |
||||
model_name='worksell', |
||||
name='price', |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='budget', |
||||
field=models.DecimalField(decimal_places=0, default=0, max_digits=10, null=True), |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='budget_by_agreement', |
||||
field=models.BooleanField(default=False), |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='building_classification', |
||||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='projects.BuildingClassfication'), |
||||
preserve_default=False, |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='construction_type', |
||||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='projects.ConstructionType'), |
||||
preserve_default=False, |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='location', |
||||
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='common.Location'), |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='specialization', |
||||
field=mptt.fields.TreeForeignKey(default=5, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='specializations.Specialization'), |
||||
preserve_default=False, |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='term', |
||||
field=models.IntegerField(default=0), |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='term_type', |
||||
field=models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20), |
||||
), |
||||
] |
||||
@ -0,0 +1,56 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.6 on 2016-07-07 10:15 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
import django.db.models.deletion |
||||
import mptt.fields |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('work_sell', '0008_auto_20160706_1249'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RemoveField( |
||||
model_name='worksell', |
||||
name='budget_by_agreement', |
||||
), |
||||
migrations.AddField( |
||||
model_name='worksell', |
||||
name='currency', |
||||
field=models.CharField(blank=True, choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=20, null=True), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='budget', |
||||
field=models.DecimalField(blank=True, decimal_places=0, default=0, max_digits=10, null=True), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='building_classification', |
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='projects.BuildingClassfication'), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='construction_type', |
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='projects.ConstructionType'), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='specialization', |
||||
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='specializations.Specialization'), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='term', |
||||
field=models.IntegerField(blank=True, default=0, null=True), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='term_type', |
||||
field=models.CharField(blank=True, choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20, null=True), |
||||
), |
||||
] |
||||
@ -0,0 +1,27 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.6 on 2016-07-07 11:01 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
import django.utils.timezone |
||||
import sorl.thumbnail.fields |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('work_sell', '0009_auto_20160707_1315'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='created', |
||||
field=models.DateTimeField(blank=True, default=django.utils.timezone.now, null=True), |
||||
), |
||||
migrations.AlterField( |
||||
model_name='worksell', |
||||
name='img', |
||||
field=sorl.thumbnail.fields.ImageField(blank=True, null=True, upload_to='worksell/worksell'), |
||||
), |
||||
] |
||||
@ -0,0 +1,55 @@ |
||||
{% extends 'partials/base.html' %} |
||||
{% block content %} |
||||
<form method="post" enctype="multipart/form-data">{% csrf_token %} |
||||
|
||||
<div class="col-lg-7"> |
||||
<!-- The fileinput-button span is used to style the file input field as button --> |
||||
<span class="btn btn-success fileinput-button"> |
||||
<i class="glyphicon glyphicon-plus"></i> |
||||
<span>Add files...</span> |
||||
<input type="file" name="files[]" multiple> |
||||
</span> |
||||
</div> |
||||
<input type="submit" value="Save12"/> |
||||
</form> |
||||
{% endblock %} |
||||
|
||||
{% block js_block %} |
||||
|
||||
<script type="text/javascript"> |
||||
|
||||
$(function(){ |
||||
$.ajax({ |
||||
url : '/work_sell/test/', |
||||
|
||||
success:function(data){ |
||||
alert(data); |
||||
console.log(data); |
||||
} |
||||
}); |
||||
}); |
||||
|
||||
{# $(function(){#} |
||||
{# var files;#} |
||||
{# $('input[type=file]').on('change', prepareUpload);#} |
||||
{# $('form').on('submit', uploadFiles);#} |
||||
{##} |
||||
{# function uploadFiles(e){#} |
||||
{# console.log('submit');#} |
||||
{# e.stopPropagation();#} |
||||
{# e.preventDefault();#} |
||||
{# var data = new FormData();#} |
||||
{# $.each(files, function(k,v){#} |
||||
{# console.log(k);#} |
||||
{# console.log(v);#} |
||||
{# data.append(k, v);#} |
||||
{# });#} |
||||
{# console.log(data);#} |
||||
{# }#} |
||||
{# function prepareUpload(e){#} |
||||
{# files = e.target.files;#} |
||||
{# }#} |
||||
{##} |
||||
{# });#} |
||||
</script> |
||||
{% endblock %} |
||||
@ -0,0 +1,102 @@ |
||||
{% extends 'partials/base.html' %} |
||||
|
||||
{% load common_tags %} |
||||
|
||||
{% block content %} |
||||
{% include 'partials/header.html' %} |
||||
|
||||
<div class="container mainScore"> |
||||
<div class="row"> |
||||
<div class="col-lg-12 allProjects"> |
||||
<p class="titleScore">Изменение готового проекта</p> |
||||
</div> |
||||
|
||||
<form method="post" id="worksell-add-form">{% csrf_token %} |
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Название заказа <span style="color: red">{{ form.name.errors.as_text }}</span></p> |
||||
<input type="text" class="box-sizing" name="{{ form.name.html_name }}" |
||||
value="{{ form.name.value }}"> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Подробно опишите задание <span style="color: red">{{ form.description.errors.as_text }}</span></p> |
||||
<textarea name="{{ form.description.html_name }}" id="text-new">{{ form.description.value }}</textarea> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Специализации</p> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-2" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-3" style="width: 100%"> |
||||
</div> |
||||
|
||||
<div class="col-lg-3"> |
||||
<input type='hidden' class="-spec-select -spec-select-level-4" style="width: 100%"> |
||||
</div> |
||||
|
||||
<input type="hidden" id="chosenSpecId" name="{{ form.specialization.html_name }}" |
||||
value="{{ form.specialization.value }}"> |
||||
|
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Бюджет{{ form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ form.currency}} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<p>Срок выполнения{{ form.budget.errors.as_text }}</p> |
||||
<div class="row"> |
||||
<div class="col-lg-8"> |
||||
<input type="text" class="box-sizing" name="{{ form.budget.html_name }}" value="{{ form.budget.value }}"> |
||||
</div> |
||||
<div class="col-lg-4"> |
||||
{{ form.term_type }} |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
</div> |
||||
<div class="polsF1 polsF2 disTab"> |
||||
<p>Вид строительства</p> |
||||
{{ form.construction_type}} |
||||
</div> |
||||
|
||||
<div class="polsF1 polsF2 disTab"> |
||||
<p>Классификация здания</p> |
||||
{{ form.building_classification}} |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<input type="text" name="{{ form.contractor.html_name }}" value="{{ form.contractor.value }}" /> |
||||
</div> |
||||
|
||||
<div class="textAreaBlock2 text-nn box-sizing disTab"> |
||||
<input type="file" name="{{ form.img.html_name }}" > |
||||
</div> |
||||
|
||||
<div class="searchF1 polsF1 polsFF links-filter"> |
||||
<input class="btn-submit-link" type="submit" value="Сохранить проект"> |
||||
</div> |
||||
|
||||
</form> |
||||
{% include 'partials/footer.html' %} |
||||
</div> |
||||
</div> |
||||
{% endblock %} |
||||
Loading…
Reference in new issue