lesli_support 1.0.0 → 1.2.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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -1
  3. data/app/controllers/lesli_support/accounts_controller.rb +1 -57
  4. data/app/controllers/lesli_support/catalog/items_controller.rb +1 -57
  5. data/app/controllers/lesli_support/items/discussions_controller.rb +6 -0
  6. data/app/controllers/lesli_support/items/tasks_controller.rb +6 -0
  7. data/app/controllers/lesli_support/ticket/activities_controller.rb +1 -57
  8. data/app/controllers/lesli_support/tickets_controller.rb +6 -5
  9. data/app/models/lesli_support/items/activity.rb +6 -0
  10. data/app/models/lesli_support/items/discussion.rb +6 -0
  11. data/app/models/lesli_support/items/task.rb +6 -0
  12. data/app/models/lesli_support/ticket.rb +14 -9
  13. data/app/views/lesli_support/dashboards/_component-latest-tickets.html.erb +1 -1
  14. data/app/views/lesli_support/tickets/_form.html.erb +13 -6
  15. data/app/views/lesli_support/tickets/show.html.erb +11 -8
  16. data/config/brakeman.yml +44 -0
  17. data/db/migrate/v1/0702000110_create_lesli_support_accounts.rb +7 -0
  18. data/db/migrate/v1/0702110110_create_lesli_support_tickets.rb +1 -8
  19. data/db/seeds.rb +2 -2
  20. data/lib/lesli_support/version.rb +2 -2
  21. metadata +13 -33
  22. data/app/controllers/lesli_support/options_controller.rb +0 -23
  23. data/app/controllers/lesli_support/ticket/actions_controller.rb +0 -4
  24. data/app/helpers/lesli_support/options_helper.rb +0 -4
  25. data/app/helpers/lesli_support/ticket/actions_helper.rb +0 -4
  26. data/app/models/lesli_support/option.rb +0 -4
  27. data/app/models/lesli_support/ticket/action.rb +0 -6
  28. data/app/views/lesli_support/options/_form.html.erb +0 -17
  29. data/app/views/lesli_support/options/_option.html.erb +0 -2
  30. data/app/views/lesli_support/options/edit.html.erb +0 -10
  31. data/app/views/lesli_support/options/index.html.erb +0 -14
  32. data/app/views/lesli_support/options/new.html.erb +0 -9
  33. data/app/views/lesli_support/options/show.html.erb +0 -10
  34. data/db/tables/0702100310_create_cloud_help_ticket_actions.rb +0 -16
  35. data/db/tables/0702100410_create_cloud_help_ticket_activities.rb +0 -15
  36. data/lib/scss/application.scss +0 -0
  37. data/lib/vue/application.js +0 -93
  38. data/lib/vue/apps/dashboard/components/engine-version.vue +0 -71
  39. data/lib/vue/apps/dashboard/components/my-tasks.vue +0 -77
  40. data/lib/vue/apps/tickets/components/assignments.vue +0 -93
  41. data/lib/vue/apps/tickets/components/form.vue +0 -305
  42. data/lib/vue/apps/tickets/components/internal-comments.vue +0 -107
  43. data/lib/vue/apps/tickets/components/sla-info.vue +0 -115
  44. data/lib/vue/apps/tickets/components/table.vue +0 -94
  45. data/lib/vue/apps/tickets/index.vue +0 -145
  46. data/lib/vue/apps/tickets/new.vue +0 -78
  47. data/lib/vue/apps/tickets/show.vue +0 -183
  48. data/lib/vue/stores/tickets.js +0 -276
  49. data/lib/vue/stores/translations.json +0 -162
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0aba3f933b74f64c9c7917089c6d11d1214ab0d7580824fd1e8e2ca4e0aeac49
4
- data.tar.gz: 4ae9fdbecd0feb6cd77333d1bc0d6dbba389fb939dc55235b6a0170bd430f0e7
3
+ metadata.gz: ace6f17700b63713a0ba3dd0fc295e567ac891c62d2da2e59cd838ad13358e38
4
+ data.tar.gz: 4413108d01bee145d26ce16e8d93cb1c59cfad1a25a97adeefe6302479aa532a
5
5
  SHA512:
