lesli_support 1.2.1 → 1.2.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b18025f23c4317eb14be9f72652262a4539d959f3b206c33d98fcc03552dfc2
4
- data.tar.gz: b3ffaa98ead52201d1d2988533c14216cf9d30ce696ffd3b1a9829a31110a300
3
+ metadata.gz: 3c185b1be1e8d55c119d4f13a78497fde573b7b2dda79537b3c8e4fdd48ff3c4
4
+ data.tar.gz: 9afad423911f1dd82442120986a65c002f4e075cfad8eab44177ca8a05432fc6
5
5
  SHA512:
6
- metadata.gz: c5fc67e35baf4071df3ab582b4f036369194ddbfccaefa2254e3f4cf7ca33a78c76078e59eac8640b7331bdc51b9a47ef0df5633a67e1057453736e5de645aef
7
- data.tar.gz: feaa69f5bb1393dd780bf0977290895c605e37a85e74f07f16ff3a63f5e1048ec78682a7af09df7b2bf89a0ae9f8e81f7e27c21697d9c43646e3a1641d9779d8
6
+ metadata.gz: db5086f6f7adac9828c774d26abfed313bf9342e13a30766e6fcc2520dc1676379d60c445b7a07eb5e384bda8dba953d6af3fdb0fd772603f361790016e4cfdc
7
+ data.tar.gz: 5cec3d41602e48cf7dd332ac932a4245b2560a543e15623ecec6da8c483ebdf1ba47b6eed52ece77b78abb3aa74d4eb24c79baae5856302c3eb9d32db3d90cc1
@@ -1,17 +1,6 @@
1
-
2
- <%
3
- tickets = current_user.account.support.tickets
1
+ <%= render(LesliView::Widgets::Chart.new('Priorities',
2
+ current_user.account.support.tickets
4
3
  .joins(:priority)
5
4
  .group('lesli_support_catalog_items.name')
6
5
  .count
7
- %>
8
-
9
- <%= render(LesliView::Widgets::Chart.new('Priorities', tickets))%>
10
-
11
- <%
12
- tickets = current_user.account.support.tickets
13
- .joins(:category)
14
- .group('lesli_support_catalog_items.name')
15
- .count
16
- %>
17
-
6
+ ))%>
@@ -2,22 +2,23 @@
2
2
  <%= form_with(model: @ticket, builder: LesliView::Forms::Builder) do |form| %>
3
3
  <%= form.fieldset do %>
4
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>
5
+ <input
6
+ class="mb-3 block w-full rounded-lg border border-slate-300 bg-slate-100 px-3 py-2 text-center text-sm text-slate-500 shadow-sm disabled:cursor-not-allowed"
7
+ type="text"
8
+ disabled
9
+ value="<%= @ticket.uid %>"
10
+ >
10
11
 
11
12
  <%= form.field_control(:subject) %>
12
13
 
13
- <div class="columns mb-0">
14
- <div class="column">
14
+ <div class="grid grid-cols-1 gap-4 md:grid-cols-3">
15
+ <div>
15
16
  <%= form.field_control_select(:type_id, current_user.account.support.catalogs.items_for("Ticket Types").pluck(:name, :id)) %>
16
17
  </div>
17
- <div class="column">
18
+ <div>
18
19
  <%= form.field_control_select(:category_id, current_user.account.support.catalogs.items_for("Ticket Categories").pluck(:name, :id)) %>
19
20
  </div>
20
- <div class="column">
21
+ <div>
21
22
  <%= form.field_control_select(:priority_id, current_user.account.support.catalogs.items_for("Ticket Priorities").pluck(:name, :id)) %>
22
23
  </div>
23
24
  </div>
@@ -26,9 +27,9 @@
26
27
 
27
28
  <%= form.field_control_textarea(:description, label:false) %>
28
29
 
29
- <hr/>
30
+ <hr class="my-6 border-0 border-t border-slate-200">
30
31
 
31
32
  <%= form.field_control_submit %>
32
33
 
33
- <% end %>
34
+ <% end %>
34
35
  <% end %>
@@ -1,4 +1,4 @@
1
1
  module LesliSupport
2
- VERSION = "1.2.1"
3
- BUILD = "1777771350"
2
+ VERSION = "1.2.2"
3
+ BUILD = "1791607001"
4
4
  end
data/readme.md CHANGED
@@ -1,14 +1,15 @@
1
1
  <div align="center">
2
- <img width="100" alt="LesliSupport logo" src="./app/assets/images/lesli_support/support-logo.svg" />
3
- <h3 align="center">Support Ticket System for the Lesli Framework.</h3>
2
+ <h1 align="center">
3
+ <img width="100" alt="LesliSupport" src="./app/assets/images/lesli_support/support-logo.svg" />
4
+ </h1>
5
+ <h3 align="center">Customer support and ticketing for the Lesli Framework.</h3>
4
6
  </div>
