//======================================================================= Event handlers protected override void OnButtonClick(object sender, EventArgs e) { var button = sender as IButtonControl; if (button == null) { return; } switch (button.CommandName) { case "Reject": var reason = this.CommentsTextBox == null ? string.Empty : this.CommentsTextBox.Text; if (OnReject == null) { //retrieve the current content var gc = ContextBoundPortlet.GetContextNodeForControl(this) as GenericContent; if (gc == null) { return; } if (SavingAction.HasReject(gc)) { gc["RejectReason"] = reason; gc.Reject(); var p = Page as PageBase; if (p != null) { p.Done(false); } } } else { OnReject(sender, new VersioningActionEventArgs(VersioningAction.Reject, reason)); } break; } }
public override Control CreateActionButtons(DefaultButtonType button) { var _isContentType = false; var currentButtonsControl = CurrentControl as DefaultButtons; if (currentButtonsControl == null) { return(null); } if (currentButtonsControl.CurrentGC == null) { // // ContentType is always being handled specially. // var nodeTypeName = currentButtonsControl.CurrentNode.GetType().Name; // // treat contenttype behaviour 'til the final solution // if (nodeTypeName.Equals("RuntimeContentHandler")) { _isContentType = true; } else { if (!nodeTypeName.Equals(typeof(ContentType).Name)) { return(null); } _isContentType = true; } } var currentGenericContent = currentButtonsControl.CurrentGC; SecurityHandler security = null; if (!_isContentType) { security = currentButtonsControl.NewContent ? currentGenericContent.Parent.Security : currentGenericContent.Security; } switch (button) { case DefaultButtonType.CheckIn: if (currentButtonsControl.VisibleCheckIn && !_isContentType && SavingAction.HasCheckIn(currentGenericContent)) { return(new Button { ID = "btnCheckIn", Text = (HttpContext.GetGlobalResourceObject("Portal", "CheckIn") as string), CommandName = "checkin", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.CheckOut: var isInWorkspaceAction = PortalContext.Current.ContextWorkspace != null; if (currentButtonsControl.VisibleCheckOut && !_isContentType && SavingAction.HasCheckOut(currentGenericContent)) { // // TODO: checkout button must be displayed in the next release // In Beta 5 this function is not allowed. Check the Task 3978. // if (isInWorkspaceAction) { return(null); } return(new Button { ID = "btnCheckOut", Text = (HttpContext.GetGlobalResourceObject("Portal", "CheckOut") as string), CommandName = "checkout", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.UndoCheckOut: if (currentButtonsControl.VisibleUndoCheckOut && !_isContentType && SavingAction.HasUndoCheckOut(currentGenericContent)) { return(new Button { ID = "btnUndoCheckOut", Text = (HttpContext.GetGlobalResourceObject("Portal", "UndoCheckOut") as string), CommandName = "undocheckout", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.Save: var saveButton = new Button { ID = "btnSave", Text = (HttpContext.GetGlobalResourceObject("Portal", "Save") as string), CommandName = "save", Enabled = true, EnableViewState = false }; if (currentButtonsControl.VisibleSave && !_isContentType && SavingAction.HasSave(currentGenericContent)) { if (currentButtonsControl.NewContent ? security.HasPermission(PermissionType.AddNew) : security.HasPermission(PermissionType.Save)) { return(saveButton); } } if (_isContentType) { return(saveButton); } break; case DefaultButtonType.Publish: if (currentButtonsControl.VisiblePublish && !_isContentType && SavingAction.HasPublish(currentGenericContent)) { return(new Button { ID = "btnPublish", Text = (HttpContext.GetGlobalResourceObject("Portal", "Publish") as string), CommandName = "publish", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.Approve: if (currentButtonsControl.VisibleApprove && !_isContentType && SavingAction.HasApprove(currentGenericContent)) { return(new Button { ID = "btnApprove", Text = (HttpContext.GetGlobalResourceObject("Portal", "Approve") as string), CommandName = "approve", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.Reject: if (currentButtonsControl.VisibleReject && !_isContentType && SavingAction.HasReject(currentGenericContent)) { return(new Button { ID = "btnReject", Text = (HttpContext.GetGlobalResourceObject("Portal", "Reject") as string), CommandName = "reject", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.Cancel: if (currentButtonsControl.VisibleCancel) { return(new Button { ID = "btnCancel", Text = (HttpContext.GetGlobalResourceObject("Portal", "Cancel") as string), CommandName = "cancel", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.ForceUndoCheckOut: if (currentButtonsControl.VisibleForceUndoCheckOut && !_isContentType && SavingAction.HasForceUndoCheckOutRight(currentGenericContent)) { return(new Button { ID = "btnForceUndoCheckOut", Text = (HttpContext.GetGlobalResourceObject("Portal", "ForceUndoCheckOut") as string), CommandName = "forceundocheckout", Enabled = true, EnableViewState = false }); } break; case DefaultButtonType.None: case DefaultButtonType.Custom: break; default: throw new ArgumentOutOfRangeException("button"); } return(null); }