lesli_support 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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