5
7
 
6
8
  <br />
7
- <hr/>
8
9
 
9
10
  <div align="center">
10
- <a target="_blank" href="https://github.com/LesliTech/LesliSupport/actions">
11
- <img alt="Tests passing" src="https://img.shields.io/badge/Tests-passing-green?style=for-the-badge&logo=github">
11
+ <a target="_blank" href="https://github.com/LesliTech/LesliSupport/actions/workflows/lesli-ci-tests.yaml">
12
+ <img alt="LesliSupport test status" src="https://img.shields.io/github/actions/workflow/status/LesliTech/LesliSupport/lesli-ci-tests.yaml?branch=master&style=for-the-badge&logo=github&label=tests">
12
13
  </a>
13
14
  <a target="_blank" href="https://rubygems.org/gems/lesli_support">
14
15
  <img alt="Gem Version" src="https://img.shields.io/gem/v/lesli_support?style=for-the-badge&logo=ruby">
@@ -16,83 +17,148 @@
16
17
  <a target="_blank" href="https://codecov.io/github/LesliTech/LesliSupport">
17
18
  <img alt="Codecov" src="https://img.shields.io/codecov/c/github/LesliTech/LesliSupport?style=for-the-badge&logo=codecov">
18
19
  </a>
20
+ <a target="_blank" href="https://sonarcloud.io/project/overview?id=LesliTech_LesliSupport">
21
+ <img alt="Sonar Quality Gate" src="https://img.shields.io/sonar/quality_gate/LesliTech_LesliSupport?server=https%3A%2F%2Fsonarcloud.io&style=for-the-badge&logo=sonarqubecloud&label=Quality">
22
+ </a>
19
23
  </div>
20
24
 
21
- <hr/>
22
25
  <br />
23
26
 
24
27
  <div align="center">
25
28
  <img
26
29
  style="width:100%;max-width:800px;border-radius:6px;"
27
- alt="Lesli screenshot" src="./docs/images/screenshot.png" />
30
+ alt="LesliSupport ticket management"
31
+ src="./docs/images/screenshot.png" />
28
32
  </div>
29
33
 
34
+ ---
35
+
30
36
  <br />