6
- metadata.gz: 707825be39826856ee3b923dad0b14f1e0eb582c965f24d5ed2e7fd3fc4ab551d12199045c5c9d8341c9cc046704615d112e5769628a589ca06dae54981b7fea
7
- data.tar.gz: 19d6e69530ce864cd54d45bcf3b35f5fdc5c604ee2eca5203f69eb4e5050b6e59ea2f4b8037ab324e2a1ea616fca5a6d506b46bb0732d84bb05b55a61a711717
6
+ metadata.gz: be478a9e9839ce9833244182553d22e8923c0adff1a1bdfe8f940a034dd0ad3c423f95e319c7892d8b4a681c2b8f960cee8c7350808767af1f1da45ae5e46654
7
+ data.tar.gz: 199728d1ee5c1dbfc6fb02c837e71d38fbc15fdc24ec000ec1459746d3fb3b9964273cca3a1da38069f3cba4accc21bd6aa093fc3b4c1131f98a5a760b1cfafb
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
1
  require "bundler/setup"
2
2
 
3
- load "rails/tasks/statistics.rake"
3
+ APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__)
4
+
5
+ load "rails/tasks/engine.rake"
4
6
 
5
7
  require "bundler/gem_tasks"
@@ -1,60 +1,4 @@
1
1
  module LesliSupport
2
- class AccountsController < ApplicationController
3
- before_action :set_account, only: %i[ show edit update destroy ]
4
-
5
- # GET /accounts
6
- def index
7
- @accounts = Account.all
2
+ class AccountsController < ApplicationController
8
3
  end
9
-
10
- # GET /accounts/1
11
- def show
12
- end
13
-
14
- # GET /accounts/new
15
- def new
16
- @account = Account.new
17
- end
18
-
19
- # GET /accounts/1/edit
20
- def edit
21
- end
22
-
23
- # POST /accounts
24
- def create
25
- @account = Account.new(account_params)
26
-
27
- if @account.save
28
- redirect_to @account, notice: "Account was successfully created."
29
- else
30
- render :new, status: :unprocessable_entity
31
- end
32
- end
33
-
34
- # PATCH/PUT /accounts/1
35
- def update
36
- if @account.update(account_params)
37
- redirect_to @account, notice: "Account was successfully updated.", status: :see_other
38
- else
39
- render :edit, status: :unprocessable_entity
40
- end
41
- end
42
-
43
- # DELETE /accounts/1
44
- def destroy
45
- @account.destroy
46
- redirect_to accounts_url, notice: "Account was successfully destroyed.", status: :see_other
47
- end
48
-
49
- private
50
- # Use callbacks to share common setup or constraints between actions.
51
- def set_account
52
- @account = Account.find(params[:id])
53
- end
54
-
55
- # Only allow a list of trusted parameters through.
56
- def account_params
57
- params.fetch(:account, {})
58
- end
59
- end
60
4
  end
@@ -1,60 +1,4 @@
1
1
  module LesliSupport
2
- class Catalog::ItemsController < ApplicationController
3
- before_action :set_catalog_item, only: %i[ show edit update destroy ]
4
-
5
- # GET /catalog/items
6
- def index
7
- @catalog_items = Catalog::Item.all
2
+ class Catalog::ItemsController < ApplicationController
8
3
  end
9
-
10
- # GET /catalog/items/1
11
- def show
12
- end
13
-
14
- # GET /catalog/items/new
15
- def new
16
- @catalog_item = Catalog::Item.new
17
- end
18
-
19
- # GET /catalog/items/1/edit
20
- def edit
21
- end
22
-
23
- # POST /catalog/items
24
- def create
25
- @catalog_item = Catalog::Item.new(catalog_item_params)
26
-
27
- if @catalog_item.save
28
- redirect_to @catalog_item, notice: "Item was successfully created."
29
- else
30
- render :new, status: :unprocessable_entity
31
- end
32
- end
33
-
34
- # PATCH/PUT /catalog/items/1
35
- def update
36
- if @catalog_item.update(catalog_item_params)
37
- redirect_to @catalog_item, notice: "Item was successfully updated.", status: :see_other
38
- else
39
- render :edit, status: :unprocessable_entity
40
- end
41
- end
42
-
43
- # DELETE /catalog/items/1
44
- def destroy
45
- @catalog_item.destroy!
46
- redirect_to catalog_items_url, notice: "Item was successfully destroyed.", status: :see_other
47
- end
48
-
49
- private
50
- # Use callbacks to share common setup or constraints between actions.
51
- def set_catalog_item
52
- @catalog_item = Catalog::Item.find(params[:id])
53
- end
54
-
55
- # Only allow a list of trusted parameters through.
56
- def catalog_item_params
57
- params.fetch(:catalog_item, {})
58
- end
59
- end
60
4
  end
