settings.js.coffee 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. class Branding extends App.ControllerTabs
  2. header: 'Branding'
  3. constructor: ->
  4. super
  5. return if !@authenticate()
  6. @title 'Branding', true
  7. @tabs = [
  8. { name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'System::Branding' } },
  9. ]
  10. @render()
  11. class System extends App.ControllerTabs
  12. header: 'System'
  13. constructor: ->
  14. super
  15. return if !@authenticate()
  16. @title 'System', true
  17. @tabs = [
  18. { name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'System::Base' } },
  19. { name: 'Services', 'target': 'services', controller: App.SettingsArea, params: { area: 'System::Services' } },
  20. { name: 'Storage', 'target': 'storage', controller: App.SettingsArea, params: { area: 'System::Storage' } },
  21. { name: 'Frontend', 'target': 'ui', controller: App.SettingsArea, params: { area: 'System::UI' } },
  22. ]
  23. @render()
  24. class Security extends App.ControllerTabs
  25. header: 'Security'
  26. constructor: ->
  27. super
  28. return if !@authenticate()
  29. @title 'Security', true
  30. @tabs = [
  31. { name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Security::Base' } },
  32. # { name: 'Authentication', 'target': 'auth', controller: App.SettingsArea, params: { area: 'Security::Authentication' } },
  33. { name: 'Password', 'target': 'password', controller: App.SettingsArea, params: { area: 'Security::Password' } },
  34. { name: 'Third-Party Applications', 'target': 'third_party_auth', controller: App.SettingsArea, params: { area: 'Security::ThirdPartyAuthentication' } },
  35. # { name: 'Session', 'target': 'session', controller: '' },
  36. ]
  37. @render()
  38. class Import extends App.ControllerTabs
  39. header: 'Import'
  40. constructor: ->
  41. super
  42. return if !@authenticate()
  43. @title 'Import', true
  44. @tabs = [
  45. { name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Import::Base' } },
  46. { name: 'OTRS', 'target': 'otrs', controller: App.SettingsArea, params: { area: 'Import::OTRS' } },
  47. ]
  48. @render()
  49. class Ticket extends App.ControllerTabs
  50. header: 'Ticket'
  51. constructor: ->
  52. super
  53. return if !@authenticate()
  54. @title 'Ticket', true
  55. @tabs = [
  56. { name: 'Base', 'target': 'base', controller: App.SettingsArea, params: { area: 'Ticket::Base' } },
  57. { name: 'Number', 'target': 'number', controller: App.SettingsArea, params: { area: 'Ticket::Number' } },
  58. # { name: 'Sender Format', 'target': 'sender-format', controller: App.SettingsArea, params: { area: 'Ticket::SenderFormat' } },
  59. ]
  60. @render()
  61. App.Config.set( 'SettingBranding', { prio: 1200, parent: '#settings', name: 'Branding', target: '#settings/branding', controller: Branding, role: ['Admin'] }, 'NavBarAdmin' )
  62. App.Config.set( 'SettingSystem', { prio: 1400, parent: '#settings', name: 'System', target: '#settings/system', controller: System, role: ['Admin'] }, 'NavBarAdmin' )
  63. App.Config.set( 'SettingSecurity', { prio: 1600, parent: '#settings', name: 'Security', target: '#settings/security', controller: Security, role: ['Admin'] }, 'NavBarAdmin' )
  64. App.Config.set( 'SettingTicket', { prio: 1700, parent: '#settings', name: 'Ticket', target: '#settings/ticket', controller: Ticket, role: ['Admin'] }, 'NavBarAdmin' )
  65. App.Config.set( 'SettingImport', { prio: 1800, parent: '#settings', name: 'Import', target: '#settings/import', controller: Import, role: ['Admin'] }, 'NavBarAdmin' )