lesli_admin 0.3.0 → 0.4.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/javascripts/lesli_admin/application.js +284 -841
- data/app/controllers/lesli_admin/accounts_controller.rb +3 -5
- data/app/controllers/lesli_admin/dashboard/components_controller.rb +60 -0
- data/app/controllers/lesli_admin/dashboards_controller.rb +26 -50
- data/app/models/lesli_admin/account.rb +6 -0
- data/app/{controllers/lesli_admin/profiles_controller.rb → models/lesli_admin/dashboard/component.rb} +13 -19
- data/app/models/lesli_admin/dashboard.rb +58 -0
- data/app/services/lesli_admin/account_service.rb +39 -0
- data/app/views/lesli_admin/dashboards/edit.html.erb +29 -7
- data/app/views/lesli_admin/dashboards/index.html.erb +29 -11
- data/app/views/lesli_admin/dashboards/new.html.erb +29 -6
- data/app/views/lesli_admin/dashboards/show.html.erb +31 -0
- data/app/views/lesli_admin/partials/_engine-navigation.html.erb +0 -1
- data/config/locales/translations.en.yml +26 -0
- data/config/locales/translations.es.yml +26 -0
- data/config/routes.rb +46 -5
- data/db/migrate/0101050110_create_lesli_admin_dashboards.rb +51 -0
- data/db/migrate/0101050210_create_lesli_admin_dashboard_components.rb +53 -0
- data/lib/lesli_admin/engine.rb +1 -0
- data/lib/lesli_admin/version.rb +1 -1
- data/lib/vue/application.js +28 -15
- data/lib/vue/apps/account/components/{address-form.vue → form-address.vue} +27 -42
- data/lib/vue/apps/account/components/form-contact.vue +122 -0
- data/lib/vue/apps/account/components/form-information.vue +12 -30
- data/lib/vue/apps/account/show.vue +13 -12
- data/lib/vue/apps/{users/components/integrations-information.vue → dashboards/components/lesli-version.vue} +36 -26
- data/lib/vue/apps/{profile/components/change-email.vue → dashboards/show.vue} +9 -6
- data/lib/vue/stores/translations.json +52 -18
- metadata +17 -30
- data/app/controllers/lesli_admin/users_controller.rb +0 -238
- data/app/services/lesli_admin/user_service.rb +0 -265
- data/app/views/lesli_admin/dashboards/_dashboard.html.erb +0 -2
- data/app/views/lesli_admin/dashboards/_form.html.erb +0 -17
- data/lib/vue/apps/account/components/contact-form.vue +0 -162
- data/lib/vue/apps/dashboard/show.vue +0 -30
- data/lib/vue/apps/profile/components/subscriptions.vue +0 -94
- data/lib/vue/apps/profile/show.vue +0 -152
- data/lib/vue/apps/users/components/information-card.vue +0 -116
- data/lib/vue/apps/users/components/information-form.vue +0 -177
- data/lib/vue/apps/users/components/management-roles.vue +0 -109
- data/lib/vue/apps/users/components/management-security.vue +0 -113
- data/lib/vue/apps/users/components/management-sessions.vue +0 -106
- data/lib/vue/apps/users/components/management-settings.vue +0 -94
- data/lib/vue/apps/users/index.vue +0 -206
- data/lib/vue/apps/users/new.vue +0 -181
- data/lib/vue/apps/users/show.vue +0 -116
- data/lib/vue/stores/user.js +0 -331
- data/lib/vue/stores/users.js +0 -175
@@ -0,0 +1,53 @@
|
|
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 CreateLesliAdminDashboardComponents < ActiveRecord::Migration[6.1]
|
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_admin_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
|
+
|
47
|
+
add_reference(
|
48
|
+
:lesli_admin_dashboard_components, :dashboard,
|
49
|
+
foreign_key: { to_table: :lesli_admin_dashboards },
|
50
|
+
index: { name: "lesli_admin_dashboard_components_dashboards" }
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
data/lib/lesli_admin/engine.rb
CHANGED
data/lib/lesli_admin/version.rb
CHANGED
data/lib/vue/application.js
CHANGED
@@ -40,11 +40,24 @@ import translations from "LesliAdmin/stores/translations.json"
|
|
40
40
|
|
41
41
|
|
42
42
|
// · Import engine applications
|
43
|
-
import applicationDashboardShow from "LesliAdmin/apps/dashboard/show.vue"
|
44
43
|
import applicationAccountShow from "LesliAdmin/apps/account/show.vue"
|
45
|
-
|
46
|
-
|
47
|
-
|
44
|
+
|
45
|
+
|
46
|
+
// ·
|
47
|
+
import appDashboardShow from "Lesli/shared/dashboards/apps/show.vue"
|
48
|
+
import appDashboardEdit from "Lesli/shared/dashboards/apps/edit.vue"
|
49
|
+
|
50
|
+
|
51
|
+
// ·
|
52
|
+
import componentDashboardLesliVersion from "LesliAdmin/apps/dashboards/components/lesli-version.vue"
|
53
|
+
|
54
|
+
|
55
|
+
// ·
|
56
|
+
const dashboardProps = {
|
57
|
+
components: {
|
58
|
+
"admin-lesli-version": componentDashboardLesliVersion
|
59
|
+
}
|
60
|
+
}
|
48
61
|
|
49
62
|
|
50
63
|
// · Buil Lesli translations
|
@@ -53,18 +66,18 @@ translation(translations)
|
|
53
66
|
|
54
67
|
// · Build a new Lesli application
|
55
68
|
application("LesliAdmin", [{
|
56
|
-
path: "/
|
57
|
-
component:
|
58
|
-
|
59
|
-
path: "/account",
|
60
|
-
component: applicationAccountShow
|
69
|
+
path: "/",
|
70
|
+
component: appDashboardShow,
|
71
|
+
props: dashboardProps
|
61
72
|
}, {
|
62
|
-
path: "/
|
63
|
-
component:
|
73
|
+
path: "/dashboard",
|
74
|
+
component: appDashboardShow,
|
75
|
+
props: dashboardProps
|
64
76
|
}, {
|
65
|
-
path: "/
|
66
|
-
component:
|
77
|
+
path: "/dashboards/:id/edit",
|
78
|
+
component: appDashboardEdit,
|
79
|
+
props: dashboardProps
|
67
80
|
}, {
|
68
|
-
path: "/
|
69
|
-
component:
|
81
|
+
path: "/account",
|
82
|
+
component: applicationAccountShow
|
70
83
|
}])
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<script setup>
|
2
2
|
/*
|
3
|
-
|
4
3
|
Lesli
|
5
4
|
|
6
5
|
Copyright (c) 2023, Lesli Technologies, S. A.
|
@@ -18,103 +17,89 @@ GNU General Public License for more details.
|
|
18
17
|
You should have received a copy of the GNU General Public License
|
19
18
|
along with this program. If not, see http://www.gnu.org/licenses/.
|
20
19
|
|
21
|
-
Lesli ·
|
20
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
22
21
|
|
23
22
|
Made with ♥ by https://www.lesli.tech
|
24
23
|
Building a better future, one line of code at a time.
|
25
24
|
|
26
25
|
@contact hello@lesli.tech
|
27
|
-
@website https://lesli.tech
|
26
|
+
@website https://www.lesli.tech
|
28
27
|
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
29
28
|
|
30
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
31
30
|
// ·
|
32
|
-
|
33
31
|
*/
|
34
32
|
|
35
33
|
|
36
34
|
// · import vue tools
|
37
35
|
import { onMounted, computed, ref } from "vue"
|
38
36
|
|
37
|
+
|
39
38
|
// · import lesli stores
|
40
|
-
import { useAccount } from "
|
39
|
+
import { useAccount } from "Lesli/stores/account"
|
40
|
+
|
41
41
|
|
42
42
|
// · implement stores
|
43
43
|
const storeAccount = useAccount()
|
44
44
|
|
45
|
+
|
45
46
|
// · translations
|
46
47
|
const translations = {
|
47
|
-
shared:
|
48
|
-
|
49
|
-
onboardings: I18n.t("core.onboardings"),
|
50
|
-
accounts: I18n.t("core.accounts"),
|
51
|
-
}
|
48
|
+
shared: i18n.t("lesli.shared"),
|
49
|
+
admin: i18n.t("lesli_admin.accounts"),
|
52
50
|
}
|
53
51
|
|
52
|
+
|
53
|
+
// ·
|
54
54
|
const streetNumber = ref("")
|
55
55
|
const postalCode = ref("")
|
56
56
|
|
57
|
+
|
58
|
+
// ·
|
57
59
|
onMounted(() => {
|
58
|
-
storeAccount.getOptions()
|
60
|
+
//storeAccount.getOptions()
|
59
61
|
})
|
60
62
|
|
61
63
|
</script>
|
62
64
|
<template>
|
63
|
-
<form @submit
|
65
|
+
<lesli-form flat @submit="storeAccount.update">
|
64
66
|
<div class="field">
|
65
|
-
<label class="label">{{ translations.
|
67
|
+
<label class="label">{{ translations.admin.column_address }}</label>
|
66
68
|
<div class="control">
|
67
|
-
<input
|
68
|
-
class="input"
|
69
|
-
type="text"
|
70
|
-
:placeholder="translations.core.onboardings.view_placeholder_street_number"
|
71
|
-
v-model="storeAccount.accountInfo.address"
|
72
|
-
/>
|
69
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.address" />
|
73
70
|
</div>
|
74
71
|
</div>
|
75
72
|
|
76
73
|
<div class="field">
|
77
|
-
<label class="label">{{ translations.
|
74
|
+
<label class="label">{{ translations.admin.column_postal_code }}</label>
|
78
75
|
<div class="control">
|
79
|
-
<input
|
80
|
-
class="input"
|
81
|
-
type="text"
|
82
|
-
placeholder="XXXXXX"
|
83
|
-
v-model="storeAccount.accountInfo.postal_code"
|
84
|
-
/>
|
76
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.postal_code" />
|
85
77
|
</div>
|
86
78
|
</div>
|
87
79
|
|
88
80
|
<div class="field">
|
89
|
-
<label class="label">{{ translations.
|
81
|
+
<label class="label">{{ translations.admin.column_city }}</label>
|
90
82
|
<div class="control">
|
91
|
-
<input
|
92
|
-
class="input"
|
93
|
-
type="text"
|
94
|
-
:placeholder="translations.core.onboardings.view_placeholder_city"
|
95
|
-
v-model="storeAccount.accountInfo.city"
|
96
|
-
/>
|
83
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.city" />
|
97
84
|
</div>
|
98
85
|
</div>
|
99
86
|
|
100
87
|
<div class="field">
|
101
|
-
<label class="label">{{ translations.
|
88
|
+
<label class="label">{{ translations.admin.column_country }}</label>
|
102
89
|
<div class="control">
|
103
90
|
<lesli-select
|
104
91
|
:options="storeAccount.options.countries"
|
105
|
-
v-model="storeAccount.accountInfo.country"
|
106
|
-
>
|
92
|
+
v-model="storeAccount.accountInfo.country">
|
107
93
|
</lesli-select>
|
108
94
|
</div>
|
109
95
|
</div>
|
110
96
|
|
111
97
|
<div class="field">
|
112
|
-
<label class="label">{{ translations.
|
98
|
+
<label class="label">{{ translations.admin.column_region }}</label>
|
113
99
|
<div class="control">
|
114
100
|
<lesli-select
|
115
101
|
:options="storeAccount.options.regions"
|
116
|
-
v-model="storeAccount.accountInfo.region"
|
117
|
-
>
|
102
|
+
v-model="storeAccount.accountInfo.region">
|
118
103
|
</lesli-select>
|
119
104
|
</div>
|
120
105
|
</div>
|
@@ -124,11 +109,11 @@ onMounted(() => {
|
|
124
109
|
<div class="field">
|
125
110
|
<div class="control">
|
126
111
|
<lesli-button icon="save">
|
127
|
-
{{ translations.shared.
|
112
|
+
{{ translations.shared.button_save }}
|
128
113
|
</lesli-button>
|
129
114
|
</div>
|
130
115
|
</div>
|
131
116
|
</div>
|
132
117
|
</div>
|
133
|
-
</form>
|
118
|
+
</lesli-form>
|
134
119
|
</template>
|
@@ -0,0 +1,122 @@
|
|
1
|
+
<script setup>
|
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
|
+
*/
|
32
|
+
|
33
|
+
|
34
|
+
// · import vue tools
|
35
|
+
import { computed } from "vue"
|
36
|
+
|
37
|
+
|
38
|
+
// · import lesli stores
|
39
|
+
import { useAccount } from "Lesli/stores/account"
|
40
|
+
|
41
|
+
|
42
|
+
// · implement stores
|
43
|
+
const storeAccount = useAccount()
|
44
|
+
|
45
|
+
|
46
|
+
// · translations
|
47
|
+
const translations = {
|
48
|
+
shared: i18n.t("lesli.shared"),
|
49
|
+
admin: i18n.t("lesli_admin.accounts"),
|
50
|
+
}
|
51
|
+
|
52
|
+
|
53
|
+
// . get reactive info from onboarding store
|
54
|
+
const companyInfo = computed(()=> storeOnboarding.companyInfo)
|
55
|
+
|
56
|
+
</script>
|
57
|
+
<template>
|
58
|
+
<lesli-form flat @submit="storeAccount.update">
|
59
|
+
<div class="field">
|
60
|
+
<label class="label">{{ translations.admin.column_public_email }}</label>
|
61
|
+
<div class="control">
|
62
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.public_email" />
|
63
|
+
</div>
|
64
|
+
</div>
|
65
|
+
|
66
|
+
<div class="field">
|
67
|
+
<label class="label">{{translations.admin.column_phone_number}}</label>
|
68
|
+
<div class="control">
|
69
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.phone_number_1" />
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
<p class="my-5">{{translations.admin.view_subtitle_social_media }}</p>
|
74
|
+
|
75
|
+
<div class="field">
|
76
|
+
<label class="label">Github</label>
|
77
|
+
<div class="control">
|
78
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.github" />
|
79
|
+
</div>
|
80
|
+
</div>
|
81
|
+
|
82
|
+
<div class="field">
|
83
|
+
<label class="label">Twitter</label>
|
84
|
+
<div class="control">
|
85
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.twitter" />
|
86
|
+
</div>
|
87
|
+
</div>
|
88
|
+
|
89
|
+
<div class="field">
|
90
|
+
<label class="label">YouTube</label>
|
91
|
+
<div class="control">
|
92
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.youtube" />
|
93
|
+
</div>
|
94
|
+
</div>
|
95
|
+
|
96
|
+
<div class="field">
|
97
|
+
<label class="label">Linkedin</label>
|
98
|
+
<div class="control">
|
99
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.linkedin" />
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
|
103
|
+
<div class="field">
|
104
|
+
<label class="label">Facebook</label>
|
105
|
+
<div class="control">
|
106
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.facebook" />
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
|
110
|
+
<div class="field">
|
111
|
+
<div class="field-body">
|
112
|
+
<div class="field">
|
113
|
+
<div class="control">
|
114
|
+
<lesli-button icon="save">
|
115
|
+
{{ translations.shared.button_save }}
|
116
|
+
</lesli-button>
|
117
|
+
</div>
|
118
|
+
</div>
|
119
|
+
</div>
|
120
|
+
</div>
|
121
|
+
</lesli-form>
|
122
|
+
</template>
|
@@ -45,50 +45,32 @@ const storeAccount = useAccount()
|
|
45
45
|
|
46
46
|
// ·
|
47
47
|
const translations = {
|
48
|
-
shared:
|
49
|
-
|
50
|
-
core: {
|
51
|
-
accounts: I18n.t("core.accounts"),
|
52
|
-
onboardings: I18n.t("core.onboardings")
|
53
|
-
}
|
48
|
+
shared: i18n.t("lesli.shared"),
|
49
|
+
admin: i18n.t("lesli_admin.accounts"),
|
54
50
|
}
|
55
51
|
|
56
52
|
</script>
|
57
53
|
<template>
|
58
|
-
<form @submit
|
54
|
+
<lesli-form flat @submit="storeAccount.update">
|
55
|
+
|
59
56
|
<div class="field">
|
60
|
-
<label class="label">{{ translations.
|
57
|
+
<label class="label">{{ translations.admin.column_company_name }}</label>
|
61
58
|
<div class="control">
|
62
|
-
<input
|
63
|
-
class="input"
|
64
|
-
type="text"
|
65
|
-
:placeholder="translations.core.onboardings.view_placeholder_company_name"
|
66
|
-
v-model="storeAccount.accountInfo.company_name"
|
67
|
-
>
|
59
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.company_name" >
|
68
60
|
</div>
|
69
61
|
</div>
|
70
62
|
|
71
63
|
<div class="field">
|
72
|
-
<label class="label">{{ translations.
|
64
|
+
<label class="label">{{ translations.admin.column_company_name_legal }}</label>
|
73
65
|
<div class="control">
|
74
|
-
<input
|
75
|
-
class="input"
|
76
|
-
type="text"
|
77
|
-
:placeholder="translations.core.onboardings.view_placeholder_company_legal_name"
|
78
|
-
v-model="storeAccount.accountInfo.company_name_legal"
|
79
|
-
>
|
66
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.company_name_legal">
|
80
67
|
</div>
|
81
68
|
</div>
|
82
69
|
|
83
70
|
<div class="field">
|
84
|
-
<label class="label">{{ translations.
|
71
|
+
<label class="label">{{ translations.admin.column_tag_line }}</label>
|
85
72
|
<div class="control">
|
86
|
-
<input
|
87
|
-
class="input"
|
88
|
-
type="text"
|
89
|
-
:placeholder="translations.core.onboardings.view_placeholder_company_slogan"
|
90
|
-
v-model="storeAccount.accountInfo.company_tagline"
|
91
|
-
>
|
73
|
+
<input class="input" type="text" v-model="storeAccount.accountInfo.company_tagline">
|
92
74
|
</div>
|
93
75
|
</div>
|
94
76
|
|
@@ -97,11 +79,11 @@ const translations = {
|
|
97
79
|
<div class="field">
|
98
80
|
<div class="control">
|
99
81
|
<lesli-button icon="save">
|
100
|
-
{{ translations.shared.
|
82
|
+
{{ translations.shared.button_save }}
|
101
83
|
</lesli-button>
|
102
84
|
</div>
|
103
85
|
</div>
|
104
86
|
</div>
|
105
87
|
</div>
|
106
|
-
</form>
|
88
|
+
</lesli-form>
|
107
89
|
</template>
|
@@ -41,8 +41,8 @@ import { useAccount } from "Lesli/stores/account"
|
|
41
41
|
|
42
42
|
// · import account components
|
43
43
|
import formInformation from "./components/form-information.vue"
|
44
|
-
|
45
|
-
|
44
|
+
import formAddress from "./components/form-address.vue"
|
45
|
+
import formContact from "./components/form-contact.vue"
|
46
46
|
|
47
47
|
|
48
48
|
// · implement stores
|
@@ -51,6 +51,7 @@ const storeAccount = useAccount()
|
|
51
51
|
|
52
52
|
// · translations
|
53
53
|
const translations = {
|
54
|
+
admin: i18n.t("lesli_admin.accounts"),
|
54
55
|
core: {
|
55
56
|
onboardings: I18n.t("core.onboardings"),
|
56
57
|
accounts: I18n.t("core.accounts")
|
@@ -70,20 +71,20 @@ onMounted(() => {
|
|
70
71
|
</script>
|
71
72
|
<template>
|
72
73
|
<lesli-application-container>
|
73
|
-
<lesli-header title="
|
74
|
+
<lesli-header :title="translations.admin.view_title">
|
74
75
|
</lesli-header>
|
75
76
|
<lesli-tabs v-model="tab">
|
76
|
-
<lesli-tab-item title="
|
77
|
+
<lesli-tab-item :title="translations.admin.tab_general_information" icon="business">
|
77
78
|
<form-information></form-information>
|
78
79
|
</lesli-tab-item>
|
80
|
+
|
81
|
+
<lesli-tab-item :title="translations.admin.tab_address" icon="location_on">
|
82
|
+
<form-address></form-address>
|
83
|
+
</lesli-tab-item>
|
84
|
+
|
85
|
+
<lesli-tab-item :title="translations.admin.tab_contact" icon="contact_page">
|
86
|
+
<form-contact></form-contact>
|
87
|
+
</lesli-tab-item>
|
79
88
|
</lesli-tabs>
|
80
89
|
</lesli-application-container>
|
81
|
-
<!--
|
82
|
-
<lesli-tab-item title="Address" icon="location_on">
|
83
|
-
<address-form></address-form>
|
84
|
-
</lesli-tab-item>
|
85
|
-
<lesli-tab-item title="Contact" icon="contact_page">
|
86
|
-
<contact-form></contact-form>
|
87
|
-
</lesli-tab-item>
|
88
|
-
-->
|
89
90
|
</template>
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<script setup>
|
2
2
|
/*
|
3
|
-
|
4
3
|
Lesli
|
5
4
|
|
6
5
|
Copyright (c) 2023, Lesli Technologies, S. A.
|
@@ -18,44 +17,55 @@ GNU General Public License for more details.
|
|
18
17
|
You should have received a copy of the GNU General Public License
|
19
18
|
along with this program. If not, see http://www.gnu.org/licenses/.
|
20
19
|
|
21
|
-
Lesli ·
|
20
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
22
21
|
|
23
22
|
Made with ♥ by https://www.lesli.tech
|
24
23
|
Building a better future, one line of code at a time.
|
25
24
|
|
26
25
|
@contact hello@lesli.tech
|
27
|
-
@website https://lesli.tech
|
26
|
+
@website https://www.lesli.tech
|
28
27
|
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
29
28
|
|
30
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
29
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
31
30
|
// ·
|
32
|
-
|
33
31
|
*/
|
34
32
|
|
35
33
|
|
36
|
-
|
34
|
+
// ·
|
35
|
+
import { onMounted, inject, ref } from "vue"
|
36
|
+
|
37
|
+
|
38
|
+
// ·
|
39
|
+
const url = inject("url")
|
40
|
+
const http = inject("http")
|
41
|
+
|
37
42
|
|
38
|
-
|
43
|
+
// ·
|
44
|
+
const lesliVersion = ref({
|
45
|
+
name: "",
|
46
|
+
code: "",
|
47
|
+
path: "",
|
48
|
+
version: "",
|
49
|
+
build: ""
|
50
|
+
})
|
39
51
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
}
|
46
|
-
|
52
|
+
|
53
|
+
// ·
|
54
|
+
onMounted(() => {
|
55
|
+
http.get(url.lesli("about")).then(result => {
|
56
|
+
lesliVersion.value = result.find(engine => engine.name == "Lesli")
|
57
|
+
}).catch(error => {
|
58
|
+
console.log(error)
|
59
|
+
})
|
60
|
+
})
|
47
61
|
</script>
|
48
62
|
<template>
|
49
|
-
<
|
50
|
-
<
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
</lesli-button>
|
58
|
-
</div>
|
59
|
-
</div>
|
60
|
-
</section>
|
63
|
+
<lesli-card>
|
64
|
+
<h6 class="title is-6 mb-2">
|
65
|
+
{{ lesliVersion.name }}
|
66
|
+
</h6>
|
67
|
+
<p class="p-0 m-0">version: {{ lesliVersion.version }}</p>
|
68
|
+
<p class="p-0 m-0">buid: {{ lesliVersion.build }}</p>
|
69
|
+
<p class="p-0 m-0">path: {{ lesliVersion.path }}</p>
|
70
|
+
</lesli-card>
|
61
71
|
</template>
|
@@ -18,21 +18,24 @@ GNU General Public License for more details.
|
|
18
18
|
You should have received a copy of the GNU General Public License
|
19
19
|
along with this program. If not, see http://www.gnu.org/licenses/.
|
20
20
|
|
21
|
-
Lesli ·
|
21
|
+
Lesli · Ruby on Rails SaaS Development Framework.
|
22
22
|
|
23
23
|
Made with ♥ by https://www.lesli.tech
|
24
24
|
Building a better future, one line of code at a time.
|
25
25
|
|
26
26
|
@contact hello@lesli.tech
|
27
|
-
@website https://lesli.tech
|
27
|
+
@website https://www.lesli.tech
|
28
28
|
@license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
|
29
29
|
|
30
|
-
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
30
|
+
// · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
|
31
31
|
// ·
|
32
|
-
|
33
32
|
*/
|
34
33
|
|
35
|
-
</script>
|
36
34
|
|
35
|
+
// ·
|
36
|
+
import LesliDashboard from "Lesli/shared/dashboards/apps/show.vue"
|
37
|
+
|
38
|
+
</script>
|
37
39
|
<template>
|
38
|
-
|
40
|
+
<lesli-dashboard></lesli-dashboard>
|
41
|
+
</template>
|