lesli_admin 0.1.0 → 0.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.
- checksums.yaml +4 -4
- data/app/assets/config/lesli_admin_manifest.js +1 -0
- data/app/assets/images/lesli_admin/admin-logo.svg +1 -0
- data/app/assets/javascripts/lesli_admin/application.js +2635 -244
- data/app/assets/javascripts/lesli_admin/translations.js +2291 -0
- data/app/assets/stylesheets/lesli_admin/application.scss +32 -0
- data/app/assets/stylesheets/lesli_admin/users.scss +67 -0
- data/app/controllers/lesli_admin/profiles_controller.rb +56 -0
- data/app/controllers/lesli_admin/users_controller.rb +5 -196
- data/app/helpers/lesli_admin/profiles_helper.rb +4 -0
- data/app/views/lesli_admin/profiles/edit.html.erb +10 -0
- data/app/views/lesli_admin/profiles/index.html.erb +14 -0
- data/app/views/lesli_admin/profiles/new.html.erb +9 -0
- data/app/views/lesli_admin/profiles/show.html.erb +1 -0
- data/app/views/lesli_admin/users/show.html.erb +1 -10
- data/config/locales/translations.en.yml +6 -0
- data/config/locales/translations.es.yml +6 -0
- data/config/routes.rb +4 -7
- data/lib/lesli_admin/engine.rb +31 -0
- data/lib/lesli_admin/version.rb +2 -1
- data/lib/vue/application.js +15 -98
- data/lib/vue/apps/account/show.vue +2 -2
- data/lib/vue/apps/dashboard/show.vue +6 -8
- data/lib/vue/apps/profile/show.vue +22 -15
- data/lib/vue/apps/users/components/information-card.vue +4 -7
- data/lib/vue/apps/users/components/information-form.vue +4 -7
- data/lib/vue/apps/users/index.vue +10 -4
- data/lib/vue/apps/users/show.vue +25 -10
- data/lib/vue/stores/translations.json +20 -0
- data/lib/vue/stores/users.js +1 -1
- data/readme.md +61 -18
- metadata +16 -14
- data/app/assets/stylesheets/lesli_admin/application.css +0 -15
- data/app/models/lesli_admin/dashboard.rb +0 -4
- data/app/models/lesli_admin/user.rb +0 -4
- data/app/services/lesli_admin/user_service.rb +0 -300
- data/lib/vue/stores/account.js +0 -113
- data/lib/vue/stores/descriptor.js +0 -116
- data/lib/vue/stores/descriptors.js +0 -167
- data/lib/vue/stores/integration.js +0 -103
- data/lib/vue/stores/role.js +0 -243
- data/lib/vue/stores/systemController.js +0 -67
- data/lib/vue/stores/user.js +0 -319
- /data/lib/vue/stores/{accountSettings.js → account_settings.js} +0 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
/*
|
2
|
+
Lesli
|
3
|
+
|
4
|
+
Copyright (c) 2023, Lesli Technologies, S. A.
|
5
|
+
|
6
|
+
This program is free software: you can redistribute it and/or modify
|
7
|
+
it under the terms of the GNU General Public License as published by
|
8
|
+
the Free Software Foundation, either version 3 of the License, or
|
9
|
+
(at your option) any later version.
|
10
|
+
|
11
|
+
This program is distributed in the hope that it will be useful,
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
GNU General Public License for more details.
|
15
|
+
|
16
|
+
You should have received a copy of the GNU General Public License
|
17
|
+
along with this program. If not, see http://www.gnu.org/licenses/.
|
18
|
+
|
19
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
20
|
+
|
21
|
+
Made with ♥ by https://www.lesli.tech
|
22
|
+
Building a better future, one line of code at a time.
|
23
|
+
|
24
|
+
@contact hello@lesli.tech
|
25
|
+
@website https://www.lesli.tech
|
26
|
+
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
27
|
+
|
28
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
+
// ·
|
30
|
+
*/
|
31
|
+
|
32
|
+
body.lesli-admin-users { @import "users"; }
|
@@ -0,0 +1,67 @@
|
|
1
|
+
/*
|
2
|
+
Lesli
|
3
|
+
|
4
|
+
Copyright (c) 2023, Lesli Technologies, S. A.
|
5
|
+
|
6
|
+
This program is free software: you can redistribute it and/or modify
|
7
|
+
it under the terms of the GNU General Public License as published by
|
8
|
+
the Free Software Foundation, either version 3 of the License, or
|
9
|
+
(at your option) any later version.
|
10
|
+
|
11
|
+
This program is distributed in the hope that it will be useful,
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
GNU General Public License for more details.
|
15
|
+
|
16
|
+
You should have received a copy of the GNU General Public License
|
17
|
+
along with this program. If not, see http://www.gnu.org/licenses/.
|
18
|
+
|
19
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
20
|
+
|
21
|
+
Made with ♥ by https://www.lesli.tech
|
22
|
+
Building a better future, one line of code at a time.
|
23
|
+
|
24
|
+
@contact hello@lesli.tech
|
25
|
+
@website https://www.lesli.tech
|
26
|
+
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
27
|
+
|
28
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
+
// ·
|
30
|
+
*/
|
31
|
+
|
32
|
+
|
33
|
+
// ·
|
34
|
+
.user-information-card {
|
35
|
+
figure {
|
36
|
+
display: flex;
|
37
|
+
align-items: center;
|
38
|
+
justify-content: center;
|
39
|
+
border-radius: 50%;
|
40
|
+
background-color: lesli-css-color(silver, 100);
|
41
|
+
border: 2px solid var(--lesli-color-primary, lesli-css-color(blue));
|
42
|
+
}
|
43
|
+
.alternative-avatar {
|
44
|
+
font-weight: 200;
|
45
|
+
font-size: 3rem;
|
46
|
+
color: var(--lesli-color-primary, lesli-css-color(blue));
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
form.information {
|
51
|
+
max-width: 80%;
|
52
|
+
}
|
53
|
+
|
54
|
+
// · roles management cards
|
55
|
+
.roles-types {
|
56
|
+
display: grid;
|
57
|
+
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
58
|
+
grid-auto-rows: minmax(198px, auto);
|
59
|
+
gap: 20px;
|
60
|
+
|
61
|
+
&-item {
|
62
|
+
width: 100%;
|
63
|
+
height: 135px;
|
64
|
+
border-radius: 8px;
|
65
|
+
margin: 5px;
|
66
|
+
}
|
67
|
+
}
|
@@ -0,0 +1,56 @@
|
|
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
|
+
module LesliAdmin
|
33
|
+
class ProfilesController < ApplicationController
|
34
|
+
before_action :set_profile, only: %i[ show ]
|
35
|
+
|
36
|
+
# GET /profiles/1
|
37
|
+
def show
|
38
|
+
respond_to do |format|
|
39
|
+
format.html { }
|
40
|
+
format.json { respond_with_successful(@profile.show) }
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
# Use callbacks to share common setup or constraints between actions.
|
47
|
+
def set_profile
|
48
|
+
@profile = Lesli::UserService.new(current_user, query).find(current_user.id)
|
49
|
+
end
|
50
|
+
|
51
|
+
# Only allow a list of trusted parameters through.
|
52
|
+
def profile_params
|
53
|
+
params.fetch(:profile, {})
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -32,213 +32,22 @@ Building a better future, one line of code at a time.
|
|
32
32
|
|
33
33
|
module LesliAdmin
|
34
34
|
class UsersController < ApplicationController
|
35
|
-
before_action :set_user, only: [
|
36
|
-
:show,
|
37
|
-
:update,
|
38
|
-
:destroy,
|
39
|
-
:requestpassword,
|
40
|
-
:passwordreset,
|
41
|
-
:revokeaccess,
|
42
|
-
:logout
|
43
|
-
]
|
44
|
-
|
45
|
-
# GET /users/list
|
46
|
-
def list
|
47
|
-
respond_to do |format|
|
48
|
-
format.json { respond_with_successful(UserService.new("current_user").list(query, params)) }
|
49
|
-
end
|
50
|
-
end
|
35
|
+
#before_action :set_user, only: [:show]
|
51
36
|
|
52
37
|
# GET /users
|
53
38
|
def index
|
54
|
-
respond_to do |format|
|
55
|
-
format.html { }
|
56
|
-
format.json {
|
57
|
-
return respond_with_pagination(UserService.new("current_user").index(query, params))
|
58
|
-
}
|
59
|
-
end
|
60
39
|
end
|
61
40
|
|
62
41
|
def show
|
63
|
-
respond_to do |format|
|
64
|
-
format.html {}
|
65
|
-
format.json {
|
66
|
-
return respond_with_not_found unless @user.found?
|
67
|
-
return respond_with_successful(@user.show)
|
68
|
-
}
|
69
|
-
end
|
70
42
|
end
|
71
43
|
|
72
|
-
def new
|
73
|
-
|
74
|
-
def create
|
75
|
-
|
76
|
-
user = UserService.new(current_user).create(user_params)
|
77
|
-
if user.successful?
|
78
|
-
respond_with_successful(user.result)
|
79
|
-
else
|
80
|
-
respond_with_error("Error creating user", user.errors)
|
81
|
-
end
|
82
|
-
|
83
|
-
end
|
84
|
-
|
85
|
-
def update
|
86
|
-
|
87
|
-
# validate that user exists
|
88
|
-
return respond_with_not_found unless @user.found?
|
89
|
-
|
90
|
-
@user.update(user_params)
|
91
|
-
|
92
|
-
if @user.successful?
|
93
|
-
respond_with_successful(@user.result)
|
94
|
-
else
|
95
|
-
respond_with_error(@user.errors)
|
96
|
-
end
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
def destroy
|
101
|
-
return respond_with_not_found unless @user
|
102
|
-
|
103
|
-
# get the user found in the UserServices
|
104
|
-
user = @user.result
|
105
|
-
|
106
|
-
if user.delete
|
107
|
-
current_user.logs.create({ title: "deleted_user", description: "by_user_id: #{ current_user.email }" })
|
108
|
-
respond_with_successful()
|
109
|
-
else
|
110
|
-
respond_with_error(user.errors.full_messages.to_sentence)
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
# Force the user to update his password
|
115
|
-
def requestpassword
|
116
|
-
if @user.request_password
|
117
|
-
respond_with_successful
|
118
|
-
else
|
119
|
-
respond_with_error
|
120
|
-
end
|
121
|
-
end
|
122
|
-
|
123
|
-
# Reset password (generate random)
|
124
|
-
def passwordreset
|
125
|
-
|
126
|
-
pass = @user.password_reset
|
127
|
-
|
128
|
-
if pass
|
129
|
-
respond_with_successful(pass)
|
130
|
-
else
|
131
|
-
respond_with_error
|
132
|
-
end
|
133
|
-
end
|
134
|
-
|
135
|
-
# this method is going to close all the open user sessions
|
136
|
-
def logout
|
137
|
-
if @user.logout
|
138
|
-
respond_with_successful
|
139
|
-
else
|
140
|
-
respond_with_error
|
141
|
-
end
|
44
|
+
def new
|
142
45
|
end
|
143
|
-
|
144
|
-
|
145
|
-
def revokeaccess
|
146
|
-
if @user.revoke_access
|
147
|
-
respond_with_successful
|
148
|
-
else
|
149
|
-
respond_with_error
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
|
-
def become
|
154
|
-
|
155
|
-
# always should be disabled
|
156
|
-
if Rails.configuration.lesli.dig(:security, :enable_becoming) != true
|
157
|
-
return respond_with_unauthorized
|
158
|
-
end
|
159
|
-
|
160
|
-
# Allow only sysadmin to become as user
|
161
|
-
return respond_with_unauthorized if current_user.email != Rails.application.config.lesli.dig(:account, :user, :email) # sysadmin user
|
162
|
-
|
163
|
-
# Search for desire user
|
164
|
-
becoming_user = User.find(params[:id])
|
165
|
-
|
166
|
-
# Return an error if user does not exist
|
167
|
-
return respond_with_error I18n.t("core.shared.messages_warning_user_not_found") if becoming_user.blank?
|
168
|
-
|
169
|
-
# Extrictly save a log when becoming
|
170
|
-
current_user.activities.create!({
|
171
|
-
users_id: becoming_user.id,
|
172
|
-
owner_id: current_user.id,
|
173
|
-
description: "#{current_user.full_name} -> #{becoming_user.full_name}",
|
174
|
-
category: "action_become"
|
175
|
-
})
|
176
|
-
|
177
|
-
# Sign in as the becoming user
|
178
|
-
sign_in(:user, becoming_user)
|
179
|
-
|
180
|
-
# Create a new session for the becoming user
|
181
|
-
becoming_session = becoming_user.sessions.create({
|
182
|
-
:user_agent => get_user_agent,
|
183
|
-
:user_remote => request.remote_ip,
|
184
|
-
:session_source => "become_session",
|
185
|
-
:last_used_at => LC::Date.now,
|
186
|
-
:expiration_at => 60.minutes.from_now
|
187
|
-
})
|
188
|
-
|
189
|
-
# assign the session of the becomer user to the becoming user
|
190
|
-
session[:user_session_id] = becoming_session[:id]
|
191
|
-
|
192
|
-
# Response successful
|
193
|
-
respond_with_successful([current_user, becoming_user])
|
194
|
-
|
195
|
-
end
|
196
|
-
|
197
|
-
def options
|
198
|
-
respond_with_successful({
|
199
|
-
#regions: current_user.account.locations.where(level: "region"),
|
200
|
-
salutations: User::Detail.salutations.map {|k, v| {value: k, text: v}},
|
201
|
-
locales: Rails.application.config.lesli.dig(:configuration, :locales_available),
|
202
|
-
mfa_methods: Rails.application.config.lesli.dig(:configuration, :mfa_methods)
|
203
|
-
})
|
46
|
+
|
47
|
+
def edit
|
204
48
|
end
|
205
|
-
|
49
|
+
|
206
50
|
private
|
207
|
-
|
208
|
-
# @return [void]
|
209
|
-
# @description Sets the requested user based on the current_users's account
|
210
|
-
# @example
|
211
|
-
# # Executing this method from a controller action:
|
212
|
-
# set_user
|
213
|
-
# puts @user
|
214
|
-
# # This will either display nil or an instance of Account::User
|
215
|
-
def set_user
|
216
|
-
@user = UserService.new(current_user).find(params[:id])
|
217
|
-
end
|
218
|
-
|
219
|
-
def user_params
|
220
|
-
params.require(:user).permit(
|
221
|
-
:active,
|
222
|
-
:email,
|
223
|
-
:alias,
|
224
|
-
:roles_id,
|
225
|
-
:first_name,
|
226
|
-
:last_name,
|
227
|
-
:telephone,
|
228
|
-
detail_attributes: [
|
229
|
-
:title,
|
230
|
-
:salutation,
|
231
|
-
:address,
|
232
|
-
:work_city,
|
233
|
-
:work_region,
|
234
|
-
:work_address
|
235
|
-
]
|
236
|
-
)
|
237
|
-
end
|
238
51
|
|
239
|
-
# Only allow a list of trusted parameters through.
|
240
|
-
def user_params
|
241
|
-
params.fetch(:user, {})
|
242
|
-
end
|
243
52
|
end
|
244
53
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<p style="color: green"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Profiles</h1>
|
4
|
+
|
5
|
+
<div id="profiles">
|
6
|
+
<% @profiles.each do |profile| %>
|
7
|
+
<%= render profile %>
|
8
|
+
<p>
|
9
|
+
<%= link_to "Show this profile", profile %>
|
10
|
+
</p>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
|
14
|
+
<%= link_to "New profile", new_profile_path %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<router-view></router-view>
|
@@ -1,10 +1 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
<%= render @user %>
|
4
|
-
|
5
|
-
<div>
|
6
|
-
<%= link_to "Edit this user", edit_user_path(@user) %> |
|
7
|
-
<%= link_to "Back to users", users_path %>
|
8
|
-
|
9
|
-
<%= button_to "Destroy this user", @user, method: :delete %>
|
10
|
-
</div>
|
1
|
+
<router-view></router-view>
|
data/config/routes.rb
CHANGED
@@ -1,13 +1,10 @@
|
|
1
1
|
LesliAdmin::Engine.routes.draw do
|
2
|
+
|
2
3
|
root to: "dashboards#show"
|
3
4
|
resource :dashboard, only: [:show]
|
4
5
|
|
5
|
-
resource :
|
6
|
-
resources :users, only: [:index, :show, :new, :update, :create, :destroy] do
|
6
|
+
resource :profile
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
get :list
|
11
|
-
end
|
12
|
-
end
|
8
|
+
resource :account, only: [:show]
|
9
|
+
resources :users, only: [:index, :show, :new]
|
13
10
|
end
|
data/lib/lesli_admin/engine.rb
CHANGED
@@ -1,3 +1,34 @@
|
|
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
|
1
32
|
module LesliAdmin
|
2
33
|
class Engine < ::Rails::Engine
|
3
34
|
isolate_namespace LesliAdmin
|
data/lib/lesli_admin/version.rb
CHANGED
data/lib/vue/application.js
CHANGED
@@ -30,21 +30,28 @@ Building a better future, one line of code at a time.
|
|
30
30
|
*/
|
31
31
|
|
32
32
|
|
33
|
-
// ·
|
33
|
+
// · Import Lesli builders
|
34
34
|
import application from "Lesli/application"
|
35
|
+
import translation from "Lesli/translation"
|
35
36
|
|
36
37
|
|
37
|
-
// ·
|
38
|
+
// · Import engine translations
|
39
|
+
import translations from "LesliAdmin/stores/translations.json"
|
40
|
+
|
41
|
+
|
42
|
+
// · Import engine applications
|
38
43
|
import applicationDashboardShow from "LesliAdmin/apps/dashboard/show.vue"
|
39
44
|
import applicationAccountShow from "LesliAdmin/apps/account/show.vue"
|
40
|
-
|
41
|
-
//import applicationUsersProfile from "LesliApp/administration/apps/profile/show.vue"
|
42
45
|
import applicationUsersIndex from "LesliAdmin/apps/users/index.vue"
|
43
|
-
|
44
|
-
|
46
|
+
import applicationUsersShow from "LesliAdmin/apps/users/show.vue"
|
47
|
+
import applicationProfile from "LesliAdmin/apps/profile/show.vue"
|
45
48
|
|
46
49
|
|
47
|
-
// ·
|
50
|
+
// · Buil Lesli translations
|
51
|
+
translation(translations)
|
52
|
+
|
53
|
+
|
54
|
+
// · Build a new Lesli application
|
48
55
|
application("LesliAdmin", [{
|
49
56
|
path: "/dashboard",
|
50
57
|
component: applicationDashboardShow
|
@@ -54,100 +61,10 @@ application("LesliAdmin", [{
|
|
54
61
|
}, {
|
55
62
|
path: "/users",
|
56
63
|
component: applicationUsersIndex
|
57
|
-
}/*, {
|
58
|
-
path: "/users/new",
|
59
|
-
component: applicationUsersNew
|
60
|
-
}*/])
|
61
|
-
|
62
|
-
/*
|
63
|
-
// ·
|
64
|
-
import applicationAccountDashboard from "CloudAdmin/apps/accounts/dashboard.vue"
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
import applicationDescriptorsPrivileges from "LesliApp/administration/apps/descriptors/privileges.vue"
|
69
|
-
import applicationDescriptorsIndex from "LesliApp/administration/apps/descriptors/index.vue"
|
70
|
-
import applicationDescriptorsEdit from "LesliApp/administration/apps/descriptors/edit.vue"
|
71
|
-
import applicationDescriptorsShow from "LesliApp/administration/apps/descriptors/show.vue"
|
72
|
-
import applicationDescriptorsNew from "LesliApp/administration/apps/descriptors/new.vue"
|
73
|
-
|
74
|
-
import applicationRolesIndex from "LesliApp/administration/apps/roles/index.vue"
|
75
|
-
import applicationRolesShow from "LesliApp/administration/apps/roles/show.vue"
|
76
|
-
import applicationRolesEdit from "LesliApp/administration/apps/roles/edit.vue"
|
77
|
-
import applicationRolesNew from "LesliApp/administration/apps/roles/new.vue"
|
78
|
-
|
79
|
-
import applicationIntegrationsIndex from "LesliApp/administration/apps/integrations/index.vue"
|
80
|
-
import applicationIntegrationsNew from "LesliApp/administration/apps/integrations/new.vue"
|
81
|
-
import applicationSecurity from "LesliApp/administration/apps/security/index.vue"
|
82
|
-
import applicationDatetime from "LesliApp/administration/apps/date_time/index.vue"
|
83
|
-
import applicationBranding from "LesliApp/administration/apps/branding/index.vue"
|
84
|
-
import applicationTheme from "LesliApp/administration/apps/theme/index.vue"
|
85
|
-
import applicationAccountShow from "LesliApp/administration/apps/accounts/show.vue"
|
86
|
-
|
87
|
-
|
88
|
-
// ·
|
89
|
-
application("Lesli", [{
|
90
|
-
path: "/",
|
91
|
-
component: applicationAccountDashboard
|
92
|
-
}, {
|
93
|
-
path: "/account",
|
94
|
-
component: applicationAccountShow
|
95
64
|
}, {
|
96
65
|
path: "/users/:id",
|
97
66
|
component: applicationUsersShow
|
98
67
|
}, {
|
99
|
-
path: "/users/new",
|
100
|
-
component: applicationUsersNew
|
101
|
-
},{
|
102
68
|
path: "/profile",
|
103
|
-
component:
|
104
|
-
}, {
|
105
|
-
path: "/descriptors",
|
106
|
-
component: applicationDescriptorsIndex
|
107
|
-
}, {
|
108
|
-
path: "/descriptors/:id/edit",
|
109
|
-
component: applicationDescriptorsEdit
|
110
|
-
}, {
|
111
|
-
path: "/descriptors/:id",
|
112
|
-
component: applicationDescriptorsShow
|
113
|
-
}, {
|
114
|
-
path: "/descriptors/:id/privileges",
|
115
|
-
component: applicationDescriptorsPrivileges
|
116
|
-
}, {
|
117
|
-
path: "/descriptors/new",
|
118
|
-
component: applicationDescriptorsNew
|
119
|
-
}, {
|
120
|
-
path: "/roles",
|
121
|
-
component: applicationRolesIndex
|
122
|
-
}, {
|
123
|
-
path: "/roles/new",
|
124
|
-
component: applicationRolesNew
|
125
|
-
}, {
|
126
|
-
path: "/roles/:id",
|
127
|
-
component: applicationRolesShow
|
128
|
-
}, {
|
129
|
-
path: "/roles/:id/edit",
|
130
|
-
component: applicationRolesEdit
|
131
|
-
}, {
|
132
|
-
path: "/account/integrations",
|
133
|
-
component: applicationIntegrationsIndex
|
134
|
-
}, {
|
135
|
-
path: "/account/integrations/new",
|
136
|
-
component: applicationIntegrationsNew
|
137
|
-
}, {
|
138
|
-
path: "/account/settings/security",
|
139
|
-
component: applicationSecurity
|
140
|
-
}, {
|
141
|
-
path: "/account/settings/date_time",
|
142
|
-
component: applicationDatetime
|
143
|
-
}, {
|
144
|
-
path: "/account/settings/branding",
|
145
|
-
component: applicationBranding
|
146
|
-
}, {
|
147
|
-
path: "/account/settings/theme",
|
148
|
-
component: applicationTheme
|
149
|
-
}, {
|
150
|
-
path: "/account/settings/theme",
|
151
|
-
component: applicationTheme
|
69
|
+
component: applicationProfile
|
152
70
|
}])
|
153
|
-
*/
|
@@ -69,7 +69,7 @@ onMounted(() => {
|
|
69
69
|
|
70
70
|
</script>
|
71
71
|
<template>
|
72
|
-
<lesli-
|
72
|
+
<lesli-application-container>
|
73
73
|
<lesli-header title="Account information">
|
74
74
|
</lesli-header>
|
75
75
|
<lesli-tabs v-model="tab">
|
@@ -77,7 +77,7 @@ onMounted(() => {
|
|
77
77
|
<form-information></form-information>
|
78
78
|
</lesli-tab-item>
|
79
79
|
</lesli-tabs>
|
80
|
-
</lesli-
|
80
|
+
</lesli-application-container>
|
81
81
|
<!--
|
82
82
|
<lesli-tab-item title="Address" icon="location_on">
|
83
83
|
<address-form></address-form>
|