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 +4 -4
- data/app/assets/stylesheets/lesli_support/application.tailwind.css +0 -0
- data/app/views/lesli_support/dashboards/_component-tickets-by-category.html.erb +3 -14
- data/app/views/lesli_support/tickets/_form.html.erb +12 -11
- data/lib/lesli_support/version.rb +2 -2
- data/readme.md +110 -49
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3c185b1be1e8d55c119d4f13a78497fde573b7b2dda79537b3c8e4fdd48ff3c4
|
|
4
|
+
data.tar.gz: 9afad423911f1dd82442120986a65c002f4e075cfad8eab44177ca8a05432fc6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: db5086f6f7adac9828c774d26abfed313bf9342e13a30766e6fcc2520dc1676379d60c445b7a07eb5e384bda8dba953d6af3fdb0fd772603f361790016e4cfdc
|
|
7
|
+
data.tar.gz: 5cec3d41602e48cf7dd332ac932a4245b2560a543e15623ecec6da8c483ebdf1ba47b6eed52ece77b78abb3aa74d4eb24c79baae5856302c3eb9d32db3d90cc1
|
|
File without changes
|
|
@@ -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
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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="
|
|
14
|
-
<div
|
|
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
|
|
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
|
|
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 %>
|
data/readme.md
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<
|
|
3
|
-
|
|
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="
|
|
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="
|
|
30
|
+
alt="LesliSupport ticket management"
|
|
31
|
+
src="./docs/images/screenshot.png" />
|
|
28
32
|
</div>
|
|
29
33
|
|
|
34
|
+
---
|
|
35
|
+
|
|
30
36
|
<br />
|
|
31
|
-
|
|
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
|
-
|
|
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
|
-
|
|
41
|
-
|
|
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
|
-
#
|
|
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
|
-
|
|
107
|
+
## Development
|
|
108
|
+
|
|
109
|
+
Clone LesliSupport into the host application's `engines` directory:
|
|
56
110
|
|
|
57
111
|
```shell
|
|
58
|
-
|
|
59
|
-
|
|
112
|
+
cd RailsApp
|
|
113
|
+
mkdir -p engines
|
|
114
|
+
git clone https://github.com/LesliTech/LesliSupport.git engines/LesliSupport
|
|
115
|
+
```
|
|
60
116
|
|
|
61
|
-
|
|
62
|
-
gem "lesli", path: "engines/LesliSupport"
|
|
117
|
+
Reference the local engine from the host application's `Gemfile`:
|
|
63
118
|
|
|
64
|
-
|
|
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
|
-
|
|
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
|
-
|
|
142
|
+
## Documentation
|
|
77
143
|
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
83
|
-
* [website](https://www.lesli.dev/)
|
|
84
|
-
* [documentation](https://www.lesli.dev/engines/support)
|
|
85
|
-
|
|
152
|
+
## Community
|
|
86
153
|
|
|
87
|
-
|
|
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
|
-
|
|
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
|
|
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"
|
|
117
|
-
<img width="
|
|
118
|
-
<h3 align="center"
|
|
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.
|
|
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
|