@@ -0,0 +1,6 @@
1
+ module LesliSupport
2
+ module Items
3
+ class DiscussionsController < Lesli::Items::DiscussionsController
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module LesliSupport
2
+ module Items
3
+ class TasksController < Lesli::Items::TasksController
4
+ end
5
+ end
6
+ end
@@ -1,60 +1,4 @@
1
1
  module LesliSupport
2
- class Ticket::ActivitiesController < ApplicationController
3
- before_action :set_ticket_activity, only: %i[ show edit update destroy ]
4
-
5
- # GET /ticket/activities
6
- def index
7
- @ticket_activities = Ticket::Activity.all
2
+ class Ticket::ActivitiesController < ApplicationController
8
3
  end
9
-
10
- # GET /ticket/activities/1
11
- def show
12
- end
13
-
14
- # GET /ticket/activities/new
15
- def new
16
- @ticket_activity = Ticket::Activity.new
17
- end
18
-
19
- # GET /ticket/activities/1/edit
20
- def edit
21
- end
22
-
23
- # POST /ticket/activities
24
- def create
25
- @ticket_activity = Ticket::Activity.new(ticket_activity_params)
26
-
27
- if @ticket_activity.save
28
- redirect_to @ticket_activity, notice: "Activity was successfully created."
29
- else
30
- render :new, status: :unprocessable_entity
31
- end
32
- end
33
-
34
- # PATCH/PUT /ticket/activities/1
35
- def update
36
- if @ticket_activity.update(ticket_activity_params)
37
- redirect_to @ticket_activity, notice: "Activity was successfully updated.", status: :see_other
38
- else
39
- render :edit, status: :unprocessable_entity
40
- end
41
- end
42
-
43
- # DELETE /ticket/activities/1
44
- def destroy
45
- @ticket_activity.destroy!
46
- redirect_to ticket_activities_path, notice: "Activity was successfully destroyed.", status: :see_other
47
- end
48
-
49
- private
50
- # Use callbacks to share common setup or constraints between actions.
51
- def set_ticket_activity
52
- @ticket_activity = Ticket::Activity.find(params.expect(:id))
53
- end
54
-
55
- # Only allow a list of trusted parameters through.
56
- def ticket_activity_params
57
- params.fetch(:ticket_activity, {})
58
- end
59
- end
60
4
  end
@@ -69,16 +69,17 @@ module LesliSupport
69
69
  def update
70
70
 
71
71
  if @ticket.update(ticket_params)
72
- log(
73
- subject: @invite,
74
- description: "Ticket updated successfully"
75
- )
72
+ # log(
73
+ # subject: @invite,
74
+ # description: "Ticket updated successfully"
75
+ # )
76
76
  respond_with_lesli(
77
77
  :turbo => stream_notification_success("Ticket updated successfully")
78
78
  )
79
79
  else
80
80
  respond_with_lesli(
81
- :turbo => stream_notification_danger(@invite.errors.full_messages.to_sentence)
81
+ :turbo => stream_notification_danger(@ticket.errors)
82
+ #:turbo => stream_notification_danger(@ticket.errors.full_messages.to_sentence)
82
83
  )
83
84
  end
84
85
  end
@@ -0,0 +1,6 @@
1
+ module LesliSupport
2
+ module Items
3
+ class Activity < Lesli::Items::Activity
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module LesliSupport
2
+ module Items
3
+ class Discussion < Lesli::Items::Discussion
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ module LesliSupport
2
+ module Items
3
+ class Task < Lesli::Items::Task
4
+ end
5
+ end
6
+ end
@@ -42,13 +42,17 @@ module LesliSupport
42
42
  belongs_to :priority, optional: true, class_name: "Catalog::Item"
43
43
 
44
44
  # Items
45
- has_many :actions
46
- has_many :activities
47
- has_many :discussions
45
+ include Lesli::Items::Tasks
46
+ include Lesli::Items::Activities
47
+ include Lesli::Items::Discussions
48
+ #has_many :discussions, class_name: "LesliSupport::Item::Discussion"
49
+
50
+ # include Lesli::Items::Attachments
51
+ # include Lesli::Items::Subscribers
48
52
 
49
53
  # Hooks
50
54
  before_create :before_create_ticket
