Merge branch 'setup' of https://bitbucket.org/PekopT/archilance into setup
commit
83ae308d97
18 changed files with 342 additions and 153 deletions
@ -0,0 +1,56 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.9.6 on 2016-07-07 14:24 |
||||||
|
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'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.RemoveField( |
||||||
|
model_name='portfolio', |
||||||
|
name='budget_by_agreement', |
||||||
|
), |
||||||
|
migrations.AddField( |
||||||
|
model_name='portfolio', |
||||||
|
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='portfolio', |
||||||
|
name='budget', |
||||||
|
field=models.DecimalField(blank=True, decimal_places=0, default=0, max_digits=10, null=True), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='portfolio', |
||||||
|
name='building_classification', |
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.BuildingClassfication'), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='portfolio', |
||||||
|
name='construction_type', |
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.ConstructionType'), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='portfolio', |
||||||
|
name='specialization', |
||||||
|
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='specializations.Specialization'), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='portfolio', |
||||||
|
name='term', |
||||||
|
field=models.IntegerField(blank=True, default=0, null=True), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='portfolio', |
||||||
|
name='term_type', |
||||||
|
field=models.CharField(blank=True, choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20, null=True), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,97 @@ |
|||||||
|
{% 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" enctype="multipart/form-data" 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 }}"> |
||||||
|
<input type="hidden" name="{{ form.contractor.html_name }}" value="{{ form.contractor.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.term.html_name }}" value="{{ form.term.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="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 %} |
||||||
@ -0,0 +1,12 @@ |
|||||||
|
import django_filters |
||||||
|
|
||||||
|
from work_sell.models import WorkSell |
||||||
|
|
||||||
|
class WorkSellFilter(django_filters.FilterSet): |
||||||
|
budget = django_filters.NumberFilter() |
||||||
|
budget__gt = django_filters.NumberFilter(name='budget', lookup_expr='gt') |
||||||
|
budget__lt = django_filters.NumberFilter(name='budget', lookup_expr='lt') |
||||||
|
|
||||||
|
class Meta: |
||||||
|
model = WorkSell |
||||||
|
|
||||||
@ -0,0 +1,10 @@ |
|||||||
|
{% extends 'partials/base.html' %} |
||||||
|
|
||||||
|
{% load common_tags %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
<form action="" method="post">{% csrf_token %} |
||||||
|
<p>Вы дейтсвительно хотите удалить? "{{ object }}"?</p> |
||||||
|
<input type="submit" value="Удалить" /> |
||||||
|
</form> |
||||||
|
{% endblock %} |
||||||
Loading…
Reference in new issue