lesli_support 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (165) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +5 -0
  3. data/app/assets/config/lesli_support_manifest.js +38 -0
  4. data/app/assets/images/lesli_support/support-logo.svg +9 -0
  5. data/app/assets/javascripts/lesli_support/application.js +5011 -0
  6. data/app/assets/stylesheets/lesli_support/application.css +9 -0
  7. data/app/controllers/lesli_support/accounts_controller.rb +60 -0
  8. data/app/controllers/lesli_support/application_controller.rb +4 -0
  9. data/app/controllers/lesli_support/catalog_categories_controller.rb +60 -0
  10. data/app/controllers/lesli_support/catalog_priorities_controller.rb +60 -0
  11. data/app/controllers/lesli_support/catalog_types_controller.rb +60 -0
  12. data/app/controllers/lesli_support/catalog_workspaces_controller.rb +60 -0
  13. data/app/controllers/lesli_support/catalogs_controller.rb +12 -0
  14. data/app/controllers/lesli_support/dashboard/components_controller.rb +92 -0
  15. data/app/controllers/lesli_support/dashboards_controller.rb +36 -0
  16. data/app/controllers/lesli_support/options_controller.rb +23 -0
  17. data/app/controllers/lesli_support/ticket/discussions_controller.rb +5 -0
  18. data/app/controllers/lesli_support/tickets_controller.rb +169 -0
  19. data/app/helpers/lesli_support/accounts_helper.rb +4 -0
  20. data/app/helpers/lesli_support/application_helper.rb +4 -0
  21. data/app/helpers/lesli_support/catalog_categories_helper.rb +4 -0
  22. data/app/helpers/lesli_support/catalog_priorities_helper.rb +4 -0
  23. data/app/helpers/lesli_support/catalog_types_helper.rb +4 -0
  24. data/app/helpers/lesli_support/catalog_workspaces_helper.rb +4 -0
  25. data/app/helpers/lesli_support/catalogs_helper.rb +4 -0
  26. data/app/helpers/lesli_support/dashboards_helper.rb +4 -0
  27. data/app/helpers/lesli_support/options_helper.rb +4 -0
  28. data/app/helpers/lesli_support/ticket/discussions_helper.rb +4 -0
  29. data/app/jobs/lesli_support/application_job.rb +4 -0
  30. data/app/mailers/lesli_support/application_mailer.rb +6 -0
  31. data/app/models/lesli_support/account.rb +48 -0
  32. data/app/models/lesli_support/application_record.rb +5 -0
  33. data/app/models/lesli_support/catalog.rb +15 -0
  34. data/app/models/lesli_support/catalog_category.rb +5 -0
  35. data/app/models/lesli_support/catalog_priority.rb +5 -0
  36. data/app/models/lesli_support/catalog_type.rb +5 -0
  37. data/app/models/lesli_support/catalog_workspace.rb +5 -0
  38. data/app/models/lesli_support/dashboard/component.rb +18 -0
  39. data/app/models/lesli_support/dashboard.rb +15 -0
  40. data/app/models/lesli_support/option.rb +4 -0
  41. data/app/models/lesli_support/ticket/discussion.rb +7 -0
  42. data/app/models/lesli_support/ticket.rb +44 -0
  43. data/app/services/lesli_support/catalog_service.rb +139 -0
  44. data/app/services/lesli_support/ticket_service.rb +147 -0
  45. data/app/views/layouts/lesli_support/application.html.erb +15 -0
  46. data/app/views/lesli_support/accounts/_account.html.erb +2 -0
  47. data/app/views/lesli_support/accounts/_form.html.erb +17 -0
  48. data/app/views/lesli_support/accounts/edit.html.erb +10 -0
  49. data/app/views/lesli_support/accounts/index.html.erb +14 -0
  50. data/app/views/lesli_support/accounts/new.html.erb +9 -0
  51. data/app/views/lesli_support/accounts/show.html.erb +10 -0
  52. data/app/views/lesli_support/catalog_categories/_catalog_category.html.erb +2 -0
  53. data/app/views/lesli_support/catalog_categories/_form.html.erb +17 -0
  54. data/app/views/lesli_support/catalog_categories/edit.html.erb +10 -0
  55. data/app/views/lesli_support/catalog_categories/index.html.erb +14 -0
  56. data/app/views/lesli_support/catalog_categories/new.html.erb +9 -0
  57. data/app/views/lesli_support/catalog_categories/show.html.erb +10 -0
  58. data/app/views/lesli_support/catalog_priorities/_catalog_priority.html.erb +2 -0
  59. data/app/views/lesli_support/catalog_priorities/_form.html.erb +17 -0
  60. data/app/views/lesli_support/catalog_priorities/edit.html.erb +10 -0
  61. data/app/views/lesli_support/catalog_priorities/index.html.erb +14 -0
  62. data/app/views/lesli_support/catalog_priorities/new.html.erb +9 -0
  63. data/app/views/lesli_support/catalog_priorities/show.html.erb +10 -0
  64. data/app/views/lesli_support/catalog_types/_catalog_type.html.erb +2 -0
  65. data/app/views/lesli_support/catalog_types/_form.html.erb +17 -0
  66. data/app/views/lesli_support/catalog_types/edit.html.erb +10 -0
  67. data/app/views/lesli_support/catalog_types/index.html.erb +14 -0
  68. data/app/views/lesli_support/catalog_types/new.html.erb +9 -0
  69. data/app/views/lesli_support/catalog_types/show.html.erb +10 -0
  70. data/app/views/lesli_support/catalog_workspaces/_catalog_workspace.html.erb +2 -0
  71. data/app/views/lesli_support/catalog_workspaces/_form.html.erb +17 -0
  72. data/app/views/lesli_support/catalog_workspaces/edit.html.erb +10 -0
  73. data/app/views/lesli_support/catalog_workspaces/index.html.erb +14 -0
  74. data/app/views/lesli_support/catalog_workspaces/new.html.erb +9 -0
  75. data/app/views/lesli_support/catalog_workspaces/show.html.erb +10 -0
  76. data/app/views/lesli_support/catalogs/_catalog.html.erb +2 -0
  77. data/app/views/lesli_support/catalogs/_form.html.erb +17 -0
  78. data/app/views/lesli_support/catalogs/edit.html.erb +10 -0
  79. data/app/views/lesli_support/catalogs/index.html.erb +14 -0
  80. data/app/views/lesli_support/catalogs/new.html.erb +9 -0
  81. data/app/views/lesli_support/catalogs/show.html.erb +10 -0
  82. data/app/views/lesli_support/dashboards/edit.html.erb +1 -0
  83. data/app/views/lesli_support/dashboards/index.html.erb +1 -0
  84. data/app/views/lesli_support/dashboards/new.html.erb +1 -0
  85. data/app/views/lesli_support/dashboards/show.html.erb +1 -0
  86. data/app/views/lesli_support/options/_form.html.erb +17 -0
  87. data/app/views/lesli_support/options/_option.html.erb +2 -0
  88. data/app/views/lesli_support/options/edit.html.erb +10 -0
  89. data/app/views/lesli_support/options/index.html.erb +14 -0
  90. data/app/views/lesli_support/options/new.html.erb +9 -0
  91. data/app/views/lesli_support/options/show.html.erb +10 -0
  92. data/app/views/lesli_support/partials/_engine-navigation.html.erb +39 -0
  93. data/app/views/lesli_support/ticket/discussions/_discussion.html.erb +2 -0
  94. data/app/views/lesli_support/ticket/discussions/_form.html.erb +17 -0
  95. data/app/views/lesli_support/ticket/discussions/edit.html.erb +10 -0
  96. data/app/views/lesli_support/ticket/discussions/index.html.erb +14 -0
  97. data/app/views/lesli_support/ticket/discussions/new.html.erb +9 -0
  98. data/app/views/lesli_support/ticket/discussions/show.html.erb +10 -0
  99. data/app/views/lesli_support/tickets/edit.html.erb +20 -0
  100. data/app/views/lesli_support/tickets/index.html.erb +34 -0
  101. data/app/views/lesli_support/tickets/new.html.erb +20 -0
  102. data/app/views/lesli_support/tickets/show.html.erb +20 -0
  103. data/config/locales/translations.en.yml +43 -0
  104. data/config/locales/translations.es.yml +43 -0
  105. data/config/locales/translations.fr.yml +43 -0
  106. data/config/locales/translations.it.yml +43 -0
  107. data/config/locales/translations.pt.yml +43 -0
  108. data/config/routes.rb +61 -0
  109. data/db/migrate/v1/0702000110_create_lesli_support_accounts.rb +42 -0
  110. data/db/migrate/v1/0702000210_create_lesli_support_account_settings.rb +46 -0
  111. data/db/migrate/v1/0702010110_create_lesli_support_catalog_workspaces.rb +43 -0
  112. data/db/migrate/v1/0702010210_create_lesli_support_catalog_types.rb +42 -0
  113. data/db/migrate/v1/0702010310_create_lesli_support_catalog_categories.rb +43 -0
  114. data/db/migrate/v1/0702010410_create_lesli_support_catalog_priorities.rb +43 -0
  115. data/db/migrate/v1/0702050110_create_lesli_support_dashboards.rb +50 -0
  116. data/db/migrate/v1/0702050210_create_lesli_support_dashboard_components.rb +50 -0
  117. data/db/migrate/v1/0702100110_create_lesli_support_slas.rb +59 -0
  118. data/db/migrate/v1/0702110110_create_lesli_support_tickets.rb +99 -0
  119. data/db/migrate/v1/0702110510_create_lesli_support_ticket_discussions.rb +52 -0
  120. data/db/seed/development.rb +62 -0
  121. data/db/seed/production.rb +31 -0
  122. data/db/seed/test.rb +31 -0
  123. data/db/seeds.rb +45 -0
  124. data/db/tables/0702010510_create_cloud_help_catalog_ticket_sources.rb +44 -0
  125. data/db/tables/0702020110_create_cloud_help_workflows.rb +47 -0
  126. data/db/tables/0702020210_create_cloud_help_workflow_statuses.rb +47 -0
  127. data/db/tables/0702020310_create_cloud_help_workflow_associations.rb +29 -0
  128. data/db/tables/0702020410_create_cloud_help_workflow_actions.rb +18 -0
  129. data/db/tables/0702020510_create_cloud_help_workflow_checks.rb +20 -0
  130. data/db/tables/0702030110_create_cloud_help_custom_fields.rb +15 -0
  131. data/db/tables/0702040110_create_cloud_help_custom_validations.rb +16 -0
  132. data/db/tables/0702040210_create_cloud_help_custom_validation_rules.rb +16 -0
  133. data/db/tables/0702040310_create_cloud_help_custom_validation_fields.rb +16 -0
  134. data/db/tables/0702100310_create_cloud_help_ticket_actions.rb +16 -0
  135. data/db/tables/0702100410_create_cloud_help_ticket_activities.rb +15 -0
  136. data/db/tables/0702100610_create_cloud_help_ticket_files.rb +16 -0
  137. data/db/tables/0702100710_create_cloud_help_ticket_subscribers.rb +16 -0
  138. data/db/tables/0702101010_create_cloud_help_ticket_timelines.rb +14 -0
  139. data/db/tables/0702101110_create_cloud_help_ticket_assignments.rb +15 -0
  140. data/db/tables/0702101210_create_cloud_help_ticket_histories.rb +15 -0
  141. data/db/tables/0702110310_create_cloud_help_sla_actions.rb +17 -0
  142. data/db/tables/0702110410_create_cloud_help_sla_activities.rb +15 -0
  143. data/db/tables/0702110510_create_cloud_help_sla_discussions.rb +17 -0
  144. data/db/tables/0702110610_create_cloud_help_sla_files.rb +16 -0
  145. data/db/tables/0702110710_create_cloud_help_sla_subscribers.rb +16 -0
  146. data/db/tables/0702111010_create_cloud_help_sla_associations.rb +13 -0
  147. data/lib/lesli_support/engine.rb +50 -0
  148. data/lib/lesli_support/version.rb +4 -0
  149. data/lib/lesli_support.rb +6 -0
  150. data/lib/scss/application.scss +11 -0
  151. data/lib/tasks/lesli_support_tasks.rake +4 -0
  152. data/lib/vue/application.js +93 -0
  153. data/lib/vue/apps/dashboard/components/engine-version.vue +71 -0
  154. data/lib/vue/apps/dashboard/components/my-tasks.vue +77 -0
  155. data/lib/vue/apps/tickets/components/assignments.vue +93 -0
  156. data/lib/vue/apps/tickets/components/form.vue +305 -0
  157. data/lib/vue/apps/tickets/components/internal-comments.vue +107 -0
  158. data/lib/vue/apps/tickets/components/sla-info.vue +115 -0
  159. data/lib/vue/apps/tickets/index.vue +145 -0
  160. data/lib/vue/apps/tickets/new.vue +78 -0
  161. data/lib/vue/apps/tickets/show.vue +183 -0
  162. data/lib/vue/stores/tickets.js +276 -0
  163. data/lib/vue/stores/translations.json +272 -0
  164. data/readme.md +72 -0
  165. metadata +223 -0
