public T Init(IBlock block, int appId, string contentType, Guid itemGuid, string field, bool usePortalRoot, ILog parentLog) { Log.LinkTo(parentLog); var logCall = Log.Call <T>($"app: {appId}, type: {contentType}, itemGuid: {itemGuid}, field: {field}, portalRoot: {usePortalRoot}"); State = new AdamState <TFolderId, TFileId>(block, appId, contentType, field, itemGuid, usePortalRoot, Log); return(logCall(null, this as T)); }
internal AdamItemDto Create(Sxc.Adam.Folder <TFolderId, TFileId> folder, AdamState state) { // todo: AdamId var item = new AdamItemDto <TFolderId, TFolderId>(true, folder.SysId, folder.ParentSysId, folder.Name, 0, folder.Created, folder.Modified) { Path = folder.Path, AllowEdit = state.UseTenantRoot ? _security.CanEditFolder(folder) : !state.Security.UserIsRestricted || state.Security.FieldPermissionOk(GrantSets.WriteSomething) }; return(item); }
internal AdamItemDto Create(Sxc.Adam.File <TFolderId, TFileId> original, AdamState state) { var item = new AdamItemDto <TFolderId, TFileId>(false, original.SysId, original.ParentSysId, original.FullName, original.Size, original.Created, original.Modified) { Path = original.Path, AllowEdit = state.UseTenantRoot ? _security.CanEditFolder(original) : !state.Security.UserIsRestricted || state.Security.FieldPermissionOk(GrantSets.WriteSomething) }; // (original.StorageLocation == 0) ? original.Path : FileLinkClickController.Instance.GetFileLinkClick(original); return(item); }
internal AdamSecurityChecksBase Init(AdamState adamState, bool usePortalRoot, ILog parentLog) { Log.LinkTo(parentLog); var callLog = Log.Call <AdamSecurityChecksBase>(); AdamState = adamState; var firstChecker = AdamState.Permissions.PermissionCheckers.First().Value; var userMayAdminSomeFiles = firstChecker.UserMay(GrantSets.WritePublished); var userMayAdminSiteFiles = firstChecker.GrantedBecause == Conditions.EnvironmentGlobal || firstChecker.GrantedBecause == Conditions.EnvironmentInstance; UserIsRestricted = !(usePortalRoot ? userMayAdminSiteFiles : userMayAdminSomeFiles); Log.Add($"adminSome:{userMayAdminSomeFiles}, restricted:{UserIsRestricted}"); return(callLog(null, this)); }
public AdamItemDtoMaker <TFolderId, TFileId> Init(AdamState state) { AdamState = state; return(this); }