Merge branch 'develop' into hotfix/filter-input-hotfix
This commit is contained in:
commit
df060ba8a2
@ -26,7 +26,6 @@
|
||||
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
using ASC.ApiSystem.Classes;
|
||||
using ASC.ApiSystem.Interfaces;
|
||||
using ASC.Core.Tenants;
|
||||
|
||||
|
@ -61,7 +61,19 @@ namespace ASC.Data.Backup.Controllers
|
||||
/// <param name="backupMail">Include mail in the backup</param>
|
||||
/// <category>Backup</category>
|
||||
[Create("createbackupschedule")]
|
||||
public bool CreateBackupSchedule(BackupSchedule backupSchedule)
|
||||
public bool CreateBackupScheduleFromBody([FromBody]BackupSchedule backupSchedule)
|
||||
{
|
||||
return CreateBackupSchedule(backupSchedule);
|
||||
}
|
||||
|
||||
[Create("createbackupschedule")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool CreateBackupScheduleFromForm([FromForm]BackupSchedule backupSchedule)
|
||||
{
|
||||
return CreateBackupSchedule(backupSchedule);
|
||||
}
|
||||
|
||||
private bool CreateBackupSchedule(BackupSchedule backupSchedule)
|
||||
{
|
||||
if (CoreBaseSettings.Standalone)
|
||||
{
|
||||
@ -106,7 +118,19 @@ namespace ASC.Data.Backup.Controllers
|
||||
/// <category>Backup</category>
|
||||
/// <returns>Backup Progress</returns>
|
||||
[Create("startbackup")]
|
||||
public BackupProgress StartBackup(Models.Backup backup)
|
||||
public BackupProgress StartBackupFromBody([FromBody]Models.Backup backup)
|
||||
{
|
||||
return StartBackup(backup);
|
||||
}
|
||||
|
||||
[Create("startbackup")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public BackupProgress StartBackupFromForm([FromForm]Models.Backup backup)
|
||||
{
|
||||
return StartBackup(backup);
|
||||
}
|
||||
|
||||
private BackupProgress StartBackup(Models.Backup backup)
|
||||
{
|
||||
if (CoreBaseSettings.Standalone)
|
||||
{
|
||||
@ -193,7 +217,19 @@ namespace ASC.Data.Backup.Controllers
|
||||
/// <category>Backup</category>
|
||||
/// <returns>Restore Progress</returns>
|
||||
[Create("startrestore")]
|
||||
public BackupProgress StartBackupRestore(BackupRestore backupRestore)
|
||||
public BackupProgress StartBackupRestoreFromBody([FromBody]BackupRestore backupRestore)
|
||||
{
|
||||
return StartBackupRestore(backupRestore);
|
||||
}
|
||||
|
||||
[Create("startrestore")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public BackupProgress StartBackupRestoreFromForm([FromForm]BackupRestore backupRestore)
|
||||
{
|
||||
return StartBackupRestore(backupRestore);
|
||||
}
|
||||
|
||||
private BackupProgress StartBackupRestore(BackupRestore backupRestore)
|
||||
{
|
||||
if (CoreBaseSettings.Standalone)
|
||||
{
|
||||
|
@ -2,7 +2,6 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
using ASC.Api.Collections;
|
||||
using ASC.Data.Backup.Contracts;
|
||||
|
||||
namespace ASC.Data.Backup.Models
|
||||
{
|
||||
|
@ -1,7 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
using ASC.Api.Collections;
|
||||
using ASC.Data.Backup.Contracts;
|
||||
|
||||
namespace ASC.Data.Backup.Models
|
||||
{
|
||||
|
@ -1,12 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Collections.Generic;
|
||||
|
||||
using ASC.Api.Collections;
|
||||
using ASC.Data.Backup.Contracts;
|
||||
|
||||
using static ASC.Data.Backup.BackupAjaxHandler;
|
||||
|
||||
namespace ASC.Data.Backup.ModelApi
|
||||
{
|
||||
|
9
products/ASC.Files/Core/Model/CheckDocServiceUrlModel.cs
Normal file
9
products/ASC.Files/Core/Model/CheckDocServiceUrlModel.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class CheckDocServiceUrlModel
|
||||
{
|
||||
public string DocServiceUrl { get; set; }
|
||||
public string DocServiceUrlInternal { get; set; }
|
||||
public string DocServiceUrlPortal { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class CreateTextOrHtmlFileModel
|
||||
{
|
||||
public string Title { get; set; }
|
||||
public string Content { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class CreateWordpressPostModel
|
||||
{
|
||||
public string Title { get; set; }
|
||||
public string Content { get; set; }
|
||||
public int Status { get; set; }
|
||||
}
|
||||
}
|
11
products/ASC.Files/Core/Model/DisplayModel.cs
Normal file
11
products/ASC.Files/Core/Model/DisplayModel.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class DisplayModel
|
||||
{
|
||||
public bool Set { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class EasyBibCitationBookModel
|
||||
{
|
||||
public string CitationData { get; set; }
|
||||
}
|
||||
}
|
11
products/ASC.Files/Core/Model/FileStreamModel.cs
Normal file
11
products/ASC.Files/Core/Model/FileStreamModel.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System.IO;
|
||||
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class FileStreamModel
|
||||
{
|
||||
public Stream File { get; set; }
|
||||
public bool Encrypted { get; set; }
|
||||
public bool Forcesave { get; set; }
|
||||
}
|
||||
}
|
9
products/ASC.Files/Core/Model/GenerateSharedLinkModel.cs
Normal file
9
products/ASC.Files/Core/Model/GenerateSharedLinkModel.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using ASC.Files.Core.Security;
|
||||
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class GenerateSharedLinkModel
|
||||
{
|
||||
public FileShare Share { get; set; }
|
||||
}
|
||||
}
|
11
products/ASC.Files/Core/Model/HideConfirmConvertModel.cs
Normal file
11
products/ASC.Files/Core/Model/HideConfirmConvertModel.cs
Normal file
@ -0,0 +1,11 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class HideConfirmConvertModel
|
||||
{
|
||||
public bool Save { get; set; }
|
||||
}
|
||||
}
|
12
products/ASC.Files/Core/Model/InsertFileModel.cs
Normal file
12
products/ASC.Files/Core/Model/InsertFileModel.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System.IO;
|
||||
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class InsertFileModel
|
||||
{
|
||||
public Stream File { get; set; }
|
||||
public string Title { get; set; }
|
||||
public bool? CreateNewIfExist { get; set; }
|
||||
public bool KeepConvertStatus { get; set; }
|
||||
}
|
||||
}
|
13
products/ASC.Files/Core/Model/SaveEditingModel.cs
Normal file
13
products/ASC.Files/Core/Model/SaveEditingModel.cs
Normal file
@ -0,0 +1,13 @@
|
||||
using System.IO;
|
||||
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class SaveEditingModel
|
||||
{
|
||||
public string FileExtension { get; set; }
|
||||
public string DownloadUri { get; set; }
|
||||
public Stream Stream { get; set; }
|
||||
public string Doc { get; set; }
|
||||
public bool Forcesave { get; set; }
|
||||
}
|
||||
}
|
9
products/ASC.Files/Core/Model/TemplatesModel.cs
Normal file
9
products/ASC.Files/Core/Model/TemplatesModel.cs
Normal file
@ -0,0 +1,9 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class TemplatesModel
|
||||
{
|
||||
public IEnumerable<int> FileIds { get; set; }
|
||||
}
|
||||
}
|
14
products/ASC.Files/Core/Model/ThirdPartyModel.cs
Normal file
14
products/ASC.Files/Core/Model/ThirdPartyModel.cs
Normal file
@ -0,0 +1,14 @@
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class ThirdPartyModel
|
||||
{
|
||||
public string Url { get; set; }
|
||||
public string Login { get; set; }
|
||||
public string Password { get; set; }
|
||||
public string Token { get; set; }
|
||||
public bool IsCorporate { get; set; }
|
||||
public string CustomerTitle { get; set; }
|
||||
public string ProviderKey { get; set; }
|
||||
public string ProviderId { get; set; }
|
||||
}
|
||||
}
|
7
products/ASC.Files/Core/Model/WordpressSaveModel.cs
Normal file
7
products/ASC.Files/Core/Model/WordpressSaveModel.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace ASC.Files.Core.Model
|
||||
{
|
||||
public class WordpressSaveModel
|
||||
{
|
||||
public string Code { get; set; }
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -86,7 +86,19 @@ namespace ASC.Api.Documents
|
||||
/// </summary>
|
||||
/// <visible>false</visible>
|
||||
[Update("keys")]
|
||||
public object SetKeys(PrivacyRoomModel model)
|
||||
public object SetKeysFromBody([FromBody]PrivacyRoomModel model)
|
||||
{
|
||||
return SetKeys(model);
|
||||
}
|
||||
|
||||
[Update("keys")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SetKeysFromForm([FromForm]PrivacyRoomModel model)
|
||||
{
|
||||
return SetKeys(model);
|
||||
}
|
||||
|
||||
private object SetKeys(PrivacyRoomModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(new UserSecurityProvider(AuthContext.CurrentAccount.ID), Constants.Action_EditUser);
|
||||
|
||||
@ -152,7 +164,19 @@ namespace ASC.Api.Documents
|
||||
/// <returns></returns>
|
||||
/// <visible>false</visible>
|
||||
[Update("")]
|
||||
public bool SetPrivacyRoom(PrivacyRoomModel model)
|
||||
public bool SetPrivacyRoomFromBody([FromBody]PrivacyRoomModel model)
|
||||
{
|
||||
return SetPrivacyRoom(model);
|
||||
}
|
||||
|
||||
[Update("")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool SetPrivacyRoomFromForm([FromForm]PrivacyRoomModel model)
|
||||
{
|
||||
return SetPrivacyRoom(model);
|
||||
}
|
||||
|
||||
private bool SetPrivacyRoom(PrivacyRoomModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
|
@ -63,7 +63,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Create]
|
||||
public GroupWrapperFull AddGroup(GroupModel groupModel)
|
||||
public GroupWrapperFull AddGroupFromBody([FromBody]GroupModel groupModel)
|
||||
{
|
||||
return AddGroup(groupModel);
|
||||
}
|
||||
|
||||
[Create]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public GroupWrapperFull AddGroupFromForm([FromForm] GroupModel groupModel)
|
||||
{
|
||||
return AddGroup(groupModel);
|
||||
}
|
||||
|
||||
private GroupWrapperFull AddGroup(GroupModel groupModel)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
|
||||
|
||||
@ -84,7 +96,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("{groupid}")]
|
||||
public GroupWrapperFull UpdateGroup(Guid groupid, GroupModel groupModel)
|
||||
public GroupWrapperFull UpdateGroupFromBody(Guid groupid, [FromBody]GroupModel groupModel)
|
||||
{
|
||||
return UpdateGroup(groupid, groupModel);
|
||||
}
|
||||
|
||||
[Update("{groupid}")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public GroupWrapperFull UpdateGroupFromForm(Guid groupid, [FromForm] GroupModel groupModel)
|
||||
{
|
||||
return UpdateGroup(groupid, groupModel);
|
||||
}
|
||||
|
||||
private GroupWrapperFull UpdateGroup(Guid groupid, GroupModel groupModel)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
|
||||
var group = UserManager.GetGroups().SingleOrDefault(x => x.ID == groupid).NotFoundIfNull("group not found");
|
||||
@ -96,7 +120,7 @@ namespace ASC.Employee.Core.Controllers
|
||||
group.Name = groupModel.GroupName ?? group.Name;
|
||||
UserManager.SaveGroupInfo(group);
|
||||
|
||||
RemoveMembersFrom(new GroupModel { Groupid = groupid, Members = UserManager.GetUsersByGroup(groupid, EmployeeStatus.All).Select(u => u.ID).Where(id => !groupModel.Members.Contains(id)) });
|
||||
RemoveMembersFrom(groupid, new GroupModel {Members = UserManager.GetUsersByGroup(groupid, EmployeeStatus.All).Select(u => u.ID).Where(id => !groupModel.Members.Contains(id)) });
|
||||
|
||||
TransferUserToDepartment(groupModel.GroupManager, @group, true);
|
||||
if (groupModel.Members != null)
|
||||
@ -109,7 +133,7 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
MessageService.Send(MessageAction.GroupUpdated, MessageTarget.Create(groupid), group.Name);
|
||||
|
||||
return GetById(groupModel.Groupid);
|
||||
return GetById(groupid);
|
||||
}
|
||||
|
||||
[Delete("{groupid}")]
|
||||
@ -135,34 +159,58 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("{groupid}/members/{newgroupid}")]
|
||||
public GroupWrapperFull TransferMembersTo(TransferGroupMembersModel transferGroupMembersModel)
|
||||
public GroupWrapperFull TransferMembersTo(Guid groupid, Guid newgroupid)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
|
||||
var oldgroup = GetGroupInfo(transferGroupMembersModel.GroupId);
|
||||
var oldgroup = GetGroupInfo(groupid);
|
||||
|
||||
var newgroup = GetGroupInfo(transferGroupMembersModel.NewGroupId);
|
||||
var newgroup = GetGroupInfo(newgroupid);
|
||||
|
||||
var users = UserManager.GetUsersByGroup(oldgroup.ID);
|
||||
foreach (var userInfo in users)
|
||||
{
|
||||
TransferUserToDepartment(userInfo.ID, newgroup, false);
|
||||
}
|
||||
return GetById(transferGroupMembersModel.NewGroupId);
|
||||
return GetById(newgroupid);
|
||||
}
|
||||
|
||||
[Create("{groupid}/members")]
|
||||
public GroupWrapperFull SetMembersTo(GroupModel groupModel)
|
||||
public GroupWrapperFull SetMembersToFromBody(Guid groupid, [FromBody]GroupModel groupModel)
|
||||
{
|
||||
RemoveMembersFrom(new GroupModel { Groupid = groupModel.Groupid, Members = UserManager.GetUsersByGroup(groupModel.Groupid).Select(x => x.ID) });
|
||||
AddMembersTo(groupModel);
|
||||
return GetById(groupModel.Groupid);
|
||||
return SetMembersTo(groupid, groupModel);
|
||||
}
|
||||
|
||||
[Create("{groupid}/members")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public GroupWrapperFull SetMembersToFromForm(Guid groupid, [FromForm] GroupModel groupModel)
|
||||
{
|
||||
return SetMembersTo(groupid, groupModel);
|
||||
}
|
||||
|
||||
private GroupWrapperFull SetMembersTo(Guid groupid, GroupModel groupModel)
|
||||
{
|
||||
RemoveMembersFrom(groupid, new GroupModel {Members = UserManager.GetUsersByGroup(groupid).Select(x => x.ID) });
|
||||
AddMembersTo(groupid, groupModel);
|
||||
return GetById(groupid);
|
||||
}
|
||||
|
||||
[Update("{groupid}/members")]
|
||||
public GroupWrapperFull AddMembersTo(GroupModel groupModel)
|
||||
public GroupWrapperFull AddMembersToFromBody(Guid groupid, [FromBody]GroupModel groupModel)
|
||||
{
|
||||
return AddMembersTo(groupid, groupModel);
|
||||
}
|
||||
|
||||
[Update("{groupid}/members")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public GroupWrapperFull AddMembersToFromForm(Guid groupid, [FromForm] GroupModel groupModel)
|
||||
{
|
||||
return AddMembersTo(groupid, groupModel);
|
||||
}
|
||||
|
||||
private GroupWrapperFull AddMembersTo(Guid groupid, GroupModel groupModel)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
|
||||
var group = GetGroupInfo(groupModel.Groupid);
|
||||
var group = GetGroupInfo(groupid);
|
||||
|
||||
foreach (var userId in groupModel.Members)
|
||||
{
|
||||
@ -172,9 +220,21 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("{groupid}/manager")]
|
||||
public GroupWrapperFull SetManager(SetManagerModel setManagerModel)
|
||||
public GroupWrapperFull SetManagerFromBody(Guid groupid, [FromBody]SetManagerModel setManagerModel)
|
||||
{
|
||||
var group = GetGroupInfo(setManagerModel.GroupId);
|
||||
return SetManager(groupid, setManagerModel);
|
||||
}
|
||||
|
||||
[Update("{groupid}/manager")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public GroupWrapperFull SetManagerFromForm(Guid groupid, [FromForm] SetManagerModel setManagerModel)
|
||||
{
|
||||
return SetManager(groupid, setManagerModel);
|
||||
}
|
||||
|
||||
private GroupWrapperFull SetManager(Guid groupid, SetManagerModel setManagerModel)
|
||||
{
|
||||
var group = GetGroupInfo(groupid);
|
||||
if (UserManager.UserExists(setManagerModel.UserId))
|
||||
{
|
||||
UserManager.SetDepartmentManager(group.ID, setManagerModel.UserId);
|
||||
@ -183,14 +243,26 @@ namespace ASC.Employee.Core.Controllers
|
||||
{
|
||||
throw new ItemNotFoundException("user not found");
|
||||
}
|
||||
return GetById(setManagerModel.GroupId);
|
||||
return GetById(groupid);
|
||||
}
|
||||
|
||||
[Delete("{groupid}/members")]
|
||||
public GroupWrapperFull RemoveMembersFrom(GroupModel groupModel)
|
||||
public GroupWrapperFull RemoveMembersFromFromBody(Guid groupid, [FromBody]GroupModel groupModel)
|
||||
{
|
||||
return RemoveMembersFrom(groupid, groupModel);
|
||||
}
|
||||
|
||||
[Delete("{groupid}/members")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public GroupWrapperFull RemoveMembersFromFromForm(Guid groupid, [FromForm] GroupModel groupModel)
|
||||
{
|
||||
return RemoveMembersFrom(groupid, groupModel);
|
||||
}
|
||||
|
||||
private GroupWrapperFull RemoveMembersFrom(Guid groupid, GroupModel groupModel)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditGroups, Constants.Action_AddRemoveUser);
|
||||
var group = GetGroupInfo(groupModel.Groupid);
|
||||
var group = GetGroupInfo(groupid);
|
||||
|
||||
foreach (var userId in groupModel.Members)
|
||||
{
|
||||
|
@ -346,7 +346,6 @@ namespace ASC.Employee.Core.Controllers
|
||||
public IEnumerable<EmployeeWraper> GetSimpleByFilter(EmployeeStatus? employeeStatus, Guid? groupId, EmployeeActivationStatus? activationStatus, EmployeeType? employeeType, bool? isAdministrator)
|
||||
{
|
||||
var users = GetByFilter(employeeStatus, groupId, activationStatus, employeeType, isAdministrator);
|
||||
|
||||
return users.Select(EmployeeWraperHelper.Get);
|
||||
}
|
||||
|
||||
@ -399,7 +398,20 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
[Create]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Administrators")]
|
||||
public EmployeeWraperFull AddMember(MemberModel memberModel)
|
||||
public EmployeeWraperFull AddMemberFromBody([FromBody]MemberModel memberModel)
|
||||
{
|
||||
return AddMember(memberModel);
|
||||
}
|
||||
|
||||
[Create]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "LinkInvite,Administrators")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull AddMemberFromForm([FromForm]MemberModel memberModel)
|
||||
{
|
||||
return AddMember(memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull AddMember(MemberModel memberModel)
|
||||
{
|
||||
ApiContext.AuthByClaim();
|
||||
|
||||
@ -458,7 +470,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Create("active")]
|
||||
public EmployeeWraperFull AddMemberAsActivated(MemberModel memberModel)
|
||||
public EmployeeWraperFull AddMemberAsActivatedFromBody([FromBody]MemberModel memberModel)
|
||||
{
|
||||
return AddMemberAsActivated(memberModel);
|
||||
}
|
||||
|
||||
[Create("active")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull AddMemberAsActivatedFromForm([FromForm] MemberModel memberModel)
|
||||
{
|
||||
return AddMemberAsActivated(memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull AddMemberAsActivated(MemberModel memberModel)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_AddRemoveUser);
|
||||
|
||||
@ -514,7 +538,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("{userid}/culture")]
|
||||
public EmployeeWraperFull UpdateMemberCulture(string userid, UpdateMemberModel memberModel)
|
||||
public EmployeeWraperFull UpdateMemberCultureFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
|
||||
{
|
||||
return UpdateMemberCulture(userid, memberModel);
|
||||
}
|
||||
|
||||
[Update("{userid}/culture")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull UpdateMemberCultureFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
|
||||
{
|
||||
return UpdateMemberCulture(userid, memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull UpdateMemberCulture(string userid, UpdateMemberModel memberModel)
|
||||
{
|
||||
var user = GetUserInfo(userid);
|
||||
|
||||
@ -550,7 +586,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("{userid}")]
|
||||
public EmployeeWraperFull UpdateMember(string userid, UpdateMemberModel memberModel)
|
||||
public EmployeeWraperFull UpdateMemberFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
|
||||
{
|
||||
return UpdateMember(userid, memberModel);
|
||||
}
|
||||
|
||||
[Update("{userid}")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull UpdateMemberFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
|
||||
{
|
||||
return UpdateMember(userid, memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull UpdateMember(string userid, UpdateMemberModel memberModel)
|
||||
{
|
||||
var user = GetUserInfo(userid);
|
||||
|
||||
@ -729,7 +777,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("{userid}/contacts")]
|
||||
public EmployeeWraperFull UpdateMemberContacts(string userid, UpdateMemberModel memberModel)
|
||||
public EmployeeWraperFull UpdateMemberContactsFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
|
||||
{
|
||||
return UpdateMemberContacts(userid, memberModel);
|
||||
}
|
||||
|
||||
[Update("{userid}/contacts")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull UpdateMemberContactsFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
|
||||
{
|
||||
return UpdateMemberContacts(userid, memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull UpdateMemberContacts(string userid, UpdateMemberModel memberModel)
|
||||
{
|
||||
var user = GetUserInfo(userid);
|
||||
|
||||
@ -742,7 +802,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Create("{userid}/contacts")]
|
||||
public EmployeeWraperFull SetMemberContacts(string userid, UpdateMemberModel memberModel)
|
||||
public EmployeeWraperFull SetMemberContactsFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
|
||||
{
|
||||
return SetMemberContacts(userid, memberModel);
|
||||
}
|
||||
|
||||
[Create("{userid}/contacts")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull SetMemberContactsFromForm(string userid, [FromForm] UpdateMemberModel memberModel)
|
||||
{
|
||||
return SetMemberContacts(userid, memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull SetMemberContacts(string userid,UpdateMemberModel memberModel)
|
||||
{
|
||||
var user = GetUserInfo(userid);
|
||||
|
||||
@ -755,7 +827,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Delete("{userid}/contacts")]
|
||||
public EmployeeWraperFull DeleteMemberContacts(string userid, UpdateMemberModel memberModel)
|
||||
public EmployeeWraperFull DeleteMemberContactsFromBody(string userid, [FromBody]UpdateMemberModel memberModel)
|
||||
{
|
||||
return DeleteMemberContacts(userid, memberModel);
|
||||
}
|
||||
|
||||
[Delete("{userid}/contacts")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull DeleteMemberContactsFromForm(string userid, [FromForm]UpdateMemberModel memberModel)
|
||||
{
|
||||
return DeleteMemberContacts(userid, memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull DeleteMemberContacts(string userid, UpdateMemberModel memberModel)
|
||||
{
|
||||
var user = GetUserInfo(userid);
|
||||
|
||||
@ -780,7 +864,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
|
||||
[Create("{userid}/photo")]
|
||||
public FileUploadResult UploadMemberPhoto(string userid, IFormCollection model)
|
||||
public FileUploadResult UploadMemberPhotoFromBody(string userid, [FromBody]IFormCollection model)
|
||||
{
|
||||
return UploadMemberPhoto(userid, model);
|
||||
}
|
||||
|
||||
[Create("{userid}/photo")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public FileUploadResult UploadMemberPhotoFromForm(string userid, [FromForm] IFormCollection model)
|
||||
{
|
||||
return UploadMemberPhoto(userid, model);
|
||||
}
|
||||
|
||||
private FileUploadResult UploadMemberPhoto(string userid, IFormCollection model)
|
||||
{
|
||||
var result = new People.Models.FileUploadResult();
|
||||
var autosave = bool.Parse(model["Autosave"]);
|
||||
@ -876,7 +972,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("{userid}/photo")]
|
||||
public ThumbnailsDataWrapper UpdateMemberPhoto(string userid, UpdateMemberModel model)
|
||||
public ThumbnailsDataWrapper UpdateMemberPhotoFromBody(string userid, [FromBody]UpdateMemberModel model)
|
||||
{
|
||||
return UpdateMemberPhoto(userid, model);
|
||||
}
|
||||
|
||||
[Update("{userid}/photo")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public ThumbnailsDataWrapper UpdateMemberPhotoFromForm(string userid, [FromForm] UpdateMemberModel model)
|
||||
{
|
||||
return UpdateMemberPhoto(userid, model);
|
||||
}
|
||||
|
||||
private ThumbnailsDataWrapper UpdateMemberPhoto(string userid, UpdateMemberModel model)
|
||||
{
|
||||
var user = GetUserInfo(userid);
|
||||
|
||||
@ -914,7 +1022,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
|
||||
[Create("{userid}/photo/thumbnails")]
|
||||
public ThumbnailsDataWrapper CreateMemberPhotoThumbnails(string userid, ThumbnailsModel thumbnailsModel)
|
||||
public ThumbnailsDataWrapper CreateMemberPhotoThumbnailsFromBody(string userid, [FromBody]ThumbnailsModel thumbnailsModel)
|
||||
{
|
||||
return CreateMemberPhotoThumbnails(userid, thumbnailsModel);
|
||||
}
|
||||
|
||||
[Create("{userid}/photo/thumbnails")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public ThumbnailsDataWrapper CreateMemberPhotoThumbnailsFromForm(string userid, [FromForm] ThumbnailsModel thumbnailsModel)
|
||||
{
|
||||
return CreateMemberPhotoThumbnails(userid, thumbnailsModel);
|
||||
}
|
||||
|
||||
private ThumbnailsDataWrapper CreateMemberPhotoThumbnails(string userid, ThumbnailsModel thumbnailsModel)
|
||||
{
|
||||
var user = GetUserInfo(userid);
|
||||
|
||||
@ -949,7 +1069,20 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("password", false)]
|
||||
public object SendUserPassword(MemberModel memberModel)
|
||||
public object SendUserPasswordFromBody([FromBody]MemberModel memberModel)
|
||||
{
|
||||
return SendUserPassword(memberModel);
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("password", false)]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SendUserPasswordFromForm([FromForm] MemberModel memberModel)
|
||||
{
|
||||
return SendUserPassword(memberModel);
|
||||
}
|
||||
|
||||
private object SendUserPassword(MemberModel memberModel)
|
||||
{
|
||||
string error;
|
||||
if (!string.IsNullOrEmpty(error = UserManagerWrapper.SendUserPassword(memberModel.Email)))
|
||||
@ -962,7 +1095,20 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
[Update("{userid}/password")]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,Administrators")]
|
||||
public EmployeeWraperFull ChangeUserPassword(Guid userid, MemberModel memberModel)
|
||||
public EmployeeWraperFull ChangeUserPasswordFromBody(Guid userid, [FromBody]MemberModel memberModel)
|
||||
{
|
||||
return ChangeUserPassword(userid, memberModel);
|
||||
}
|
||||
|
||||
[Update("{userid}/password")]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "PasswordChange,EmailChange,Activation,Administrators")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmployeeWraperFull ChangeUserPasswordFromForm(Guid userid, [FromForm] MemberModel memberModel)
|
||||
{
|
||||
return ChangeUserPassword(userid, memberModel);
|
||||
}
|
||||
|
||||
private EmployeeWraperFull ChangeUserPassword(Guid userid, MemberModel memberModel)
|
||||
{
|
||||
ApiContext.AuthByClaim();
|
||||
PermissionContext.DemandPermissions(new UserSecurityProvider(userid), Constants.Action_EditUser);
|
||||
@ -1010,7 +1156,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
|
||||
[Create("email", false)]
|
||||
public object SendEmailChangeInstructions(UpdateMemberModel model)
|
||||
public object SendEmailChangeInstructionsFromBody([FromBody]UpdateMemberModel model)
|
||||
{
|
||||
return SendEmailChangeInstructions(model);
|
||||
}
|
||||
|
||||
[Create("email", false)]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SendEmailChangeInstructionsFromForm([FromForm] UpdateMemberModel model)
|
||||
{
|
||||
return SendEmailChangeInstructions(model);
|
||||
}
|
||||
|
||||
private object SendEmailChangeInstructions(UpdateMemberModel model)
|
||||
{
|
||||
Guid.TryParse(model.UserId, out var userid);
|
||||
|
||||
@ -1075,7 +1233,20 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
[Update("activationstatus/{activationstatus}")]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Administrators")]
|
||||
public IEnumerable<EmployeeWraperFull> UpdateEmployeeActivationStatus(EmployeeActivationStatus activationstatus, UpdateMembersModel model)
|
||||
public IEnumerable<EmployeeWraperFull> UpdateEmployeeActivationStatusFromBody(EmployeeActivationStatus activationstatus, [FromBody]UpdateMembersModel model)
|
||||
{
|
||||
return UpdateEmployeeActivationStatus(activationstatus, model);
|
||||
}
|
||||
|
||||
[Update("activationstatus/{activationstatus}")]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "Activation,Administrators")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<EmployeeWraperFull> UpdateEmployeeActivationStatusFromForm(EmployeeActivationStatus activationstatus, [FromForm] UpdateMembersModel model)
|
||||
{
|
||||
return UpdateEmployeeActivationStatus(activationstatus, model);
|
||||
}
|
||||
|
||||
private IEnumerable<EmployeeWraperFull> UpdateEmployeeActivationStatus(EmployeeActivationStatus activationstatus, UpdateMembersModel model)
|
||||
{
|
||||
ApiContext.AuthByClaim();
|
||||
|
||||
@ -1094,9 +1265,20 @@ namespace ASC.Employee.Core.Controllers
|
||||
return retuls;
|
||||
}
|
||||
|
||||
[Update("type/{type}")]
|
||||
public IEnumerable<EmployeeWraperFull> UpdateUserTypeFromBody(EmployeeType type, [FromBody]UpdateMembersModel model)
|
||||
{
|
||||
return UpdateUserType(type, model);
|
||||
}
|
||||
|
||||
[Update("type/{type}")]
|
||||
public IEnumerable<EmployeeWraperFull> UpdateUserType(EmployeeType type, UpdateMembersModel model)
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<EmployeeWraperFull> UpdateUserTypeFromForm(EmployeeType type, [FromForm] UpdateMembersModel model)
|
||||
{
|
||||
return UpdateUserType(type, model);
|
||||
}
|
||||
|
||||
private IEnumerable<EmployeeWraperFull> UpdateUserType(EmployeeType type, UpdateMembersModel model)
|
||||
{
|
||||
var users = model.UserIds
|
||||
.Where(userId => !UserManager.IsSystemUser(userId))
|
||||
@ -1133,7 +1315,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("status/{status}")]
|
||||
public IEnumerable<EmployeeWraperFull> UpdateUserStatus(EmployeeStatus status, UpdateMembersModel model)
|
||||
public IEnumerable<EmployeeWraperFull> UpdateUserStatusFromBody(EmployeeStatus status, [FromBody]UpdateMembersModel model)
|
||||
{
|
||||
return UpdateUserStatus(status, model);
|
||||
}
|
||||
|
||||
[Update("status/{status}")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<EmployeeWraperFull> UpdateUserStatusFromForm(EmployeeStatus status, [FromForm] UpdateMembersModel model)
|
||||
{
|
||||
return UpdateUserStatus(status, model);
|
||||
}
|
||||
|
||||
private IEnumerable<EmployeeWraperFull> UpdateUserStatus(EmployeeStatus status, UpdateMembersModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditUser);
|
||||
|
||||
@ -1175,7 +1369,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
|
||||
[Update("invite")]
|
||||
public IEnumerable<EmployeeWraperFull> ResendUserInvites(UpdateMembersModel model)
|
||||
public IEnumerable<EmployeeWraperFull> ResendUserInvitesFromBody([FromBody]UpdateMembersModel model)
|
||||
{
|
||||
return ResendUserInvites(model);
|
||||
}
|
||||
|
||||
[Update("invite")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<EmployeeWraperFull> ResendUserInvitesFromForm([FromForm] UpdateMembersModel model)
|
||||
{
|
||||
return ResendUserInvites(model);
|
||||
}
|
||||
|
||||
private IEnumerable<EmployeeWraperFull> ResendUserInvites(UpdateMembersModel model)
|
||||
{
|
||||
var users = model.UserIds
|
||||
.Where(userId => !UserManager.IsSystemUser(userId))
|
||||
@ -1209,7 +1415,19 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update("delete", Order = -1)]
|
||||
public IEnumerable<EmployeeWraperFull> RemoveUsers(UpdateMembersModel model)
|
||||
public IEnumerable<EmployeeWraperFull> RemoveUsersFromBody([FromBody]UpdateMembersModel model)
|
||||
{
|
||||
return RemoveUsers(model);
|
||||
}
|
||||
|
||||
[Update("delete", Order = -1)]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<EmployeeWraperFull> RemoveUsersFromForm([FromForm] UpdateMembersModel model)
|
||||
{
|
||||
return RemoveUsers(model);
|
||||
}
|
||||
|
||||
private IEnumerable<EmployeeWraperFull> RemoveUsers(UpdateMembersModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_AddRemoveUser);
|
||||
|
||||
@ -1252,9 +1470,21 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
|
||||
[Update("thirdparty/linkaccount")]
|
||||
public void LinkAccount(string serializedProfile)
|
||||
public void LinkAccountFromBody([FromBody]LinkAccountModel model)
|
||||
{
|
||||
var profile = new LoginProfile(Signature, InstanceCrypto, serializedProfile);
|
||||
LinkAccount(model);
|
||||
}
|
||||
|
||||
[Update("thirdparty/linkaccount")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public void LinkAccountFromForm([FromForm]LinkAccountModel model)
|
||||
{
|
||||
LinkAccount(model);
|
||||
}
|
||||
|
||||
public void LinkAccount(LinkAccountModel model)
|
||||
{
|
||||
var profile = new LoginProfile(Signature, InstanceCrypto, model.SerializedProfile);
|
||||
|
||||
if (string.IsNullOrEmpty(profile.AuthorizationError))
|
||||
{
|
||||
@ -1311,35 +1541,56 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update(@"reassign/terminate")]
|
||||
public void TerminateReassign(Guid userId)
|
||||
public void TerminateReassignFromBody([FromBody]TerminateModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditUser);
|
||||
|
||||
QueueWorkerReassign.Terminate(Tenant.TenantId, userId);
|
||||
QueueWorkerReassign.Terminate(Tenant.TenantId, model.UserId);
|
||||
}
|
||||
|
||||
[Update(@"reassign/terminate")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public void TerminateReassignFromForm([FromForm]TerminateModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditUser);
|
||||
|
||||
QueueWorkerReassign.Terminate(Tenant.TenantId, model.UserId);
|
||||
}
|
||||
|
||||
[Create(@"reassign/start")]
|
||||
public ReassignProgressItem StartReassign(Guid fromUserId, Guid toUserId, bool deleteProfile)
|
||||
public ReassignProgressItem StartReassignFromBody([FromBody]StartReassignModel model)
|
||||
{
|
||||
return StartReassign(model);
|
||||
}
|
||||
|
||||
[Create(@"reassign/start")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public ReassignProgressItem StartReassignFromForm([FromForm]StartReassignModel model)
|
||||
{
|
||||
return StartReassign(model);
|
||||
}
|
||||
|
||||
private ReassignProgressItem StartReassign(StartReassignModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditUser);
|
||||
|
||||
var fromUser = UserManager.GetUsers(fromUserId);
|
||||
var fromUser = UserManager.GetUsers(model.FromUserId);
|
||||
|
||||
if (fromUser == null || fromUser.ID == Constants.LostUser.ID)
|
||||
throw new ArgumentException("User with id = " + fromUserId + " not found");
|
||||
throw new ArgumentException("User with id = " + model.FromUserId + " not found");
|
||||
|
||||
if (fromUser.IsOwner(Tenant) || fromUser.IsMe(AuthContext) || fromUser.Status != EmployeeStatus.Terminated)
|
||||
throw new ArgumentException("Can not delete user with id = " + fromUserId);
|
||||
throw new ArgumentException("Can not delete user with id = " + model.FromUserId);
|
||||
|
||||
var toUser = UserManager.GetUsers(toUserId);
|
||||
var toUser = UserManager.GetUsers(model.ToUserId);
|
||||
|
||||
if (toUser == null || toUser.ID == Constants.LostUser.ID)
|
||||
throw new ArgumentException("User with id = " + toUserId + " not found");
|
||||
throw new ArgumentException("User with id = " + model.ToUserId + " not found");
|
||||
|
||||
if (toUser.IsVisitor(UserManager) || toUser.Status == EmployeeStatus.Terminated)
|
||||
throw new ArgumentException("Can not reassign data to user with id = " + toUserId);
|
||||
throw new ArgumentException("Can not reassign data to user with id = " + model.ToUserId);
|
||||
|
||||
return QueueWorkerReassign.Start(Tenant.TenantId, fromUserId, toUserId, SecurityContext.CurrentAccount.ID, deleteProfile);
|
||||
return QueueWorkerReassign.Start(Tenant.TenantId, model.FromUserId, model.ToUserId, SecurityContext.CurrentAccount.ID, model.DeleteProfile);
|
||||
}
|
||||
|
||||
private void CheckReassignProccess(IEnumerable<Guid> userIds)
|
||||
@ -1357,7 +1608,6 @@ namespace ASC.Employee.Core.Controllers
|
||||
|
||||
//#endregion
|
||||
|
||||
|
||||
#region Remove user data
|
||||
|
||||
|
||||
@ -1370,25 +1620,46 @@ namespace ASC.Employee.Core.Controllers
|
||||
}
|
||||
|
||||
[Update(@"remove/terminate")]
|
||||
public void TerminateRemove(Guid userId)
|
||||
public void TerminateRemoveFromBody([FromBody]TerminateModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditUser);
|
||||
|
||||
QueueWorkerRemove.Terminate(Tenant.TenantId, userId);
|
||||
QueueWorkerRemove.Terminate(Tenant.TenantId, model.UserId);
|
||||
}
|
||||
|
||||
[Update(@"remove/terminate")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public void TerminateRemoveFromForm([FromForm]TerminateModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditUser);
|
||||
|
||||
QueueWorkerRemove.Terminate(Tenant.TenantId, model.UserId);
|
||||
}
|
||||
|
||||
[Create(@"remove/start")]
|
||||
public RemoveProgressItem StartRemove(Guid userId)
|
||||
public RemoveProgressItem StartRemoveFromBody([FromBody]TerminateModel model)
|
||||
{
|
||||
return StartRemove(model);
|
||||
}
|
||||
|
||||
[Create(@"remove/start")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public RemoveProgressItem StartRemoveFromForm([FromForm]TerminateModel model)
|
||||
{
|
||||
return StartRemove(model);
|
||||
}
|
||||
|
||||
private RemoveProgressItem StartRemove(TerminateModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(Constants.Action_EditUser);
|
||||
|
||||
var user = UserManager.GetUsers(userId);
|
||||
var user = UserManager.GetUsers(model.UserId);
|
||||
|
||||
if (user == null || user.ID == Constants.LostUser.ID)
|
||||
throw new ArgumentException("User with id = " + userId + " not found");
|
||||
throw new ArgumentException("User with id = " + model.UserId + " not found");
|
||||
|
||||
if (user.IsOwner(Tenant) || user.IsMe(AuthContext) || user.Status != EmployeeStatus.Terminated)
|
||||
throw new ArgumentException("Can not delete user with id = " + userId);
|
||||
throw new ArgumentException("Can not delete user with id = " + model.UserId);
|
||||
|
||||
return QueueWorkerRemove.Start(Tenant.TenantId, user, SecurityContext.CurrentAccount.ID, true);
|
||||
}
|
||||
|
@ -5,7 +5,6 @@ namespace ASC.People.Models
|
||||
{
|
||||
public class GroupModel
|
||||
{
|
||||
public Guid Groupid { get; set; }
|
||||
public Guid GroupManager { get; set; }
|
||||
public string GroupName { get; set; }
|
||||
public IEnumerable<Guid> Members { get; set; }
|
||||
|
7
products/ASC.People/Server/Models/LinkAccountModel.cs
Normal file
7
products/ASC.People/Server/Models/LinkAccountModel.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace ASC.People.Models
|
||||
{
|
||||
public class LinkAccountModel
|
||||
{
|
||||
public string SerializedProfile{get;set;}
|
||||
}
|
||||
}
|
@ -4,7 +4,6 @@ namespace ASC.People.Models
|
||||
{
|
||||
public class SetManagerModel
|
||||
{
|
||||
public Guid GroupId { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
}
|
||||
}
|
||||
|
14
products/ASC.People/Server/Models/StartReassignModel.cs
Normal file
14
products/ASC.People/Server/Models/StartReassignModel.cs
Normal file
@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ASC.People.Models
|
||||
{
|
||||
public class StartReassignModel
|
||||
{
|
||||
public Guid FromUserId { get; set; }
|
||||
public Guid ToUserId { get; set; }
|
||||
public bool DeleteProfile { get; set; }
|
||||
}
|
||||
}
|
12
products/ASC.People/Server/Models/TerminateModel.cs
Normal file
12
products/ASC.People/Server/Models/TerminateModel.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ASC.People.Models
|
||||
{
|
||||
public class TerminateModel
|
||||
{
|
||||
public Guid UserId { get; set; }
|
||||
}
|
||||
}
|
@ -60,7 +60,7 @@ namespace ASC.Web.Api.Controllers
|
||||
return AuthenticateMe(auth);
|
||||
}
|
||||
|
||||
public AuthenticationTokenData AuthenticateMe(AuthModel auth)
|
||||
private AuthenticationTokenData AuthenticateMe(AuthModel auth)
|
||||
{
|
||||
var tenant = TenantManager.GetCurrentTenant();
|
||||
var user = GetUser(tenant.TenantId, auth);
|
||||
@ -92,7 +92,15 @@ namespace ASC.Web.Api.Controllers
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("confirm", false)]
|
||||
public ValidationResult CheckConfirm([FromBody] EmailValidationKeyModel model)
|
||||
public ValidationResult CheckConfirmFromBody([FromBody] EmailValidationKeyModel model)
|
||||
{
|
||||
return EmailValidationKeyModelHelper.Validate(model);
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("confirm", false)]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public ValidationResult CheckConfirmFromForm([FromForm] EmailValidationKeyModel model)
|
||||
{
|
||||
return EmailValidationKeyModelHelper.Validate(model);
|
||||
}
|
||||
|
@ -21,7 +21,6 @@ using ASC.Web.Core.Utility;
|
||||
using ASC.Web.Studio.Core;
|
||||
using ASC.Web.Studio.Core.Notify;
|
||||
using ASC.Web.Studio.UserControls.Management;
|
||||
using ASC.Web.Studio.UserControls.Statistics;
|
||||
using ASC.Web.Studio.Utility;
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@ -222,11 +221,19 @@ namespace ASC.Web.Api.Controllers
|
||||
}
|
||||
|
||||
[Create("mobile/registration")]
|
||||
public void RegisterMobileAppInstall(MobileAppModel model)
|
||||
public void RegisterMobileAppInstallFromBody([FromBody]MobileAppModel model)
|
||||
{
|
||||
var currentUser = UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
|
||||
MobileAppInstallRegistrator.RegisterInstall(currentUser.Email, model.Type);
|
||||
}
|
||||
}
|
||||
|
||||
[Create("mobile/registration")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public void RegisterMobileAppInstallFromForm([FromForm]MobileAppModel model)
|
||||
{
|
||||
var currentUser = UserManager.GetUsers(SecurityContext.CurrentAccount.ID);
|
||||
MobileAppInstallRegistrator.RegisterInstall(currentUser.Email, model.Type);
|
||||
}
|
||||
}
|
||||
|
||||
public static class PortalControllerExtension
|
||||
|
@ -134,7 +134,19 @@ namespace ASC.Web.Api.Controllers
|
||||
}
|
||||
|
||||
[Create("audit/settings/lifetime")]
|
||||
public TenantAuditSettings SetAuditSettings(TenantAuditSettingsWrapper wrapper)
|
||||
public TenantAuditSettings SetAuditSettingsFromBody([FromBody] TenantAuditSettingsWrapper wrapper)
|
||||
{
|
||||
return SetAuditSettings(wrapper);
|
||||
}
|
||||
|
||||
[Create("audit/settings/lifetime")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public TenantAuditSettings SetAuditSettingsFromForm([FromForm] TenantAuditSettingsWrapper wrapper)
|
||||
{
|
||||
return SetAuditSettings(wrapper);
|
||||
}
|
||||
|
||||
private TenantAuditSettings SetAuditSettings(TenantAuditSettingsWrapper wrapper)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
|
@ -341,7 +341,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Create("messagesettings")]
|
||||
public object EnableAdminMessageSettings(AdminMessageSettingsModel model)
|
||||
public object EnableAdminMessageSettingsFromBody([FromBody]AdminMessageSettingsModel model)
|
||||
{
|
||||
return EnableAdminMessageSettings(model);
|
||||
}
|
||||
|
||||
[Create("messagesettings")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object EnableAdminMessageSettingsFromForm([FromForm] AdminMessageSettingsModel model)
|
||||
{
|
||||
return EnableAdminMessageSettings(model);
|
||||
}
|
||||
|
||||
private object EnableAdminMessageSettings(AdminMessageSettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -354,7 +366,20 @@ namespace ASC.Api.Settings
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("sendadmmail")]
|
||||
public object SendAdmMail(AdminMessageSettingsModel model)
|
||||
public object SendAdmMailFromBody([FromBody]AdminMessageSettingsModel model)
|
||||
{
|
||||
return SendAdmMail(model);
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("sendadmmail")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SendAdmMailFromForm([FromForm] AdminMessageSettingsModel model)
|
||||
{
|
||||
return SendAdmMail(model);
|
||||
}
|
||||
|
||||
private object SendAdmMail(AdminMessageSettingsModel model)
|
||||
{
|
||||
var studioAdminMessageSettings = SettingsManager.Load<StudioAdminMessageSettings>();
|
||||
var enableAdmMess = studioAdminMessageSettings.Enable || TenantExtra.IsNotPaid();
|
||||
@ -377,7 +402,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Create("maildomainsettings")]
|
||||
public object SaveMailDomainSettings(MailDomainSettingsModel model)
|
||||
public object SaveMailDomainSettingsFromBody([FromBody] MailDomainSettingsModel model)
|
||||
{
|
||||
return SaveMailDomainSettings(model);
|
||||
}
|
||||
|
||||
[Create("maildomainsettings")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SaveMailDomainSettingsFromForm([FromForm] MailDomainSettingsModel model)
|
||||
{
|
||||
return SaveMailDomainSettings(model);
|
||||
}
|
||||
|
||||
private object SaveMailDomainSettings(MailDomainSettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -409,7 +446,20 @@ namespace ASC.Api.Settings
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("sendjoininvite")]
|
||||
public object SendJoinInviteMail(AdminMessageSettingsModel model)
|
||||
public object SendJoinInviteMailFromBody([FromBody]AdminMessageSettingsModel model)
|
||||
{
|
||||
return SendJoinInviteMail(model);
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
[Create("sendjoininvite")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SendJoinInviteMailFromForm([FromForm] AdminMessageSettingsModel model)
|
||||
{
|
||||
return SendJoinInviteMail(model);
|
||||
}
|
||||
|
||||
private object SendJoinInviteMail(AdminMessageSettingsModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -625,7 +675,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Create("greetingsettings")]
|
||||
public ContentResult SaveGreetingSettings(GreetingSettingsModel model)
|
||||
public ContentResult SaveGreetingSettingsFromBody([FromBody]GreetingSettingsModel model)
|
||||
{
|
||||
return SaveGreetingSettings(model);
|
||||
}
|
||||
|
||||
[Create("greetingsettings")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public ContentResult SaveGreetingSettingsFromForm([FromForm]GreetingSettingsModel model)
|
||||
{
|
||||
return SaveGreetingSettings(model);
|
||||
}
|
||||
|
||||
private ContentResult SaveGreetingSettings(GreetingSettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -698,7 +760,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("version")]
|
||||
public TenantVersionWrapper SetVersion(SettingsModel model)
|
||||
public TenantVersionWrapper SetVersionFromBody([FromBody]SettingsModel model)
|
||||
{
|
||||
return SetVersion(model);
|
||||
}
|
||||
|
||||
[Update("version")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public TenantVersionWrapper SetVersionFromForm([FromForm] SettingsModel model)
|
||||
{
|
||||
return SetVersion(model);
|
||||
}
|
||||
|
||||
private TenantVersionWrapper SetVersion(SettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -762,7 +836,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("security")]
|
||||
public IEnumerable<SecurityWrapper> SetWebItemSecurity(WebItemSecurityModel model)
|
||||
public IEnumerable<SecurityWrapper> SetWebItemSecurityFromBody([FromBody]WebItemSecurityModel model)
|
||||
{
|
||||
return SetWebItemSecurity(model);
|
||||
}
|
||||
|
||||
[Update("security")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<SecurityWrapper> SetWebItemSecurityFromForm([FromForm] WebItemSecurityModel model)
|
||||
{
|
||||
return SetWebItemSecurity(model);
|
||||
}
|
||||
|
||||
private IEnumerable<SecurityWrapper> SetWebItemSecurity(WebItemSecurityModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -796,7 +882,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("security/access")]
|
||||
public IEnumerable<SecurityWrapper> SetAccessToWebItems(WebItemSecurityModel model)
|
||||
public IEnumerable<SecurityWrapper> SetAccessToWebItemsFromBody([FromBody]WebItemSecurityModel model)
|
||||
{
|
||||
return SetAccessToWebItems(model);
|
||||
}
|
||||
|
||||
[Update("security/access")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<SecurityWrapper> SetAccessToWebItemsFromForm([FromForm] WebItemSecurityModel model)
|
||||
{
|
||||
return SetAccessToWebItems(model);
|
||||
}
|
||||
|
||||
private IEnumerable<SecurityWrapper> SetAccessToWebItems(WebItemSecurityModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -854,11 +952,23 @@ namespace ASC.Api.Settings
|
||||
public object IsProductAdministrator(Guid productid, Guid userid)
|
||||
{
|
||||
var result = WebItemSecurity.IsProductAdministrator(productid, userid);
|
||||
return new { ProductId = productid, UserId = userid, Administrator = result, };
|
||||
return new { ProductId = productid, UserId = userid, Administrator = result };
|
||||
}
|
||||
|
||||
[Update("security/administrator")]
|
||||
public object SetProductAdministrator(SecurityModel model)
|
||||
public object SetProductAdministratorFromBody([FromBody]SecurityModel model)
|
||||
{
|
||||
return SetProductAdministrator(model);
|
||||
}
|
||||
|
||||
[Update("security/administrator")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SetProductAdministratorFromForm([FromForm] SecurityModel model)
|
||||
{
|
||||
return SetProductAdministrator(model);
|
||||
}
|
||||
|
||||
private object SetProductAdministrator(SecurityModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -886,10 +996,21 @@ namespace ASC.Api.Settings
|
||||
return TenantInfoSettingsHelper.GetAbsoluteCompanyLogoPath(SettingsManager.Load<TenantInfoSettings>());
|
||||
}
|
||||
|
||||
|
||||
///<visible>false</visible>
|
||||
[Create("whitelabel/save")]
|
||||
public bool SaveWhiteLabelSettings([FromBody] WhiteLabelModel model, [FromQuery] WhiteLabelQuery query)
|
||||
public bool SaveWhiteLabelSettingsFromBody([FromBody] WhiteLabelModel model, [FromQuery] WhiteLabelQuery query)
|
||||
{
|
||||
return SaveWhiteLabelSettings(model, query);
|
||||
}
|
||||
|
||||
[Create("whitelabel/save")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool SaveWhiteLabelSettingsFromForm([FromForm] WhiteLabelModel model, [FromQuery] WhiteLabelQuery query)
|
||||
{
|
||||
return SaveWhiteLabelSettings(model, query);
|
||||
}
|
||||
|
||||
private bool SaveWhiteLabelSettings(WhiteLabelModel model, WhiteLabelQuery query)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -940,7 +1061,6 @@ namespace ASC.Api.Settings
|
||||
|
||||
}
|
||||
|
||||
|
||||
///<visible>false</visible>
|
||||
[Create("whitelabel/savefromfiles")]
|
||||
public bool SaveWhiteLabelSettingsFromFiles([FromQuery] WhiteLabelQuery query)
|
||||
@ -1138,14 +1258,38 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("iprestrictions")]
|
||||
public IEnumerable<string> SaveIpRestrictions(IpRestrictionsModel model)
|
||||
public IEnumerable<string> SaveIpRestrictionsFromBody([FromBody]IpRestrictionsModel model)
|
||||
{
|
||||
return SaveIpRestrictions(model);
|
||||
}
|
||||
|
||||
[Update("iprestrictions")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IEnumerable<string> SaveIpRestrictionsFromForm([FromForm] IpRestrictionsModel model)
|
||||
{
|
||||
return SaveIpRestrictions(model);
|
||||
}
|
||||
|
||||
private IEnumerable<string> SaveIpRestrictions(IpRestrictionsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
return IPRestrictionsService.Save(model.Ips, Tenant.TenantId);
|
||||
}
|
||||
|
||||
[Update("iprestrictions/settings")]
|
||||
public IPRestrictionsSettings UpdateIpRestrictionsSettings(IpRestrictionsModel model)
|
||||
public IPRestrictionsSettings UpdateIpRestrictionsSettingsFromBody([FromBody]IpRestrictionsModel model)
|
||||
{
|
||||
return UpdateIpRestrictionsSettings(model);
|
||||
}
|
||||
|
||||
[Update("iprestrictions/settings")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public IPRestrictionsSettings UpdateIpRestrictionsSettingsFromForm([FromForm] IpRestrictionsModel model)
|
||||
{
|
||||
return UpdateIpRestrictionsSettings(model);
|
||||
}
|
||||
|
||||
private IPRestrictionsSettings UpdateIpRestrictionsSettings(IpRestrictionsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -1156,7 +1300,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("tips")]
|
||||
public TipsSettings UpdateTipsSettings(SettingsModel model)
|
||||
public TipsSettings UpdateTipsSettingsFromBody([FromBody]SettingsModel model)
|
||||
{
|
||||
return UpdateTipsSettings(model);
|
||||
}
|
||||
|
||||
[Update("tips")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public TipsSettings UpdateTipsSettingsFromForm([FromForm] SettingsModel model)
|
||||
{
|
||||
return UpdateTipsSettings(model);
|
||||
}
|
||||
|
||||
private TipsSettings UpdateTipsSettings(SettingsModel model)
|
||||
{
|
||||
var settings = new TipsSettings { Show = model.Show };
|
||||
SettingsManager.SaveForCurrentUser(settings);
|
||||
@ -1191,7 +1347,20 @@ namespace ASC.Api.Settings
|
||||
|
||||
[Update("wizard/complete", Check = false)]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "Wizard")]
|
||||
public WizardSettings CompleteWizard(WizardModel wizardModel)
|
||||
public WizardSettings CompleteWizardFromBody([FromBody]WizardModel wizardModel)
|
||||
{
|
||||
return CompleteWizard(wizardModel);
|
||||
}
|
||||
|
||||
[Update("wizard/complete", Check = false)]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "Wizard")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public WizardSettings CompleteWizardFromForm([FromForm] WizardModel wizardModel)
|
||||
{
|
||||
return CompleteWizard(wizardModel);
|
||||
}
|
||||
|
||||
private WizardSettings CompleteWizard(WizardModel wizardModel)
|
||||
{
|
||||
ApiContext.AuthByClaim();
|
||||
|
||||
@ -1202,7 +1371,19 @@ namespace ASC.Api.Settings
|
||||
|
||||
|
||||
[Update("tfaapp")]
|
||||
public bool TfaSettings(TfaModel model)
|
||||
public bool TfaSettingsFromBody([FromBody]TfaModel model)
|
||||
{
|
||||
return TfaSettings(model);
|
||||
}
|
||||
|
||||
[Update("tfaapp")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool TfaSettingsFromForm([FromForm] TfaModel model)
|
||||
{
|
||||
return TfaSettings(model);
|
||||
}
|
||||
|
||||
private bool TfaSettings(TfaModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -1311,7 +1492,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("tfaappnewapp")]
|
||||
public object TfaAppNewApp(TfaModel model)
|
||||
public object TfaAppNewAppFromBody([FromBody]TfaModel model)
|
||||
{
|
||||
return TfaAppNewApp(model);
|
||||
}
|
||||
|
||||
[Update("tfaappnewapp")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object TfaAppNewAppFromForm([FromForm] TfaModel model)
|
||||
{
|
||||
return TfaAppNewApp(model);
|
||||
}
|
||||
|
||||
private object TfaAppNewApp(TfaModel model)
|
||||
{
|
||||
var isMe = model.Id.Equals(Guid.Empty);
|
||||
var user = UserManager.GetUsers(isMe ? AuthContext.CurrentAccount.ID : model.Id);
|
||||
@ -1355,7 +1548,19 @@ namespace ASC.Api.Settings
|
||||
|
||||
///<visible>false</visible>
|
||||
[Update("colortheme")]
|
||||
public void SaveColorTheme(SettingsModel model)
|
||||
public void SaveColorThemeFromBody([FromBody]SettingsModel model)
|
||||
{
|
||||
SaveColorTheme(model);
|
||||
}
|
||||
|
||||
[Update("colortheme")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public void SaveColorThemeFromForm([FromForm] SettingsModel model)
|
||||
{
|
||||
SaveColorTheme(model);
|
||||
}
|
||||
|
||||
private void SaveColorTheme(SettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
ColorThemesSettingsHelper.SaveColorTheme(model.Theme);
|
||||
@ -1364,7 +1569,19 @@ namespace ASC.Api.Settings
|
||||
|
||||
///<visible>false</visible>
|
||||
[Update("timeandlanguage")]
|
||||
public object TimaAndLanguage(SettingsModel model)
|
||||
public object TimaAndLanguageFromBody([FromBody]SettingsModel model)
|
||||
{
|
||||
return TimaAndLanguage(model);
|
||||
}
|
||||
|
||||
[Update("timeandlanguage")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object TimaAndLanguageFromForm([FromForm] SettingsModel model)
|
||||
{
|
||||
return TimaAndLanguage(model);
|
||||
}
|
||||
|
||||
private object TimaAndLanguage(SettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -1406,7 +1623,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Create("owner")]
|
||||
public object SendOwnerChangeInstructions(SettingsModel model)
|
||||
public object SendOwnerChangeInstructionsFromBody([FromBody]SettingsModel model)
|
||||
{
|
||||
return SendOwnerChangeInstructions(model);
|
||||
}
|
||||
|
||||
[Create("owner")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SendOwnerChangeInstructionsFromForm([FromForm] SettingsModel model)
|
||||
{
|
||||
return SendOwnerChangeInstructions(model);
|
||||
}
|
||||
|
||||
private object SendOwnerChangeInstructions(SettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -1432,7 +1661,20 @@ namespace ASC.Api.Settings
|
||||
|
||||
[Update("owner")]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "PortalOwnerChange")]
|
||||
public void Owner(SettingsModel model)
|
||||
public void OwnerFromBody([FromBody]SettingsModel model)
|
||||
{
|
||||
Owner(model);
|
||||
}
|
||||
|
||||
[Update("owner")]
|
||||
[Authorize(AuthenticationSchemes = "confirm", Roles = "PortalOwnerChange")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public void OwnerFromForm([FromForm] SettingsModel model)
|
||||
{
|
||||
Owner(model);
|
||||
}
|
||||
|
||||
private void Owner(SettingsModel model)
|
||||
{
|
||||
var newOwner = Constants.LostUser;
|
||||
try
|
||||
@ -1461,7 +1703,19 @@ namespace ASC.Api.Settings
|
||||
|
||||
///<visible>false</visible>
|
||||
[Update("defaultpage")]
|
||||
public object SaveDefaultPageSettings(SettingsModel model)
|
||||
public object SaveDefaultPageSettingsFromBody([FromBody]SettingsModel model)
|
||||
{
|
||||
return SaveDefaultPageSettings(model);
|
||||
}
|
||||
|
||||
[Update("defaultpage")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public object SaveDefaultPageSettingsFromForm([FromForm] SettingsModel model)
|
||||
{
|
||||
return SaveDefaultPageSettings(model);
|
||||
}
|
||||
|
||||
private object SaveDefaultPageSettings(SettingsModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -1591,7 +1845,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Create("customnavigation/create")]
|
||||
public CustomNavigationItem CreateCustomNavigationItem(CustomNavigationItem item)
|
||||
public CustomNavigationItem CreateCustomNavigationItemFromBody([FromBody]CustomNavigationItem item)
|
||||
{
|
||||
return CreateCustomNavigationItem(item);
|
||||
}
|
||||
|
||||
[Create("customnavigation/create")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public CustomNavigationItem CreateCustomNavigationItemFromForm([FromForm] CustomNavigationItem item)
|
||||
{
|
||||
return CreateCustomNavigationItem(item);
|
||||
}
|
||||
|
||||
private CustomNavigationItem CreateCustomNavigationItem(CustomNavigationItem item)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
|
||||
@ -1661,12 +1927,17 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("emailactivation")]
|
||||
public EmailActivationSettings UpdateEmailActivationSettings(bool show)
|
||||
public EmailActivationSettings UpdateEmailActivationSettingsFromBody([FromBody]EmailActivationSettings settings)
|
||||
{
|
||||
var settings = new EmailActivationSettings { Show = show };
|
||||
|
||||
SettingsManager.SaveForCurrentUser(settings);
|
||||
return settings;
|
||||
}
|
||||
|
||||
[Update("emailactivation")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public EmailActivationSettings UpdateEmailActivationSettingsFromForm([FromForm]EmailActivationSettings settings)
|
||||
{
|
||||
SettingsManager.SaveForCurrentUser(settings);
|
||||
return settings;
|
||||
}
|
||||
|
||||
@ -1786,7 +2057,19 @@ namespace ASC.Api.Settings
|
||||
public readonly object Locker = new object();
|
||||
|
||||
[Create("encryption/start")]
|
||||
public bool StartStorageEncryption(StorageEncryptionModel storageEncryption)
|
||||
public bool StartStorageEncryptionFromBody([FromBody]StorageEncryptionModel storageEncryption)
|
||||
{
|
||||
return StartStorageEncryption(storageEncryption);
|
||||
}
|
||||
|
||||
[Create("encryption/start")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool StartStorageEncryptionFromForm([FromForm] StorageEncryptionModel storageEncryption)
|
||||
{
|
||||
return StartStorageEncryption(storageEncryption);
|
||||
}
|
||||
|
||||
private bool StartStorageEncryption(StorageEncryptionModel storageEncryption)
|
||||
{
|
||||
lock (Locker)
|
||||
{
|
||||
@ -1965,7 +2248,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("storage")]
|
||||
public StorageSettings UpdateStorage(StorageModel model)
|
||||
public StorageSettings UpdateStorageFromBody([FromBody]StorageModel model)
|
||||
{
|
||||
return UpdateStorage(model);
|
||||
}
|
||||
|
||||
[Update("storage")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public StorageSettings UpdateStorageFromForm([FromForm] StorageModel model)
|
||||
{
|
||||
return UpdateStorage(model);
|
||||
}
|
||||
|
||||
private StorageSettings UpdateStorage(StorageModel model)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -2033,7 +2328,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Update("storage/cdn")]
|
||||
public CdnStorageSettings UpdateCdn(StorageModel model)
|
||||
public CdnStorageSettings UpdateCdnFromBody([FromBody]StorageModel model)
|
||||
{
|
||||
return UpdateCdn(model);
|
||||
}
|
||||
|
||||
[Update("storage/cdn")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public CdnStorageSettings UpdateCdnFromForm([FromForm] StorageModel model)
|
||||
{
|
||||
return UpdateCdn(model);
|
||||
}
|
||||
|
||||
private CdnStorageSettings UpdateCdn(StorageModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
if (!CoreBaseSettings.Standalone) return null;
|
||||
@ -2130,7 +2437,19 @@ namespace ASC.Api.Settings
|
||||
|
||||
///<visible>false</visible>
|
||||
[Create("rebranding/company")]
|
||||
public bool SaveCompanyWhiteLabelSettings(CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
|
||||
public bool SaveCompanyWhiteLabelSettingsFromBody([FromBody] CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
|
||||
{
|
||||
return SaveCompanyWhiteLabelSettings(companyWhiteLabelSettingsWrapper);
|
||||
}
|
||||
|
||||
[Create("rebranding/company")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool SaveCompanyWhiteLabelSettingsFromForm([FromForm] CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
|
||||
{
|
||||
return SaveCompanyWhiteLabelSettings(companyWhiteLabelSettingsWrapper);
|
||||
}
|
||||
|
||||
private bool SaveCompanyWhiteLabelSettings(CompanyWhiteLabelSettingsWrapper companyWhiteLabelSettingsWrapper)
|
||||
{
|
||||
if (companyWhiteLabelSettingsWrapper.Settings == null) throw new ArgumentNullException("settings");
|
||||
|
||||
@ -2164,7 +2483,19 @@ namespace ASC.Api.Settings
|
||||
|
||||
///<visible>false</visible>
|
||||
[Create("rebranding/additional")]
|
||||
public bool SaveAdditionalWhiteLabelSettings(AdditionalWhiteLabelSettingsWrapper wrapper)
|
||||
public bool SaveAdditionalWhiteLabelSettingsFromBody([FromBody]AdditionalWhiteLabelSettingsWrapper wrapper)
|
||||
{
|
||||
return SaveAdditionalWhiteLabelSettings(wrapper);
|
||||
}
|
||||
|
||||
[Create("rebranding/additional")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool SaveAdditionalWhiteLabelSettingsFromForm([FromForm] AdditionalWhiteLabelSettingsWrapper wrapper)
|
||||
{
|
||||
return SaveAdditionalWhiteLabelSettings(wrapper);
|
||||
}
|
||||
|
||||
private bool SaveAdditionalWhiteLabelSettings(AdditionalWhiteLabelSettingsWrapper wrapper)
|
||||
{
|
||||
if (wrapper.Settings == null) throw new ArgumentNullException("settings");
|
||||
|
||||
@ -2196,7 +2527,19 @@ namespace ASC.Api.Settings
|
||||
|
||||
///<visible>false</visible>
|
||||
[Create("rebranding/mail")]
|
||||
public bool SaveMailWhiteLabelSettings(MailWhiteLabelSettings settings)
|
||||
public bool SaveMailWhiteLabelSettingsFromBody([FromBody] MailWhiteLabelSettings settings)
|
||||
{
|
||||
return SaveMailWhiteLabelSettings(settings);
|
||||
}
|
||||
|
||||
///<visible>false</visible>
|
||||
[Create("rebranding/mail")]
|
||||
public bool SaveMailWhiteLabelSettingsFromForm([FromForm] MailWhiteLabelSettings settings)
|
||||
{
|
||||
return SaveMailWhiteLabelSettings(settings);
|
||||
}
|
||||
|
||||
private bool SaveMailWhiteLabelSettings(MailWhiteLabelSettings settings)
|
||||
{
|
||||
if (settings == null) throw new ArgumentNullException("settings");
|
||||
|
||||
@ -2208,13 +2551,25 @@ namespace ASC.Api.Settings
|
||||
|
||||
///<visible>false</visible>
|
||||
[Update("rebranding/mail")]
|
||||
public bool UpdateMailWhiteLabelSettings(bool footerEnabled)
|
||||
public bool UpdateMailWhiteLabelSettingsFromBody([FromBody]MailWhiteLabelSettingsModel model)
|
||||
{
|
||||
return UpdateMailWhiteLabelSettings(model);
|
||||
}
|
||||
|
||||
[Update("rebranding/mail")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool UpdateMailWhiteLabelSettingsFromForm([FromForm]MailWhiteLabelSettingsModel model)
|
||||
{
|
||||
return UpdateMailWhiteLabelSettings(model);
|
||||
}
|
||||
|
||||
private bool UpdateMailWhiteLabelSettings(MailWhiteLabelSettingsModel model)
|
||||
{
|
||||
DemandRebrandingPermission();
|
||||
|
||||
var settings = SettingsManager.LoadForDefaultTenant<MailWhiteLabelSettings>();
|
||||
|
||||
settings.FooterEnabled = footerEnabled;
|
||||
settings.FooterEnabled = model.FooterEnabled;
|
||||
|
||||
SettingsManager.SaveForDefaultTenant(settings);
|
||||
|
||||
@ -2267,7 +2622,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Create("authservice")]
|
||||
public bool SaveAuthKeys(AuthServiceModel model)
|
||||
public bool SaveAuthKeysFromBody([FromBody]AuthServiceModel model)
|
||||
{
|
||||
return SaveAuthKeys(model);
|
||||
}
|
||||
|
||||
[Create("authservice")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public bool SaveAuthKeysFromForm([FromForm] AuthServiceModel model)
|
||||
{
|
||||
return SaveAuthKeys(model);
|
||||
}
|
||||
|
||||
private bool SaveAuthKeys(AuthServiceModel model)
|
||||
{
|
||||
PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings);
|
||||
if (!SetupInfo.IsVisibleSettings(ManagementType.ThirdPartyAuthorization.ToString()))
|
||||
|
@ -80,7 +80,19 @@ namespace ASC.Api.Settings
|
||||
}
|
||||
|
||||
[Create("smtp")]
|
||||
public SmtpSettingsWrapper SaveSmtpSettings(SmtpSettingsWrapper smtpSettings)
|
||||
public SmtpSettingsWrapper SaveSmtpSettingsFromBody([FromBody]SmtpSettingsWrapper smtpSettings)
|
||||
{
|
||||
return SaveSmtpSettings(smtpSettings);
|
||||
}
|
||||
|
||||
[Create("smtp")]
|
||||
[Consumes("application/x-www-form-urlencoded")]
|
||||
public SmtpSettingsWrapper SaveSmtpSettingsFromForm([FromForm] SmtpSettingsWrapper smtpSettings)
|
||||
{
|
||||
return SaveSmtpSettings(smtpSettings);
|
||||
}
|
||||
|
||||
private SmtpSettingsWrapper SaveSmtpSettings(SmtpSettingsWrapper smtpSettings)
|
||||
{
|
||||
CheckSmtpPermissions();
|
||||
|
||||
|
7
web/ASC.Web.Api/Models/MailWhiteLabelSettingsModel.cs
Normal file
7
web/ASC.Web.Api/Models/MailWhiteLabelSettingsModel.cs
Normal file
@ -0,0 +1,7 @@
|
||||
namespace ASC.Web.Api.Models
|
||||
{
|
||||
public class MailWhiteLabelSettingsModel
|
||||
{
|
||||
public bool FooterEnabled { get; set; }
|
||||
}
|
||||
}
|
@ -2,8 +2,6 @@
|
||||
|
||||
using ASC.Api.Collections;
|
||||
|
||||
using Microsoft.AspNetCore.Http;
|
||||
|
||||
namespace ASC.Web.Api.Models
|
||||
{
|
||||
public class WhiteLabelModel
|
||||
|
Loading…
Reference in New Issue
Block a user