remotes/origin/PR-39
ArturBaybulatov 9 years ago
parent 04c639b97d
commit 4245732d9b
  1. 19
      assets/index.js
  2. 20
      projects/templates/customer_project_create.html
  3. 22
      projects/templates/customer_project_edit.html

@ -72,7 +72,6 @@ $('[data-tooltip]').tooltip({
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]
reinitSpecializationsByWorkType($specSelects, null)
@ -93,14 +92,21 @@ $('[data-tooltip]').tooltip({
$.get('/api/specializations/?parent__name=_root')
.then(function(res) {
var rootSpecs = res.results
var rootSpec = workTypeId == null ? rootSpecs[0] : ({1: rootSpecs[0], 2: rootSpecs[1], 3: rootSpecs[2]})[workTypeId]
$specSelects.select2(_.merge(specSelectOptions, {
ajax: {url: format('/api/specializations/?lft__gte=%s&rght__lte=%s', rootSpec.lft, rootSpec.rght)},
}))
if (workTypeId == null) {
var url = '/api/specializations/'
} else {
var rootSpec = ({1: rootSpecs[0], 2: rootSpecs[1], 3: rootSpecs[2]})[workTypeId]
var url = format('/api/specializations/?lft__gte=%s&rght__lte=%s', rootSpec.lft, rootSpec.rght)
}
specSelectOptions.ajax.url = url
$specSelects.select2(specSelectOptions)
})
}
window.reinitSpecializationsByWorkType = reinitSpecializationsByWorkType
function updateSpecializationWidgets(specId, $container, $chosenSpecId, specSelects) {
return getSpecializationTree(specId).then(function(specs) {
@ -118,8 +124,7 @@ $('[data-tooltip]').tooltip({
})
}
window.reinitSpecializationsByWorkType = reinitSpecializationsByWorkType
window.updateSpecializationWidgets = updateSpecializationWidgets
}())

@ -350,10 +350,26 @@
;(function() {
var $radiosContainer = $('.-project-work-type-selection-container').first()
var $radios = $radiosContainer.find('input[type=radio][name={{ form.work_type.html_name }}]')
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 $radiosContainer = $('.-project-work-type-selection-container').first()
var $radios = $radiosContainer.find('input[type=radio][name={{ form.work_type.html_name }}]')
var workTypeId = Number($radios.filter(':checked').val()) || 1
reinitSpecializationsByWorkType($specSelects, workTypeId)
var chosenSpecId = $chosenSpecId.val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
$radios.on('change', function($evt) {
var $that = $(this)

@ -367,12 +367,30 @@
;(function() {
var $radiosContainer = $('.-project-work-type-selection-container').first()
var $radios = $radiosContainer.find('input[type=radio][name={{ form.work_type.html_name }}]')
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 $radiosContainer = $('.-project-work-type-selection-container').first()
var $radios = $radiosContainer.find('input[type=radio][name={{ form.work_type.html_name }}]')
var workTypeId = Number($radios.filter(':checked').val()) || 1
reinitSpecializationsByWorkType($specSelects, workTypeId)
var chosenSpecId = $chosenSpecId.val()
if (chosenSpecId)
updateSpecializationWidgets(chosenSpecId, $specSelectContainer, $chosenSpecId, specSelects)
$radios.on('change', function($evt) {
console.log('Radio change')
var $that = $(this)
var workTypeId = $that.val()
reinitSpecializationsByWorkType($specSelects, workTypeId)

Loading…
Cancel
Save