Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        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));
        }
Пример #5
0
 public AdamItemDtoMaker <TFolderId, TFileId> Init(AdamState state)
 {
     AdamState = state;
     return(this);
 }