Modified specialization select logic, implemented for both portfolio and work-sell creation and editing

remotes/origin/PR-39
ArturBaybulatov 9 years ago
parent 9b16b94947
commit c3fc87c327
  1. 1
      projects/forms.py
  2. 44
      projects/templates/contractor_portfolio_edit.html
  3. 114
      users/templates/contractor_profile.html
  4. 46
      users/templates/portfolio_create_form.html
  5. 39
      users/templates/worksell_create_form.html
  6. 44
      work_sell/templates/worksell_edit.html

@ -200,6 +200,7 @@ class PortfolioForm(forms.ModelForm):
'construction_type': forms.Select(attrs={'class': 'selectpicker'}),
'currency': forms.Select(attrs={'class': 'selectpicker'}),
'term_type': forms.Select(attrs={'class': 'selectpicker'}),
'work_type': forms.Select(attrs={'class': 'selectpicker -project-work-type-select-field'}),
}

@ -26,8 +26,11 @@
<p class="titleScore">Изменение портфолио</p>
</div>
<form method="post" enctype="multipart/form-data" id="worksell-add-form">{% csrf_token %}
<form method="post" enctype="multipart/form-data" id="worksell-add-form" class="-spec-work-type-combo-container">
{% csrf_token %}
{{ form.errors }}
<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 }}">
@ -52,7 +55,7 @@
<div class="textAreaBlock2 text-nn box-sizing disTab">
<p>Специализации</p>
</div>
<div class="-spec-select-container">
<div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%">
</div>
@ -72,7 +75,6 @@
<input type="hidden" class="-chosen-spec-id" name="{{ form.specialization.html_name }}"
value="{{ form.specialization.value }}">
</div>
<div class="textAreaBlock2 text-nn box-sizing disTab">
<p>Бюджет{{ form.budget.errors.as_text }}</p>
<div class="row">
@ -170,39 +172,3 @@
</div>
</div>
{% endblock %}
{% block js_block %}
<script>
// Load specialization choices by work type ---------------------------
;(function() {
var $specSelectContainer = $('.-spec-select-container').first()
var $specSelects = $specSelectContainer.find('.-spec-select')
var $chosenSpecId = $specSelectContainer.find('.-chosen-spec-id').first()
var $specSelect1 = $specSelectContainer.find('.-spec-select-level-1').first()
var $specSelect2 = $specSelectContainer.find('.-spec-select-level-2').first()
var $specSelect3 = $specSelectContainer.find('.-spec-select-level-3').first()
var $specSelect4 = $specSelectContainer.find('.-spec-select-level-4').first()
var specSelects = [$specSelect1, $specSelect2, $specSelect3, $specSelect4]
var $workTypeSelect = $('.-project-work-type-select-field').first()
var workTypeId = Number($workTypeSelect.find('option:selected').first().val()) || 1
reinitSpecializationsByWorkType($specSelects, workTypeId)
var chosenSpecId = $chosenSpecId.val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
$workTypeSelect.on('change', function($evt) {
var $that = $(this)
var workTypeId = Number($that.val())
reinitSpecializationsByWorkType($specSelects, workTypeId)
})
}())
</script>
{% endblock %}