51
- after_save :after_save_ticket
55
+ after_save :after_save_activities
52
56
 
53
57
  private
54
58
 
@@ -61,9 +65,10 @@ module LesliSupport
61
65
  end
62
66
  end
63
67
 
64
- def after_save_ticket
68
+ def after_save_activities
69
+
65
70
  if self.saved_change_to_owner_id?
66
- self.activities.create(
71
+ self.activities_create(
67
72
  description: "Agent assigned #{self.owner.name}",
68
73
  activity_code: :owner_id,
69
74
  metadata: { owner_id: self.owner.id }
@@ -71,7 +76,7 @@ module LesliSupport
71
76
  end
72
77
 
73
78
  if self.saved_change_to_type_id?
74
- self.activities.create(
79
+ self.activities_create(
75
80
  description: "Ticket type updated to #{self.type.name}",
76
81
  activity_code: :type_id,
77
82
  metadata: { type_id: self.type.id }
@@ -79,7 +84,7 @@ module LesliSupport
79
84
  end
80
85
 
81
86
  if self.saved_change_to_category_id?
82
- self.activities.create(
87
+ self.activities_create(
83
88
  description: "Ticket category updated to #{self.category.name}",
84
89
  activity_code: :category_id,
85
90
  metadata: { category_id: self.category.id }
@@ -87,7 +92,7 @@ module LesliSupport
87
92
  end
88
93
 
89
94
  if self.saved_change_to_priority_id?
90
- self.activities.create(
95
+ self.activities_create(
91
96
  description: "Ticket priority updated to #{self.priority.name}",
92
97
  activity_code: :priority_id,
93
98
  metadata: { priority_id: self.priority.id }
@@ -17,7 +17,7 @@ tickets = current_user.account.support.tickets.left_joins(
17
17
  <%
18
18
  columns = [{
19
19
  label: "ID",
20
- field: "number"
20
+ field: "uid"
21
21
  }, {
22
22
  label: "Subject",
23
23
  field: "subject"
@@ -1,8 +1,16 @@
1
1
 
2
2
  <%= form_with(model: @ticket, builder: LesliView::Forms::Builder) do |form| %>
3
3
  <%= form.fieldset do %>
4
+
5
+ <div class="field">
6
+ <div class="control">
7
+ <input class="input has-text-centered" type="text" disabled value="<%= @ticket.uid %>">
8
+ </div>
9
+ </div>
10
+
4
11
  <%= form.field_control(:subject) %>
5
- <div class="columns">
12
+
13
+ <div class="columns mb-0">
6
14
  <div class="column">
7
15
  <%= form.field_control_select(:type_id, current_user.account.support.catalogs.items_for("Ticket Types").pluck(:name, :id)) %>
8
16
  </div>
@@ -14,14 +22,13 @@
14
22
  </div>
15
23
  </div>
16
24
 
17
- <div class="columns">
18
- <div class="column">
19
- <%= form.field_control_select(:owner_id, current_user.account.users.pluck(:first_name, :id)) %>
20
- </div>
21
- </div>
25
+ <%= form.field_control_select(:owner_id, current_user.account.users.pluck(:first_name, :id)) %>
22
26
 
23
27
  <%= form.field_control_textarea(:description, label:false) %>
28
+
24
29
  <hr/>
30
+
25
31
  <%= form.field_control_submit %>
32
+
26
33
  <% end %>
27
34
  <% end %>
@@ -1,6 +1,6 @@
1
1
  <%= render(LesliView::Layout::Container.new("support-tickets-#{@ticket.id}")) do %>
2
2
 
3
- <%= render(LesliView::Components::Header.new("#{@ticket.uid} - #{@ticket.subject}")) %>
3
+ <%= render(LesliView::Components::Header.new("#{@ticket.subject}")) %>
4
4
 
5
5
  <%= render LesliView::Components::Tabs.new(active_tab: "ticket-information") do |tabs| %>
6
6
 
@@ -9,15 +9,11 @@
9
9
  <% end %>
10
10
 
11
11
  <% tabs.with_tab(id:"ticket-discussions", title:"Discussions", icon:"forum") do %>
12
- <%= render(LesliView::Items::Discussions.new(@ticket, ticket_discussions_path(@ticket))) %>
12
+ <%= render(LesliView::Items::Discussions.new(@ticket)) %>
13
13
  <% end %>
14
14
 
15
- <% tabs.with_tab(id:"ticket-actions", title:"Actions", icon:"checklist") do %>
16
- <%= render(LesliView::Items::Actions.new(
17
- @ticket,
18
- path_to_create:ticket_actions_path(@ticket),
19
- path_to_update:->(action) {ticket_action_path(@ticket, action)}
20
- )) %>
15
+ <% tabs.with_tab(id:"ticket-tasks", title:"Tasks", icon:"checklist") do %>
16
+ <%= render(LesliView::Items::Tasks.new(@ticket)) %>
21
17
  <% end %>
22
18
 
23
19
  <% tabs.with_tab(id:"ticket-activities", title:"Activities", icon:"search_activity") do %>
@@ -28,5 +24,12 @@
28
24
  category_id: 'search'
29
25
  })) %>
30
26
  <% end %>
27
+
28
+ <% tabs.with_tab(id:"ticket-attachments", title:"Attachments", icon:"attach_file") do %>
29
+ <%#= render(LesliView::Items::Attachments.new(@ticket,
30
+ path_to_create:ticket_actions_path(@ticket),
31
+ path_to_update:->(action) {ticket_action_path(@ticket, action)}
32
+ )) %>
33
+ <% end %>
31
34
  <% end %>
32
35
  <% end %>
@@ -0,0 +1,44 @@
1
+
2
+ # Brakeman Configuration File
3
+ # Documentation: https://brakemanscanner.org/docs/options/
4
+
5
+ # Files and Directories to Skip
6
+ skip_files:
7
+
8
+ # Warnings to Ignore (List Warning Codes)
9
+ ignore_warnings:
10
+ # - "SQLi" # Example: Ignore false-positive SQL injection warnings
11
+ # - "WeakHash" # Ignore warnings about weak hashing if you're using MD5 intentionally
12
+
13
+ # Additional Checks
14
+ checks_to_run:
15
+ - "DefaultRoutes"
16
+ - "MassAssignment"
17
+ - "CrossSiteScripting"
18
+ - "SQLInjection"
19
+ - "FileAccess"
20
+ - "UnmaintainedDependency"
21
+
22
+ # Confidence Levels to Report
23
+ min_confidence: 2 # 0 (all warnings), 1 (medium), 2 (high)
24
+
25
+ # Output Format
26
+ output_formats:
27
+ - "html"
28
+ - "json"
29
+ - "plain"
30
+
31
+ # Output Files
32
+ output_files:
33
+ - "brakeman/brakeman_report.html"
34
+ - "brakeman/brakeman_report.json"
35
+
36
+ # Optional Settings
37
+ run_all_checks: true # Run all checks even if specific ones are set
38
+ report_routes: true # Include unused routes in the report
39
+ exit_on_warn: true # Exit with a non-zero code if warnings are found
40
+
41
+ # Skipping Specific Models or Files (Advanced)
42
+ skip_files_containing:
43
+ - "DO NOT SCAN" # Add comment markers in files you want skipped
44
+ - "IGNORE ME"
@@ -33,5 +33,12 @@ Building a better future, one line of code at a time.
33
33
  class CreateLesliSupportAccounts < ActiveRecord::Migration[7.0]
34
34
  def change
35
35
  create_table_lesli_shared_account_10(:lesli_support)
36
+
37
+ create_table_lesli_item_tasks_10(:lesli_support)
38
+ create_table_lesli_item_activities_10(:lesli_support)
39
+ create_table_lesli_item_discussions_10(:lesli_support)
40
+ # create_table_lesli_item_subscribers_10(:lesli_support_tickets)
41
+ # create_table_lesli_item_attachments_10(:lesli_support_tickets)
42
+ # create_table_lesli_item_versions_10(:lesli_support_tickets)
36
43
  end
37
44
  end
@@ -52,8 +52,6 @@ class CreateLesliSupportTickets < ActiveRecord::Migration[6.0]
52
52
  t.timestamps
53
53
  end
54
54
 
55
- add_index(:lesli_support_tickets, :uid, unique: true)
56
-
57
55
  add_reference(:lesli_support_tickets, :sla, foreign_key: { to_table: :lesli_support_slas })
58
56
  add_reference(:lesli_support_tickets, :type, foreign_key: { to_table: :lesli_support_catalog_items })
59
57
  #add_reference(:lesli_support_tickets, :status, foreign_key: { to_table: :lesli_support_workflow_statuses })
@@ -65,11 +63,6 @@ class CreateLesliSupportTickets < ActiveRecord::Migration[6.0]
65
63
  add_reference(:lesli_support_tickets, :owner, foreign_key: { to_table: :lesli_users })
66
64
  add_reference(:lesli_support_tickets, :account, foreign_key: { to_table: :lesli_support_accounts })
67
65
 
68
- create_table_lesli_item_actions_10(:lesli_support_tickets)
69
- create_table_lesli_item_activities_10(:lesli_support_tickets)
70
- create_table_lesli_item_discussions_10(:lesli_support_tickets)
71
- create_table_lesli_item_subscribers_10(:lesli_support_tickets)
72
- create_table_lesli_item_attachments_10(:lesli_support_tickets)
73
- create_table_lesli_item_versions_10(:lesli_support_tickets)
66
+ add_index(:lesli_support_tickets, [:account_id, :uid], unique: true)
74
67
  end
75
68
  end
data/db/seeds.rb CHANGED
@@ -30,9 +30,9 @@ Building a better future, one line of code at a time.
30
30
  // ·
31
31
  =end
32
32
 
33
- L2.msg("LesliSupport", "Version: #{LesliSupport::VERSION}", "Build: #{LesliSupport::BUILD}")
33
+ Termline.msg("LesliSupport", "Version: #{LesliSupport::VERSION}", "Build: #{LesliSupport::BUILD}")
34
34
 
35
35
  # · load specific environment seeds
36
36
  if Rails.env.development? || Lesli.config.demo
37
- load LesliSupport::Engine.root.join("db", "seed", "#{ Rails.env.downcase }.rb")
37
+ load(LesliSupport::Engine.root.join("db", "seed", "#{ Rails.env.downcase }.rb"))
38
38
  end
@@ -1,4 +1,4 @@
1
1
  module LesliSupport
2
- VERSION = "1.0.0"
3
- BUILD = "1771710537"
2
+ VERSION = "1.2.0"
3
+ BUILD = "1777174912"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lesli_support
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Lesli Development Team
@@ -15,15 +15,17 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: '5.0'
18
+ version: 5.1.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: '5.0'
26
- description: Ticket Management System for the Lesli Framework
25
+ version: 5.1.0
26
+ description: "Provides a support ticket management solution for The Lesli Framework,
27
+ \nincluding ticket creation, assignment workflows, status tracking, \nteam collaboration,
28
+ and support request organization.\n"
27
29
  email:
28
30
  - hello@lesli.tech
29
31
  executables: []
@@ -40,8 +42,8 @@ files:
40
42
  - app/controllers/lesli_support/catalog/items_controller.rb
41
43
  - app/controllers/lesli_support/catalogs_controller.rb
42
44
  - app/controllers/lesli_support/dashboards_controller.rb
43
- - app/controllers/lesli_support/options_controller.rb
44
- - app/controllers/lesli_support/ticket/actions_controller.rb
45
+ - app/controllers/lesli_support/items/discussions_controller.rb
46
+ - app/controllers/lesli_support/items/tasks_controller.rb
45
47
  - app/controllers/lesli_support/ticket/activities_controller.rb
46
48
  - app/controllers/lesli_support/ticket/discussions_controller.rb
47
49
  - app/controllers/lesli_support/tickets_controller.rb
@@ -50,8 +52,6 @@ files:
50
52
  - app/helpers/lesli_support/catalog/items_helper.rb
51
53
  - app/helpers/lesli_support/catalogs_helper.rb
52
54
  - app/helpers/lesli_support/dashboards_helper.rb
53
- - app/helpers/lesli_support/options_helper.rb
54
- - app/helpers/lesli_support/ticket/actions_helper.rb
55
55
  - app/helpers/lesli_support/ticket/activities_helper.rb
56
56
  - app/helpers/lesli_support/ticket/discussions_helper.rb
57
57
  - app/jobs/lesli_support/application_job.rb
@@ -61,9 +61,10 @@ files:
61
61
  - app/models/lesli_support/catalog.rb
62
62
  - app/models/lesli_support/catalog/item.rb
63
63
  - app/models/lesli_support/dashboard.rb
64
- - app/models/lesli_support/option.rb
64
+ - app/models/lesli_support/items/activity.rb
65
+ - app/models/lesli_support/items/discussion.rb
66
+ - app/models/lesli_support/items/task.rb
65
67
  - app/models/lesli_support/ticket.rb
66
- - app/models/lesli_support/ticket/action.rb
67
68
  - app/models/lesli_support/ticket/activity.rb
68
69
  - app/models/lesli_support/ticket/discussion.rb
69
70
  - app/services/lesli_support/catalog_service.rb
@@ -90,17 +91,12 @@ files:
90
91
  - app/views/lesli_support/dashboards/_component-tickets-by-category.html.erb
91
92
  - app/views/lesli_support/dashboards/_component-tickets-created.html.erb
92
93
  - app/views/lesli_support/dashboards/_component-tickets-open.html.erb
93
- - app/views/lesli_support/options/_form.html.erb
94
- - app/views/lesli_support/options/_option.html.erb
95
- - app/views/lesli_support/options/edit.html.erb
96
- - app/views/lesli_support/options/index.html.erb
97
- - app/views/lesli_support/options/new.html.erb
98
- - app/views/lesli_support/options/show.html.erb
99
94
  - app/views/lesli_support/partials/_navigation.html.erb
100
95
  - app/views/lesli_support/tickets/_form.html.erb
101
96
  - app/views/lesli_support/tickets/index.html.erb
102
97
  - app/views/lesli_support/tickets/new.html.erb
103
98
  - app/views/lesli_support/tickets/show.html.erb
99
+ - config/brakeman.yml
104
100
  - config/locales/translations.en.yml
105
101
  - config/locales/translations.es.yml
106
102
  - config/locales/translations.fr.yml
@@ -131,8 +127,6 @@ files:
131
127
  - db/tables/0702040110_create_cloud_help_custom_validations.rb
132
128
  - db/tables/0702040210_create_cloud_help_custom_validation_rules.rb
133
129
  - db/tables/0702040310_create_cloud_help_custom_validation_fields.rb
134
- - db/tables/0702100310_create_cloud_help_ticket_actions.rb
135
- - db/tables/0702100410_create_cloud_help_ticket_activities.rb
136
130
  - db/tables/0702100610_create_cloud_help_ticket_files.rb
137
131
  - db/tables/0702100710_create_cloud_help_ticket_subscribers.rb
138
132
  - db/tables/0702101010_create_cloud_help_ticket_timelines.rb
@@ -147,21 +141,7 @@ files:
147
141
  - lib/lesli_support.rb
148
142
  - lib/lesli_support/engine.rb
149
143
  - lib/lesli_support/version.rb
150
- - lib/scss/application.scss
151
144
  - lib/tasks/lesli_support_tasks.rake
152
- - lib/vue/application.js
153
- - lib/vue/apps/dashboard/components/engine-version.vue
154
- - lib/vue/apps/dashboard/components/my-tasks.vue
155
- - lib/vue/apps/tickets/components/assignments.vue
156
- - lib/vue/apps/tickets/components/form.vue
157
- - lib/vue/apps/tickets/components/internal-comments.vue
158
- - lib/vue/apps/tickets/components/sla-info.vue
159
- - lib/vue/apps/tickets/components/table.vue
160
- - lib/vue/apps/tickets/index.vue
161
- - lib/vue/apps/tickets/new.vue
162
- - lib/vue/apps/tickets/show.vue
163
- - lib/vue/stores/tickets.js
164
- - lib/vue/stores/translations.json
165
145
  - readme.md
166
146
  homepage: https://www.lesli.dev/
167
147
  licenses:
@@ -186,5 +166,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
166
  requirements: []
187
167
  rubygems_version: 3.7.1
188
168
  specification_version: 4
189
- summary: Ticket Management System for the Lesli Framework
169
+ summary: Support ticket management for the Lesli Framework.
190
170
  test_files: []
@@ -1,23 +0,0 @@
1
- module LesliSupport
2
- class OptionsController < ApplicationController
3
- before_action :set_option, only: %i[ show edit update destroy ]
4
-
5
- # GET /options
6
- def index
7
- respond_to do |format|
8
- format.html { }
9
- format.json do
10
-
11
- options = {
12
- types: CatalogType.select(:id, :name),
13
- categories: CatalogCategory.select(:id, :name),
14
- priorities: CatalogPriority.select(:id, :name).order(:weight),
15
- workspaces: CatalogWorkspace.select(:id, :name)
16
- }
17
-
18
- respond_with_successful(options)
19
- end
20
- end
21
- end
22
- end
23
- end
@@ -1,4 +0,0 @@
1
- module LesliSupport
2
- class Ticket::ActionsController < Lesli::Items::ActionsController
3
- end
4
- end