public static Error.Types OnUpdating(SiteSettings ss, UserModel userModel) { if (Forms.Exists("Users_TenantManager") && userModel.Self()) { return(Error.Types.PermissionNotSelfChange); } if (!ss.CanUpdate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(userModel.Mine()); foreach (var column in ss.Columns .Where(o => !o.CanUpdate) .Where(o => !ss.FormulaTarget(o.ColumnName))) { switch (column.ColumnName) { case "LoginId": if (userModel.LoginId_Updated()) { return(Error.Types.HasNotPermission); } break; case "GlobalId": if (userModel.GlobalId_Updated()) { return(Error.Types.HasNotPermission); } break; case "Name": if (userModel.Name_Updated()) { return(Error.Types.HasNotPermission); } break; case "UserCode": if (userModel.UserCode_Updated()) { return(Error.Types.HasNotPermission); } break; case "Password": if (userModel.Password_Updated()) { return(Error.Types.HasNotPermission); } break; case "LastName": if (userModel.LastName_Updated()) { return(Error.Types.HasNotPermission); } break; case "FirstName": if (userModel.FirstName_Updated()) { return(Error.Types.HasNotPermission); } break; case "Birthday": if (userModel.Birthday_Updated()) { return(Error.Types.HasNotPermission); } break; case "Gender": if (userModel.Gender_Updated()) { return(Error.Types.HasNotPermission); } break; case "Language": if (userModel.Language_Updated()) { return(Error.Types.HasNotPermission); } break; case "TimeZone": if (userModel.TimeZone_Updated()) { return(Error.Types.HasNotPermission); } break; case "DeptId": if (userModel.DeptId_Updated()) { return(Error.Types.HasNotPermission); } break; case "FirstAndLastNameOrder": if (userModel.FirstAndLastNameOrder_Updated()) { return(Error.Types.HasNotPermission); } break; case "Body": if (userModel.Body_Updated()) { return(Error.Types.HasNotPermission); } break; case "LastLoginTime": if (userModel.LastLoginTime_Updated()) { return(Error.Types.HasNotPermission); } break; case "PasswordExpirationTime": if (userModel.PasswordExpirationTime_Updated()) { return(Error.Types.HasNotPermission); } break; case "PasswordChangeTime": if (userModel.PasswordChangeTime_Updated()) { return(Error.Types.HasNotPermission); } break; case "NumberOfLogins": if (userModel.NumberOfLogins_Updated()) { return(Error.Types.HasNotPermission); } break; case "NumberOfDenial": if (userModel.NumberOfDenial_Updated()) { return(Error.Types.HasNotPermission); } break; case "TenantManager": if (userModel.TenantManager_Updated()) { return(Error.Types.HasNotPermission); } break; case "Disabled": if (userModel.Disabled_Updated()) { return(Error.Types.HasNotPermission); } break; case "ApiKey": if (userModel.ApiKey_Updated()) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn("Comments").CanUpdate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }
public static ErrorData OnCreating( Context context, SiteSettings ss, UserModel userModel, bool api = false) { if (api && (context.ContractSettings.Api == false || !Parameters.Api.Enabled)) { return(new ErrorData(type: Error.Types.InvalidRequest)); } if (!Parameters.Service.ShowProfiles) { return(new ErrorData(type: Error.Types.InvalidRequest)); } if (!context.CanCreate(ss: ss)) { return(!context.CanRead(ss: ss) ? new ErrorData(type: Error.Types.NotFound) : new ErrorData(type: Error.Types.HasNotPermission)); } ss.SetColumnAccessControls(context: context, mine: userModel.Mine(context: context)); foreach (var column in ss.Columns .Where(o => !o.CanCreate) .Where(o => !ss.FormulaTarget(o.ColumnName)) .Where(o => !o.Linking)) { switch (column.ColumnName) { case "LoginId": if (userModel.LoginId_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "GlobalId": if (userModel.GlobalId_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Name": if (userModel.Name_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "UserCode": if (userModel.UserCode_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Password": if (userModel.Password_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "LastName": if (userModel.LastName_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "FirstName": if (userModel.FirstName_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Gender": if (userModel.Gender_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Language": if (userModel.Language_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "TimeZone": if (userModel.TimeZone_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "DeptId": if (userModel.DeptId_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "FirstAndLastNameOrder": if (userModel.FirstAndLastNameOrder_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Body": if (userModel.Body_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "NumberOfLogins": if (userModel.NumberOfLogins_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "NumberOfDenial": if (userModel.NumberOfDenial_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "TenantManager": if (userModel.TenantManager_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Disabled": if (userModel.Disabled_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Lockout": if (userModel.Lockout_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "LockoutCounter": if (userModel.LockoutCounter_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "ApiKey": if (userModel.ApiKey_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "SecondaryAuthenticationCode": if (userModel.SecondaryAuthenticationCode_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "LdapSearchRoot": if (userModel.LdapSearchRoot_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Birthday": if (userModel.Birthday_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "LastLoginTime": if (userModel.LastLoginTime_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "PasswordExpirationTime": if (userModel.PasswordExpirationTime_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "PasswordChangeTime": if (userModel.PasswordChangeTime_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "SecondaryAuthenticationCodeExpirationTime": if (userModel.SecondaryAuthenticationCodeExpirationTime_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "SynchronizedTime": if (userModel.SynchronizedTime_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Comments": if (userModel.Comments_Updated(context: context)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; default: switch (Def.ExtendedColumnTypes.Get(column.Name)) { case "Class": if (userModel.Class_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Num": if (userModel.Num_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Date": if (userModel.Date_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Description": if (userModel.Description_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Check": if (userModel.Check_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Attachments": if (userModel.Attachments_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; } break; } } return(new ErrorData(type: Error.Types.None)); }