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,272 @@
1
+ {
2
+ "en": {
3
+ "lesli": {
4
+ "application": {
5
+ "navigation_logout": "Logout",
6
+ "navigation_my_profile": "My profile"
7
+ },
8
+ "dashboards": {
9
+ "column_default": "Default",
10
+ "column_name": "Name",
11
+ "title": "Dashboards",
12
+ "view_add_component": "Add component"
13
+ },
14
+ "shared": {
15
+ "button_add_new": "Add new",
16
+ "button_delete": "Delete",
17
+ "button_edit": "Edit",
18
+ "button_list": "List",
19
+ "button_reload": "Reload",
20
+ "button_save": "Save",
21
+ "button_settings": "Settings",
22
+ "button_show": "Show",
23
+ "toolbar_search": "Search...",
24
+ "view_discussions": "Discussions",
25
+ "view_files": "Files",
26
+ "view_quick_actions": "Quick actions",
27
+ "view_status_active": "Active",
28
+ "view_status_inactive": "Inactive"
29
+ }
30
+ },
31
+ "lesli_support": {
32
+ "tickets": {
33
+ "column_category": "Category",
34
+ "column_completed_at": "Completed At",
35
+ "column_creator": "Creator",
36
+ "column_deadline": "Deadline",
37
+ "column_description": "Description",
38
+ "column_hours_worked": "Hours Worked",
39
+ "column_id": "ID",
40
+ "column_priority": "Priority",
41
+ "column_reference_url": "Reference URL",
42
+ "column_started_at": "Started At",
43
+ "column_status": "Status",
44
+ "column_subject": "Subject",
45
+ "column_tags": "Tags",
46
+ "column_type": "Type",
47
+ "column_workspace": "Workspace",
48
+ "tab_information": "Information",
49
+ "view_active_tickets": "Active tickets",
50
+ "view_all_tickets": "All tickets",
51
+ "view_inactive_tickets": "Inactive tickets",
52
+ "view_own_tickets": "Own tickets"
53
+ }
54
+ }
55
+ },
56
+ "es": {
57
+ "lesli": {
58
+ "application": {
59
+ "navigation_logout": "Cerrar sesión",
60
+ "navigation_my_profile": "Mi perfil"
61
+ },
62
+ "dashboards": {
63
+ "column_default": "Default",
64
+ "column_name": "Nombre",
65
+ "title": "Dashboards",
66
+ "view_add_component": "Agregar componente"
67
+ },
68
+ "shared": {
69
+ "button_add_new": "Agregar nuevo",
70
+ "button_delete": "Eliminar",
71
+ "button_edit": "Editar",
72
+ "button_list": "Lista",
73
+ "button_reload": "Recargar",
74
+ "button_save": "Guardar",
75
+ "button_settings": "Configuración",
76
+ "button_show": "Ver",
77
+ "toolbar_search": "Buscar...",
78
+ "view_discussions": "Discusiones",
79
+ "view_files": "Archivos",
80
+ "view_quick_actions": "Acciones rapidas",
81
+ "view_status_active": "Activo",
82
+ "view_status_inactive": "Inactivo"
83
+ }
84
+ },
85
+ "lesli_support": {
86
+ "tickets": {
87
+ "column_category": "Categoria",
88
+ "column_completed_at": "Fecha completado",
89
+ "column_creator": "Creador",
90
+ "column_deadline": "Fecha limite",
91
+ "column_description": "Descripción",
92
+ "column_hours_worked": "Horas trabajadas",
93
+ "column_id": "ID",
94
+ "column_priority": "Prioridad",
95
+ "column_reference_url": "URL de referencia",
96
+ "column_started_at": "Fecha inicio",
97
+ "column_status": "Estado",
98
+ "column_subject": "Asunto",
99
+ "column_tags": "Etiquetas",
100
+ "column_type": "Tipo",
101
+ "column_workspace": "Workspace",
102
+ "tab_information": "Información",
103
+ "view_active_tickets": "Tickets activos",
104
+ "view_all_tickets": "Todos los tickets",
105
+ "view_inactive_tickets": "Tickets inactivos",
106
+ "view_own_tickets": "Mis tickets"
107
+ }
108
+ }
109
+ },
110
+ "fr": {
111
+ "lesli": {
112
+ "application": {
113
+ "navigation_logout": ":lesli.application.navigation_logout:",
114
+ "navigation_my_profile": ":lesli.application.navigation_my_profile:"
115
+ },
116
+ "dashboards": {
117
+ "column_default": ":lesli.dashboards.column_default:",
118
+ "column_name": ":lesli.dashboards.column_name:",
119
+ "title": ":lesli.dashboards.title:",
120
+ "view_add_component": ":lesli.dashboards.view_add_component:"
121
+ },
122
+ "shared": {
123
+ "button_add_new": ":lesli.shared.button_add_new:",
124
+ "button_delete": ":lesli.shared.button_delete:",
125
+ "button_edit": ":lesli.shared.button_edit:",
126
+ "button_list": ":lesli.shared.button_list:",
127
+ "button_reload": ":lesli.shared.button_reload:",
128
+ "button_save": ":lesli.shared.button_save:",
129
+ "button_settings": ":lesli.shared.button_settings:",
130
+ "button_show": ":lesli.shared.button_show:",
131
+ "toolbar_search": ":lesli.shared.toolbar_search:",
132
+ "view_discussions": ":lesli.shared.view_discussions:",
133
+ "view_files": ":lesli.shared.view_files:",
134
+ "view_quick_actions": ":lesli.shared.view_quick_actions:",
135
+ "view_status_active": ":lesli.shared.view_status_active:",
136
+ "view_status_inactive": ":lesli.shared.view_status_inactive:"
137
+ }
138
+ },
139
+ "lesli_support": {
140
+ "tickets": {
141
+ "column_category": ":lesli_support.tickets.column_category:",
142
+ "column_completed_at": ":lesli_support.tickets.column_completed_at:",
143
+ "column_creator": ":lesli_support.tickets.column_creator:",
144
+ "column_deadline": ":lesli_support.tickets.column_deadline:",
145
+ "column_description": ":lesli_support.tickets.column_description:",
146
+ "column_hours_worked": ":lesli_support.tickets.column_hours_worked:",
147
+ "column_id": ":lesli_support.tickets.column_id:",
148
+ "column_priority": ":lesli_support.tickets.column_priority:",
149
+ "column_reference_url": ":lesli_support.tickets.column_reference_url:",
150
+ "column_started_at": ":lesli_support.tickets.column_started_at:",
151
+ "column_status": ":lesli_support.tickets.column_status:",
152
+ "column_subject": ":lesli_support.tickets.column_subject:",
153
+ "column_tags": ":lesli_support.tickets.column_tags:",
154
+ "column_type": ":lesli_support.tickets.column_type:",
155
+ "column_workspace": ":lesli_support.tickets.column_workspace:",
156
+ "tab_information": ":lesli_support.tickets.tab_information:",
157
+ "view_active_tickets": ":lesli_support.tickets.view_active_tickets:",
158
+ "view_all_tickets": ":lesli_support.tickets.view_all_tickets:",
159
+ "view_inactive_tickets": ":lesli_support.tickets.view_inactive_tickets:",
160
+ "view_own_tickets": ":lesli_support.tickets.view_own_tickets:"
161
+ }
162
+ }
163
+ },
164
+ "it": {
165
+ "lesli": {
166
+ "application": {
167
+ "navigation_logout": ":lesli.application.navigation_logout:",
168
+ "navigation_my_profile": ":lesli.application.navigation_my_profile:"
169
+ },
170
+ "dashboards": {
171
+ "column_default": ":lesli.dashboards.column_default:",
172
+ "column_name": ":lesli.dashboards.column_name:",
173
+ "title": ":lesli.dashboards.title:",
174
+ "view_add_component": ":lesli.dashboards.view_add_component:"
175
+ },
176
+ "shared": {
177
+ "button_add_new": ":lesli.shared.button_add_new:",
178
+ "button_delete": ":lesli.shared.button_delete:",
179
+ "button_edit": ":lesli.shared.button_edit:",
180
+ "button_list": ":lesli.shared.button_list:",
181
+ "button_reload": ":lesli.shared.button_reload:",
182
+ "button_save": ":lesli.shared.button_save:",
183
+ "button_settings": ":lesli.shared.button_settings:",
184
+ "button_show": ":lesli.shared.button_show:",
185
+ "toolbar_search": ":lesli.shared.toolbar_search:",
186
+ "view_discussions": ":lesli.shared.view_discussions:",
187
+ "view_files": ":lesli.shared.view_files:",
188
+ "view_quick_actions": ":lesli.shared.view_quick_actions:",
189
+ "view_status_active": ":lesli.shared.view_status_active:",
190
+ "view_status_inactive": ":lesli.shared.view_status_inactive:"
191
+ }
192
+ },
193
+ "lesli_support": {
194
+ "tickets": {
195
+ "column_category": ":lesli_support.tickets.column_category:",
196
+ "column_completed_at": ":lesli_support.tickets.column_completed_at:",
197
+ "column_creator": ":lesli_support.tickets.column_creator:",
198
+ "column_deadline": ":lesli_support.tickets.column_deadline:",
199
+ "column_description": ":lesli_support.tickets.column_description:",
200
+ "column_hours_worked": ":lesli_support.tickets.column_hours_worked:",
201
+ "column_id": ":lesli_support.tickets.column_id:",
202
+ "column_priority": ":lesli_support.tickets.column_priority:",
203
+ "column_reference_url": ":lesli_support.tickets.column_reference_url:",
204
+ "column_started_at": ":lesli_support.tickets.column_started_at:",
205
+ "column_status": ":lesli_support.tickets.column_status:",
206
+ "column_subject": ":lesli_support.tickets.column_subject:",
207
+ "column_tags": ":lesli_support.tickets.column_tags:",
208
+ "column_type": ":lesli_support.tickets.column_type:",
209
+ "column_workspace": ":lesli_support.tickets.column_workspace:",
210
+ "tab_information": ":lesli_support.tickets.tab_information:",
211
+ "view_active_tickets": ":lesli_support.tickets.view_active_tickets:",
212
+ "view_all_tickets": ":lesli_support.tickets.view_all_tickets:",
213
+ "view_inactive_tickets": ":lesli_support.tickets.view_inactive_tickets:",
214
+ "view_own_tickets": ":lesli_support.tickets.view_own_tickets:"
215
+ }
216
+ }
217
+ },
218
+ "pt": {
219
+ "lesli": {
220
+ "application": {
221
+ "navigation_logout": ":lesli.application.navigation_logout:",
222
+ "navigation_my_profile": ":lesli.application.navigation_my_profile:"
223
+ },
224
+ "dashboards": {
225
+ "column_default": ":lesli.dashboards.column_default:",
226
+ "column_name": ":lesli.dashboards.column_name:",
227
+ "title": ":lesli.dashboards.title:",
228
+ "view_add_component": ":lesli.dashboards.view_add_component:"
229
+ },
230
+ "shared": {
231
+ "button_add_new": ":lesli.shared.button_add_new:",
232
+ "button_delete": ":lesli.shared.button_delete:",
233
+ "button_edit": ":lesli.shared.button_edit:",
234
+ "button_list": ":lesli.shared.button_list:",
235
+ "button_reload": ":lesli.shared.button_reload:",
236
+ "button_save": ":lesli.shared.button_save:",
237
+ "button_settings": ":lesli.shared.button_settings:",
238
+ "button_show": ":lesli.shared.button_show:",
239
+ "toolbar_search": ":lesli.shared.toolbar_search:",
240
+ "view_discussions": ":lesli.shared.view_discussions:",
241
+ "view_files": ":lesli.shared.view_files:",
242
+ "view_quick_actions": ":lesli.shared.view_quick_actions:",
243
+ "view_status_active": ":lesli.shared.view_status_active:",
244
+ "view_status_inactive": ":lesli.shared.view_status_inactive:"
245
+ }
246
+ },
247
+ "lesli_support": {
248
+ "tickets": {
249
+ "column_category": ":lesli_support.tickets.column_category:",
250
+ "column_completed_at": ":lesli_support.tickets.column_completed_at:",
251
+ "column_creator": ":lesli_support.tickets.column_creator:",
252
+ "column_deadline": ":lesli_support.tickets.column_deadline:",
253
+ "column_description": ":lesli_support.tickets.column_description:",
254
+ "column_hours_worked": ":lesli_support.tickets.column_hours_worked:",
255
+ "column_id": ":lesli_support.tickets.column_id:",
256
+ "column_priority": ":lesli_support.tickets.column_priority:",
257
+ "column_reference_url": ":lesli_support.tickets.column_reference_url:",
258
+ "column_started_at": ":lesli_support.tickets.column_started_at:",
259
+ "column_status": ":lesli_support.tickets.column_status:",
260
+ "column_subject": ":lesli_support.tickets.column_subject:",
261
+ "column_tags": ":lesli_support.tickets.column_tags:",
262
+ "column_type": ":lesli_support.tickets.column_type:",
263
+ "column_workspace": ":lesli_support.tickets.column_workspace:",
264
+ "tab_information": ":lesli_support.tickets.tab_information:",
265
+ "view_active_tickets": ":lesli_support.tickets.view_active_tickets:",
266
+ "view_all_tickets": ":lesli_support.tickets.view_all_tickets:",
267
+ "view_inactive_tickets": ":lesli_support.tickets.view_inactive_tickets:",
268
+ "view_own_tickets": ":lesli_support.tickets.view_own_tickets:"
269
+ }
270
+ }
271
+ }
272
+ }
data/readme.md ADDED
@@ -0,0 +1,72 @@
1
+ <p align="center">
2
+ <img width="75" alt="LesliSupport logo" src="./app/assets/images/lesli_support/support-logo.svg" />
3
+ <h3 align="center">Support Ticket System for the Lesli Framework</h3>
4
+ </p>
5
+
6
+ <hr/>
7
+ <p align="center">
8
+ <a target="blank" href="https://rubygems.org/gems/lesli_support">
9
+ <img height="22" alt="Gem Version" src="https://badge.fury.io/rb/lesli_support.svg" />
10
+ </a>
11
+ </p>
12
+ <hr/>
13
+
14
+
15
+ ### Quick start
16
+
17
+ ```shell
18
+ # Add LesliSupport engine
19
+ bundle add lesli_support
20
+ ```
21
+
22
+ ```shell
23
+ # Setup database
24
+ rake lesli:db:setup
25
+ ```
26
+
27
+ ```ruby
28
+ # Load LesliSupport
29
+ Rails.application.routes.draw do
30
+ mount LesliSupport::Engine => "/help"
31
+ end
32
+ ```
33
+
34
+
35
+ ### Documentation
36
+ * [website](https://www.lesli.dev/support/)
37
+ * [database](./docs/database.md)
38
+ * [documentation](https://www.lesli.dev/documentation/)
39
+
40
+
41
+ ### Get in touch with Lesli
42
+
43
+ * [Website: https://www.lesli.tech](https://www.lesli.tech)
44
+ * [Email: hello@lesli.tech](hello@lesli.tech)
45
+ * [Twitter: @LesliTech](https://twitter.com/LesliTech)
46
+
47
+
48
+ ### License
49
+ -------
50
+ Copyright (c) 2023, Lesli Technologies, S. A.
51
+
52
+ This program is free software: you can redistribute it and/or modify
53
+ it under the terms of the GNU General Public License as published by
54
+ the Free Software Foundation, either version 3 of the License, or
55
+ (at your option) any later version.
56
+
57
+ This program is distributed in the hope that it will be useful,
58
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
59
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
60
+ GNU General Public License for more details.
61
+
62
+ You should have received a copy of the GNU General Public License
63
+ along with this program. If not, see http://www.gnu.org/licenses/.
64
+
65
+ <hr />
66
+ <br />
67
+
68
+ <p align="center">
69
+ <img width="200" alt="Lesli logo" src="https://cdn.lesli.tech/lesli/brand/app-logo.svg" />
70
+ <h4 align="center">Ruby on Rails SaaS Development Framework.</h4>
71
+ </p>
72
+
metadata ADDED
@@ -0,0 +1,223 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: lesli_support
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - The Lesli Development Team
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-05-10 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 7.0.6
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 7.0.6
27
+ description: Ticket Management System for the Lesli Framework
28
+ email:
29
+ - hello@lesli.tech
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - Rakefile
35
+ - app/assets/config/lesli_support_manifest.js
36
+ - app/assets/images/lesli_support/support-logo.svg
37
+ - app/assets/javascripts/lesli_support/application.js
38
+ - app/assets/stylesheets/lesli_support/application.css
39
+ - app/controllers/lesli_support/accounts_controller.rb
40
+ - app/controllers/lesli_support/application_controller.rb
41
+ - app/controllers/lesli_support/catalog_categories_controller.rb
42
+ - app/controllers/lesli_support/catalog_priorities_controller.rb
43
+ - app/controllers/lesli_support/catalog_types_controller.rb
44
+ - app/controllers/lesli_support/catalog_workspaces_controller.rb
45
+ - app/controllers/lesli_support/catalogs_controller.rb
46
+ - app/controllers/lesli_support/dashboard/components_controller.rb
47
+ - app/controllers/lesli_support/dashboards_controller.rb
48
+ - app/controllers/lesli_support/options_controller.rb
49
+ - app/controllers/lesli_support/ticket/discussions_controller.rb
50
+ - app/controllers/lesli_support/tickets_controller.rb
51
+ - app/helpers/lesli_support/accounts_helper.rb
52
+ - app/helpers/lesli_support/application_helper.rb
53
+ - app/helpers/lesli_support/catalog_categories_helper.rb
54
+ - app/helpers/lesli_support/catalog_priorities_helper.rb
55
+ - app/helpers/lesli_support/catalog_types_helper.rb
56
+ - app/helpers/lesli_support/catalog_workspaces_helper.rb
57
+ - app/helpers/lesli_support/catalogs_helper.rb
58
+ - app/helpers/lesli_support/dashboards_helper.rb
59
+ - app/helpers/lesli_support/options_helper.rb
60
+ - app/helpers/lesli_support/ticket/discussions_helper.rb
61
+ - app/jobs/lesli_support/application_job.rb
62
+ - app/mailers/lesli_support/application_mailer.rb
63
+ - app/models/lesli_support/account.rb
64
+ - app/models/lesli_support/application_record.rb
65
+ - app/models/lesli_support/catalog.rb
66
+ - app/models/lesli_support/catalog_category.rb
67
+ - app/models/lesli_support/catalog_priority.rb
68
+ - app/models/lesli_support/catalog_type.rb
69
+ - app/models/lesli_support/catalog_workspace.rb
70
+ - app/models/lesli_support/dashboard.rb
71
+ - app/models/lesli_support/dashboard/component.rb
72
+ - app/models/lesli_support/option.rb
73
+ - app/models/lesli_support/ticket.rb
74
+ - app/models/lesli_support/ticket/discussion.rb
75
+ - app/services/lesli_support/catalog_service.rb
76
+ - app/services/lesli_support/ticket_service.rb
77
+ - app/views/layouts/lesli_support/application.html.erb
78
+ - app/views/lesli_support/accounts/_account.html.erb
79
+ - app/views/lesli_support/accounts/_form.html.erb
80
+ - app/views/lesli_support/accounts/edit.html.erb
81
+ - app/views/lesli_support/accounts/index.html.erb
82
+ - app/views/lesli_support/accounts/new.html.erb
83
+ - app/views/lesli_support/accounts/show.html.erb
84
+ - app/views/lesli_support/catalog_categories/_catalog_category.html.erb
85
+ - app/views/lesli_support/catalog_categories/_form.html.erb
86
+ - app/views/lesli_support/catalog_categories/edit.html.erb
87
+ - app/views/lesli_support/catalog_categories/index.html.erb
88
+ - app/views/lesli_support/catalog_categories/new.html.erb
89
+ - app/views/lesli_support/catalog_categories/show.html.erb
90
+ - app/views/lesli_support/catalog_priorities/_catalog_priority.html.erb
91
+ - app/views/lesli_support/catalog_priorities/_form.html.erb
92
+ - app/views/lesli_support/catalog_priorities/edit.html.erb
93
+ - app/views/lesli_support/catalog_priorities/index.html.erb
94
+ - app/views/lesli_support/catalog_priorities/new.html.erb
95
+ - app/views/lesli_support/catalog_priorities/show.html.erb
96
+ - app/views/lesli_support/catalog_types/_catalog_type.html.erb
97
+ - app/views/lesli_support/catalog_types/_form.html.erb
98
+ - app/views/lesli_support/catalog_types/edit.html.erb
99
+ - app/views/lesli_support/catalog_types/index.html.erb
100
+ - app/views/lesli_support/catalog_types/new.html.erb
101
+ - app/views/lesli_support/catalog_types/show.html.erb
102
+ - app/views/lesli_support/catalog_workspaces/_catalog_workspace.html.erb
103
+ - app/views/lesli_support/catalog_workspaces/_form.html.erb
104
+ - app/views/lesli_support/catalog_workspaces/edit.html.erb
105
+ - app/views/lesli_support/catalog_workspaces/index.html.erb
106
+ - app/views/lesli_support/catalog_workspaces/new.html.erb
107
+ - app/views/lesli_support/catalog_workspaces/show.html.erb
108
+ - app/views/lesli_support/catalogs/_catalog.html.erb
109
+ - app/views/lesli_support/catalogs/_form.html.erb
110
+ - app/views/lesli_support/catalogs/edit.html.erb
111
+ - app/views/lesli_support/catalogs/index.html.erb
112
+ - app/views/lesli_support/catalogs/new.html.erb
113
+ - app/views/lesli_support/catalogs/show.html.erb
114
+ - app/views/lesli_support/dashboards/edit.html.erb
115
+ - app/views/lesli_support/dashboards/index.html.erb
116
+ - app/views/lesli_support/dashboards/new.html.erb
117
+ - app/views/lesli_support/dashboards/show.html.erb
118
+ - app/views/lesli_support/options/_form.html.erb
119
+ - app/views/lesli_support/options/_option.html.erb
120
+ - app/views/lesli_support/options/edit.html.erb
121
+ - app/views/lesli_support/options/index.html.erb
122
+ - app/views/lesli_support/options/new.html.erb
123
+ - app/views/lesli_support/options/show.html.erb
124
+ - app/views/lesli_support/partials/_engine-navigation.html.erb
125
+ - app/views/lesli_support/ticket/discussions/_discussion.html.erb
126
+ - app/views/lesli_support/ticket/discussions/_form.html.erb
127
+ - app/views/lesli_support/ticket/discussions/edit.html.erb
128
+ - app/views/lesli_support/ticket/discussions/index.html.erb
129
+ - app/views/lesli_support/ticket/discussions/new.html.erb
130
+ - app/views/lesli_support/ticket/discussions/show.html.erb
131
+ - app/views/lesli_support/tickets/edit.html.erb
132
+ - app/views/lesli_support/tickets/index.html.erb
133
+ - app/views/lesli_support/tickets/new.html.erb
134
+ - app/views/lesli_support/tickets/show.html.erb
135
+ - config/locales/translations.en.yml
136
+ - config/locales/translations.es.yml
137
+ - config/locales/translations.fr.yml
138
+ - config/locales/translations.it.yml
139
+ - config/locales/translations.pt.yml
140
+ - config/routes.rb
141
+ - db/migrate/v1/0702000110_create_lesli_support_accounts.rb
142
+ - db/migrate/v1/0702000210_create_lesli_support_account_settings.rb
143
+ - db/migrate/v1/0702010110_create_lesli_support_catalog_workspaces.rb
144
+ - db/migrate/v1/0702010210_create_lesli_support_catalog_types.rb
145
+ - db/migrate/v1/0702010310_create_lesli_support_catalog_categories.rb
146
+ - db/migrate/v1/0702010410_create_lesli_support_catalog_priorities.rb
147
+ - db/migrate/v1/0702050110_create_lesli_support_dashboards.rb
148
+ - db/migrate/v1/0702050210_create_lesli_support_dashboard_components.rb
149
+ - db/migrate/v1/0702100110_create_lesli_support_slas.rb
150
+ - db/migrate/v1/0702110110_create_lesli_support_tickets.rb
151
+ - db/migrate/v1/0702110510_create_lesli_support_ticket_discussions.rb
152
+ - db/seed/development.rb
153
+ - db/seed/production.rb
154
+ - db/seed/test.rb
155
+ - db/seeds.rb
156
+ - db/tables/0702010510_create_cloud_help_catalog_ticket_sources.rb
157
+ - db/tables/0702020110_create_cloud_help_workflows.rb
158
+ - db/tables/0702020210_create_cloud_help_workflow_statuses.rb
159
+ - db/tables/0702020310_create_cloud_help_workflow_associations.rb
160
+ - db/tables/0702020410_create_cloud_help_workflow_actions.rb
161
+ - db/tables/0702020510_create_cloud_help_workflow_checks.rb
162
+ - db/tables/0702030110_create_cloud_help_custom_fields.rb
163
+ - db/tables/0702040110_create_cloud_help_custom_validations.rb
164
+ - db/tables/0702040210_create_cloud_help_custom_validation_rules.rb
165
+ - db/tables/0702040310_create_cloud_help_custom_validation_fields.rb
166
+ - db/tables/0702100310_create_cloud_help_ticket_actions.rb
167
+ - db/tables/0702100410_create_cloud_help_ticket_activities.rb
168
+ - db/tables/0702100610_create_cloud_help_ticket_files.rb
169
+ - db/tables/0702100710_create_cloud_help_ticket_subscribers.rb
170
+ - db/tables/0702101010_create_cloud_help_ticket_timelines.rb
171
+ - db/tables/0702101110_create_cloud_help_ticket_assignments.rb
172
+ - db/tables/0702101210_create_cloud_help_ticket_histories.rb
173
+ - db/tables/0702110310_create_cloud_help_sla_actions.rb
174
+ - db/tables/0702110410_create_cloud_help_sla_activities.rb
175
+ - db/tables/0702110510_create_cloud_help_sla_discussions.rb
176
+ - db/tables/0702110610_create_cloud_help_sla_files.rb
177
+ - db/tables/0702110710_create_cloud_help_sla_subscribers.rb
178
+ - db/tables/0702111010_create_cloud_help_sla_associations.rb
179
+ - lib/lesli_support.rb
180
+ - lib/lesli_support/engine.rb
181
+ - lib/lesli_support/version.rb
182
+ - lib/scss/application.scss
183
+ - lib/tasks/lesli_support_tasks.rake
184
+ - lib/vue/application.js
185
+ - lib/vue/apps/dashboard/components/engine-version.vue
186
+ - lib/vue/apps/dashboard/components/my-tasks.vue
187
+ - lib/vue/apps/tickets/components/assignments.vue
188
+ - lib/vue/apps/tickets/components/form.vue
189
+ - lib/vue/apps/tickets/components/internal-comments.vue
190
+ - lib/vue/apps/tickets/components/sla-info.vue
191
+ - lib/vue/apps/tickets/index.vue
192
+ - lib/vue/apps/tickets/new.vue
193
+ - lib/vue/apps/tickets/show.vue
194
+ - lib/vue/stores/tickets.js
195
+ - lib/vue/stores/translations.json
196
+ - readme.md
197
+ homepage: https://www.lesli.dev/
198
+ licenses:
199
+ - GPL-3.0
200
+ metadata:
201
+ homepage_uri: https://www.lesli.dev/
202
+ changelog_uri: https://github.com/LesliTech/LesliSupport
203
+ source_code_uri: https://github.com/LesliTech/LesliSupport
204
+ post_install_message:
205
+ rdoc_options: []
206
+ require_paths:
207
+ - lib
208
+ required_ruby_version: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '2.7'
213
+ required_rubygems_version: !ruby/object:Gem::Requirement
214
+ requirements:
215
+ - - ">="
216
+ - !ruby/object:Gem::Version
217
+ version: '0'
218
+ requirements: []
219
+ rubygems_version: 3.3.7
220
+ signing_key:
221
+ specification_version: 4
222
+ summary: Ticket Management System for the Lesli Framework
223
+ test_files: []