Skip to content

Commit cf09549

Browse files
authored
Merge pull request #298 from devforth/AdminForth/711
chore: change requestes resource in index.ts.hbs
2 parents afc3e0b + 658f585 commit cf09549

File tree

3 files changed

+25
-12
lines changed

3 files changed

+25
-12
lines changed

adminforth/commands/createApp/templates/index.ts.hbs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import AdminForth from 'adminforth';
33
import usersResource from "./resources/adminuser.js";
44
import { fileURLToPath } from 'url';
55
import path from 'path';
6+
import { Filters } from 'adminforth';
67

78
const ADMIN_BASE_URL = '';
89

@@ -16,7 +17,7 @@ export const admin = new AdminForth({
1617
loginBackgroundImage: 'https://images.unsplash.com/photo-1534239697798-120952b76f2b?q=80&w=3389&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D',
1718
loginBackgroundPosition: '1/2',
1819
loginPromptHTML: async () => {
19-
const adminforthUserExists = await admin.resource("users").count(Filters.EQ('email', 'adminforth')) > 0;
20+
const adminforthUserExists = await admin.resource("adminuser").count(Filters.EQ('email', 'adminforth')) > 0;
2021
if (adminforthUserExists) {
2122
return "Please use <b>adminforth</b> as username and <b>adminforth</b> as password"
2223
}

adminforth/modules/restApi.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,18 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
194194
},
195195
})
196196

197+
server.endpoint({
198+
noAuth: true,
199+
method: 'GET',
200+
path: '/get_login_form_config',
201+
handler: async ({ tr }) => {
202+
const loginPromptHTML = await getLoginPromptHTML(this.adminforth.config.auth.loginPromptHTML);
203+
return {
204+
loginPromptHTML: await tr(loginPromptHTML, 'system.loginPromptHTML'),
205+
}
206+
}
207+
})
208+
197209
server.endpoint({
198210
noAuth: true,
199211
method: 'GET',
@@ -210,8 +222,6 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
210222
const resource = this.adminforth.config.resources.find((res) => res.resourceId === this.adminforth.config.auth.usersResourceId);
211223
const usernameColumn = resource.columns.find((col) => col.name === usernameField);
212224

213-
const loginPromptHTML = await getLoginPromptHTML(this.adminforth.config.auth.loginPromptHTML);
214-
215225
return {
216226
brandName: this.adminforth.config.customization.brandName,
217227
usernameFieldName: usernameColumn.label,
@@ -220,7 +230,6 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
220230
removeBackgroundBlendMode: this.adminforth.config.auth.removeBackgroundBlendMode,
221231
title: this.adminforth.config.customization?.title,
222232
demoCredentials: this.adminforth.config.auth.demoCredentials,
223-
loginPromptHTML: await tr(loginPromptHTML, 'system.loginPromptHTML'),
224233
loginPageInjections: this.adminforth.config.customization.loginPageInjections,
225234
globalInjections: {
226235
everyPageBottom: this.adminforth.config.customization.globalInjections.everyPageBottom,
@@ -295,7 +304,6 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
295304

296305
const announcementBadge: AnnouncementBadgeResponse = this.adminforth.config.customization.announcementBadge?.(adminUser);
297306

298-
const loginPromptHTML = await getLoginPromptHTML(this.adminforth.config.auth.loginPromptHTML);
299307

300308

301309
const publicPart = {
@@ -306,7 +314,6 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
306314
removeBackgroundBlendMode: this.adminforth.config.auth.removeBackgroundBlendMode,
307315
title: this.adminforth.config.customization?.title,
308316
demoCredentials: this.adminforth.config.auth.demoCredentials,
309-
loginPromptHTML: await tr(loginPromptHTML, 'system.loginPromptHTML'),
310317
loginPageInjections: this.adminforth.config.customization.loginPageInjections,
311318
rememberMeDays: this.adminforth.config.auth.rememberMeDays,
312319
singleTheme: this.adminforth.config.customization.singleTheme,

adminforth/spa/src/views/LoginView.vue

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,14 @@
102102
</div>
103103
</div>
104104

105-
<div v-if="coreStore.config?.loginPromptHTML"
105+
<div v-if="loginPromptHTML"
106106
class="flex items-center p-4 mb-4 text-sm text-gray-800 rounded-lg bg-gray-50 dark:bg-gray-800 dark:text-gray-400" role="alert"
107107
>
108108
<svg class="flex-shrink-0 inline w-4 h-4 me-3" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 20 20">
109109
<path d="M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z"/>
110110
</svg>
111111
<span class="sr-only">{{ $t('Info') }}</span>
112-
<div v-html="coreStore.config?.loginPromptHTML"></div>
112+
<div v-html="loginPromptHTML"></div>
113113
</div>
114114
<Button @click="login" :loader="inProgress" :disabled="inProgress" class="w-full">
115115
{{ $t('Login to your account') }}
@@ -148,7 +148,7 @@ const password = ref('');
148148
const route = useRoute();
149149
const router = useRouter();
150150
const inProgress = ref(false);
151-
151+
const loginPromptHTML = ref()
152152
const coreStore = useCoreStore();
153153
const user = useUserStore();
154154
@@ -160,8 +160,13 @@ const backgroundPosition = computed(() => {
160160
return coreStore.config?.loginBackgroundPosition || '1/2';
161161
});
162162
163-
async function loadPublicConfig() {
164-
await coreStore.getPublicConfig();
163+
164+
async function getLoginFormConfig() {
165+
const response = await callAdminForthApi({
166+
path: '/get_login_form_config',
167+
method: 'GET',
168+
});
169+
loginPromptHTML.value = response.loginPromptHTML;
165170
}
166171
167172
onBeforeMount(() => {
@@ -177,7 +182,7 @@ onBeforeMount(() => {
177182
})
178183
179184
onMounted(async () => {
180-
loadPublicConfig();
185+
getLoginFormConfig();
181186
if (coreStore.config?.demoCredentials) {
182187
const [demoUsername, demoPassword] = coreStore.config.demoCredentials.split(':');
183188
username.value = demoUsername;

0 commit comments

Comments
 (0)