31
- <hr/>
37
+
38
+ ## Introduction
39
+
40
+ LesliSupport is the official customer-support and ticketing engine for the [Lesli Framework](https://github.com/LesliTech/Lesli).
41
+
42
+ It provides account-scoped tools for receiving, organizing, discussing, and resolving support requests.
43
+
32
44
  <br />
33
45
 
34
- ### Installation
46
+ ## Features
47
+
48
+ - Support ticket creation and tracking
49
+ - Ticket assignment and status workflows
50
+ - Internal and customer-facing discussions
51
+ - Ticket activity history
52
+ - Service catalog and account-scoped organization
53
+
54
+ <br />
55
+
56
+ ## Try LesliSupport
57
+
58
+ - [Try the online demo](https://demo.lesli.dev/)
59
+ - [Run the Docker demo](https://github.com/LesliTech/lesli-docker-demo)
60
+
61
+ <br />
62
+
63
+ ## Quick Start
64
+
65
+ ### Requirements
66
+
67
+ - A Rails application with [Lesli](https://rubygems.org/gems/lesli)
68
+ - SQLite by default, or PostgreSQL when preferred by the host application
69
+
70
+ ### Install LesliSupport
71
+
72
+ Add the engine to the host Rails application and prepare its database:
35
73
 
36
74
  ```shell
37
- # Add LesliSupport engine gem
38
75
  bundle add lesli_support
76
+ bin/rails lesli:db:prepare
77
+ ```
39
78
 
40
- # Setup & initialize the database
41
- rake lesli:db:setup
79
+ ### Mount the engine
80
+
81
+ Applications using Lesli's standard router mount LesliSupport automatically at `/support`:
82
+
83
+ ```ruby
84
+ # config/routes.rb
85
+ Rails.application.routes.draw do
86
+ Lesli::Router.mount(self)
87
+ end
42
88
  ```
43
89
 
90
+ If the application does not use the standard Lesli router, mount the engine directly:
91
+
44
92
  ```ruby
45
- # Load LesliSupport engine
93
+ # config/routes.rb
46
94
  Rails.application.routes.draw do
47
95
  mount LesliSupport::Engine => "/support"
48
96
  end
49
97
  ```
50
98
 
99
+ Start Rails and visit [http://127.0.0.1:3000/support](http://127.0.0.1:3000/support):
100
+
101
+ ```shell
102
+ bin/rails server
103
+ ```
104
+
51
105
  <br />
52
- <hr/>
53
- <br />
54
106
 
55
- ### Development
107
+ ## Development
108
+
109
+ Clone LesliSupport into the host application's `engines` directory:
56
110
 
57
111
  ```shell
58
- # clone the lesli repo inside your engine folder: RailsApp/engines
59
- git clone https://github.com/LesliTech/LesliSupport.git
112
+ cd RailsApp
113
+ mkdir -p engines
114
+ git clone https://github.com/LesliTech/LesliSupport.git engines/LesliSupport
115
+ ```
60
116
 
61
- # Load LesliSupport as a Gem
62
- gem "lesli", path: "engines/LesliSupport"
117
+ Reference the local engine from the host application's `Gemfile`:
63
118
 
64
- # Install the necessary Gems to run LesliSupport
119
+ ```ruby
120
+ gem "lesli_support", path: "engines/LesliSupport"
121
+ ```
122
+
123
+ Install dependencies, prepare the host database, and start Rails:
124
+
125
+ ```shell
65
126
  bundle install
127
+ bin/rails lesli:db:prepare
128
+ bin/rails server
129
+ ```
66
130
 
67
- # Setup & initialize the database
68
- rake lesli:db:setup
131
+ ### Tests
69
132
 
133
+ From a complete Lesli development workspace, run the engine test suite from the LesliSupport directory:
134
+
135
+ ```shell
136
+ cd engines/LesliSupport
137
+ bin/rails test
70
138
  ```
71
139
 
72
- <br />
73
- <hr/>
74
140
  <br />
75
141
 
76
- ### Demo
142
+ ## Documentation
77
143
 
78
- * [online demo](https://demo.lesli.dev/)
79
- * [docker demo](https://github.com/LesliTech/lesli-docker-demo)
144
+ - [Lesli website](https://www.lesli.dev/)
145
+ - [Documentation](https://www.lesli.dev/engines/support)
146
+ - [Release notes](https://github.com/LesliTech/LesliSupport/releases)
147
+ - [Issue tracker](https://github.com/LesliTech/LesliSupport/issues)
148
+ - [Source code](https://github.com/LesliTech/LesliSupport)
80
149
 
150
+ <br />
81
151
 
82
- ### Documentation
83
- * [website](https://www.lesli.dev/)
84
- * [documentation](https://www.lesli.dev/engines/support)
85
-
152
+ ## Community
86
153
 
87
- ### Connect with Lesli
154
+ - [X: @LesliTech](https://x.com/LesliTech)
155
+ - [hello@lesli.tech](mailto:hello@lesli.tech)
156
+ - [https://www.lesli.tech](https://www.lesli.tech)
88
157
 
89
- * [X: @LesliTech](https://x.com/LesliTech)
90
- * [Email: hello@lesli.tech](hello@lesli.tech)
91
- * [Website: https://www.lesli.tech](https://www.lesli.tech)
158
+ <br />
92
159
 
160
+ ## License
93
161
 
94
- ### License
95
- -------
96
162
  Copyright (c) 2026, Lesli Technologies, S. A.
97
163
 
98
164
  This program is free software: you can redistribute it and/or modify
@@ -106,19 +172,14 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
106
172
  GNU General Public License for more details.
107
173
 
108
174
  You should have received a copy of the GNU General Public License
109
- along with this program. If not, see http://www.gnu.org/licenses/.
175
+ along with this program. If not, see [https://www.gnu.org/licenses/](https://www.gnu.org/licenses/).
176
+
177
+ ---
110
178
 
111
- <br />
112
- <hr />
113
179
  <br />
114
180
  <br />
115
181
 
116
- <div align="center" class="has-text-centered">
117
- <img width="200" alt="Lesli logo" src="https://cdn.lesli.tech/lesli/brand/app-logo.svg" />
118
- <h3 align="center" class="mt-0">
119
- The Open-Source SaaS Development Framework for Ruby on Rails.
120
- </h3>
182
+ <div align="center">
183
+ <img width="80" alt="Lesli icon" src="https://cdn.lesli.tech/lesli/brand/app-icon.svg" />
184
+ <h3 align="center">The Open-Source SaaS Development Framework for Ruby on Rails.</h3>
121
185
  </div>
122
-
123
- <br />
124
- <br />
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.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Lesli Development Team
@@ -37,6 +37,7 @@ files:
37
37
  - app/assets/images/lesli_support/support-logo.svg
38
38
  - app/assets/javascripts/lesli_support/application.js
39
39
  - app/assets/stylesheets/lesli_support/application.css
40
+ - app/assets/stylesheets/lesli_support/application.tailwind.css
40
41
  - app/controllers/lesli_support/accounts_controller.rb
41
42
  - app/controllers/lesli_support/application_controller.rb
42
43
  - app/controllers/lesli_support/catalog/items_controller.rb