Moved show additional ticket attributes to bottom to middle in create screens.

This commit is contained in:
Martin Edenhofer 2017-01-13 19:55:12 +01:00
parent 082f8621da
commit 6f99e65361
4 changed files with 45 additions and 13 deletions

View file

@ -48,14 +48,14 @@ class App.UiElement.object_manager_attribute extends App.UiElement.ApplicationUi
objects =
Ticket:
Customer:
create_bottom:
create_middle:
shown: true
required: false
edit:
shown: true
required: false
Agent:
create_bottom:
create_middle:
shown: true
required: false
edit:

View file

@ -83,7 +83,7 @@ class Items extends App.ControllerSubContent
edit: (e) =>
e.preventDefault()
id = $( e.target ).closest('tr').data('id')
id = $(e.target).closest('tr').data('id')
new Edit(
pageData:
head: @object
@ -135,15 +135,21 @@ class New extends App.ControllerGenericNew
onSubmit: (e) =>
params = @formParam(e.target)
# show attributes for create_middle in two column style
if params.screens && params.screens.create_middle
for role, value of params.screens.create_middle
value.item_class = 'column'
params.object = @pageData.head
object = new App[ @genericObject ]
object = new App[@genericObject]
object.load(params)
# validate
errors = object.validate()
if errors
@log 'error', errors
@formValidate( form: e.target, errors: errors )
@formValidate(form: e.target, errors: errors)
return false
# disable form
@ -154,7 +160,7 @@ class New extends App.ControllerGenericNew
object.save(
done: ->
if ui.callback
item = App[ ui.genericObject ].fullLocal(@id)
item = App[ui.genericObject].fullLocal(@id)
ui.callback(item)
ui.close()
@ -167,11 +173,11 @@ class New extends App.ControllerGenericNew
class Edit extends App.ControllerGenericEdit
content: =>
@item = App[ @genericObject ].find( @id )
@item = App[@genericObject].find(@id)
@head = @pageData.head || @pageData.object
# set disabled attributes
configure_attributes = clone(App[ @genericObject ].configure_attributes)
configure_attributes = clone(App[@genericObject].configure_attributes)
for attribute in configure_attributes
if attribute.name is 'name'
attribute.disabled = true
@ -189,6 +195,12 @@ class Edit extends App.ControllerGenericEdit
onSubmit: (e) =>
params = @formParam(e.target)
# show attributes for create_middle in two column style
if params.screens && params.screens.create_middle
for role, value of params.screens.create_middle
value.item_class = 'column'
params.object = @pageData.head
@item.load(params)
@ -196,7 +208,7 @@ class Edit extends App.ControllerGenericEdit
errors = @item.validate()
if errors
@log 'error', errors
@formValidate( form: e.target, errors: errors )
@formValidate(form: e.target, errors: errors)
return false
# disable form
@ -207,7 +219,7 @@ class Edit extends App.ControllerGenericEdit
@item.save(
done: ->
if ui.callback
item = App[ ui.genericObject ].fullLocal(@id)
item = App[ui.genericObject].fullLocal(@id)
ui.callback(item)
ui.close()

View file

@ -0,0 +1,21 @@
class UpdateObjectManagerAttributeCreateMiddle < ActiveRecord::Migration
def up
# return if it's a new setup
return if !Setting.find_by(name: 'system_init_done')
ObjectManager::Attribute.all.each { |attribute|
next if attribute.name == 'tags'
next if !attribute.screens
next if !attribute.screens['create_bottom']
attribute.screens['create_middle'] = attribute.screens['create_bottom']
attribute.screens.delete('create_bottom')
attribute.save!
}
attribute = ObjectManager::Attribute.find_by(name: 'priority_id')
attribute.data_option['nulloption'] = false
attribute.save!
Cache.clear
end
end

View file

@ -3710,7 +3710,7 @@ ObjectManager::Attribute.add(
data_type: 'select',
data_option: {
relation: 'TicketPriority',
nulloption: true,
nulloption: false,
multiple: false,
null: false,
default: 2,
@ -3728,7 +3728,6 @@ ObjectManager::Attribute.add(
edit: {
Agent: {
null: false,
nulloption: false,
},
},
},
@ -5296,7 +5295,7 @@ Trigger.create_or_update(
'notification.email' => {
'body' => '<div>Your request <b>(#{config.ticket_hook}#{ticket.number})</b> has been received and will be reviewed by our support staff.</div>
<br/>
<div>To provide additional information, please reply to this email or click on the following link:
<div>To provide additional information, please reply to this email or click on the following link (for initial login, please request a new password):
<a href="#{config.http_type}://#{config.fqdn}/#ticket/zoom/#{ticket.id}">#{config.http_type}://#{config.fqdn}/#ticket/zoom/#{ticket.id}</a>
</div>
<br/>