|
@@ -1,16 +1,43 @@
|
|
|
class App.TicketState extends App.Model
|
|
|
- @configure 'TicketState', 'name', 'note', 'active'
|
|
|
+ @configure 'TicketState', 'name', 'state_type_id', 'next_state_id', 'default_create', 'default_follow_up', 'ignore_escalation', 'note', 'active', 'updated_at'
|
|
|
@extend Spine.Model.Ajax
|
|
|
@url: @apiPath + '/ticket_states'
|
|
|
@configure_attributes = [
|
|
|
- { name: 'name', display: __('Name'), tag: 'input', type: 'text', limit: 100, null: false, translate: true },
|
|
|
- { name: 'active', display: __('Active'), tag: 'active', default: true },
|
|
|
- { name: 'updated_at', display: __('Updated'), tag: 'datetime', readonly: 1 },
|
|
|
- { name: 'created_at', display: __('Created'), tag: 'datetime', readonly: 1 },
|
|
|
+ { name: 'name', display: __('Name'), tag: 'input', type: 'text', limit: 100, null: false, translate: true },
|
|
|
+ { name: 'state_type_id', display: __('Type'), tag: 'select', null: false, relation: 'TicketStateType', nulloption: true, help: __('Zammad uses state types to know what it should do with your state. This allows you to have different types like pending actions, pending reminders or closed states.'), translate: true },
|
|
|
+ { name: 'next_state_id', display: __('Next State'), tag: 'select', null: true, relation: 'TicketState', nulloption: true },
|
|
|
+ { name: 'ignore_escalation', display: __('Ignore Escalation'), tag: 'boolean', null: false, default: false },
|
|
|
+ { name: 'note', display: __('Note'), tag: 'textarea', limit: 250, null: true },
|
|
|
+ { name: 'active', display: __('Active'), tag: 'active', default: true },
|
|
|
+ { name: 'updated_at', display: __('Updated'), tag: 'datetime', readonly: 1 },
|
|
|
+ { name: 'created_at', display: __('Created'), tag: 'datetime', readonly: 1 },
|
|
|
]
|
|
|
+ @configure_clone = true
|
|
|
@configure_translate = true
|
|
|
@configure_overview = [
|
|
|
'name',
|
|
|
+ 'state_type_id',
|
|
|
+ ]
|
|
|
+
|
|
|
+ @description = __('''
|
|
|
+A ticket's state is used to categorize and manage the lifecycle of a ticket or customer inquiry.
|
|
|
+''')
|
|
|
+
|
|
|
+ @badges = [
|
|
|
+ {
|
|
|
+ display: __('Default for new tickets')
|
|
|
+ active: (object) ->
|
|
|
+ object.default_create
|
|
|
+ attribute: 'name'
|
|
|
+ class: 'primary'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ display: __('Default for follow-ups')
|
|
|
+ active: (object) ->
|
|
|
+ object.default_follow_up
|
|
|
+ attribute: 'name'
|
|
|
+ class: 'primary'
|
|
|
+ }
|
|
|
]
|
|
|
|
|
|
@byCategory: (category) ->
|