/// <summary> /// UniGrid action buttons event handler. /// </summary> protected void gridAttachments_OnAction(string actionName, object actionArgument) { if (Enabled && !HideActions) { #region "Check permissions" if (CheckPermissions) { if (FormGUID != Guid.Empty) { if (!RaiseOnCheckPermissions("Create", this)) { if (!CMSContext.CurrentUser.IsAuthorizedToCreateNewDocument(NodeParentNodeID, NodeClassName)) { ShowError(GetString("attach.actiondenied")); return; } } } else { if (!RaiseOnCheckPermissions("Modify", this)) { if (CMSContext.CurrentUser.IsAuthorizedPerDocument(Node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Denied) { ShowError(GetString("attach.actiondenied")); return; } } } } #endregion Guid attachmentGuid = Guid.Empty; // Get action argument (Guid or int) if (ValidationHelper.IsGuid(actionArgument)) { attachmentGuid = ValidationHelper.GetGuid(actionArgument, Guid.Empty); } // Process proper action switch (actionName.ToLowerCSafe()) { case "moveup": if (attachmentGuid != Guid.Empty) { // Move attachment up if (FormGUID == Guid.Empty) { // Ensure automatic check-in/ check-out VersionManager vm = null; // Check out the document if (AutoCheck) { vm = VersionManager.GetInstance(TreeProvider); vm.CheckOut(Node, Node.IsPublished, true); } DocumentHelper.MoveAttachmentUp(attachmentGuid, Node); // Check in the document if (AutoCheck) { if (vm != null) { vm.CheckIn(Node, null, null); } // Ensure full page refresh ScriptHelper.RegisterStartupScript(Page, typeof(Page), "moveUpRefresh", ScriptHelper.GetScript(String.Format("InitRefresh_{0}('', true, false, 'moveup');", ClientID))); } // Log synchronization task if not under workflow if (!UsesWorkflow) { DocumentSynchronizationHelper.LogDocumentChange(Node, TaskTypeEnum.UpdateDocument, TreeProvider); } } else { AttachmentInfoProvider.MoveAttachmentUp(attachmentGuid, 0); } } break; case "movedown": if (attachmentGuid != Guid.Empty) { // Move attachment down if (FormGUID == Guid.Empty) { // Ensure automatic check-in/ check-out VersionManager vm = null; // Check out the document if (AutoCheck) { vm = VersionManager.GetInstance(TreeProvider); vm.CheckOut(Node, Node.IsPublished, true); } DocumentHelper.MoveAttachmentDown(attachmentGuid, Node); // Check in the document if (AutoCheck) { if (vm != null) { vm.CheckIn(Node, null, null); } // Ensure full page refresh ScriptHelper.RegisterStartupScript(Page, typeof(Page), "moveDownRefresh", ScriptHelper.GetScript(String.Format("InitRefresh_{0}('', true, false, 'movedown');", ClientID))); } // Log synchronization task if not under workflow if (!UsesWorkflow) { DocumentSynchronizationHelper.LogDocumentChange(Node, TaskTypeEnum.UpdateDocument, TreeProvider); } } else { AttachmentInfoProvider.MoveAttachmentDown(attachmentGuid, 0); } } break; case "delete": if (attachmentGuid != Guid.Empty) { // Delete attachment if (FormGUID == Guid.Empty) { // Ensure automatic check-in/ check-out VersionManager vm = null; // Check out the document if (AutoCheck) { vm = VersionManager.GetInstance(TreeProvider); vm.CheckOut(Node, Node.IsPublished, true); } DocumentHelper.DeleteAttachment(Node, attachmentGuid, TreeProvider); // Check in the document if (AutoCheck) { if (vm != null) { vm.CheckIn(Node, null, null); } // Ensure full page refresh ScriptHelper.RegisterStartupScript(Page, typeof(Page), "deleteRefresh", ScriptHelper.GetScript(String.Format("InitRefresh_{0}('', true, false, 'delete');", ClientID))); } // Log synchronization task if not under workflow if (!UsesWorkflow) { DocumentSynchronizationHelper.LogDocumentChange(Node, TaskTypeEnum.UpdateDocument, TreeProvider); } } else { AttachmentInfoProvider.DeleteTemporaryAttachment(attachmentGuid, CMSContext.CurrentSiteName); } ShowConfirmation(GetString("attach.deleted")); } break; } } }
/// <summary> /// UniGrid action buttons event handler. /// </summary> protected void gridAttachments_OnAction(string actionName, object actionArgument) { if (Enabled && !HideActions) { #region "Check permissions" if (CheckPermissions) { if (FormGUID != Guid.Empty) { if (!RaiseOnCheckPermissions("Create", this)) { if (!MembershipContext.AuthenticatedUser.IsAuthorizedToCreateNewDocument(NodeParentNodeID, NodeClassName)) { ShowError(GetString("attach.actiondenied")); return; } } } else { if (!RaiseOnCheckPermissions("Modify", this)) { if (MembershipContext.AuthenticatedUser.IsAuthorizedPerDocument(Node, NodePermissionsEnum.Modify) == AuthorizationResultEnum.Denied) { ShowError(GetString("attach.actiondenied")); return; } } } } #endregion Guid attachmentGuid = Guid.Empty; // Get action argument (Guid or int) if (ValidationHelper.IsGuid(actionArgument)) { attachmentGuid = ValidationHelper.GetGuid(actionArgument, Guid.Empty); } // Process proper action switch (actionName.ToLowerCSafe()) { case "moveup": if (attachmentGuid != Guid.Empty) { // Move attachment up if (FormGUID == Guid.Empty) { PerformAttachmentAction("moveup", () => DocumentHelper.MoveAttachmentUp(attachmentGuid, Node)); } else { AttachmentInfoProvider.MoveAttachmentUp(attachmentGuid, 0); } } break; case "movedown": if (attachmentGuid != Guid.Empty) { // Move attachment down if (FormGUID == Guid.Empty) { PerformAttachmentAction("movedown", () => DocumentHelper.MoveAttachmentDown(attachmentGuid, Node)); } else { AttachmentInfoProvider.MoveAttachmentDown(attachmentGuid, 0); } } break; case "delete": if (attachmentGuid != Guid.Empty) { // Delete attachment if (FormGUID == Guid.Empty) { PerformAttachmentAction("delete", () => DocumentHelper.DeleteAttachment(Node, attachmentGuid, TreeProvider)); } else { AttachmentInfoProvider.DeleteTemporaryAttachment(attachmentGuid, SiteContext.CurrentSiteName); } ShowConfirmation(GetString("attach.deleted")); } break; } } }