private TreeNodeCollection BuildChildNodesChildren(DataRow row) { var currentLevel = 1; dynamicQueryForChildren.parent = "parentID = " + row["objID"].ToString(); var dt = dynamicQueryForChildren.GetData(currentLevel, row); #if alexj dt = AuthorizationRules.EntityInstancesResolution(dt, template.Entity, Session["SystemUser.objID"].ToString()); //dt.Columns.Remove("objID"); #endif TreeNode nodeContainer = new TreeNode(); if (dt.Rows.Count != 0) { nodeContainer.ChildNodes.Add( CreateNewHeaderNode(template.Fields.Where(x => x.Level == currentLevel).ToList())); } foreach (DataRow item in dt.Rows) { var node = CreateFirstNode_Children(item, currentLevel); TreeNodeCollection collection = BuildChildNodesChildren(item); //, currentLevel); FillNode(collection, ref node); nodeContainer.ChildNodes.Add(node); } return(nodeContainer.ChildNodes); }
protected override void AddBusinessRules() { AuthorizationRules.AllowWrite(NameProperty, "ProjectManager"); AuthorizationRules.AllowWrite(StartedProperty, "ProjectManager"); AuthorizationRules.AllowWrite(EndedProperty, "ProjectManager"); AuthorizationRules.AllowWrite(DescriptionProperty, "Administrator"); ValidationRules.AddRule(Csla.Validation.CommonRules.StringRequired, new Csla.Validation.RuleArgs(NameProperty)); ValidationRules.AddRule( Csla.Validation.CommonRules.StringMaxLength, new Csla.Validation.CommonRules.MaxLengthRuleArgs(NameProperty, 50)); var args = new Csla.Validation.DecoratedRuleArgs(NameProperty); args["MaxLength"] = 50; ValidationRules.AddRule( Csla.Validation.CommonRules.StringMaxLength, args); ValidationRules.AddRule <Project>(StartDateGTEndDate <Project>, StartedProperty); ValidationRules.AddRule <Project>(StartDateGTEndDate <Project>, EndedProperty); ValidationRules.AddDependentProperty(StartedProperty, EndedProperty, true); }
private void StartBuildTreeView() { maxlevel = template.Fields.Max(x => x.Level); var currentLevel = 1; var dt = dynamicQueryForGeneral.GetData(currentLevel); #if alexj dt = AuthorizationRules.EntityInstancesResolution(dt, template.Entity, Session["SystemUser.objID"].ToString()); dt.Columns.Remove("objID"); #endif //Если что то пошло не так! if (dt.Rows.Count == 0) { return; } tree.Nodes.Add( CreateNewHeaderNode(template.Fields.Where(x => x.Level == currentLevel).ToList())); foreach (DataRow row in dt.Rows) { var node = CreateNewNode(row, currentLevel); TreeNodeCollection collect = BuildChildNodes(row, currentLevel); FillNode(collect, ref node); tree.Nodes.Add(node); } MainView.ActiveViewIndex = 2; }
public static void AddObjectAuthorizationRules() { AuthorizationRules.AllowGet(typeof(ClassA), "ClassARole"); AuthorizationRules.AllowCreate(typeof(ClassA), "ClassARole"); AuthorizationRules.AllowEdit(typeof(ClassA), "ClassARole"); AuthorizationRules.AllowDelete(typeof(ClassA), "ClassARole"); }
protected override void AddAuthorizationRules() { AuthorizationRules.AllowWrite( "Id", "Administrator"); AuthorizationRules.AllowWrite( "Name", "Administrator"); }
public override void OnActionExecuting(ActionExecutingContext context) { var currentUser = _currentUserProvider.GetCurrentUser(); if (!AuthorizationRules.CanUpdateProviderType(currentUser)) { throw new NotAuthorizedException(); } }
protected override void AddAuthorizationRules() { string[] canWrite = new string[] { "AdminUser", "RegularUser" }; string[] canRead = new string[] { "AdminUser", "RegularUser", "ReadOnlyUser" }; FieldManager.GetRegisteredProperties().ForEach(item => { AuthorizationRules.AllowWrite(item, canWrite); AuthorizationRules.AllowRead(item, canRead); }); }
public static void AddObjectAuthorizationRules() { string[] canWrite = new string[] { "AdminUser", "RegularUser" }; string[] canRead = new string[] { "AdminUser", "RegularUser", "ReadOnlyUser" }; string[] admin = new string[] { "AdminUser" }; AuthorizationRules.AllowCreate(typeof(Rank), admin); AuthorizationRules.AllowDelete(typeof(Rank), admin); AuthorizationRules.AllowEdit(typeof(Rank), canWrite); AuthorizationRules.AllowGet(typeof(Rank), canRead); }
protected override void AddAuthorizationRules() { AuthorizationRules.AllowWrite( "Name", "ProjectManager"); AuthorizationRules.AllowWrite( "Started", "ProjectManager"); AuthorizationRules.AllowWrite( "Ended", "ProjectManager"); AuthorizationRules.AllowWrite( "Description", "ProjectManager"); }
protected override void AddAuthorizationRules() { string[] canWrite = new string[] { "AdminUser", "RegularUser" }; string[] canRead = new string[] { "AdminUser", "RegularUser", "ReadOnlyUser" }; string[] admin = new string[] { "AdminUser" }; foreach (var item in this.FieldManager.GetRegisteredProperties()) { AuthorizationRules.AllowWrite(item, canWrite); AuthorizationRules.AllowRead(item, canRead); } }
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) { var services = context.HttpContext.RequestServices; var currentUserProvider = services.GetRequiredService <ICurrentUserProvider>(); var providerContextProvider = services.GetRequiredService <IProviderContextProvider>(); var sqlQueryDispatcher = services.GetRequiredService <ISqlQueryDispatcher>(); var providerInfoCache = services.GetRequiredService <IProviderInfoCache>(); var providerContext = providerContextProvider.GetProviderContext(); if (providerContext == null) { throw new InvalidOperationException("No provider context set."); } var providerId = providerContext.ProviderInfo.ProviderId; var currentUser = currentUserProvider.GetCurrentUser(); if (!AuthorizationRules.CanSubmitQASubmission(currentUser, providerId)) { throw new NotAuthorizedException(); } var qaStatus = await sqlQueryDispatcher.ExecuteQuery( new GetProviderApprenticeshipQAStatus() { ProviderId = providerId }); var effectiveQaStatus = qaStatus.ValueOrDefault(); // Ignore UnableToComplete here var qaStatusIsValid = (effectiveQaStatus & ~ApprenticeshipQAStatus.UnableToComplete) switch { ApprenticeshipQAStatus.NotStarted => true, ApprenticeshipQAStatus.Failed => true, _ => false }; var providerInfo = await providerInfoCache.GetProviderInfo(providerId); var providerTypeIsValid = providerInfo.ProviderType.HasFlag(ProviderType.Apprenticeships); if (!qaStatusIsValid || !providerTypeIsValid) { throw new InvalidStateException(InvalidStateReason.InvalidApprenticeshipQAStatus); } await next(); } }
protected void TemplateConstructorButton_Load(object sender, EventArgs e) { var userID = Session["SystemUser.objID"].ToString(); var templateID = Frame.TemplateList.SelectedValue.ToString(); if (templateID.Contains("AttributesTemplate")) { Frame.TemplateConstructorButton.Enabled = false; } else { #if true if (!string.IsNullOrEmpty(templateID)) { var isUpdate = AuthorizationRules.TemplateResolution(ActionType.update, userID, templateID); if (isUpdate) { Frame.TemplateConstructorButton.Enabled = true; } else { Frame.TemplateConstructorButton.Enabled = false; } } #else var query = string.Format("SELECT [update] FROM [Permission].[IUTemplatePermission]({0}) where objID = {1}", Session["SystemUser.objID"].ToString(), Frame.TemplateList.SelectedValue); var dt = Storage.GetDataTable(query); if (dt.Rows.Count > 0) { bool result = false; Boolean.TryParse(dt.Rows[0][0].ToString(), out result); if (!result) { Frame.TemplateConstructorButton.Enabled = false; } else { Frame.TemplateConstructorButton.Enabled = true; } } else { Frame.TemplateConstructorButton.Enabled = false; } #endif } }
protected void TemplateList_SelectedIndexChanged(object sender, EventArgs e) { var updatePermission = AuthorizationRules.TemplateResolution(ActionType.update, Session["SystemUser.objID"].ToString(), TemplateList.SelectedValue); //var query = string.Format("SELECT * FROM Permission.UserPermissionForObject ({0}, 'R$Template', {1})", // Session["SystemUser.objID"].ToString(), TemplateList.SelectedValue); //var dt = Storage.GetDataTable(query); if (string.IsNullOrEmpty(TemplateList.SelectedValue)) { var createPermission = AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString()); if (createPermission) { ButtonConsctuctor.Enabled = true; if (MainView.ActiveViewIndex == 1) { BtnConstructor_OnClick(null, EventArgs.Empty); } } else { ButtonConsctuctor.Enabled = false; MainView.ActiveViewIndex = 0; } return; } if (updatePermission) { ButtonConsctuctor.Enabled = true; if (MainView.ActiveViewIndex == 1) { BtnConstructor_OnClick(null, EventArgs.Empty); } } else { ButtonConsctuctor.Enabled = false; MainView.ActiveViewIndex = 0; } //if (MainView.ActiveViewIndex == 1) // BtnConstructor_OnClick(null, EventArgs.Empty); }
public async Task <ViewModel> Handle(Query request, CancellationToken cancellationToken) { var cosmosProvider = await _cosmosDbQueryDispatcher.ExecuteQuery(new CosmosQueries.GetProviderById() { ProviderId = request.ProviderId }); var sqlProvider = await _sqlQueryDispatcher.ExecuteQuery(new SqlQueries.GetProviderById() { ProviderId = request.ProviderId }); if (cosmosProvider == null) { throw new ResourceDoesNotExistException(ResourceType.Provider, request.ProviderId); } var currentUser = _currentUserProvider.GetCurrentUser(); var providerTLevelDefinitions = cosmosProvider.ProviderType.HasFlag(ProviderType.TLevels) ? await _sqlQueryDispatcher.ExecuteQuery(new SqlQueries.GetTLevelDefinitionsForProvider { ProviderId = request.ProviderId }) : Enumerable.Empty <SqlModels.TLevelDefinition>(); return(new ViewModel() { ProviderId = request.ProviderId, ProviderName = cosmosProvider.ProviderName, CourseDirectoryStatus = cosmosProvider.ProviderStatus, Ukprn = cosmosProvider.Ukprn, TradingName = cosmosProvider.Alias, DisplayName = sqlProvider.DisplayName, CanChangeDisplayName = sqlProvider.HaveAlias && AuthorizationRules.CanUpdateProviderDisplayName(currentUser), ProviderType = cosmosProvider.ProviderType, CanChangeProviderType = AuthorizationRules.CanUpdateProviderType(currentUser), MarketingInformation = cosmosProvider.MarketingInformation != null? Html.SanitizeHtml(cosmosProvider.MarketingInformation) : null, ShowMarketingInformation = cosmosProvider.ProviderType.HasFlag(ProviderType.Apprenticeships), CanUpdateMarketingInformation = AuthorizationRules.CanUpdateProviderMarketingInformation(currentUser), ProviderTLevelDefinitions = providerTLevelDefinitions.Select(d => new TLevelDefinitionViewModel { TLevelDefinitionId = d.TLevelDefinitionId, Name = d.Name }) }); }
protected void BtnConstructor_OnClick(object sender, EventArgs e) { var templateID = TemplateList.SelectedValue; treeDesigner.userID = Convert.ToInt32(Session["SystemUser.objID"]); if (templateID == "0" || string.IsNullOrEmpty(templateID)) { return; } if (templateID == "-1") { if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString())) { WarningMessageBox.Show(); return; } treeDesigner.TemplateID = null; treeDesigner.templateIsNew = true; treeDesigner.SortHashtable = null; } else { if (!AuthorizationRules.TemplateResolution(ActionType.read, Session["SystemUser.objID"].ToString(), templateID)) { WarningMessageBox.Show(); return; } treeDesigner.TemplateID = templateID; treeDesigner.SortHashtable = Session["SortTemplate" + templateID] == null ? new Hashtable() : (Hashtable)Session["SortTemplate" + templateID]; } treeDesigner.EntityID = EntityList.SelectedItem.Value; treeDesigner.template = null; treeDesigner.selectedID = treeDesigner.buttonAttributID = null; treeDesigner.isDialogShow = false; treeDesigner.DataBind(); MainView.ActiveViewIndex = 1; }
protected void DeteleButton_Click(object sender, MessageBoxEventArgs e) { if (e.Result == MessageBoxResult.Yes) { if (!AuthorizationRules.TemplateResolution(ActionType.delete, Session["SystemUser.objID"].ToString(), Frame.TemplateList.SelectedDataKey["objID"].ToString())) { Frame.WarningMessageBox.Show(); return; } Frame.TemplateListSource.Delete(); Frame.TemplateList.ClearSelection(); EnableItems(false); } }
protected void ConstructorButton_Click(object sender, EventArgs e) { //Не открываем конструктор если не выбран Entity if (string.IsNullOrEmpty(EntityList.SelectedValue)) { return; } var userID = Convert.ToInt32(Session["SystemUser.objID"]); CrossTemplate.userID = userID; if (TemplateList.SelectedIndex == 0) { if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString())) { WarningMessageBox.Show(); return; } } else { if (!AuthorizationRules.TemplateResolution( ActionType.read, Session["SystemUser.objID"].ToString(), TemplateList.SelectedValue)) { WarningMessageBox.Show(); return; } } multiView.ActiveViewIndex = 1; CrossTemplate.template = null; if (TemplateList.SelectedValue != "-1") { CrossTemplate.TemplateID = TemplateList.SelectedValue; } CrossTemplate.EntityID = EntityList.SelectedValue; CrossTemplate.DataBind(); }
protected void CreateButton_Click(object sender, EventArgs e) { if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString())) //, Session["SystemUser.objID"].ToString() { Frame.WarningMessageBox.Show(); return; } TemplateDesignerDialog.Caption = "Создание шаблона"; TemplateDesignerDialog.Show(); var radioList = TemplateDesignerDialog.FindControl("RadioList") as RadioButtonList; radioList.Visible = true; CleareDataFromViewState(); //this.DataBind(); }
public async Task <TResponse> Handle( TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate <TResponse> next) { var providerId = _descriptor.GetProviderId(request); var currentUser = _currentUserProvider.GetCurrentUser(); if (!AuthorizationRules.CanSubmitQASubmission(currentUser, providerId)) { throw new NotAuthorizedException(); } var qaStatus = await _sqlQueryDispatcher.ExecuteQuery( new GetProviderApprenticeshipQAStatus() { ProviderId = providerId }); var effectiveQaStatus = qaStatus.ValueOrDefault(); // Ignore UnableToComplete here var qaStatusIsValid = (effectiveQaStatus & ~ApprenticeshipQAStatus.UnableToComplete) switch { ApprenticeshipQAStatus.NotStarted => true, ApprenticeshipQAStatus.Failed => true, _ => false }; var providerInfo = await _providerInfoCache.GetProviderInfo(providerId); var providerTypeIsValid = providerInfo.ProviderType.HasFlag(ProviderType.Apprenticeships); if (!qaStatusIsValid || !providerTypeIsValid) { throw new InvalidStateException(InvalidStateReason.InvalidApprenticeshipQAStatus); } return(await next()); } }
protected void EditButton_Click(object sender, EventArgs e) { // Для отладки, вернуть когда сдавать заказчику , тут по умолчанию admin (id = 0) string UserID = Session["SystemUser.objID"] == null ? "0" : Session["SystemUser.objID"].ToString(); if (!AuthorizationRules.TemplateResolution(ActionType.read, UserID, Frame.TemplateList.SelectedDataKey["objID"].ToString())) //, Session["SystemUser.objID"].ToString() { Frame.WarningMessageBox.Show(); return; } TemplateDesignerDialog.Caption = "Редактирование шаблона"; TemplateDesignerDialog.Show(); var templateID = Frame.TemplateList.SelectedDataKey["objID"].ToString(); var templateCode = Frame.TemplateList.SelectedDataKey["code"].ToString(); var placeHolder = TemplateDesignerDialog.FindControl("PlaceHolder") as PlaceHolder; var fileBasedTemplateDesigner = new TemplateFactory(templateCode, templateID, null).InstantiateIn(); var userID = Convert.ToInt32(Session["SystemUser.objID"]); fileBasedTemplateDesigner.userID = userID; var template = Storage.Select <Template>(templateID); UserTemlatePermission.SetFieldsTaboo(userID, template); ViewState["templateCode"] = templateCode; ViewState["entityID"] = null; ViewState["templateID"] = templateID; placeHolder.Controls.Clear(); placeHolder.Controls.Add(fileBasedTemplateDesigner); var radioList = TemplateDesignerDialog.FindControl("RadioList") as RadioButtonList; radioList.Visible = false; }
protected void TemplateConstructorButton_Click(object sender, EventArgs e) { if (Frame.TemplateList.SelectedIndex == 0 || Frame.TemplateList.SelectedIndex == 1) { if (!AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString())) { WarningMessageBoxAuthorization.Show(); return; } } else { if (!AuthorizationRules.TemplateResolution(ActionType.read, Session["SystemUser.objID"].ToString(), Frame.TemplateList.SelectedValue)) { WarningMessageBoxAuthorization.Show(); return; } } if (TemplateDesigner.template != null) { oldTemplateName = TemplateDesigner.template.Name; } TemplateDesigner.IsNotShowThis = false; TemplateDesigner.TemplateID = Frame.TemplateList.SelectedValue; TemplateDesigner.EntityID = Request["entity"]; TemplateDesigner.userID = Convert.ToInt32(Session["SystemUser.objID"]); TemplateDesigner.DataBind(); ReportMultiView.SetActiveView(TemplateDesignerView); VisibleSomeElements(false); }
protected override void AddAuthorizationRules() { // add AuthorizationRules here AuthorizationRules.AllowWrite("LastName", "ProjectManager"); AuthorizationRules.AllowWrite("FirstName", "ProjectManager"); }
protected override void AddAuthorizationRules() { AuthorizationRules.AllowWrite( "Role", "ProjectManager"); }
public static void AddObjectAuthorizationRules() { string[] canRead = new string[] { "AdminUser", "RegularUser", "ReadOnlyUser" }; AuthorizationRules.AllowGet(typeof(Company), canRead); }
protected override void AddAuthorizationRules() { AuthorizationRules.AllowWrite(AProperty, "PropertyARole"); AuthorizationRules.AllowRead(AProperty, "PropertyARole"); }
protected static void AddObjectAuthorizationRules() { AuthorizationRules.AllowCreate(typeof(ClassD1), "invalid"); AuthorizationRules.AllowEdit(typeof(ClassD1), "invalid"); AuthorizationRules.AllowDelete(typeof(ClassD1), "invalid"); }
protected static void AddObjectAuthorizationRules() { AuthorizationRules.AllowCreate(typeof(UserAndAdminCanCreateAndWrite), "User Role"); AuthorizationRules.AllowEdit(typeof(UserAndAdminCanCreateAndWrite), "User Role"); AuthorizationRules.AllowDelete(typeof(UserAndAdminCanCreateAndWrite), "User Role"); }
protected override void OnInit(EventArgs e) { var userType = Convert.ToInt32(Session["SystemUser.typeID"]); var userID = Convert.ToInt32(Session["SystemUser.objID"]); var entityID = Request.QueryString["entity"]; var templateID = Request.QueryString["templateID"]; if (!IsPostBack) { var permittedEntities = StorageUserObgects.Select <UserEntityPermission>(userID, userID).getReadPermittedEntities().AsEnumerable(); var list = this.GetSchema().Entities.Where(o => !o.IsEnumeration && permittedEntities.Select(x => x["entity"].ToString()).Contains(o.SystemName)).OrderBy(o => o.Name).ToList(); EntityList.Items.Add(new ListItem { Text = "Не выбрано", Value = "" }); for (int i = 0; i < list.Count; i++) { EntityList.Items.Add(new ListItem { Text = list[i].Name, Value = list[i].ID.ToString() }); } if (entityID != null) { EntityList.SelectedValue = entityID; FillTemplateList(EntityList.SelectedValue); if (templateID != null) { TemplateList.SelectedValue = templateID; if (AuthorizationRules.TemplateResolution(ActionType.update, Session["SystemUser.objID"].ToString(), templateID)) { ConstructorButton.Enabled = true; } else { ConstructorButton.Enabled = false; } } else { if (string.IsNullOrEmpty(TemplateList.SelectedValue)) { if (AuthorizationRules.TemplateResolution(ActionType.create, Session["SystemUser.objID"].ToString())) { ConstructorButton.Enabled = true; } else { ConstructorButton.Enabled = false; } } } } EntityList.DataBind(); //VerifyRenderingInServerForm(EntityList); } //var templatePermission = StorageUserObgects.Select<UserTemplatePermission>(userID, userID).Permission.Substring(1, 2).Contains('1'); //if (!templatePermission && userType != 1 && userType != 0) // ConstructorButton.Enabled = false; base.OnInit(e); }
protected static void AddObjectAuthorizationRules() { AuthorizationRules.AllowCreate(typeof(ClassB2), "Users"); AuthorizationRules.AllowEdit(typeof(ClassB2), "Users"); AuthorizationRules.AllowDelete(typeof(ClassB2), "Users"); }