lesli_admin 0.4.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/lesli_admin/application.js +1109 -1590
  3. data/app/assets/stylesheets/lesli_admin/application.css +4 -0
  4. data/{lib/vue/apps/dashboards/show.vue → app/controllers/lesli_admin/abouts_controller.rb} +16 -12
  5. data/app/controllers/lesli_admin/accounts_controller.rb +24 -21
  6. data/app/controllers/lesli_admin/dashboard/components_controller.rb +1 -1
  7. data/app/{assets/stylesheets/lesli_admin/application.scss → controllers/lesli_admin/profiles_controller.rb} +20 -5
  8. data/app/models/lesli_admin/dashboard/component.rb +3 -4
  9. data/app/services/lesli_admin/account_service.rb +16 -1
  10. data/app/views/lesli_admin/abouts/show.html.erb +1 -0
  11. data/app/views/lesli_admin/partials/_engine-navigation.html.erb +2 -1
  12. data/config/locales/translations.en.yml +9 -1
  13. data/config/locales/translations.es.yml +9 -1
  14. data/config/locales/translations.fr.yml +39 -0
  15. data/config/locales/translations.it.yml +39 -0
  16. data/config/locales/translations.pt.yml +39 -0
  17. data/config/routes.rb +4 -0
  18. data/db/seed/development.rb +0 -0
  19. data/db/seed/production.rb +0 -0
  20. data/{app/assets/stylesheets/lesli_admin/users.scss → db/seeds.rb} +13 -36
  21. data/lib/lesli_admin/version.rb +2 -2
  22. data/lib/scss/application.scss +0 -0
  23. data/lib/vue/application.js +21 -8
  24. data/lib/vue/apps/about/show.vue +73 -0
  25. data/lib/vue/apps/account/components/form-address.vue +1 -1
  26. data/lib/vue/apps/account/components/form-contact.vue +1 -1
  27. data/lib/vue/apps/account/components/form-information.vue +4 -4
  28. data/lib/vue/apps/account/show.vue +8 -11
  29. data/lib/vue/apps/profile/show.vue +129 -0
  30. data/lib/vue/stores/account.js +111 -0
  31. data/lib/vue/stores/translations.json +182 -2
  32. data/license +674 -0
  33. data/readme.md +14 -6
  34. metadata +17 -5
@@ -36,7 +36,7 @@ import { ref, reactive, onMounted, watch, computed } from "vue"
36
36
 
37
37
 
38
38
  // · import lesli stores
39
- import { useAccount } from "Lesli/stores/account"
39
+ import { useAccount } from "LesliAdmin/vue/stores/account"
40
40
 
41
41
 
42
42
  // · implement stores