@@ -0,0 +1,43 @@
1
+ ---
2
+ :en:
3
+ lesli_support:
4
+ tickets:
5
+ column_started_at: Started At
6
+ column_completed_at: Completed At
7
+ column_tags: Tags
8
+ column_reference_url: Reference URL
9
+ column_type: Type
10
+ column_id: ID
11
+ column_subject: Subject
12
+ column_workspace: Workspace
13
+ column_hours_worked: Hours Worked
14
+ column_category: Category
15
+ column_priority: Priority
16
+ column_creator: Creator
17
+ column_status: Status
18
+ view_all_tickets: All tickets
19
+ view_active_tickets: Active tickets
20
+ view_inactive_tickets: Inactive tickets
21
+ tab_information: Information
22
+ column_description: Description
23
+ column_deadline: Deadline
24
+ view_own_tickets: Own tickets
25
+ lesli:
26
+ shared:
27
+ view_discussions: Discussions
28
+ button_add_new: Add new
29
+ button_reload: Reload
30
+ view_files: Files
31
+ view_quick_actions: Quick actions
32
+ button_list: List
33
+ button_save: Save
34
+ button_delete: Delete
35
+ button_edit: Edit
36
+ view_status_active: Active
37
+ view_status_inactive: Inactive
38
+ button_settings: Settings
39
+ button_show: Show
40
+ toolbar_search: Search...
41
+ application:
42
+ navigation_logout: Logout
43
+ navigation_my_profile: My profile
@@ -0,0 +1,43 @@
1
+ ---
2
+ :es:
3
+ lesli_support:
4
+ tickets:
5
+ column_started_at: Fecha inicio
6
+ column_completed_at: Fecha completado
7
+ column_tags: Etiquetas
8
+ column_reference_url: URL de referencia
9
+ column_type: Tipo
10
+ column_id: ID
11
+ column_subject: Asunto
12
+ column_workspace: Workspace
13
+ column_hours_worked: Horas trabajadas
14
+ column_category: Categoria
15
+ column_priority: Prioridad
16
+ column_creator: Creador
17
+ column_status: Estado
18
+ view_all_tickets: Todos los tickets
19
+ view_active_tickets: Tickets activos
20
+ view_inactive_tickets: Tickets inactivos
21
+ tab_information: Información
22
+ column_description: Descripción
23
+ column_deadline: Fecha limite
24
+ view_own_tickets: Mis tickets
25
+ lesli:
26
+ shared:
27
+ view_discussions: Discusiones
28
+ button_add_new: Agregar nuevo
29
+ button_reload: Recargar
30
+ view_files: Archivos
31
+ view_quick_actions: Acciones rapidas
32
+ button_list: Lista
33
+ button_save: Guardar
34
+ button_delete: Eliminar
35
+ button_edit: Editar
36
+ view_status_active: Activo
37
+ view_status_inactive: Inactivo
38
+ button_settings: Configuración
39
+ button_show: Ver
40
+ toolbar_search: Buscar...
41
+ application:
42
+ navigation_logout: Cerrar sesión
43
+ navigation_my_profile: Mi perfil
@@ -0,0 +1,43 @@
1
+ ---
2
+ :fr:
3
+ lesli_support:
4
+ tickets:
5
+ column_started_at: ":lesli_support.tickets.column_started_at:"
6
+ column_completed_at: ":lesli_support.tickets.column_completed_at:"
7
+ column_tags: ":lesli_support.tickets.column_tags:"
8
+ column_reference_url: ":lesli_support.tickets.column_reference_url:"
9
+ column_type: ":lesli_support.tickets.column_type:"
10
+ column_id: ":lesli_support.tickets.column_id:"
11
+ column_subject: ":lesli_support.tickets.column_subject:"
12
+ column_workspace: ":lesli_support.tickets.column_workspace:"
13
+ column_hours_worked: ":lesli_support.tickets.column_hours_worked:"
14
+ column_category: ":lesli_support.tickets.column_category:"
15
+ column_priority: ":lesli_support.tickets.column_priority:"
16
+ column_creator: ":lesli_support.tickets.column_creator:"
17
+ column_status: ":lesli_support.tickets.column_status:"
18
+ view_all_tickets: ":lesli_support.tickets.view_all_tickets:"
19
+ view_active_tickets: ":lesli_support.tickets.view_active_tickets:"
20
+ view_inactive_tickets: ":lesli_support.tickets.view_inactive_tickets:"
21
+ tab_information: ":lesli_support.tickets.tab_information:"
22
+ column_description: ":lesli_support.tickets.column_description:"
23
+ column_deadline: ":lesli_support.tickets.column_deadline:"
24
+ view_own_tickets: ":lesli_support.tickets.view_own_tickets:"
25
+ lesli:
26
+ shared:
27
+ view_discussions: ":lesli.shared.view_discussions:"
28
+ button_add_new: ":lesli.shared.button_add_new:"
29
+ button_reload: ":lesli.shared.button_reload:"
30
+ view_files: ":lesli.shared.view_files:"
31
+ view_quick_actions: ":lesli.shared.view_quick_actions:"
32
+ button_list: ":lesli.shared.button_list:"
33
+ button_save: ":lesli.shared.button_save:"
34
+ button_delete: ":lesli.shared.button_delete:"
35
+ button_edit: ":lesli.shared.button_edit:"
36
+ view_status_active: ":lesli.shared.view_status_active:"
37
+ view_status_inactive: ":lesli.shared.view_status_inactive:"
38
+ button_settings: ":lesli.shared.button_settings:"
39
+ button_show: ":lesli.shared.button_show:"
40
+ toolbar_search: ":lesli.shared.toolbar_search:"
41
+ application:
42
+ navigation_logout: ":lesli.application.navigation_logout:"
43
+ navigation_my_profile: ":lesli.application.navigation_my_profile:"
@@ -0,0 +1,43 @@
1
+ ---
2
+ :it:
3
+ lesli_support:
4
+ tickets:
5
+ column_started_at: ":lesli_support.tickets.column_started_at:"
6
+ column_completed_at: ":lesli_support.tickets.column_completed_at:"
7
+ column_tags: ":lesli_support.tickets.column_tags:"
8
+ column_reference_url: ":lesli_support.tickets.column_reference_url:"
9
+ column_type: ":lesli_support.tickets.column_type:"
10
+ column_id: ":lesli_support.tickets.column_id:"
11
+ column_subject: ":lesli_support.tickets.column_subject:"
12
+ column_workspace: ":lesli_support.tickets.column_workspace:"
13
+ column_hours_worked: ":lesli_support.tickets.column_hours_worked:"
14
+ column_category: ":lesli_support.tickets.column_category:"
15
+ column_priority: ":lesli_support.tickets.column_priority:"
16
+ column_creator: ":lesli_support.tickets.column_creator:"
17
+ column_status: ":lesli_support.tickets.column_status:"
18
+ view_all_tickets: ":lesli_support.tickets.view_all_tickets:"
19
+ view_active_tickets: ":lesli_support.tickets.view_active_tickets:"
20
+ view_inactive_tickets: ":lesli_support.tickets.view_inactive_tickets:"
21
+ tab_information: ":lesli_support.tickets.tab_information:"
22
+ column_description: ":lesli_support.tickets.column_description:"
23
+ column_deadline: ":lesli_support.tickets.column_deadline:"
24
+ view_own_tickets: ":lesli_support.tickets.view_own_tickets:"
25
+ lesli:
26
+ shared:
27
+ view_discussions: ":lesli.shared.view_discussions:"
28
+ button_add_new: ":lesli.shared.button_add_new:"
29
+ button_reload: ":lesli.shared.button_reload:"
30
+ view_files: ":lesli.shared.view_files:"
31
+ view_quick_actions: ":lesli.shared.view_quick_actions:"
32
+ button_list: ":lesli.shared.button_list:"
33
+ button_save: ":lesli.shared.button_save:"
34
+ button_delete: ":lesli.shared.button_delete:"
35
+ button_edit: ":lesli.shared.button_edit:"
36
+ view_status_active: ":lesli.shared.view_status_active:"
37
+ view_status_inactive: ":lesli.shared.view_status_inactive:"
38
+ button_settings: ":lesli.shared.button_settings:"
39
+ button_show: ":lesli.shared.button_show:"
40
+ toolbar_search: ":lesli.shared.toolbar_search:"
41
+ application:
42
+ navigation_logout: ":lesli.application.navigation_logout:"
43
+ navigation_my_profile: ":lesli.application.navigation_my_profile:"
@@ -0,0 +1,43 @@
1
+ ---
2
+ :pt:
3
+ lesli_support:
4
+ tickets:
5
+ column_started_at: ":lesli_support.tickets.column_started_at:"
6
+ column_completed_at: ":lesli_support.tickets.column_completed_at:"
7
+ column_tags: ":lesli_support.tickets.column_tags:"
8
+ column_reference_url: ":lesli_support.tickets.column_reference_url:"
9
+ column_type: ":lesli_support.tickets.column_type:"
10
+ column_id: ":lesli_support.tickets.column_id:"
11
+ column_subject: ":lesli_support.tickets.column_subject:"
12
+ column_workspace: ":lesli_support.tickets.column_workspace:"
13
+ column_hours_worked: ":lesli_support.tickets.column_hours_worked:"
14
+ column_category: ":lesli_support.tickets.column_category:"
15
+ column_priority: ":lesli_support.tickets.column_priority:"
16
+ column_creator: ":lesli_support.tickets.column_creator:"
17
+ column_status: ":lesli_support.tickets.column_status:"
18
+ view_all_tickets: ":lesli_support.tickets.view_all_tickets:"
19
+ view_active_tickets: ":lesli_support.tickets.view_active_tickets:"
20
+ view_inactive_tickets: ":lesli_support.tickets.view_inactive_tickets:"
21
+ tab_information: ":lesli_support.tickets.tab_information:"
22
+ column_description: ":lesli_support.tickets.column_description:"
23
+ column_deadline: ":lesli_support.tickets.column_deadline:"
24
+ view_own_tickets: ":lesli_support.tickets.view_own_tickets:"
25
+ lesli:
26
+ shared:
27
+ view_discussions: ":lesli.shared.view_discussions:"
28
+ button_add_new: ":lesli.shared.button_add_new:"
29
+ button_reload: ":lesli.shared.button_reload:"
30
+ view_files: ":lesli.shared.view_files:"
31
+ view_quick_actions: ":lesli.shared.view_quick_actions:"
32
+ button_list: ":lesli.shared.button_list:"
33
+ button_save: ":lesli.shared.button_save:"
34
+ button_delete: ":lesli.shared.button_delete:"
35
+ button_edit: ":lesli.shared.button_edit:"
36
+ view_status_active: ":lesli.shared.view_status_active:"
37
+ view_status_inactive: ":lesli.shared.view_status_inactive:"
38
+ button_settings: ":lesli.shared.button_settings:"
39
+ button_show: ":lesli.shared.button_show:"
40
+ toolbar_search: ":lesli.shared.toolbar_search:"
41
+ application:
42
+ navigation_logout: ":lesli.application.navigation_logout:"
43
+ navigation_my_profile: ":lesli.application.navigation_my_profile:"
data/config/routes.rb ADDED
@@ -0,0 +1,61 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ LesliSupport::Engine.routes.draw do
34
+ namespace :ticket do
35
+ resources :discussions
36
+ end
37
+
38
+ root to: "dashboards#show"
39
+ resource :dashboard, only: [:show]
40
+ resources :dashboards do
41
+ collection do
42
+ post "list" => :index
43
+ get :options
44
+ end
45
+ scope module: :dashboard do
46
+ resources :components
47
+ end
48
+ end
49
+
50
+ resources :options, only: [:index]
51
+ resources :catalog_workspaces
52
+
53
+ resources :tickets, only: [:show, :index, :new, :create, :edit, :update] do
54
+ collection do
55
+ get :options
56
+ end
57
+ scope module: :ticket do
58
+ resources :discussions, only: [:index, :create]
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,42 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportAccounts < ActiveRecord::Migration[7.0]
34
+ def change
35
+ create_table :lesli_support_accounts do |t|
36
+ t.integer :status
37
+ t.datetime :deleted_at, index: true
38
+ t.timestamps
39
+ end
40
+ add_reference(:lesli_support_accounts, :account, foreign_key: { to_table: :lesli_accounts })
41
+ end
42
+ end
@@ -0,0 +1,46 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportAccountSettings < ActiveRecord::Migration[6.1]
34
+ def change
35
+ create_table :lesli_support_account_settings do |t|
36
+ t.string :key
37
+ t.string :value
38
+
39
+ t.datetime :deleted_at, index: true
40
+ t.timestamps
41
+ end
42
+
43
+ add_reference(:lesli_support_account_settings, :account, foreign_key: { to_table: :lesli_support_accounts })
44
+ add_reference(:lesli_support_account_settings, :user, foreign_key: { to_table: :lesli_users })
45
+ end
46
+ end
@@ -0,0 +1,43 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportCatalogWorkspaces < ActiveRecord::Migration[6.0]
34
+ def change
35
+ create_table :lesli_support_catalog_workspaces do |t|
36
+ t.string :name
37
+ t.boolean :default, default: false
38
+ t.datetime :deleted_at, index: true
39
+ t.timestamps
40
+ end
41
+ add_reference(:lesli_support_catalog_workspaces, :account, foreign_key: { to_table: :lesli_support_accounts })
42
+ end
43
+ end
@@ -0,0 +1,42 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportCatalogTypes < ActiveRecord::Migration[6.0]
34
+ def change
35
+ create_table :lesli_support_catalog_types do |t|
36
+ t.string :name
37
+ t.datetime :deleted_at, index: true
38
+ t.timestamps
39
+ end
40
+ add_reference(:lesli_support_catalog_types, :account, foreign_key: { to_table: :lesli_support_accounts })
41
+ end
42
+ end
@@ -0,0 +1,43 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportCatalogCategories < ActiveRecord::Migration[6.0]
34
+ def change
35
+ create_table :lesli_support_catalog_categories do |t|
36
+ t.string :name
37
+ t.string :ancestry, index: true
38
+ t.datetime :deleted_at, index: true
39
+ t.timestamps
40
+ end
41
+ add_reference(:lesli_support_catalog_categories, :account, foreign_key: { to_table: :lesli_support_accounts })
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportCatalogPriorities < ActiveRecord::Migration[6.0]
34
+ def change
35
+ create_table :lesli_support_catalog_priorities do |t|
36
+ t.string :name
37
+ t.integer :weight
38
+ t.datetime :deleted_at, index: true
39
+ t.timestamps
40
+ end
41
+ add_reference(:lesli_support_catalog_priorities, :account, foreign_key: { to_table: :lesli_support_accounts })
42
+ end
43
+ end
@@ -0,0 +1,50 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportDashboards < ActiveRecord::Migration[6.0]
34
+ def change
35
+ gem_path = Lesli::System.engine("Lesli", "dir")
36
+ table_base_structure = JSON.parse(File.read(File.join(gem_path, "db", "structure", "00000501_dashboards.json")))
37
+ create_table :lesli_support_dashboards do |t|
38
+ table_base_structure.each do |column|
39
+ t.send(
40
+ column["type"].parameterize.underscore.to_sym,
41
+ column["name"].parameterize.underscore.to_sym
42
+ )
43
+ end
44
+ t.timestamps
45
+ end
46
+ add_reference(:lesli_support_dashboards, :account, foreign_key: { to_table: :lesli_support_accounts })
47
+ add_reference(:lesli_support_dashboards, :user, foreign_key: { to_table: :lesli_users })
48
+ add_reference(:lesli_support_dashboards, :role, foreign_key: { to_table: :lesli_roles })
49
+ end
50
+ end
@@ -0,0 +1,50 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ class CreateLesliSupportDashboardComponents < ActiveRecord::Migration[6.0]
34
+ def change
35
+ gem_path = Lesli::System.engine("Lesli", "dir")
36
+ table_base_structure = JSON.parse(File.read(File.join(gem_path, "db", "structure", "00000502_dashboard_components.json")))
37
+ create_table :lesli_support_dashboard_components do |t|
38
+ table_base_structure.each do |column|
39
+ t.send(
40
+ column["type"].parameterize.underscore.to_sym,
41
+ column["name"].parameterize.underscore.to_sym
42
+ )
43
+ end
44
+ t.timestamps
45
+ end
46
+ add_reference(:lesli_support_dashboard_components, :dashboard,
47
+ foreign_key: { to_table: :lesli_support_dashboards },
48
+ index: { name: "help_dashboard_components_dashboards" })
49
+ end
50
+ end