lesli_help 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +5 -0
  3. data/app/assets/config/lesli_help_manifest.js +38 -0
  4. data/app/assets/images/lesli_help/help-logo.svg +9 -0
  5. data/app/assets/javascripts/lesli_help/application.js +6203 -0
  6. data/app/assets/stylesheets/lesli_help/application.css +15 -0
  7. data/app/controllers/lesli_help/accounts_controller.rb +60 -0
  8. data/app/controllers/lesli_help/application_controller.rb +4 -0
  9. data/app/controllers/lesli_help/dashboard/components_controller.rb +92 -0
  10. data/app/controllers/lesli_help/dashboards_controller.rb +36 -0
  11. data/app/controllers/lesli_help/tickets_controller.rb +171 -0
  12. data/app/helpers/lesli_help/accounts_helper.rb +4 -0
  13. data/app/helpers/lesli_help/application_helper.rb +4 -0
  14. data/app/helpers/lesli_help/dashboards_helper.rb +4 -0
  15. data/app/jobs/lesli_help/application_job.rb +4 -0
  16. data/app/mailers/lesli_help/application_mailer.rb +6 -0
  17. data/app/models/lesli_help/account.rb +38 -0
  18. data/app/models/lesli_help/application_record.rb +5 -0
  19. data/app/models/lesli_help/dashboard/component.rb +18 -0
  20. data/app/models/lesli_help/dashboard.rb +28 -0
  21. data/app/models/lesli_help/ticket.rb +39 -0
  22. data/app/services/lesli_help/ticket_service.rb +120 -0
  23. data/app/views/layouts/lesli_help/application.html.erb +15 -0
  24. data/app/views/lesli_help/accounts/_account.html.erb +2 -0
  25. data/app/views/lesli_help/accounts/_form.html.erb +17 -0
  26. data/app/views/lesli_help/accounts/edit.html.erb +10 -0
  27. data/app/views/lesli_help/accounts/index.html.erb +14 -0
  28. data/app/views/lesli_help/accounts/new.html.erb +9 -0
  29. data/app/views/lesli_help/accounts/show.html.erb +10 -0
  30. data/app/views/lesli_help/dashboards/edit.html.erb +1 -0
  31. data/app/views/lesli_help/dashboards/index.html.erb +1 -0
  32. data/app/views/lesli_help/dashboards/new.html.erb +1 -0
  33. data/app/views/lesli_help/dashboards/show.html.erb +1 -0
  34. data/app/views/lesli_help/partials/_engine-navigation.html.erb +39 -0
  35. data/app/views/lesli_help/tickets/edit.html.erb +20 -0
  36. data/app/views/lesli_help/tickets/index.html.erb +34 -0
  37. data/app/views/lesli_help/tickets/new.html.erb +20 -0
  38. data/app/views/lesli_help/tickets/show.html.erb +20 -0
  39. data/config/locales/translations.en.yml +23 -0
  40. data/config/locales/translations.es.yml +23 -0
  41. data/config/routes.rb +51 -0
  42. data/db/migrate/v1/0702000110_create_lesli_help_accounts.rb +42 -0
  43. data/db/migrate/v1/0702000210_create_lesli_help_account_settings.rb +46 -0
  44. data/db/migrate/v1/0702050110_create_lesli_help_dashboards.rb +50 -0
  45. data/db/migrate/v1/0702050210_create_lesli_help_dashboard_components.rb +50 -0
  46. data/db/migrate/v1/0702100110_create_lesli_help_slas.rb +59 -0
  47. data/db/migrate/v1/0702110110_create_lesli_help_tickets.rb +93 -0
  48. data/db/seed/development.rb +43 -0
  49. data/db/seed/production.rb +31 -0
  50. data/db/seed/test.rb +31 -0
  51. data/db/seeds.rb +43 -0
  52. data/db/tables/0702010110_create_cloud_help_catalogs.rb +8 -0
  53. data/db/tables/0702010210_create_cloud_help_catalog_ticket_categories.rb +44 -0
  54. data/db/tables/0702010310_create_cloud_help_catalog_ticket_priorities.rb +46 -0
  55. data/db/tables/0702010410_create_cloud_help_catalog_ticket_types.rb +44 -0
  56. data/db/tables/0702010510_create_cloud_help_catalog_ticket_sources.rb +44 -0
  57. data/db/tables/0702010610_create_cloud_help_catalog_ticket_workspaces.rb +38 -0
  58. data/db/tables/0702020110_create_cloud_help_workflows.rb +47 -0
  59. data/db/tables/0702020210_create_cloud_help_workflow_statuses.rb +47 -0
  60. data/db/tables/0702020310_create_cloud_help_workflow_associations.rb +29 -0
  61. data/db/tables/0702020410_create_cloud_help_workflow_actions.rb +18 -0
  62. data/db/tables/0702020510_create_cloud_help_workflow_checks.rb +20 -0
  63. data/db/tables/0702030110_create_cloud_help_custom_fields.rb +15 -0
  64. data/db/tables/0702040110_create_cloud_help_custom_validations.rb +16 -0
  65. data/db/tables/0702040210_create_cloud_help_custom_validation_rules.rb +16 -0
  66. data/db/tables/0702040310_create_cloud_help_custom_validation_fields.rb +16 -0
  67. data/db/tables/0702100310_create_cloud_help_ticket_actions.rb +16 -0
  68. data/db/tables/0702100410_create_cloud_help_ticket_activities.rb +15 -0
  69. data/db/tables/0702100510_create_cloud_help_ticket_discussions.rb +17 -0
  70. data/db/tables/0702100610_create_cloud_help_ticket_files.rb +16 -0
  71. data/db/tables/0702100710_create_cloud_help_ticket_subscribers.rb +16 -0
  72. data/db/tables/0702101010_create_cloud_help_ticket_timelines.rb +14 -0
  73. data/db/tables/0702101110_create_cloud_help_ticket_assignments.rb +15 -0
  74. data/db/tables/0702101210_create_cloud_help_ticket_histories.rb +15 -0
  75. data/db/tables/0702110310_create_cloud_help_sla_actions.rb +17 -0
  76. data/db/tables/0702110410_create_cloud_help_sla_activities.rb +15 -0
  77. data/db/tables/0702110510_create_cloud_help_sla_discussions.rb +17 -0
  78. data/db/tables/0702110610_create_cloud_help_sla_files.rb +16 -0
  79. data/db/tables/0702110710_create_cloud_help_sla_subscribers.rb +16 -0
  80. data/db/tables/0702111010_create_cloud_help_sla_associations.rb +13 -0
  81. data/lib/lesli_help/engine.rb +50 -0
  82. data/lib/lesli_help/version.rb +4 -0
  83. data/lib/lesli_help.rb +6 -0
  84. data/lib/tasks/lesli_help_tasks.rake +4 -0
  85. data/lib/vue/application.js +85 -0
  86. data/lib/vue/apps/dashboard/show.vue +43 -0
  87. data/lib/vue/apps/tickets/components/assignments.vue +93 -0
  88. data/lib/vue/apps/tickets/components/form.vue +252 -0
  89. data/lib/vue/apps/tickets/components/internal-comments.vue +107 -0
  90. data/lib/vue/apps/tickets/components/sla-info.vue +115 -0
  91. data/lib/vue/apps/tickets/index.vue +171 -0
  92. data/lib/vue/apps/tickets/new.vue +92 -0
  93. data/lib/vue/apps/tickets/show.vue +177 -0
  94. data/lib/vue/stores/tickets.js +275 -0
  95. data/lib/vue/stores/translations.json +56 -0
  96. data/readme.md +71 -0
  97. metadata +155 -0
