remotes/origin/PR-39
ArturBaybulatov 10 years ago
parent 64de6a7711
commit 84b89c19d2
  1. 53
      assets/index.js
  2. 6
      projects/models.py
  3. 4
      projects/templates/customer_project_create.html
  4. 4
      projects/templates/customer_project_edit.html
  5. 8
      projects/templates/project_filter.html
  6. 17
      templates/test.html
  7. 3
      users/templates/contractor_office_open_projects.html
  8. 3
      users/templates/contractor_office_open_projects_archive.html
  9. 7
      users/templates/contractor_profile.html
  10. 2
      users/templates/customer_profile_open_projects.html
  11. 7
      users/templates/partials/customer_profile_info_block.html
  12. 6
      users/templates/user_financial_info_edit.html
  13. 4
      users/templates/user_profile_edit.html
  14. 8
      users/urls.py

@ -45,38 +45,55 @@ var specSelectOptions = {
}
}
var $specSelects = $('.-spec-select')
$specSelects.select2(specSelectOptions)
$('.-spec-select-container').each(function(i, container) {
var $container = $(container)
var $specSelects = $(container).find('.-spec-select')
var $chosenSpecId = $container.find('.-chosen-spec-id').first()
var $specSelect1 = $container.find('.-spec-select-level-1').first()
var $specSelect2 = $container.find('.-spec-select-level-2').first()
var $specSelect3 = $container.find('.-spec-select-level-3').first()
var $specSelect4 = $container.find('.-spec-select-level-4').first()
var specSelects = [$specSelect1, $specSelect2, $specSelect3, $specSelect4]
$specSelects.select2(specSelectOptions)
var chosenSpecId = $chosenSpecId.val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId, $container, $chosenSpecId, specSelects)
$specSelects.on('change', function($evt) {
var specId = $evt.added ? $evt.added.id : null
updateSpecializationWidgets(specId, $container, $chosenSpecId, specSelects)
})
})
var chosenSpecId = $('#chosenSpecId').val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId)
$specSelects.on('change', function($evt) {
updateSpecializationWidgets($evt.added ? $evt.added.id : null)
})
var $specSelect1 = $('.-spec-select-level-1')
var $specSelect2 = $('.-spec-select-level-2')
var $specSelect3 = $('.-spec-select-level-3')
var $specSelect4 = $('.-spec-select-level-4')
function updateSpecializationWidgets(specId) {
function updateSpecializationWidgets(specId, $container, $chosenSpecId, specSelects) {
return getSpecializationTree(specId).then(function(specs) {
var specLevel1 = specs.specLevel1
var specLevel2 = specs.specLevel2
var specLevel3 = specs.specLevel3
var specLevel4 = specs.specLevel4
$specSelect1.select2('data', specLevel1 ? {id: specLevel1.id, text: specLevel1.name, origItem: specLevel1} : null)
$specSelect2.select2('data', specLevel2 ? {id: specLevel2.id, text: specLevel2.name, origItem: specLevel2} : null)
$specSelect3.select2('data', specLevel3 ? {id: specLevel3.id, text: specLevel3.name, origItem: specLevel3} : null)
$specSelect4.select2('data', specLevel4 ? {id: specLevel4.id, text: specLevel4.name, origItem: specLevel4} : null)
specSelects[0].select2('data', specLevel1 ? {id: specLevel1.id, text: specLevel1.name, origItem: specLevel1} : null)
specSelects[1].select2('data', specLevel2 ? {id: specLevel2.id, text: specLevel2.name, origItem: specLevel2} : null)
specSelects[2].select2('data', specLevel3 ? {id: specLevel3.id, text: specLevel3.name, origItem: specLevel3} : null)
specSelects[3].select2('data', specLevel4 ? {id: specLevel4.id, text: specLevel4.name, origItem: specLevel4} : null)
$('#chosenSpecId').val(specId)
$chosenSpecId.val(specId)
})
}

@ -4,6 +4,7 @@ from django.db import models
from django.db.models import Q
from django.utils import timezone
from mptt.models import TreeForeignKey
import pydash as _; _.map = _.map_; _.filter = _.filter_
from users.models import User, Team
from specializations.models import Specialization
@ -76,7 +77,7 @@ class Project(models.Model):
('trashed', 'В корзине'),
('deleted', 'Удален'),
)
budget = models.DecimalField(max_digits=10, decimal_places=0)
budget_by_agreement = models.BooleanField(default=False)
created = models.DateTimeField(default=timezone.now)
@ -104,6 +105,9 @@ class Project(models.Model):
def secure_deal(self):
return self.deal_type == 'secure_deal'
def get_team_answers(self):
return _.filter(self.answers.all(), lambda a: isinstance(a.author, Team))
class ProjectFile(models.Model):

@ -81,7 +81,7 @@
<div class="col-lg-3"></div>
<div class="col-lg-3"></div>-->
</div>
<div class="polsF1 disTab">
<div class="polsF1 disTab -spec-select-container">
<div class="col-lg-3">
<input type="hidden" class="-spec-select -spec-select-level-1" style="width: 100%">
</div>
@ -98,7 +98,7 @@
<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 }}">
<input type="hidden" name="{{ form.specialization.html_name }}" value="{{ form.specialization.value }}" class="-chosen-spec-id">
</div>
<div class="titleF1 titleF2 disTab">
<div class="col-lg-12">Бюджет <span style="color: red">{{ form.budget.errors.as_text }}</span></div>

