fix #3420 - auto create user folder for Host user if it does not exist for site
This commit is contained in:
parent
fd89757814
commit
9c833a8a95
|
@ -95,6 +95,33 @@ namespace Oqtane.Controllers
|
||||||
folderPath += "/";
|
folderPath += "/";
|
||||||
}
|
}
|
||||||
Folder folder = _folders.GetFolder(siteId, folderPath);
|
Folder folder = _folders.GetFolder(siteId, folderPath);
|
||||||
|
if (folder == null && User.IsInRole(RoleNames.Host) && path.StartsWith("Users/"))
|
||||||
|
{
|
||||||
|
// create the user folder on this site for the host user
|
||||||
|
var userId = int.Parse(path.ReplaceMultiple(new string[] { "Users", "/" }, ""));
|
||||||
|
folder = _folders.GetFolder(siteId, "Users/");
|
||||||
|
if (folder != null)
|
||||||
|
{
|
||||||
|
folder = _folders.AddFolder(new Folder
|
||||||
|
{
|
||||||
|
SiteId = folder.SiteId,
|
||||||
|
ParentId = folder.FolderId,
|
||||||
|
Name = "My Folder",
|
||||||
|
Type = FolderTypes.Private,
|
||||||
|
Path = path,
|
||||||
|
Order = 1,
|
||||||
|
ImageSizes = "",
|
||||||
|
Capacity = Constants.UserFolderCapacity,
|
||||||
|
IsSystem = true,
|
||||||
|
PermissionList = new List<Permission>
|
||||||
|
{
|
||||||
|
new Permission(PermissionNames.Browse, userId, true),
|
||||||
|
new Permission(PermissionNames.View, RoleNames.Everyone, true),
|
||||||
|
new Permission(PermissionNames.Edit, userId, true)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, folder.PermissionList))
|
if (folder != null && folder.SiteId == _alias.SiteId && _userPermissions.IsAuthorized(User, PermissionNames.View, folder.PermissionList))
|
||||||
{
|
{
|
||||||
return folder;
|
return folder;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user