@@ -0,0 +1,17 @@
1
+ <%= form_with(model: account) do |form| %>
2
+ <% if account.errors.any? %>
3
+ <div style="color: red">
4
+ <h2><%= pluralize(account.errors.count, "error") %> prohibited this account from being saved:</h2>
5
+
6
+ <ul>
7
+ <% account.errors.each do |error| %>
8
+ <li><%= error.full_message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div>
15
+ <%= form.submit %>
16
+ </div>
17
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <h1>Editing account</h1>
2
+
3
+ <%= render "form", account: @account %>
4
+
5
+ <br>
6
+
7
+ <div>
8
+ <%= link_to "Show this account", @account %> |
9
+ <%= link_to "Back to accounts", accounts_path %>
10
+ </div>
@@ -0,0 +1,14 @@
1
+ <p style="color: green"><%= notice %></p>
2
+
3
+ <h1>Accounts</h1>
4
+
5
+ <div id="accounts">
6
+ <% @accounts.each do |account| %>
7
+ <%= render account %>
8
+ <p>
9
+ <%= link_to "Show this account", account %>
10
+ </p>
11
+ <% end %>
12
+ </div>
13
+
14
+ <%= link_to "New account", new_account_path %>
@@ -0,0 +1,9 @@
1
+ <h1>New account</h1>
2
+
3
+ <%= render "form", account: @account %>
4
+
5
+ <br>
6
+
7
+ <div>
8
+ <%= link_to "Back to accounts", accounts_path %>
9
+ </div>
@@ -0,0 +1,10 @@
1
+ <p style="color: green"><%= notice %></p>
2
+
3
+ <%= render @account %>
4
+
5
+ <div>
6
+ <%= link_to "Edit this account", edit_account_path(@account) %> |
7
+ <%= link_to "Back to accounts", accounts_path %>
8
+
9
+ <%= button_to "Destroy this account", @account, method: :delete %>
10
+ </div>
@@ -0,0 +1 @@
1
+ <router-view></router-view>
@@ -0,0 +1 @@
1
+ <router-view></router-view>
@@ -0,0 +1 @@
1
+ <router-view></router-view>
@@ -0,0 +1 @@
1
+ <router-view></router-view>
@@ -0,0 +1,39 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS Development Framework.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+ <%= navigation_item(lesli_help.dashboard_path, "Dashboard", "ri-dashboard-3-line"); %>
36
+ <%= navigation_item(lesli_help.tickets_path, "Tickets", "ri-todo-line"); %>
37
+ <%= navigation_item("lesli_help.slas_path", "SLAs", "ri-file-paper-2-line") %>
38
+ <%= navigation_item("lesli_help.dashboard_path", "Reports", "ri-file-chart-line"); %>
39
+ <%= navigation_item("lesli_help.dashboard_path", "Settings", "ri-equalizer-line"); %>
@@ -0,0 +1,20 @@
1
+ <%
2
+ =begin
3
+ Copyright (c) 2020, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+
18
+ =end
19
+ %>
20
+ <router-view></router-view>
@@ -0,0 +1,34 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS Development Framework.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+ <router-view></router-view>
@@ -0,0 +1,20 @@
1
+ <%
2
+ =begin
3
+ Copyright (c) 2020, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+
18
+ =end
19
+ %>
20
+ <router-view></router-view>
@@ -0,0 +1,20 @@
1
+ <%
2
+ =begin
3
+ Copyright (c) 2020, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+
18
+ =end
19
+ %>
20
+ <router-view></router-view>
@@ -0,0 +1,23 @@
1
+ ---
2
+ :en:
3
+ lesli_help:
4
+ tickets:
5
+ column_id: ID
6
+ column_subject: Subject
7
+ column_description: Description
8
+ column_deadline: Deadline
9
+ column_creator: Creator
10
+ tab_general_information: General Information
11
+ view_new_ticket_title: Add new ticket
12
+ tab_assignments: Assignments
13
+ lesli:
14
+ shared:
15
+ view_discussions: Discussions
16
+ button_add_new: Add new
17
+ button_reload: Reload
18
+ view_files: Files
19
+ view_quick_actions: Quick actions
20
+ button_list: List
21
+ button_save: Save
22
+ button_delete: Delete
23
+ button_edit: Edit
@@ -0,0 +1,23 @@
1
+ ---
2
+ :es:
3
+ lesli_help:
4
+ tickets:
5
+ column_id: ID
6
+ column_subject: Asunto
7
+ column_description: Descripcion
8
+ column_deadline: Fecha limite
9
+ column_creator: Creador
10
+ tab_general_information: Informacion general
11
+ view_new_ticket_title: Agregar nuevo ticket
12
+ tab_assignments: Asignaciones
13
+ lesli:
14
+ shared:
15
+ view_discussions: Discusiones
16
+ button_add_new: Agregar nuevo
17
+ button_reload: Recargar
18
+ view_files: Archivos
19
+ view_quick_actions: Acciones rapidas
20
+ button_list: Lista
21
+ button_save: Guardar
22
+ button_delete: Eliminar
23
+ button_edit: Editar
data/config/routes.rb ADDED
@@ -0,0 +1,51 @@
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
+ LesliHelp::Engine.routes.draw do
34
+ root to: "dashboards#show"
35
+ resource :dashboard, only: [:show]
36
+ resources :dashboards do
37
+ collection do
38
+ post "list" => :index
39
+ get :options
40
+ end
41
+ scope module: :dashboard do
42
+ resources :components
43
+ end
44
+ end
45
+
46
+ resources :tickets, only: [:show, :index, :new, :create, :edit] do
47
+ collection do
48
+ get :options
49
+ end
50
+ end
51
+ 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 CreateLesliHelpAccounts < ActiveRecord::Migration[7.0]
34
+ def change
35
+ create_table :lesli_help_accounts do |t|
36
+ t.integer :status
37
+ t.datetime :deleted_at, index: true
38
+ t.timestamps
39
+ end
40
+ add_reference(:lesli_help_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 CreateLesliHelpAccountSettings < ActiveRecord::Migration[6.1]
34
+ def change
35
+ create_table :lesli_help_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_help_account_settings, :account, foreign_key: { to_table: :lesli_help_accounts })
44
+ add_reference(:lesli_help_account_settings, :user, foreign_key: { to_table: :lesli_users })
45
+ end
46
+ 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 CreateLesliHelpDashboards < 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_help_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_help_dashboards, :account, foreign_key: { to_table: :lesli_help_accounts })
47
+ add_reference(:lesli_help_dashboards, :user, foreign_key: { to_table: :lesli_users })
48
+ add_reference(:lesli_help_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 CreateLesliHelpDashboardComponents < 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_help_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_help_dashboard_components, :dashboard,
47
+ foreign_key: { to_table: :lesli_help_dashboards },
48
+ index: { name: "help_dashboard_components_dashboards" })
49
+ end
50
+ end
@@ -0,0 +1,59 @@
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 CreateLesliHelpSlas < ActiveRecord::Migration[6.0]
34
+ def change
35
+ create_table :lesli_help_slas do |t|
36
+ t.string :name
37
+ t.integer :expected_response_time
38
+ t.integer :expected_resolution_time
39
+ t.float :price_per_hour
40
+ t.text :body
41
+ t.text :provider_repercussions
42
+ t.text :client_repercussions
43
+ t.text :exceptions
44
+ t.boolean :default, default: false
45
+
46
+ # Main user
47
+ t.bigint :user_main_id
48
+
49
+ # acts_as_paranoid
50
+ t.datetime :deleted_at, index: true
51
+
52
+ t.timestamps
53
+ end
54
+
55
+ add_reference(:lesli_help_slas, :accounts, foreign_key: { to_table: :lesli_help_accounts })
56
+ add_reference(:lesli_help_slas, :users, foreign_key: { to_table: :lesli_users })
57
+ #add_reference(:lesli_help_slas, :statuses, foreign_key: true, index: { name: "help_slas_workflow_statuses" })
58
+ end
59
+ end
@@ -0,0 +1,93 @@
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 CreateLesliHelpTickets < ActiveRecord::Migration[6.0]
34
+ def change
35
+ create_table :lesli_help_tickets do |t|
36
+ t.string :subject
37
+ t.text :description
38
+
39
+ t.string :tags
40
+ t.decimal :hours_worked
41
+ t.string :reference_url
42
+
43
+ t.datetime :deadline
44
+ t.datetime :started_at
45
+ t.datetime :completed_at
46
+
47
+ t.datetime :deleted_at, index: true
48
+ t.timestamps
49
+ end
50
+ =begin
51
+ add_reference(
52
+ :cloud_lesli_tickets,
53
+ :status,
54
+ foreign_key: { to_table: :cloud_help_workflow_statuses },
55
+ index: { name: "help_tickets_workflow_statuses" }
56
+ )
57
+ add_reference(
58
+ :cloud_lesli_tickets,
59
+ :type,
60
+ foreign_key: { to_table: :cloud_help_catalog_ticket_types},
61
+ index: { name: "help_tickets_catalog_ticket_types" }
62
+ )
63
+ add_reference(
64
+ :cloud_lesli_tickets,
65
+ :priority,
66
+ foreign_key: { to_table: :cloud_help_catalog_ticket_priorities },
67
+ index: { name: "help_tickets_catalog_ticket_priorities" }
68
+ )
69
+ add_reference(
70
+ :cloud_lesli_tickets,
71
+ :source,
72
+ foreign_key: { to_table: :cloud_help_catalog_ticket_sources },
73
+ index: { name: "help_tickets_catalog_ticket_sources" }
74
+ )
75
+ add_reference(
76
+ :cloud_lesli_tickets,
77
+ :category,
78
+ foreign_key: { to_table: :cloud_help_catalog_ticket_categories },
79
+ index: { name: "help_tickets_catalog_ticket_categories" }
80
+ )
81
+ add_reference(
82
+ :cloud_lesli_tickets,
83
+ :workspace,
84
+ foreign_key: { to_table: :cloud_help_catalog_ticket_workspaces },
85
+ index: { name: "help_tickets_catalog_ticket_workspaces" }
86
+ )
87
+ =end
88
+ add_reference(:lesli_help_tickets, :account, foreign_key: { to_table: :lesli_help_accounts })
89
+ add_reference(:lesli_help_tickets, :slas, foreign_key: { to_table: :lesli_help_slas })
90
+ add_reference(:lesli_help_tickets, :user, foreign_key: { to_table: :lesli_users }) # Assigned user
91
+ add_reference(:lesli_help_tickets, :creator, foreign_key: { to_table: :lesli_users }) # Creator user
92
+ end
93
+ end