@ -90,7 +90,7 @@
<div class="col-lg-3"></div>
<div class="col-lg-3"></div>-->
</div>
<div class="polsF1 disTab">
<div class="polsF1 disTab -spec-select-container">
<div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%">
</div>
@ -107,7 +107,7 @@
<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 }}">
<input type="hidden" class="-chosen-spec-id" name="{{ form.specialization.html_name }}" value="{{ form.specialization.value }}">
</div>
<div class="titleF1 titleF2 disTab">
<div class="col-lg-12">Бюджет <span style="color: red">{{ form.budget.errors.as_text }}</span></div>

@ -31,7 +31,8 @@
<div class="col-lg-3">Специализации</div>
<div class="col-lg-9"></div>
</div>
<div class="polsF1 disTab">
<div class="polsF1 disTab -spec-select-container">
<div class="col-lg-3">
<input type="hidden" class="-spec-select -spec-select-level-1" style="width: 100%">
</div>
@ -45,7 +46,7 @@
<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 }}">
<input type="hidden" name="{{ form.specialization.html_name }}" value="{{ form.specialization.value }}" class="-chosen-spec-id">
</div>
@ -182,9 +183,6 @@
<li>
Объект "{{ proj.realty.name }}"
</li>
<li>
<span>0</span> ответ от имени группы
</li>
</ul>
<p class="textPro">{{ proj.text }}</p>

@ -3,21 +3,8 @@
{% block content %}
<div class='container-fluid'>
<div class='row'>
<div id='fileUploadContainer' class='col-xs-12' style='margin-top: 15px'>
<p id='fileUploadAddBtn'>Add a file...</p>
<p class='file-upload-widget' style='display: none'>
<input type='file' class='file-upload-input' style='position: absolute; top: -1000px; left: -1000px'>
<span class='file-upload-label'></span>
<a
href='#'
onclick='return false'
class='file-upload-remove-btn'
style='padding: 10px; text-decoration: none'>
&times;
</a>
</p>
<div class='col-xs-12' style='margin-top: 15px'>
<p>Hello there</p>
</div>
</div>
</div>

@ -43,9 +43,6 @@
<li>
Объект "{{ proj.realty.name }}"
</li>
<li>
<span>0</span> ответ от имени группы
</li>
</ul>
<p class="textPro">
</p>

@ -43,9 +43,6 @@
<li>
Объект "{{ proj.realty.name }}"
</li>
<li>
<span>0</span> ответ от имени группы
</li>
</ul>
<p class="textPro">
</p>

@ -14,10 +14,9 @@
<div class="avatar">
<div class="avatarInset">
{% if contractor.avatar %}
{% thumbnail contractor.avatar "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
{% thumbnail contractor.avatar "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
{% else %}
<img src="{% static 'img/profile.jpg' %}" alt="profile-image">
{% endif %}

@ -48,7 +48,7 @@
<ul class="desPro">
<li>Объект "{{ proj.realty.name }}"</li>
<li><span>0</span> ответ от имени группы</li>
<li><span>{{ proj.get_team_answers|length }}</span> ответ от имени группы</li>
</ul>
<ul class="color-menu">

@ -1,10 +1,15 @@
{% load specializtions_tags %}
{% load thumbnail %}
<div class="col-lg-12">
<div class="col-lg-3 divCol3">
<div class="avatar new-mar">
<div class="avatarInset">
{% if customer.avatar %}
<img src="{{ customer.avatar.url }}" alt="profile-image">
{% thumbnail customer.avatar "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
{% else %}
<img src="{% static 'img/profile.jpg' %}" alt="profile-image">
{% endif %}

@ -1,6 +1,8 @@
{% extends 'partials/base.html' %}
{% load thumbnail %}
{% block content %}
{% include 'partials/header.html' %}
@ -21,7 +23,9 @@
<div class="avatar">
<div class="avatarInset">
{% if form.avatar.value %}
<img src="{{ form.avatar.value.url }}" alt="profile-image">
{% thumbnail form.avatar.value "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
{% else %}
<img src="{% static 'img/profile.jpg' %}" alt="profile-image">
{% endif %}

@ -23,7 +23,9 @@
<div class="avatar">
<div class="avatarInset">
{% if form.avatar.value %}
<img src="{{ form.avatar.value.url }}" alt="profile-image">
{% thumbnail form.avatar.value "235x224" crop="center" as im %}
<img src="{{ im.url }}" alt="profile-image">
{% endthumbnail %}
{% else %}
<img src="{% static 'img/profile.jpg' %}" alt="profile-image">
{% endif %}

@ -3,19 +3,19 @@ from django.conf.urls import include
from django.contrib.auth.views import login, logout
from .views import (
contractor_resumefile_create,
ContractorFilterView,
ContractorOfficeDetailView,
ContractorOfficeOpenProjectsView,
ContractorProfileDetailView,
ContractorResumeUpdateView,
CustomerProfileCurrentProjectsView,
CustomerProfileOpenProjectsView,
CustomerProfileReviewsView,
CustomerProfileTrashedProjectsView,
TeamCreateView,
UserFinancialInfoEditView,
UserProfileEditView,
TeamCreateView,
ContractorResumeUpdateView,
ContractorOfficeOpenProjectsView,
contractor_resumefile_create,
)

Loading…
Cancel
Save