@ -614,7 +614,7 @@
<script src='{% static "lib/ckeditor/adapters/jquery.js" %}'></script>
<script>
(function() {
;(function() {
// Pagination ---------------------------------------------------
@ -822,68 +822,68 @@
// Load portfolio specialization choices by work type ---------------------------
;(function() {
var $specSelectContainer = $('.-spec-select-container.-for-portfolios').first()
var $specSelects = $specSelectContainer.find('.-spec-select')
var $chosenSpecId = $specSelectContainer.find('.-chosen-spec-id').first()
var $specSelect1 = $specSelectContainer.find('.-spec-select-level-1').first()
var $specSelect2 = $specSelectContainer.find('.-spec-select-level-2').first()
var $specSelect3 = $specSelectContainer.find('.-spec-select-level-3').first()
var $specSelect4 = $specSelectContainer.find('.-spec-select-level-4').first()
var specSelects = [$specSelect1, $specSelect2, $specSelect3, $specSelect4]
var $workTypeSelect = $('.-project-work-type-select-field').first()
var workTypeId = Number($workTypeSelect.find('option:selected').first().val()) || 1
reinitSpecializationsByWorkType($specSelects, workTypeId)
var chosenSpecId = $chosenSpecId.val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
$workTypeSelect.on('change', function($evt) {
var $that = $(this)
var workTypeId = Number($that.val())
reinitSpecializationsByWorkType($specSelects, workTypeId)
})
}())
//;(function() {
// var $specSelectContainer = $('.-spec-select-container.-for-portfolios').first()
// var $specSelects = $specSelectContainer.find('.-spec-select')
//
// var $chosenSpecId = $specSelectContainer.find('.-chosen-spec-id').first()
//
// var $specSelect1 = $specSelectContainer.find('.-spec-select-level-1').first()
// var $specSelect2 = $specSelectContainer.find('.-spec-select-level-2').first()
// var $specSelect3 = $specSelectContainer.find('.-spec-select-level-3').first()
// var $specSelect4 = $specSelectContainer.find('.-spec-select-level-4').first()
// var specSelects = [$specSelect1, $specSelect2, $specSelect3, $specSelect4]
//
// var $workTypeSelect = $('.-project-work-type-select-field').first()
//
// var workTypeId = Number($workTypeSelect.find('option:selected').first().val()) || 1
// reinitSpecializationsByWorkType($specSelects, workTypeId)
//
// var chosenSpecId = $chosenSpecId.val()
//
// if (chosenSpecId)
// updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
//
// $workTypeSelect.on('change', function($evt) {
// var $that = $(this)
// var workTypeId = Number($that.val())
// reinitSpecializationsByWorkType($specSelects, workTypeId)
// })
//}())
// Load "work_sell" specialization choices by work type ---------------------------
;(function() {
var $specSelectContainer = $('.-spec-select-container.-for-work-sell').first()
var $specSelects = $specSelectContainer.find('.-spec-select')
var $chosenSpecId = $specSelectContainer.find('.-chosen-spec-id').first()
var $specSelect1 = $specSelectContainer.find('.-spec-select-level-1').first()
var $specSelect2 = $specSelectContainer.find('.-spec-select-level-2').first()
var $specSelect3 = $specSelectContainer.find('.-spec-select-level-3').first()
var $specSelect4 = $specSelectContainer.find('.-spec-select-level-4').first()
var specSelects = [$specSelect1, $specSelect2, $specSelect3, $specSelect4]
var $workTypeSelect = $('.-project-work-type-select-field').first()
var workTypeId = Number($workTypeSelect.find('option:selected').first().val()) || 1
reinitSpecializationsByWorkType($specSelects, workTypeId)
var chosenSpecId = $chosenSpecId.val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
$workTypeSelect.on('change', function($evt) {
var $that = $(this)
var workTypeId = Number($that.val())
reinitSpecializationsByWorkType($specSelects, workTypeId)
})
}())
//;(function() {
// var $specSelectContainer = $('.-spec-select-container.-for-work-sell').first()
// var $specSelects = $specSelectContainer.find('.-spec-select')
//
// var $chosenSpecId = $specSelectContainer.find('.-chosen-spec-id').first()
//
// var $specSelect1 = $specSelectContainer.find('.-spec-select-level-1').first()
// var $specSelect2 = $specSelectContainer.find('.-spec-select-level-2').first()
// var $specSelect3 = $specSelectContainer.find('.-spec-select-level-3').first()
// var $specSelect4 = $specSelectContainer.find('.-spec-select-level-4').first()
// var specSelects = [$specSelect1, $specSelect2, $specSelect3, $specSelect4]
//
// var $workTypeSelect = $('.-project-work-type-select-field').first()
//
// var workTypeId = Number($workTypeSelect.find('option:selected').first().val()) || 1
// reinitSpecializationsByWorkType($specSelects, workTypeId)
//
// var chosenSpecId = $chosenSpecId.val()
//
// if (chosenSpecId)
// updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
//
// $workTypeSelect.on('change', function($evt) {
// var $that = $(this)
// var workTypeId = Number($that.val())
// reinitSpecializationsByWorkType($specSelects, workTypeId)
// })
//}())

@ -2,7 +2,9 @@
<div class="modal-body">
<form method="post" id="portfolio-add-form">{% csrf_token %}
<form method="post" id="portfolio-add-form" class="-spec-work-type-combo-container">
{% csrf_token %}
<div class="textAreaBlock2 text-nn box-sizing disTab">
<p>Название<span style="color: red; margin-left:8px; font-size: 12px;"
class="error-{{ portfolio_form.name.html_name }}">{{ portfolio_form.name.errors.as_text }}</span>
@ -32,30 +34,28 @@
<p>Специализации</p>
</div>
<div class="-spec-select-container -for-portfolios">
<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"
name="{{ portfolio_form.specialization.html_name }}"
value="{{ portfolio_form.specialization.value }}"
class="-chosen-spec-id">
<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"
name="{{ portfolio_form.specialization.html_name }}"
value="{{ portfolio_form.specialization.value }}"
class="-chosen-spec-id">
<div class="textAreaBlock2 polsF1 text-nn box-sizing disTab">
<p>Бюджет{{ portfolio_form.budget.errors.as_text }}</p>
<div class="row">

@ -2,7 +2,8 @@
<div class="modal-body">
<form method="post" id="worksell-add-form">{% csrf_token %}
<form method="post" id="worksell-add-form" class="-spec-work-type-combo-container">
{% csrf_token %}
<div class="textAreaBlock2 text-nn box-sizing disTab">
<p>Название заказа <span style="color: red">{{ worksell_form.name.errors.as_text }}</span></p>
@ -28,30 +29,28 @@
<p>Специализации</p>
</div>
<div class="-spec-select-container -for-work-sell">
<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-1" 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-2" style="width: 100%">
</div>
<div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-4" style="width: 100%">
</div>
<div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-3" style="width: 100%">
</div>
<input
type="hidden"
class="-chosen-spec-id"
name="{{ worksell_form.specialization.html_name }}"
value="{{ worksell_form.specialization.value }}">
<div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-4" style="width: 100%">
</div>
<input
type="hidden"
class="-chosen-spec-id"
name="{{ worksell_form.specialization.html_name }}"
value="{{ worksell_form.specialization.value }}">
<div class="textAreaBlock2 polsF1 text-nn box-sizing disTab">
<p>Бюджет{{ worksell_form.budget.errors.as_text }}</p>
<div class="row">

@ -26,7 +26,9 @@
<p class="titleScore">Изменение готового проекта</p>
</div>
<form method="post" enctype="multipart/form-data" id="worksell-add-form">{% csrf_token %}
<form method="post" enctype="multipart/form-data" id="worksell-add-form" class="-spec-work-type-combo-container">
{% 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 }}">
@ -52,7 +54,7 @@
<p>Специализации <span style="color: red">{{ form.specialization.errors.as_text }}</span></p>
</div>
<div class="-spec-select-container">
<div class="col-lg-3">
<input type='hidden' class="-spec-select -spec-select-level-1" style="width: 100%">
</div>
@ -71,7 +73,7 @@
<input type="hidden" class="-chosen-spec-id" name="{{ form.specialization.html_name }}"
value="{{ form.specialization.value }}">
</div>
<div class="textAreaBlock2 text-nn box-sizing disTab">
<p>Бюджет <span style="color: red">{{ form.budget.errors.as_text }}</span></p>
@ -171,39 +173,3 @@
</div>
</div>
{% endblock %}
{% block js_block %}
<script>
// Load specialization choices by work type ---------------------------
;(function() {
var $specSelectContainer = $('.-spec-select-container').first()
var $specSelects = $specSelectContainer.find('.-spec-select')
var $chosenSpecId = $specSelectContainer.find('.-chosen-spec-id').first()
var $specSelect1 = $specSelectContainer.find('.-spec-select-level-1').first()
var $specSelect2 = $specSelectContainer.find('.-spec-select-level-2').first()
var $specSelect3 = $specSelectContainer.find('.-spec-select-level-3').first()
var $specSelect4 = $specSelectContainer.find('.-spec-select-level-4').first()
var specSelects = [$specSelect1, $specSelect2, $specSelect3, $specSelect4]
var $workTypeSelect = $('.-project-work-type-select-field').first()
var workTypeId = Number($workTypeSelect.find('option:selected').first().val()) || 1
reinitSpecializationsByWorkType($specSelects, workTypeId)
var chosenSpecId = $chosenSpecId.val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
$workTypeSelect.on('change', function($evt) {
var $that = $(this)
var workTypeId = Number($that.val())
reinitSpecializationsByWorkType($specSelects, workTypeId)
})
}())
</script>
{% endblock %}

Loading…
Cancel
Save