Follow up fix for issue #1952 - New ticket attributes is also show for customers (which should not).
This commit is contained in:
parent
6b2e43baef
commit
7fac7501f7
2 changed files with 92 additions and 3 deletions
|
@ -466,9 +466,9 @@ class App.ControllerForm extends App.Controller
|
||||||
uncheckParam = {}
|
uncheckParam = {}
|
||||||
lookupForm.find('input[type=checkbox]').each( (index) ->
|
lookupForm.find('input[type=checkbox]').each( (index) ->
|
||||||
type = $(@).data('field-type')
|
type = $(@).data('field-type')
|
||||||
checked = $(@).attr('checked')
|
checked = $(@).prop('checked')
|
||||||
name = $(@).attr('name')
|
name = $(@).attr('name')
|
||||||
if name && !checked && (!(name of param) || param[name] is '')
|
if name && !checked && !(name of param)
|
||||||
if !(name of uncheckParam)
|
if !(name of uncheckParam)
|
||||||
if type is 'boolean'
|
if type is 'boolean'
|
||||||
uncheckParam[name] = false
|
uncheckParam[name] = false
|
||||||
|
@ -482,7 +482,7 @@ class App.ControllerForm extends App.Controller
|
||||||
# verify if we have not checked radios
|
# verify if we have not checked radios
|
||||||
lookupForm.find('input[type=radio]').each( (index) ->
|
lookupForm.find('input[type=radio]').each( (index) ->
|
||||||
type = $(@).data('field-type')
|
type = $(@).data('field-type')
|
||||||
checked = $(@).attr('checked')
|
checked = $(@).prop('checked')
|
||||||
name = $(@).attr('name')
|
name = $(@).attr('name')
|
||||||
if name && !checked && !(name of param)
|
if name && !checked && !(name of param)
|
||||||
if type is 'boolean'
|
if type is 'boolean'
|
||||||
|
|
|
@ -1176,3 +1176,92 @@ test("object manager form 2", function() {
|
||||||
deepEqual(params, test_params, 'form param check')
|
deepEqual(params, test_params, 'form param check')
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test("object manager form 3", function() {
|
||||||
|
|
||||||
|
$('#forms').append('<hr><h1>object manager 3</h1><form id="form13"></form>')
|
||||||
|
var el = $('#form13')
|
||||||
|
|
||||||
|
var defaults = {}
|
||||||
|
new App.ControllerForm({
|
||||||
|
el: el,
|
||||||
|
model: {
|
||||||
|
configure_attributes: [
|
||||||
|
{ name: 'data_type', display: 'Format', tag: 'object_manager_attribute', null: false },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
params: $.extend(defaults, { object: 'Ticket' }),
|
||||||
|
autofocus: true
|
||||||
|
});
|
||||||
|
|
||||||
|
var params = App.ControllerForm.params(el)
|
||||||
|
var test_params = {
|
||||||
|
data_option: {
|
||||||
|
default: "",
|
||||||
|
maxlength: 120,
|
||||||
|
type: "text"
|
||||||
|
},
|
||||||
|
data_type: "input",
|
||||||
|
screens: {
|
||||||
|
create_middle: {
|
||||||
|
"ticket.agent": {
|
||||||
|
shown: true,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
"ticket.customer": {
|
||||||
|
shown: true,
|
||||||
|
required: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
edit: {
|
||||||
|
"ticket.agent": {
|
||||||
|
shown: true,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
"ticket.customer": {
|
||||||
|
shown: true,
|
||||||
|
required: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
deepEqual(params, test_params, 'form param check')
|
||||||
|
|
||||||
|
el.find('[name="screens::create_middle::ticket.customer::shown"]').click()
|
||||||
|
el.find('[name="screens::edit::ticket.customer::shown"]').click()
|
||||||
|
|
||||||
|
params = App.ControllerForm.params(el)
|
||||||
|
test_params = {
|
||||||
|
data_option: {
|
||||||
|
default: "",
|
||||||
|
maxlength: 120,
|
||||||
|
type: "text"
|
||||||
|
},
|
||||||
|
data_type: "input",
|
||||||
|
screens: {
|
||||||
|
create_middle: {
|
||||||
|
"ticket.agent": {
|
||||||
|
shown: true,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
"ticket.customer": {
|
||||||
|
shown: false,
|
||||||
|
required: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
edit: {
|
||||||
|
"ticket.agent": {
|
||||||
|
shown: true,
|
||||||
|
required: false,
|
||||||
|
},
|
||||||
|
"ticket.customer": {
|
||||||
|
shown: false,
|
||||||
|
required: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
deepEqual(params, test_params, 'form param check')
|
||||||
|
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in a new issue