/// <summary> /// Handles the Click event of the btnDelete control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void btnDelete_Click(object sender, EventArgs e) { int?categoryId = null; var dataViewService = new DataViewService(); var dataView = dataViewService.Get(int.Parse(hfDataViewId.Value)); if (dataView != null) { string errorMessage; if (!dataViewService.CanDelete(dataView, out errorMessage)) { ShowReadonlyDetails(dataView); mdDeleteWarning.Show(errorMessage, ModalAlertType.Information); } else { categoryId = dataView.CategoryId; dataViewService.Delete(dataView, CurrentPersonId); dataViewService.Save(dataView, CurrentPersonId); // reload page, selecting the deleted data view's parent var qryParams = new Dictionary <string, string>(); if (categoryId != null) { qryParams["CategoryId"] = categoryId.ToString(); } NavigateToPage(this.CurrentPage.Guid, qryParams); } } }
/// <summary> /// Handles the Click event of the btnDelete control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void btnDelete_Click(object sender, EventArgs e) { int?categoryId = null; var rockContext = new RockContext(); var dataViewService = new DataViewService(rockContext); var dataView = dataViewService.Get(int.Parse(hfDataViewId.Value)); if (dataView != null) { string errorMessage; if (!dataViewService.CanDelete(dataView, out errorMessage)) { ShowReadonlyDetails(dataView); mdDeleteWarning.Show(errorMessage, ModalAlertType.Information); } else { categoryId = dataView.CategoryId; // delete report filter try { DataViewFilterService dataViewFilterService = new DataViewFilterService(rockContext); DeleteDataViewFilter(dataView.DataViewFilter, dataViewFilterService); } catch { // intentionally ignore if delete fails } dataViewService.Delete(dataView); rockContext.SaveChanges(); // reload page, selecting the deleted data view's parent var qryParams = new Dictionary <string, string>(); if (categoryId != null) { qryParams["CategoryId"] = categoryId.ToString(); } qryParams["DataViewId"] = null; qryParams["ParentCategoryId"] = null; NavigateToCurrentPageReference(qryParams); } } }
/// <summary> /// Shows the detail. /// </summary> /// <param name="dataViewId">The data view identifier.</param> /// <param name="parentCategoryId">The parent category id.</param> public void ShowDetail(int dataViewId, int?parentCategoryId) { pnlDetails.Visible = false; var rockContext = new RockContext(); var dataViewService = new DataViewService(rockContext); DataView dataView = null; if (!dataViewId.Equals(0)) { dataView = dataViewService.Get(dataViewId); pdAuditDetails.SetEntity(dataView, ResolveRockUrl("~")); } if (dataView == null) { dataView = new DataView { Id = 0, IsSystem = false, CategoryId = parentCategoryId }; dataView.Name = string.Empty; // hide the panel drawer that show created and last modified dates pdAuditDetails.Visible = false; } if (!dataView.IsAuthorized(Authorization.VIEW, CurrentPerson)) { return; } pnlDetails.Visible = true; hfDataViewId.Value = dataView.Id.ToString(); hlblEditDataViewId.Text = "Id: " + dataView.Id.ToString(); // render UI based on Authorized and IsSystem bool readOnly = false; nbEditModeMessage.Text = string.Empty; string authorizationMessage = string.Empty; if (!dataView.IsAuthorizedForAllDataViewComponents(Authorization.EDIT, CurrentPerson, rockContext, out authorizationMessage)) { readOnly = true; nbEditModeMessage.Text = authorizationMessage; } if (dataView.IsSystem) { readOnly = true; nbEditModeMessage.Text = EditModeMessage.ReadOnlySystem(DataView.FriendlyTypeName); } btnSecurity.Visible = dataView.IsAuthorized(Authorization.ADMINISTRATE, CurrentPerson); btnSecurity.Title = dataView.Name; btnSecurity.EntityId = dataView.Id; if (readOnly) { btnEdit.Visible = false; btnDelete.Visible = false; ShowReadonlyDetails(dataView); } else { btnEdit.Visible = true; string errorMessage = string.Empty; btnDelete.Enabled = dataViewService.CanDelete(dataView, out errorMessage); if (!btnDelete.Enabled) { btnDelete.ToolTip = errorMessage; btnDelete.Attributes["onclick"] = null; } if (dataView.Id > 0) { ShowReadonlyDetails(dataView); } else { ShowEditDetails(dataView); } } }
/// <summary> /// Shows the detail. /// </summary> /// <param name="itemKey">The item key.</param> /// <param name="itemKeyValue">The item key value.</param> /// <param name="parentCategoryId">The parent category id.</param> public void ShowDetail(string itemKey, int itemKeyValue, int?parentCategoryId) { pnlDetails.Visible = false; if (!itemKey.Equals("DataViewId")) { return; } var dataViewService = new DataViewService(); DataView dataView = null; if (!itemKeyValue.Equals(0)) { dataView = dataViewService.Get(itemKeyValue); } else { dataView = new DataView { Id = 0, IsSystem = false, CategoryId = parentCategoryId }; } if (dataView == null || !dataView.IsAuthorized("View", CurrentPerson)) { return; } pnlDetails.Visible = true; hfDataViewId.Value = dataView.Id.ToString(); // render UI based on Authorized and IsSystem bool readOnly = false; nbEditModeMessage.Text = string.Empty; if (!dataView.IsAuthorized("Edit", CurrentPerson)) { readOnly = true; nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed(DataView.FriendlyTypeName); } if (dataView.DataViewFilter != null && !dataView.DataViewFilter.IsAuthorized("View", CurrentPerson)) { readOnly = true; nbEditModeMessage.Text = "INFO: This Data View contains a filter that you do not have access to view."; } if (dataView.IsSystem) { readOnly = true; nbEditModeMessage.Text = EditModeMessage.ReadOnlySystem(DataView.FriendlyTypeName); } btnSecurity.Visible = dataView.IsAuthorized("Administrate", CurrentPerson); btnSecurity.Title = dataView.Name; btnSecurity.EntityId = dataView.Id; if (readOnly) { btnEdit.Visible = false; btnDelete.Visible = false; ShowReadonlyDetails(dataView); } else { btnEdit.Visible = true; string errorMessage = string.Empty; btnDelete.Visible = dataViewService.CanDelete(dataView, out errorMessage); if (dataView.Id > 0) { ShowReadonlyDetails(dataView); } else { ShowEditDetails(dataView); } } }
/// <summary> /// Shows the detail. /// </summary> /// <param name="itemKey">The item key.</param> /// <param name="itemKeyValue">The item key value.</param> /// <param name="parentCategoryId">The parent category id.</param> public void ShowDetail(string itemKey, int itemKeyValue, int?parentCategoryId) { pnlDetails.Visible = false; if (!itemKey.Equals("DataViewId")) { return; } var dataViewService = new DataViewService(new RockContext()); DataView dataView = null; if (!itemKeyValue.Equals(0)) { dataView = dataViewService.Get(itemKeyValue); } else { dataView = new DataView { Id = 0, IsSystem = false, CategoryId = parentCategoryId }; } if (dataView == null || !dataView.IsAuthorized(Authorization.VIEW, CurrentPerson)) { return; } pnlDetails.Visible = true; hfDataViewId.Value = dataView.Id.ToString(); // render UI based on Authorized and IsSystem bool readOnly = false; nbEditModeMessage.Text = string.Empty; string authorizationMessage = string.Empty; if (!this.IsAuthorizedForAllDataViewComponents(Authorization.EDIT, dataView, out authorizationMessage)) { readOnly = true; nbEditModeMessage.Text = authorizationMessage; } if (dataView.IsSystem) { readOnly = true; nbEditModeMessage.Text = EditModeMessage.ReadOnlySystem(DataView.FriendlyTypeName); } btnSecurity.Visible = dataView.IsAuthorized(Authorization.ADMINISTRATE, CurrentPerson); btnSecurity.Title = dataView.Name; btnSecurity.EntityId = dataView.Id; if (readOnly) { btnEdit.Visible = false; btnDelete.Visible = false; ShowReadonlyDetails(dataView); } else { btnEdit.Visible = true; string errorMessage = string.Empty; btnDelete.Visible = dataViewService.CanDelete(dataView, out errorMessage); if (dataView.Id > 0) { ShowReadonlyDetails(dataView); } else { ShowEditDetails(dataView); } } }