public static Error.Types OnCreating(SiteSettings ss, WikiModel wikiModel) { if (!ss.CanCreate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(wikiModel.Mine()); foreach (var controlId in Forms.Keys()) { switch (controlId) { case "Wikis_Title": if (!ss.GetColumn("Title").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Wikis_Body": if (!ss.GetColumn("Body").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn("Comments").CanCreate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }
private static HtmlBuilder NavigationMenu( this HtmlBuilder hb, SiteSettings ss, long siteId, string referenceType, bool useNavigationMenu) { return(hb.Ul( id: "NavigationMenu", action: () => hb .Li( action: () => hb .Div(action: () => hb .A( href: NewHref(ss), attributes: SiteIndex(ss) ? new HtmlAttributes() .OnClick("$p.openTemplateDialog($(this));") .DataAction("OpenTemplateDialog") .DataMethod("post") : null, action: () => hb .Span(css: "ui-icon ui-icon-plus") .Text(text: Displays.New()))), _using: ss.ReferenceType == "Sites" && Routes.Action() == "index" ? ss.CanManageSite() : ss.CanCreate() && ss.ReferenceType != "Wikis") .Li( css: "sub-menu", action: () => hb .Div( attributes: new HtmlAttributes().DataId("ViewModeMenu"), action: () => hb .Span(css: "ui-icon ui-icon-triangle-1-e") .Text(text: Displays.View())) .ViewModeMenu(ss: ss), _using: Def.ViewModeDefinitionCollection .Any(o => o.ReferenceType == referenceType)) .Li( css: "sub-menu", action: () => hb .Div( attributes: new HtmlAttributes().DataId("SettingsMenu"), action: () => hb .Span(css: "ui-icon ui-icon-gear") .Text(text: Displays.Setting())) .SettingsMenu(siteId: siteId, ss: ss)) .Li( css: "sub-menu", action: () => hb .Div( attributes: new HtmlAttributes().DataId("AccountMenu"), action: () => hb .Span(css: "ui-icon ui-icon-person") .Text(text: SiteInfo.UserName(( Sessions.UserId())))) .AccountMenu()))); }
public static Error.Types OnCreating(SiteSettings ss, DeptModel deptModel) { if (!ss.CanCreate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(deptModel.Mine()); foreach (var column in ss.Columns .Where(o => !o.CanCreate) .Where(o => !ss.FormulaTarget(o.ColumnName)) .Where(o => !o.Linking)) { switch (column.ColumnName) { case "DeptCode": if (deptModel.DeptCode_Updated() && (column.DefaultInput.IsNullOrEmpty() || column.DefaultInput.ToString() != deptModel.DeptCode)) { return(Error.Types.HasNotPermission); } break; case "DeptName": if (deptModel.DeptName_Updated() && (column.DefaultInput.IsNullOrEmpty() || column.DefaultInput.ToString() != deptModel.DeptName)) { return(Error.Types.HasNotPermission); } break; case "Body": if (deptModel.Body_Updated() && (column.DefaultInput.IsNullOrEmpty() || column.DefaultInput.ToString() != deptModel.Body)) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn("Comments").CanUpdate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }
public static Error.Types OnCreating(SiteSettings ss, GroupModel groupModel) { if (!ss.CanCreate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(groupModel.Mine()); foreach (var column in ss.Columns .Where(o => !o.CanCreate) .Where(o => !ss.FormulaTarget(o.ColumnName)) .Where(o => !o.Linking)) { switch (column.ColumnName) { case "TenantId": if (groupModel.TenantId_Updated(column)) { return(Error.Types.HasNotPermission); } break; case "GroupName": if (groupModel.GroupName_Updated(column)) { return(Error.Types.HasNotPermission); } break; case "Body": if (groupModel.Body_Updated(column)) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn("Comments").CanUpdate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }
public static Error.Types OnCreating(SiteSettings ss, GroupModel groupModel) { if (!ss.CanCreate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(groupModel.Mine()); foreach (var controlId in Forms.Keys()) { switch (controlId) { case "Groups_TenantId": if (!ss.GetColumn("TenantId").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Groups_GroupName": if (!ss.GetColumn("GroupName").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Groups_Body": if (!ss.GetColumn("Body").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn("Comments").CanCreate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }
public static Error.Types OnEditing(SiteSettings ss, DeptModel deptModel) { switch (deptModel.MethodType) { case BaseModel.MethodTypes.Edit: return (ss.CanRead() && deptModel.AccessStatus != Databases.AccessStatuses.NotFound ? Error.Types.None : Error.Types.NotFound); case BaseModel.MethodTypes.New: return(ss.CanCreate() ? Error.Types.None : Error.Types.HasNotPermission); default: return(Error.Types.NotFound); } }
public static Error.Types OnCreating(SiteSettings ss, WikiModel wikiModel) { if (!ss.CanCreate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(wikiModel.Mine()); foreach (var column in ss.Columns .Where(o => !o.CanCreate) .Where(o => !ss.FormulaTarget(o.ColumnName))) { switch (column.ColumnName) { case "Title": if (wikiModel.Title_Updated()) { return(Error.Types.HasNotPermission); } break; case "Body": if (wikiModel.Body_Updated()) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn("Comments").CanUpdate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }
public static Error.Types OnEditing(SiteSettings ss, UserModel userModel) { if (!DefinitionAccessor.Parameters.Service.ShowProfiles) { return(Error.Types.InvalidRequest); } switch (userModel.MethodType) { case BaseModel.MethodTypes.Edit: return (ss.CanRead() && userModel.AccessStatus != Databases.AccessStatuses.NotFound ? Error.Types.None : Error.Types.NotFound); case BaseModel.MethodTypes.New: return(ss.CanCreate() ? Error.Types.None : Error.Types.HasNotPermission); default: return(Error.Types.NotFound); } }
public static Error.Types OnCreating(SiteSettings ss, UserModel userModel) { if (!DefinitionAccessor.Parameters.Service.ShowProfiles) { return(Error.Types.InvalidRequest); } if (!ss.CanCreate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(userModel.Mine()); foreach (var controlId in Forms.Keys()) { switch (controlId) { case "Users_LoginId": if (!ss.GetColumn("LoginId").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_GlobalId": if (!ss.GetColumn("GlobalId").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_Name": if (!ss.GetColumn("Name").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_UserCode": if (!ss.GetColumn("UserCode").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_Password": if (!ss.GetColumn("Password").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_LastName": if (!ss.GetColumn("LastName").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_FirstName": if (!ss.GetColumn("FirstName").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_Birthday": if (!ss.GetColumn("Birthday").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_Gender": if (!ss.GetColumn("Gender").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_Language": if (!ss.GetColumn("Language").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_TimeZone": if (!ss.GetColumn("TimeZone").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_DeptId": if (!ss.GetColumn("DeptId").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_FirstAndLastNameOrder": if (!ss.GetColumn("FirstAndLastNameOrder").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_Body": if (!ss.GetColumn("Body").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_LastLoginTime": if (!ss.GetColumn("LastLoginTime").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_PasswordExpirationTime": if (!ss.GetColumn("PasswordExpirationTime").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_PasswordChangeTime": if (!ss.GetColumn("PasswordChangeTime").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_NumberOfLogins": if (!ss.GetColumn("NumberOfLogins").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_NumberOfDenial": if (!ss.GetColumn("NumberOfDenial").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_TenantManager": if (!ss.GetColumn("TenantManager").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_Disabled": if (!ss.GetColumn("Disabled").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Users_ApiKey": if (!ss.GetColumn("ApiKey").CanCreate) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn("Comments").CanCreate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }
public static HtmlBuilder MainCommands( this HtmlBuilder hb, SiteSettings ss, long siteId, Versions.VerTypes verType, long referenceId = 0, bool backButton = true, bool updateButton = false, bool copyButton = false, bool moveButton = false, bool mailButton = false, bool deleteButton = false, Action extensions = null) { return(hb.Div(id: "MainCommandsContainer", action: () => hb .Div(id: "MainCommands", action: () => { if (backButton) { hb.Button( controlId: "GoBack", text: Displays.GoBack(), controlCss: "button-icon", accessKey: "q", onClick: "$p.back();", icon: "ui-icon-circle-arrow-w"); } if (Routes.Action() == "new") { hb.Button( text: Displays.Create(), controlCss: "button-icon validate", accessKey: "s", onClick: "$p.send($(this));", icon: "ui-icon-disk", action: "Create", method: "post"); } else if (ss.CanRead() && verType == Versions.VerTypes.Latest) { hb .Button( text: Displays.Update(), controlCss: "button-icon validate", accessKey: "s", onClick: "$p.send($(this));", icon: "ui-icon-disk", action: "Update", method: "put", _using: updateButton && ss.CanUpdate()) .Button( text: Displays.Copy(), controlCss: "button-icon open-dialog", accessKey: "c", onClick: "$p.openDialog($(this));", icon: "ui-icon-copy", selector: "#CopyDialog", _using: copyButton && ss.CanCreate()) .Button( text: Displays.Move(), controlCss: "button-icon open-dialog", accessKey: "o", onClick: "$p.moveTargets($(this));", icon: "ui-icon-transferthick-e-w", selector: "#MoveDialog", action: "MoveTargets", method: "get", _using: moveButton && ss.CanUpdate()) .Button( controlId: "EditOutgoingMail", text: Displays.Mail(), controlCss: "button-icon", onClick: "$p.openOutgoingMailDialog($(this));", icon: "ui-icon-mail-closed", action: "Edit", method: "put", accessKey: "m", _using: mailButton && ss.CanSendMail()) .Button( text: Displays.Delete(), controlCss: "button-icon", accessKey: "r", onClick: "$p.send($(this));", icon: "ui-icon-trash", action: "Delete", method: "delete", confirm: "ConfirmDelete", _using: deleteButton && ss.CanDelete() && !ss.IsSite()) .Button( text: Displays.DeleteSite(), controlCss: "button-icon", accessKey: "r", onClick: "$p.openDeleteSiteDialog($(this));", icon: "ui-icon-trash", _using: deleteButton && ss.CanDelete() && ss.IsSite()); if (Routes.Controller() == "items" && ss.ReferenceType != "Sites") { switch (Routes.Action()) { case "index": hb .Button( text: Displays.BulkMove(), controlCss: "button-icon open-dialog", accessKey: "o", onClick: "$p.moveTargets($(this));", icon: "ui-icon-transferthick-e-w", selector: "#MoveDialog", action: "MoveTargets", method: "get", _using: ss.CanUpdate()) .Button( text: Displays.BulkDelete(), controlCss: "button-icon", accessKey: "r", onClick: "$p.send($(this));", icon: "ui-icon-trash", action: "BulkDelete", method: "delete", confirm: "ConfirmDelete", _using: ss.CanDelete()) .Button( controlId: "EditImportSettings", text: Displays.Import(), controlCss: "button-icon", accessKey: "w", onClick: "$p.openImportSettingsDialog($(this));", icon: "ui-icon-arrowreturnthick-1-e", selector: "#ImportSettingsDialog", _using: ss.CanImport()) .Button( text: Displays.Export(), controlCss: "button-icon", accessKey: "x", onClick: "$p.openExportSelectorDialog($(this));", icon: "ui-icon-arrowreturnthick-1-w", action: "OpenExportSelectorDialog", method: "post", _using: ss.CanExport()); break; case "crosstab": hb.Button( text: Displays.Export(), controlCss: "button-icon", accessKey: "x", onClick: "$p.exportCrosstab();", icon: "ui-icon-arrowreturnthick-1-w", _using: ss.CanExport()); break; } } } extensions?.Invoke(); }))); }
public static Error.Types OnCreating(SiteSettings ss, UserModel userModel) { if (!DefinitionAccessor.Parameters.Service.ShowProfiles) { return(Error.Types.InvalidRequest); } if (!ss.CanCreate()) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(userModel.Mine()); foreach (var column in ss.Columns .Where(o => !o.CanCreate) .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); }
private static HtmlBuilder NavigationMenu( this HtmlBuilder hb, SiteSettings ss, long siteId, string referenceType, bool useNavigationMenu) { var canManageGroups = Sessions.UserSettings().DisableGroupAdmin != true; var canManageSite = siteId != 0 && ss.CanManageSite(site: true); var canManageDepts = Permissions.CanManageTenant(); var canManageUsers = Permissions.CanManageTenant(); return(hb.Ul( id: "NavigationMenu", action: () => hb .Li( action: () => hb .Div(action: () => hb .A( href: NewHref(ss), attributes: SiteIndex(ss) ? new HtmlAttributes() .OnClick("$p.templates($(this));") .DataAction("Templates") .DataMethod("post") : null, action: () => hb .Span(css: "ui-icon ui-icon-plus") .Text(text: Displays.New()))), _using: ss.ReferenceType == "Sites" && Routes.Action() == "index" ? ss.CanManageSite() : ss.CanCreate() && ss.ReferenceType != "Wikis") .Li( css: "sub-menu", action: () => hb .Div( attributes: new HtmlAttributes().DataId("ViewModeMenu"), action: () => hb .Span(css: "ui-icon ui-icon-triangle-1-e") .Text(text: Displays.View())) .ViewModeMenu(ss: ss), _using: Def.ViewModeDefinitionCollection .Any(o => o.ReferenceType == referenceType)) .Li( css: "sub-menu", action: () => hb .Div( attributes: new HtmlAttributes().DataId("SettingsMenu"), action: () => hb .Span(css: "ui-icon ui-icon-gear") .Text(text: Displays.Manage())) .SettingsMenu( ss: ss, siteId: siteId, canManageSite: canManageSite, canManageDepts: canManageDepts, canManageGroups: canManageGroups, canManageUsers: canManageUsers), _using: canManageSite || canManageDepts || canManageGroups || canManageUsers) .Li( css: "sub-menu", action: () => hb .Div( attributes: new HtmlAttributes().DataId("AccountMenu"), action: () => hb .Span(css: "ui-icon ui-icon-person") .Text(text: SiteInfo.UserName(( Sessions.UserId())))) .AccountMenu()))); }