@@ -56,21 +56,21 @@ const translations = {
56
56
  <div class="field">
57
57
  <label class="label">{{ translations.admin.column_company_name }}</label>
58
58
  <div class="control">
59
- <input class="input" type="text" v-model="storeAccount.accountInfo.company_name" >
59
+ <input class="input" type="text" v-model="storeAccount.account.name" >
60
60
  </div>
61
61
  </div>
62
62
 
63
63
  <div class="field">
64
64
  <label class="label">{{ translations.admin.column_company_name_legal }}</label>
65
65
  <div class="control">
66
- <input class="input" type="text" v-model="storeAccount.accountInfo.company_name_legal">
66
+ <input class="input" type="text" v-model="storeAccount.account.detail_attributes.company_name_legal">
67
67
  </div>
68
68
  </div>
69
69
 
70
70
  <div class="field">
71
71
  <label class="label">{{ translations.admin.column_tag_line }}</label>
72
72
  <div class="control">
73
- <input class="input" type="text" v-model="storeAccount.accountInfo.company_tagline">
73
+ <input class="input" type="text" v-model="storeAccount.account.detail_attributes.company_tagline">
74
74
  </div>
75
75
  </div>
76
76
 
@@ -36,7 +36,7 @@ import { computed, onMounted } from "vue"
36
36
 
37
37
 
38
38
  // · import lesli stores
39
- import { useAccount } from "Lesli/stores/account"
39
+ import { useAccount } from "LesliAdmin/vue/stores/account"
40
40
 
41
41
 
42
42
  // · import account components
@@ -51,11 +51,7 @@ const storeAccount = useAccount()
51
51
 
52
52
  // · translations
53
53
  const translations = {
54
- admin: i18n.t("lesli_admin.accounts"),
55
- core: {
56
- onboardings: I18n.t("core.onboardings"),
57
- accounts: I18n.t("core.accounts")
58
- }
54
+ admin: i18n.t("lesli_admin.accounts")
59
55
  }
60
56
 
61
57
 
@@ -65,7 +61,7 @@ const companyInfo = computed(()=> storeOnboarding.companyInfo)
65
61
 
66
62
  // .
67
63
  onMounted(() => {
68
- storeAccount.fetch()
64
+ storeAccount.get()
69
65
  })
70
66
 
71
67
  </script>
@@ -73,18 +69,19 @@ onMounted(() => {
73
69
  <lesli-application-container>
74
70
  <lesli-header :title="translations.admin.view_title">
75
71
  </lesli-header>
76
- <lesli-tabs v-model="tab">
72
+ <lesli-tabs>
77
73
  <lesli-tab-item :title="translations.admin.tab_general_information" icon="business">
78
74
  <form-information></form-information>
79
75
  </lesli-tab-item>
80
-
76
+ <!--
81
77
  <lesli-tab-item :title="translations.admin.tab_address" icon="location_on">
82
78
  <form-address></form-address>
83
79
  </lesli-tab-item>
84
-
80
+
85
81
  <lesli-tab-item :title="translations.admin.tab_contact" icon="contact_page">
86
- <form-contact></form-contact>
82
+ <form-contact></form-contact>
87
83
  </lesli-tab-item>
84
+ -->
88
85
  </lesli-tabs>
89
86
  </lesli-application-container>
90
87
  </template>
@@ -0,0 +1,129 @@
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 { ref, onMounted } from "vue"
36
+ import { useRouter, useRoute } from 'vue-router'
37
+
38
+
39
+ // · import lesli stores
40
+ import { useUser } from "LesliSecurity/vue/stores/user"
41
+
42
+
43
+ // · implement stores
44
+ const storeUser = useUser()
45
+ const router = useRouter()
46
+ const route = useRoute()
47
+
48
+
49
+ // · import profile components
50
+ import informationCard from "LesliSecurity/vue/apps/users/components/information-card.vue"
51
+ import informationForm from "LesliSecurity/vue/apps/users/components/information-form.vue"
52
+ import managementRoles from "LesliSecurity/vue/apps/users/components/management-roles.vue"
53
+ import managementSession from "LesliSecurity/vue/apps/users/components/management-sessions.vue"
54
+ import managementSettings from "LesliSecurity/vue/apps/users/components/management-settings.vue"
55
+ import managementSecurity from "LesliSecurity/vue/apps/users/components/management-security.vue"
56
+
57
+
58
+ // · translations
59
+ const translations = {
60
+ guard: {
61
+ users: i18n.t("lesli_security.users")
62
+ },
63
+ core: {
64
+ roles: I18n.t("core.roles"),
65
+ users: I18n.t("core.users"),
66
+ shared: I18n.t("core.shared")
67
+ }
68
+ }
69
+
70
+
71
+ // ·
72
+ const tab = ref(0)
73
+
74
+
75
+ // · initializing
76
+ onMounted(() => {
77
+ if (route.params?.id) {
78
+ storeUser.getUser(route.params?.id)
79
+ } else {
80
+ storeUser.getUser(lesli.current_user.id)
81
+ }
82
+ })
83
+ </script>
84
+ <template>
85
+ <lesli-application-container>
86
+ <information-card></information-card>
87
+ <lesli-tabs v-model="tab">
88
+ <lesli-tab-item icon="info_outline" :title="translations.guard.users.tab_information">
89
+ <information-form></information-form>
90
+ </lesli-tab-item>
91
+
92
+ <lesli-tab-item icon="security" :title="translations.guard.users.tab_roles_and_privileges">
93
+ <management-roles></management-roles>
94
+ </lesli-tab-item>
95
+
96
+ <lesli-tab-item icon="lock_outline" :title="translations.guard.users.tab_security">
97
+ <management-security></management-security>
98
+ </lesli-tab-item>
99
+
100
+ <lesli-tab-item icon="devices" :title="translations.guard.users.tab_sessions">
101
+ <management-session></management-session>
102
+ </lesli-tab-item>
103
+
104
+ <lesli-tab-item icon="settings" :title="translations.guard.users.tab_settings">
105
+ <management-settings></management-settings>
106
+ </lesli-tab-item>
107
+ </lesli-tabs>
108
+ </lesli-application-container>
109
+ <!--
110
+ <application-component>
111
+ <information-card></information-card>
112
+ <lesli-tabs v-model="tab" v-if="storeUser.user.id">
113
+ <lesli-tab-item icon="info_outline" :title="translations.core.users.view_tab_title_information">
114
+ <information-form></information-form>
115
+ </lesli-tab-item>
116
+
117
+ <lesli-tab-item icon="lock_outline" :title="translations.core.users.view_tab_title_security || 'Security'">
118
+ <management-security></management-security>
119
+ </lesli-tab-item>
120
+ <lesli-tab-item icon="devices" :title="translations.core.users.view_tab_title_session || 'Sessions'" paddingless>
121
+ <management-session></management-session>
122
+ </lesli-tab-item>
123
+ <lesli-tab-item icon="settings" :title="translations.core.users.view_tab_title_settings">
124
+ <management-settings></management-settings>
125
+ </lesli-tab-item>
126
+ </lesli-tabs>
127
+ </application-component>
128
+ -->
129
+ </template>
@@ -0,0 +1,111 @@
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 LesliTech
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
+ import { defineStore } from "pinia";
35
+
36
+
37
+ // ·
38
+ export const useAccount = defineStore("account", {
39
+ state: () => {
40
+ return {
41
+ account: {
42
+ detail_attributes: {}
43
+ },
44
+ accountInfo: {},
45
+ options: {
46
+ countries: [],
47
+ regions: [],
48
+ time_zones: []
49
+ }
50
+ }
51
+ },
52
+ actions: {
53
+
54
+ get() {
55
+ this.http.get(this.url.admin("account")).then(result => {
56
+ this.account = result
57
+ // delete this.account.created_at
58
+ // delete this.account.updated_at
59
+ // delete this.account.phone_number_2
60
+ // delete this.account.phone_number_3
61
+ // delete this.account.phone_number_4
62
+ }).catch(error => {
63
+ this.msg.danger(I18n.t("core.shared.messages_danger_internal_error"))
64
+ }).finally(() => {
65
+ })
66
+ },
67
+
68
+ update() {
69
+ this.http.patch(this.url.admin("account"), {
70
+ account: this.account
71
+ }).then(result => {
72
+ this.msg.success(I18n.t("core.users.messages_success_operation"))
73
+ }).catch(error => {
74
+ this.msg.danger(I18n.t("core.shared.messages_danger_internal_error"))
75
+ })
76
+ },
77
+ getOptions (){
78
+ this.loading = true
79
+ this.http.get(this.url.admin("account/options")).then(result => {
80
+ this.options.countries = result.countries.map((country)=> {
81
+ return {
82
+ label: country.name,
83
+ value: country.id
84
+ }
85
+ } )
86
+ this.options.regions = result.regions.map((region)=> {
87
+ return {
88
+ label: region.value,
89
+ value: region.key
90
+ }
91
+ } )
92
+ }).catch(error => {
93
+ this.msg.danger(this.translations.core.shared.messages_danger_internal_error)
94
+ }).finally(() => {
95
+ this.loading = false
96
+ })
97
+ // Get options for time zone selection
98
+ this.http.get(this.url.admin("account/settings/options")).then(result => {
99
+ this.options.time_zones = result.time_zones.map((time_zone)=> {
100
+ return {
101
+ label: time_zone.text,
102
+ value: time_zone.value
103
+ }
104
+ } )
105
+ }).catch(error => {
106
+ this.msg.danger(this.translations.core.shared.messages_danger_internal_error)
107
+ })
108
+ }
109
+
110
+ },
111
+ });
@@ -1,6 +1,16 @@
1
1
  {
2
2
  "en": {
3
3
  "lesli": {
4
+ "application": {
5
+ "navigation_logout": "Logout",
6
+ "navigation_my_profile": "My profile"
7
+ },
8
+ "dashboards": {
9
+ "column_default": "Default",
10
+ "column_name": "Name",
11
+ "title": "Dashboards",
12
+ "view_add_component": "Add component"
13
+ },
4
14
  "shared": {
5
15
  "button_add_new": "Add new",
6
16
  "button_delete": "Delete",
@@ -8,9 +18,14 @@
8
18
  "button_list": "List",
9
19
  "button_reload": "Reload",
10
20
  "button_save": "Save",
21
+ "button_settings": "Settings",
22
+ "button_show": "Show",
23
+ "toolbar_search": "Search...",
11
24
  "view_discussions": "Discussions",
12
25
  "view_files": "Files",
13
- "view_quick_actions": "Quick actions"
26
+ "view_quick_actions": "Quick actions",
27
+ "view_status_active": "Active",
28
+ "view_status_inactive": "Inactive"
14
29
  }
15
30
  },
16
31
  "lesli_admin": {
@@ -36,6 +51,16 @@
36
51
  },
37
52
  "es": {
38
53
  "lesli": {
54
+ "application": {
55
+ "navigation_logout": "Cerrar sesión",
56
+ "navigation_my_profile": "Mi perfil"
57
+ },
58
+ "dashboards": {
59
+ "column_default": "Default",
60
+ "column_name": "Nombre",
61
+ "title": "Dashboards",
62
+ "view_add_component": "Agregar componente"
63
+ },
39
64
  "shared": {
40
65
  "button_add_new": "Agregar nuevo",
41
66
  "button_delete": "Eliminar",
@@ -43,9 +68,14 @@
43
68
  "button_list": "Lista",
44
69
  "button_reload": "Recargar",
45
70
  "button_save": "Guardar",
71
+ "button_settings": "Configuración",
72
+ "button_show": "Ver",
73
+ "toolbar_search": "Buscar...",
46
74
  "view_discussions": "Discusiones",
47
75
  "view_files": "Archivos",
48
- "view_quick_actions": "Acciones rapidas"
76
+ "view_quick_actions": "Acciones rapidas",
77
+ "view_status_active": "Activo",
78
+ "view_status_inactive": "Inactivo"
49
79
  }
50
80
  },
51
81
  "lesli_admin": {
@@ -68,5 +98,155 @@
68
98
  "view_title": "Informacion de cuenta"
69
99
  }
70
100
  }
101
+ },
102
+ "fr": {
103
+ "lesli": {
104
+ "application": {
105
+ "navigation_logout": ":lesli.application.navigation_logout:",
106
+ "navigation_my_profile": ":lesli.application.navigation_my_profile:"
107
+ },
108
+ "dashboards": {
109
+ "column_default": ":lesli.dashboards.column_default:",
110
+ "column_name": ":lesli.dashboards.column_name:",
111
+ "title": ":lesli.dashboards.title:",
112
+ "view_add_component": ":lesli.dashboards.view_add_component:"
113
+ },
114
+ "shared": {
115
+ "button_add_new": ":lesli.shared.button_add_new:",
116
+ "button_delete": ":lesli.shared.button_delete:",
117
+ "button_edit": ":lesli.shared.button_edit:",
118
+ "button_list": ":lesli.shared.button_list:",
119
+ "button_reload": ":lesli.shared.button_reload:",
120
+ "button_save": ":lesli.shared.button_save:",
121
+ "button_settings": ":lesli.shared.button_settings:",
122
+ "button_show": ":lesli.shared.button_show:",
123
+ "toolbar_search": ":lesli.shared.toolbar_search:",
124
+ "view_discussions": ":lesli.shared.view_discussions:",
125
+ "view_files": ":lesli.shared.view_files:",
126
+ "view_quick_actions": ":lesli.shared.view_quick_actions:",
127
+ "view_status_active": ":lesli.shared.view_status_active:",
128
+ "view_status_inactive": ":lesli.shared.view_status_inactive:"
129
+ }
130
+ },
131
+ "lesli_admin": {
132
+ "accounts": {
133
+ "column_address": ":lesli_admin.accounts.column_address:",
134
+ "column_city": ":lesli_admin.accounts.column_city:",
135
+ "column_company_name": ":lesli_admin.accounts.column_company_name:",
136
+ "column_company_name_legal": ":lesli_admin.accounts.column_company_name_legal:",
137
+ "column_country": ":lesli_admin.accounts.column_country:",
138
+ "column_phone_number": ":lesli_admin.accounts.column_phone_number:",
139
+ "column_postal_code": ":lesli_admin.accounts.column_postal_code:",
140
+ "column_public_email": ":lesli_admin.accounts.column_public_email:",
141
+ "column_region": ":lesli_admin.accounts.column_region:",
142
+ "column_tag_line": ":lesli_admin.accounts.column_tag_line:",
143
+ "column_website": ":lesli_admin.accounts.column_website:",
144
+ "tab_address": ":lesli_admin.accounts.tab_address:",
145
+ "tab_contact": ":lesli_admin.accounts.tab_contact:",
146
+ "tab_general_information": ":lesli_admin.accounts.tab_general_information:",
147
+ "view_subtitle_social_media": ":lesli_admin.accounts.view_subtitle_social_media:",
148
+ "view_title": ":lesli_admin.accounts.view_title:"
149
+ }
150
+ }
151
+ },
152
+ "it": {
153
+ "lesli": {
154
+ "application": {
155
+ "navigation_logout": ":lesli.application.navigation_logout:",
156
+ "navigation_my_profile": ":lesli.application.navigation_my_profile:"
157
+ },
158
+ "dashboards": {
159
+ "column_default": ":lesli.dashboards.column_default:",
160
+ "column_name": ":lesli.dashboards.column_name:",
161
+ "title": ":lesli.dashboards.title:",
162
+ "view_add_component": ":lesli.dashboards.view_add_component:"
163
+ },
164
+ "shared": {
165
+ "button_add_new": ":lesli.shared.button_add_new:",
166
+ "button_delete": ":lesli.shared.button_delete:",
167
+ "button_edit": ":lesli.shared.button_edit:",
168
+ "button_list": ":lesli.shared.button_list:",
169
+ "button_reload": ":lesli.shared.button_reload:",
170
+ "button_save": ":lesli.shared.button_save:",
171
+ "button_settings": ":lesli.shared.button_settings:",
172
+ "button_show": ":lesli.shared.button_show:",
173
+ "toolbar_search": ":lesli.shared.toolbar_search:",
174
+ "view_discussions": ":lesli.shared.view_discussions:",
175
+ "view_files": ":lesli.shared.view_files:",
176
+ "view_quick_actions": ":lesli.shared.view_quick_actions:",
177
+ "view_status_active": ":lesli.shared.view_status_active:",
178
+ "view_status_inactive": ":lesli.shared.view_status_inactive:"
179
+ }
180
+ },
181
+ "lesli_admin": {
182
+ "accounts": {
183
+ "column_address": ":lesli_admin.accounts.column_address:",
184
+ "column_city": ":lesli_admin.accounts.column_city:",
185
+ "column_company_name": ":lesli_admin.accounts.column_company_name:",
186
+ "column_company_name_legal": ":lesli_admin.accounts.column_company_name_legal:",
187
+ "column_country": ":lesli_admin.accounts.column_country:",
188
+ "column_phone_number": ":lesli_admin.accounts.column_phone_number:",
189
+ "column_postal_code": ":lesli_admin.accounts.column_postal_code:",
190
+ "column_public_email": ":lesli_admin.accounts.column_public_email:",
191
+ "column_region": ":lesli_admin.accounts.column_region:",
192
+ "column_tag_line": ":lesli_admin.accounts.column_tag_line:",
193
+ "column_website": ":lesli_admin.accounts.column_website:",
194
+ "tab_address": ":lesli_admin.accounts.tab_address:",
195
+ "tab_contact": ":lesli_admin.accounts.tab_contact:",
196
+ "tab_general_information": ":lesli_admin.accounts.tab_general_information:",
197
+ "view_subtitle_social_media": ":lesli_admin.accounts.view_subtitle_social_media:",
198
+ "view_title": ":lesli_admin.accounts.view_title:"
199
+ }
200
+ }
201
+ },
202
+ "pt": {
203
+ "lesli": {
204
+ "application": {
205
+ "navigation_logout": ":lesli.application.navigation_logout:",
206
+ "navigation_my_profile": ":lesli.application.navigation_my_profile:"
207
+ },
208
+ "dashboards": {
209
+ "column_default": ":lesli.dashboards.column_default:",
210
+ "column_name": ":lesli.dashboards.column_name:",
211
+ "title": ":lesli.dashboards.title:",
212
+ "view_add_component": ":lesli.dashboards.view_add_component:"
213
+ },
214
+ "shared": {
215
+ "button_add_new": ":lesli.shared.button_add_new:",
216
+ "button_delete": ":lesli.shared.button_delete:",
217
+ "button_edit": ":lesli.shared.button_edit:",
218
+ "button_list": ":lesli.shared.button_list:",
219
+ "button_reload": ":lesli.shared.button_reload:",
220
+ "button_save": ":lesli.shared.button_save:",
221
+ "button_settings": ":lesli.shared.button_settings:",
222
+ "button_show": ":lesli.shared.button_show:",
223
+ "toolbar_search": ":lesli.shared.toolbar_search:",
224
+ "view_discussions": ":lesli.shared.view_discussions:",
225
+ "view_files": ":lesli.shared.view_files:",
226
+ "view_quick_actions": ":lesli.shared.view_quick_actions:",
227
+ "view_status_active": ":lesli.shared.view_status_active:",
228
+ "view_status_inactive": ":lesli.shared.view_status_inactive:"
229
+ }
230
+ },
231
+ "lesli_admin": {
232
+ "accounts": {
233
+ "column_address": ":lesli_admin.accounts.column_address:",
234
+ "column_city": ":lesli_admin.accounts.column_city:",
235
+ "column_company_name": ":lesli_admin.accounts.column_company_name:",
236
+ "column_company_name_legal": ":lesli_admin.accounts.column_company_name_legal:",
237
+ "column_country": ":lesli_admin.accounts.column_country:",
238
+ "column_phone_number": ":lesli_admin.accounts.column_phone_number:",
239
+ "column_postal_code": ":lesli_admin.accounts.column_postal_code:",
240
+ "column_public_email": ":lesli_admin.accounts.column_public_email:",
241
+ "column_region": ":lesli_admin.accounts.column_region:",
242
+ "column_tag_line": ":lesli_admin.accounts.column_tag_line:",
243
+ "column_website": ":lesli_admin.accounts.column_website:",
244
+ "tab_address": ":lesli_admin.accounts.tab_address:",
245
+ "tab_contact": ":lesli_admin.accounts.tab_contact:",
246
+ "tab_general_information": ":lesli_admin.accounts.tab_general_information:",
247
+ "view_subtitle_social_media": ":lesli_admin.accounts.view_subtitle_social_media:",
248
+ "view_title": ":lesli_admin.accounts.view_title:"
249
+ }
250
+ }
71
251
  }
72
252
  }