void UniSelector_OnItemsSelected(object sender, EventArgs e) { try { int processId = ValidationHelper.GetInteger(ucSelector.Value, 0); AutomationManager manager = AutomationManager.GetInstance(CurrentUser); var infoObj = CMSObjectHelper.GetObjectById(listElem.ObjectType, listElem.ObjectID); using (CMSActionContext context = new CMSActionContext()) { context.AllowAsyncActions = false; manager.StartProcess(infoObj, processId); } } catch (ProcessRecurrenceException ex) { ShowError(ex.Message); } catch (Exception ex) { LogAndShowError("Automation", "STARTPROCESS", ex); } listElem.UniGrid.ReloadData(); pnlUpdate.Update(); }
private BaseInfo GetInfoFromHiddenValues() { var objectType = ValidationHelper.GetString(hdnObjectType.Value, null); var objectId = ValidationHelper.GetInteger(hdnObjectId.Value, 0); return(CMSObjectHelper.GetObjectById(objectType, objectId)); }
private void gridState_OnAction(string actionName, object actionArgument) { switch (actionName.ToLowerCSafe()) { case "delete": int stateId = ValidationHelper.GetInteger(actionArgument, 0); AutomationManager manager = AutomationManager.GetInstance(CurrentUser); var obj = CMSObjectHelper.GetObjectById(ObjectType, ObjectID); var state = AutomationStateInfoProvider.GetAutomationStateInfo(stateId); manager.RemoveProcess(obj, state); break; } }
/// <summary> /// Returns true if the contact voted in the poll. /// </summary> /// <param name="contact">Contact which should be checked</param> /// <param name="pollName">Poll name</param> /// <param name="answer">Poll answer text</param> /// <param name="lastXDays">Constraint for last X days (if zero or negative value is given, no constraint is applied)</param> public static bool VotedInPoll(object contact, string pollName, string answer, int lastXDays) { int pollId = ValidationHelper.GetInteger(CMSMacroMethods.GetObjectID(PredefinedObjectType.POLL, pollName, CMSContext.CurrentSiteName, true), 0); if (!string.IsNullOrEmpty(answer)) { ContactInfo ci = contact as ContactInfo; if (ci == null) { return(false); } string where = GetActivityWhere(PredefinedActivityType.POLL_VOTING, null, lastXDays, "ActivityItemID = " + pollId, ci.ContactID); DataSet ds = ActivityInfoProvider.GetActivities(where, null, 0, "ActivityValue"); if (!DataHelper.DataSourceIsEmpty(ds)) { foreach (DataRow dr in ds.Tables[0].Rows) { string[] answers = ValidationHelper.GetString(dr[0], "").Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); foreach (string a in answers) { BaseInfo pollAnswer = CMSObjectHelper.GetObjectById("polls.pollanswer", ValidationHelper.GetInteger(a, 0)); if (pollAnswer != null) { if (pollAnswer.GetStringValue("AnswerText", "").EqualsCSafe(answer, true)) { return(true); } } } } } return(false); } else { return(DidActivity(contact, PredefinedActivityType.POLL_VOTING, null, lastXDays, "ActivityItemID = " + pollId)); } }
protected void Page_Load(object sender, EventArgs e) { if (ActivityHelper.AuthorizedReadActivity(CMSContext.CurrentSiteID, true)) { if (!QueryHelper.ValidateHash("hash")) { return; } if (!ModuleEntry.IsModuleLoaded(ModuleEntry.ECOMMERCE)) { return; } int orderId = QueryHelper.GetInteger("orderid", 0); // Get order object BaseInfo order = CMSObjectHelper.GetObjectById(PredefinedObjectType.ORDER, orderId); if (order != null) { ltl.Text = order.GetStringValue("OrderInvoice", ""); } } }
/// <summary> /// Gets new table header cell which contains label and rollback image. /// </summary> /// <param name="suffixID">ID suffix</param> /// <param name="documentID">Document ID</param> /// <param name="versionID">Version history ID</param> /// <param name="action">Action</param> private TableHeaderCell GetRollbackTableHeaderCell(string suffixID, ObjectVersionHistoryInfo objectVersion) { TableHeaderCell tblHeaderCell = new TableHeaderCell(); // Label Label lblValue = new Label(); lblValue.ID = "lbl" + suffixID; lblValue.Text = HTMLHelper.HTMLEncode(GetVersionNumber(objectVersion.VersionNumber, objectVersion.VersionModifiedWhen)); // Panel Panel pnlLabel = new Panel(); pnlLabel.ID = "pnlLabel" + suffixID; pnlLabel.CssClass = "LeftAlign"; pnlLabel.Controls.Add(lblValue); tblHeaderCell.Controls.Add(pnlLabel); // Add rollback controls if user authorized to modify selected object if (UserInfoProvider.IsAuthorizedPerObject(objectVersion.VersionObjectType, PermissionsEnum.Modify, CMSContext.CurrentSiteName, CMSContext.CurrentUser)) { // Rollback panel Panel pnlImage = new Panel(); pnlImage.ID = "pnlRollback" + suffixID; pnlImage.CssClass = "RightAlign"; // Rollback image Image imgRollback = new Image(); imgRollback.ID = "imgRollback" + suffixID; string tooltip = null; string confirmText = null; var info = CMSObjectHelper.GetObjectById(Version.VersionObjectType, Version.VersionObjectID); var rollbackEnabled = !CMSObjectHelper.IsCheckedOutByOtherUser(info); // Set image action and description according to roll back type if (chkDisplayAllData.Checked) { tooltip = GetString("objectversioning.versionlist.versionfullrollbacktooltip"); confirmText = GetString("objectversioning.versionlist.confirmfullrollback"); imgRollback.ImageUrl = GetImageUrl(rollbackEnabled ? "CMSModules/CMS_RecycleBin/restorechilds.png" : "CMSModules/CMS_RecycleBin/restorechildsdisabled.png"); } else { tooltip = GetString("history.versionrollbacktooltip"); confirmText = GetString("Unigrid.ObjectVersionHistory.Actions.Rollback.Confirmation"); imgRollback.ImageUrl = GetImageUrl(rollbackEnabled ? "Design/Controls/UniGrid/Actions/undo.png" : "Design/Controls/UniGrid/Actions/undodisabled.png"); } imgRollback.AlternateText = tooltip; imgRollback.ToolTip = tooltip; imgRollback.Style.Add("cursor", "pointer"); // Prepare onclick script if (rollbackEnabled) { var confirmScript = "if (confirm(\"" + confirmText + "\")) { "; confirmScript += ControlsHelper.GetPostBackEventReference(this, objectVersion.VersionID + "|" + chkDisplayAllData.Checked) + "; return false; }"; imgRollback.Attributes.Add("onclick", confirmScript); } pnlImage.Controls.Add(imgRollback); tblHeaderCell.Controls.Add(pnlImage); } return(tblHeaderCell); }
protected object grid_OnExternalDataBound(object sender, string sourceName, object parameter) { DataRowView drv = null; if (parameter is DataRowView) { drv = (DataRowView)parameter; } else if (parameter is GridViewRow) { drv = (DataRowView)((GridViewRow)parameter).DataItem; } var objectSettingsId = ValidationHelper.GetInteger(drv["ObjectSettingsID"], 0); if ((tmpObjectSettings == null) || (tmpObjectSettings.ObjectSettingsID != objectSettingsId)) { tmpObjectSettings = ObjectSettingsInfoProvider.GetObjectSettingsInfo(objectSettingsId); tmpInfo = CMSObjectHelper.GetObjectById(tmpObjectSettings.ObjectSettingsObjectType, tmpObjectSettings.ObjectSettingsObjectID); } contextResolver.SetNamedSourceData("EditedObject", tmpInfo); switch (sourceName.ToLowerCSafe()) { case "edit": var editButton = (CMSImageButton)sender; var url = tmpInfo.Generalized.GetEditingPageURL(); if (!string.IsNullOrEmpty(url)) { url = contextResolver.ResolveMacros(url); url = CMSContext.ResolveDialogUrl(url); var queryString = URLHelper.GetQuery(url); url = URLHelper.AddParameterToUrl(url, "hash", QueryHelper.GetHash(queryString)); editButton.OnClientClick = string.Format("modalDialog('{0}', 'objectEdit', '85%', '85%');", url); } else { editButton.Enabled = false; } break; case "checkin": var checkinButton = (CMSImageButton)sender; checkinButton.ImageUrl = GetImageUrl("CMSModules/CMS_Content/EditMenu/16/checkin.png"); if (tmpInfo.TypeInfo.SupportsLocking) { checkinButton.Attributes["onclick"] = GetConfirmScript(GetString("ObjectEditMenu.CheckInConfirmation"), tmpObjectSettings.ObjectSettingsObjectType, tmpObjectSettings.ObjectSettingsObjectID, btnCheckIn); } else { checkinButton.Enabled = false; } break; case "undocheckout": var undoCheckoutButton = (CMSImageButton)sender; undoCheckoutButton.ImageUrl = GetImageUrl("CMSModules/CMS_Content/EditMenu/16/undocheckout.png"); if (tmpInfo.TypeInfo.SupportsLocking) { undoCheckoutButton.Attributes["onclick"] = GetConfirmScript(CMSObjectManager.GetUndoCheckOutConfirmation(tmpInfo, null), tmpObjectSettings.ObjectSettingsObjectType, tmpObjectSettings.ObjectSettingsObjectID, btnUndoCheckOut); } else { undoCheckoutButton.Enabled = false; } break; } return(parameter); }
/// <summary> /// Reloads all data. /// </summary> public override void ReloadData(bool forceLoad) { if (CurrentReport != null) { // Load labels if (!RequestHelper.IsPostBack() || forceLoad) { // Create query parameters string query = "?ObjectID=" + CurrentReport.ReportObjectID; // Set link value string url = CurrentReport.ReportURL; if (CurrentReport.ReportCulture != String.Empty) { url = URLHelper.AddParameterToUrl(url, URLHelper.LanguageParameterName, CurrentReport.ReportCulture); } lnkUrlValue.Text = HTMLHelper.HTMLEncode(url); lnkUrlValue.NavigateUrl = url; lnkUrlValue.ToolTip = HTMLHelper.HTMLEncode(url); lnkUrlValue.Target = "_blank"; // Set culture value CultureInfo ci = CultureHelper.GetCultureInfo(CurrentReport.ReportCulture); lblCultureValue.Text = (ci != null) ? ci.DisplayName : ResHelper.Dash; // Set site value SiteInfo si = SiteInfoProvider.GetSiteInfo(CurrentReport.ReportSiteID); lblSiteValue.Text = (si != null) ? HTMLHelper.HTMLEncode(si.DisplayName) : ResHelper.Dash; // Set title lblTitleValue.Text = HTMLHelper.HTMLEncode(CurrentReport.ReportTitle); // Set labels if (!string.IsNullOrEmpty(CurrentReport.ReportObjectType)) { lblObjectTypeValue.Text = GetString("ObjectType." + ImportExportHelper.GetSafeObjectTypeName(CurrentReport.ReportObjectType)); query += "&ObjectType=" + CurrentReport.ReportObjectType; if ((CurrentReport.ReportObjectID > 0) && (CurrentReport.ReportObjectType.ToLowerCSafe() != DocumentObjectType.DOCUMENT)) { pnlLink.Visible = true; } } else { lblObjectTypeValue.Text = ResHelper.Dash; } // Get object display name lblObjectNameValue.Text = ResHelper.Dash; string objectType = CurrentReport.ReportObjectType; int objectId = CurrentReport.ReportObjectID; if ((objectId > 0) && !string.IsNullOrEmpty(objectType) && !objectType.EqualsCSafe(DocumentObjectType.DOCUMENT, true)) { GeneralizedInfo obj = CMSObjectHelper.GetObjectById(objectType, objectId); if ((obj != null) && !string.IsNullOrEmpty(obj.ObjectDisplayName)) { lblObjectNameValue.Text = HTMLHelper.HTMLEncode(obj.ObjectDisplayName); } } // Set Reported by label lblReportedByValue.Text = ResHelper.Dash; if (CurrentReport.ReportUserID != 0) { UserInfo ui = UserInfoProvider.GetUserInfo(CurrentReport.ReportUserID); lblReportedByValue.Text = (ui != null) ? HTMLHelper.HTMLEncode(ui.FullName) : GetString("general.NA"); } // Set other parameters lblReportedWhenValue.Text = CurrentReport.ReportWhen.ToString(); if ((CurrentReport.ReportObjectID > 0) && (!string.IsNullOrEmpty(CurrentReport.ReportObjectType)) && AbuseReportInfoProvider.IsObjectTypeSupported(CurrentReport.ReportObjectType)) { lnkShowDetails.Visible = true; string detailUrl = "~/CMSModules/AbuseReport/AbuseReport_ObjectDetails.aspx" + query; lnkShowDetails.NavigateUrl = URLHelper.AddParameterToUrl(detailUrl, "hash", QueryHelper.GetHash(detailUrl)); } Control postback = ControlsHelper.GetPostBackControl(Page); CMSPage page = Page as CMSPage; // Not post-back not caused by OK button or Save action in header if ((postback != btnOk) && ((page == null) || (postback != page.HeaderActions))) { txtCommentValue.Text = CurrentReport.ReportComment; LoadStatus((int)CurrentReport.ReportStatus); } } } }
protected void Page_Load(object sender, EventArgs e) { // Get query string parameters objectType = QueryHelper.GetString("objecttype", String.Empty); int objectId = QueryHelper.GetInteger("objectid", 0); // Get the object BaseInfo info = CMSObjectHelper.GetObjectById(objectType, objectId); string objTypeName = ""; if (info != null) { objTypeName = GetString("objecttype." + TranslationHelper.GetSafeClassName(info.ObjectType)); } if (objTypeName.StartsWithCSafe("objecttype.")) { objTypeName = ""; SetTitle("CMSModules/CMS_System/clone.png", String.Format(GetString("clonning.dialog.title"), HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.Generalized.ObjectDisplayName))), "objectclonning", "helpTopic"); } else { SetTitle("CMSModules/CMS_System/clone.png", String.Format(GetString("clonning.dialog.title"), objTypeName), "objectclonning", "helpTopic"); } btnClose.Text = GetString("General.Close"); btnClone.Text = GetString("General.Clone"); btnClone.Click += new EventHandler(btnClone_Click); if (info == null) { ShowInformation(GetString("clonning.dialog.objectdoesnotexist")); cloneObjectElem.Visible = false; return; } if (cloneObjectElem.HasNoSettings()) { lblInfo.Text = string.Format(GetString("clonning.settings.emptyinfobox"), objTypeName, HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.Generalized.ObjectDisplayName))); } else { lblInfo.Text = string.Format(GetString("clonning.settings.infobox"), objTypeName, HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.Generalized.ObjectDisplayName))); } // Check permissions string sourceSiteName = CurrentSiteName; if (info.Generalized.ObjectSiteID > 0) { sourceSiteName = SiteInfoProvider.GetSiteName(info.Generalized.ObjectSiteID); } try { CurrentUser.IsAuthorizedPerObject(PermissionsEnum.Read, info, sourceSiteName, true); } catch (PermissionCheckException ex) { RedirectToCMSDeskAccessDenied(ex.ModuleName, ex.PermissionFailed); } cloneObjectElem.InfoToClone = info; // Register refresh script to refresh wopener StringBuilder script = new StringBuilder(); script.Append(@" function RefreshContent() { if (wopener != null) { if (wopener.RefreshWOpener) { window.refreshPageOnClose = true; wopener.RefreshWOpener(window); } else { wopener.window.location.replace(wopener.window.location); } } }"); // Register script ScriptHelper.RegisterWOpenerScript(this.Page); ScriptHelper.RegisterClientScriptBlock(this, typeof(string), "WOpenerRefresh", ScriptHelper.GetScript(script.ToString())); }