@@ -15,10 +15,10 @@ import {
1515 Filters ,
1616} from "../types/Back.js" ;
1717
18- import { ADMINFORTH_VERSION , listify , md5hash , getLoginPromptHTML } from './utils.js' ;
18+ import { ADMINFORTH_VERSION , listify , md5hash , getLoginPromptHTML , checkShowIf } from './utils.js' ;
1919
2020import AdminForthAuth from "../auth.js" ;
21- import { ActionCheckSource , AdminForthConfigMenuItem , AdminForthDataTypes , AdminForthFilterOperators , AdminForthResourceCommon , AdminForthResourcePages ,
21+ import { ActionCheckSource , AdminForthConfigMenuItem , AdminForthDataTypes , AdminForthFilterOperators , AdminForthResourceColumnInputCommon , AdminForthResourceCommon , AdminForthResourcePages ,
2222 AdminUser , AllowedActionsEnum , AllowedActionsResolved ,
2323 AnnouncementBadgeResponse ,
2424 GetBaseConfigResponse ,
@@ -323,10 +323,13 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
323323
324324 const userPk = dbUser [ userResource . columns . find ( ( col ) => col . primaryKey ) . name ] ;
325325
326+ const userAvatarUrl = await this . adminforth . config . auth . avatarUrl ?.( adminUser ) ;
327+
326328 const userData = {
327329 [ this . adminforth . config . auth . usernameField ] : username ,
328330 [ this . adminforth . config . auth . userFullNameField ] : userFullName ,
329331 pk : userPk ,
332+ userAvatarUrl : userAvatarUrl || null ,
330333 } ;
331334 const checkIsMenuItemVisible = ( menuItem ) => {
332335 if ( typeof menuItem . visible === 'function' ) {
@@ -1177,7 +1180,10 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
11771180 record [ column . name ] === undefined &&
11781181 column . showIn . create
11791182 ) {
1180- return { error : `Column '${ column . name } ' is required` , ok : false } ;
1183+ const isColumnShownWithShowIf = await checkShowIf ( column as AdminForthResourceColumnInputCommon , record ) ;
1184+ if ( isColumnShownWithShowIf === true ) {
1185+ return { error : `Column '${ column . name } ' is required` , ok : false } ;
1186+ }
11811187 }
11821188 }
11831189
@@ -1200,8 +1206,11 @@ export default class AdminForthRestAPI implements IAdminForthRestAPI {
12001206 for ( const column of resource . columns ) {
12011207 if ( ( column . required as { create ?: boolean } ) ?. create ) {
12021208 const shown = await isShown ( column , 'create' , ctxCreate ) ;
1203- if ( shown && record [ column . name ] === undefined ) {
1204- return { error : `Column '${ column . name } ' is required` , ok : false } ;
1209+ const isColumnShownWithShowIf = await checkShowIf ( column as AdminForthResourceColumnInputCommon , record ) ;
1210+ if ( isColumnShownWithShowIf === true ) {
1211+ if ( shown && record [ column . name ] === undefined ) {
1212+ return { error : `Column '${ column . name } ' is required` , ok : false } ;
1213+ }
12051214 }
12061215 }
12071216 }
0 commit comments