private object GridVariants_OnExternalDataBound(object sender, string sourceName, object parameter) { if (sourceName.Equals("variantName", StringComparison.OrdinalIgnoreCase)) { var drv = UniGridFunctions.GetDataRowView(sender as DataControlFieldCell); var issue = new IssueInfo(drv.Row); string navigateUrl = EmailBuilderHelper.GetNavigationUrl(Issue.IssueNewsletterID, issue.IssueID, 2); return(new HyperLink { NavigateUrl = navigateUrl, Text = HTMLHelper.HTMLEncode(issue.GetVariantName()) }); } if (sourceName.Equals("delete", StringComparison.OrdinalIgnoreCase)) { var dr = UniGridFunctions.GetDataRowView(parameter); int issueId = Convert.ToInt32(dr["IssueID"]); var deleteButton = (CMSGridActionButton)sender; deleteButton.Enabled = (OriginalVariant.IssueID != issueId) && Enabled; } return(parameter); }
protected object gridTasks_OnExternalDataBound(object sender, string sourceName, object parameter) { DataRowView drv = null; int taskId = 0; switch (sourceName.ToLower()) { case "taskresult": drv = parameter as DataRowView; int failedCount = ValidationHelper.GetInteger(drv["FailedCount"], 0); taskId = ValidationHelper.GetInteger(drv["TaskID"], 0); return(GetResultLink(failedCount, taskId)); case "view": if (sender is ImageButton) { // Add view JavaScript ImageButton btnView = (ImageButton)sender; drv = UniGridFunctions.GetDataRowView((DataControlFieldCell)btnView.Parent); taskId = ValidationHelper.GetInteger(drv["TaskID"], 0); string url = ResolveUrl(String.Format("~/CMSModules/Staging/Tools/View.aspx?taskid={0}&tasktype=Data&hash={1}", taskId, QueryHelper.GetHash("?taskid=" + taskId + "&tasktype=Data"))); btnView.OnClientClick = "window.open('" + url + "');return false;"; return(btnView); } else { return(string.Empty); } case "tasktime": return(DateTime.Parse(parameter.ToString()).ToString()); } return(parameter); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLower()) { case "status": ImageButton img = sender as ImageButton; if (img != null) { DataRowView drv = UniGridFunctions.GetDataRowView(img.Parent as DataControlFieldCell); if (drv != null) { string connectorName = ValidationHelper.GetString(drv["ConnectorName"], string.Empty); bool connectorEnabled = ValidationHelper.GetBoolean(drv["ConnectorEnabled"], false); if (connectorEnabled && (IntegrationHelper.GetConnector(connectorName) == null)) { img.ToolTip = GetString("integration.loadconnectorfailed"); } else { img.Visible = false; } } if (img.Visible) { img.OnClientClick = "return false;"; img.Style.Add(HtmlTextWriterStyle.Cursor, "default"); } } break; } return(parameter); }
protected object gridEvents_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName) { case "eventtype": { string evetType = ValidationHelper.GetString(parameter, ""); return("<div style=\"width:100%;text-align:center;cursor:help;\" title=\"" + HTMLHelper.HTMLEncode(EventLogHelper.GetEventTypeText(evetType)) + "\">" + evetType + " </div>"); } case "formattedusername": return(HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(Convert.ToString(parameter)))); case "view": { if (sender is CMSGridActionButton) { CMSGridActionButton img = sender as CMSGridActionButton; DataRowView drv = UniGridFunctions.GetDataRowView(img.Parent as DataControlFieldCell); int eventId = ValidationHelper.GetInteger(drv["EventID"], 0); //img.AlternateText = GetString("Unigrid.EventLog.Actions.Display"); img.ToolTip = GetString("Unigrid.EventLog.Actions.Display"); img.OnClientClick = "eventDialogParams_" + ClientID + " = '" + eventId + "';" + Page.ClientScript.GetCallbackEventReference(this, "eventDialogParams_" + ClientID, "OpenEventDetail", null) + ";return false;"; } return(sender); } } return(parameter); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "useexternalservice": // Use external service { CMSGridActionButton imgButton = sender as CMSGridActionButton; if (imgButton != null) { imgButton.Visible = false; if (SchedulingHelper.UseExternalService) { DataRowView dataRowView = UniGridFunctions.GetDataRowView(imgButton.Parent as DataControlFieldCell); if (dataRowView != null) { var taskInfo = new TaskInfo(dataRowView.Row); imgButton.Visible = SchedulingHelper.IsExternalTaskTooLate(taskInfo, 10); if (imgButton.Visible) { imgButton.ToolTip = GetString("scheduledtask.useservicewarning"); imgButton.OnClientClick = "return false;"; imgButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); } } } } } break; case "taskexecutions": if (string.IsNullOrEmpty(Convert.ToString(parameter))) { return(0); } break; case "runactions": { // Image "run" button CMSGridActionButton runButton = ((CMSGridActionButton)sender); // Data row and task enabled value DataRowView dataRowView = UniGridFunctions.GetDataRowView(runButton.Parent as DataControlFieldCell); TaskInfo partialTaskInfo = new TaskInfo(dataRowView.Row); if (!partialTaskInfo.TaskEnabled) { // If not enabled add confirmation dialog runButton.OnClientClick = "if (!confirm(" + ScriptHelper.GetLocalizedString("taskdisabled.sure") + ")) return false;" + runButton.OnClientClick; } break; } } return(parameter); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName) { case "remove": if (sender is CMSGridActionButton) { // Get action button CMSGridActionButton deleteBtn = (CMSGridActionButton)sender; deleteBtn.Enabled = friendsManagePermission; return(deleteBtn); } else { return(string.Empty); } case "approve": if (sender is CMSGridActionButton) { // Get action button CMSGridActionButton approveBtn = (CMSGridActionButton)sender; // Get full row view DataRowView drv = UniGridFunctions.GetDataRowView((DataControlFieldCell)approveBtn.Parent); // Add custom reject action approveBtn.OnClientClick = "return FM_Approve_" + ClientID + "('" + drv["FriendID"] + "',null,'" + ApproveDialogUrl + "');"; approveBtn.Enabled = friendsManagePermission; return(approveBtn); } else { return(string.Empty); } case "friendrejectedwhen": if (currentUserInfo == null) { currentUserInfo = MembershipContext.AuthenticatedUser; } if (currentSiteInfo == null) { currentSiteInfo = SiteContext.CurrentSite; } DateTime currentDateTime = ValidationHelper.GetDateTime(parameter, DateTimeHelper.ZERO_TIME); if (IsLiveSite) { return(TimeZoneMethods.ConvertDateTime(currentDateTime, this)); } else { return(TimeZoneHelper.ConvertToUserTimeZone(currentDateTime, true, currentUserInfo, currentSiteInfo)); } case "formattedusername": return(HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(Convert.ToString(parameter), IsLiveSite))); } return(parameter); }
private void GridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { var dataRow = UniGridFunctions.GetDataRowView(e.Row); string messageType = ValidationHelper.GetString(dataRow["type"], String.Empty); if (messageType.ToEnum <MessageTypeEnum>() == MessageTypeEnum.Error) { e.Row.CssClass = "error"; } } }
/// <summary> /// On external data-bound event handler. /// </summary> /// <param name="sender">Sender</param> /// <param name="sourceName">Action what is called</param> /// <param name="parameter">Parameter</param> /// <returns>Result object</returns> protected object gridValidationResult_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLower(CultureHelper.EnglishCulture)) { case "source": if (parameter is DBNull) { return(parameter); } const string LINE_BREAK_SIGN = "\u21A9"; string source = (string)parameter; var drv = UniGridFunctions.GetDataRowView(sender as DataControlFieldCell); int highlightStartIndex = Convert.ToInt32(drv["highlightStart"]); int highlightLength = Convert.ToInt32(drv["highlightLength"]); var messageType = Convert.ToString(drv["type"]).ToEnum <MessageTypeEnum>(); // Get parts to be able to highlight code in the code extract IEnumerable <string> parts = new List <string>(new[] { source.Substring(0, highlightStartIndex), source.Substring(highlightStartIndex, highlightLength), source.Substring(highlightStartIndex + highlightLength) }); // HTML encode each part parts = parts.Select(HttpUtility.HtmlEncode).ToList(); // Update the second (~ highlighted) part var partList = parts as List <string>; partList[1] = $"<strong class=\"{messageType.ToStringRepresentation()}\">{partList[1]}</strong>"; source = String.Concat(parts); source = source.Replace("\n", LINE_BREAK_SIGN); return($@"<div class=""Source"">{source}</div>"); case "message": return(HttpUtility.HtmlEncode(parameter)); case "type": var typeEnum = ((string)parameter).ToEnum <MessageTypeEnum>(); return(typeEnum.ToLocalizedString("validation.html.messagetype")); } return(parameter); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName) { case "reject": if (sender is ImageButton) { // Get action button ImageButton rejectBtn = (ImageButton)sender; // Get full row view DataRowView drv = UniGridFunctions.GetDataRowView((DataControlFieldCell)rejectBtn.Parent); // Add custom reject action rejectBtn.Attributes["onclick"] = "return FM_Reject_" + ClientID + "('" + drv["FriendID"] + "',null,'" + DialogUrl + "');"; return(rejectBtn); } else { return(string.Empty); } case "friendapprovedwhen": if (currentUserInfo == null) { currentUserInfo = CMSContext.CurrentUser; } if (currentSiteInfo == null) { currentSiteInfo = CMSContext.CurrentSite; } DateTime currentDateTime = ValidationHelper.GetDateTime(parameter, DateTimeHelper.ZERO_TIME); if (IsLiveSite) { return(CMSContext.ConvertDateTime(currentDateTime, this)); } else { return(TimeZoneHelper.GetCurrentTimeZoneDateTimeString(currentDateTime, currentUserInfo, currentSiteInfo, out usedTimeZone)); } case "formattedusername": return(HTMLHelper.HTMLEncode(Functions.GetFormattedUserName(Convert.ToString(parameter), this.IsLiveSite))); } return(parameter); }
protected object gridSubCategories_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "edit": case "delete": var button = sender as CMSGridActionButton; if (button != null) { DataRowView data = UniGridFunctions.GetDataRowView(button.Parent as DataControlFieldCell); int userId = ValidationHelper.GetInteger(data["CategoryUserID"], 0); int siteId = ValidationHelper.GetInteger(data["CategorySiteID"], 0); // Hide action when can not modify button.Visible = CanModifyCategory(userId > 0, siteId == 0); } break; } return(parameter); }
/// <summary> /// External data binding handler. /// </summary> protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { // Prepare variables int nodeId = 0; string culture = string.Empty; DataRowView data = null; sourceName = sourceName.ToLowerCSafe(); SiteInfo site = null; switch (sourceName) { // Edit button case EXTERNALSOURCE_EDIT: if (sender is ImageButton) { ImageButton editButton = (ImageButton)sender; data = UniGridFunctions.GetDataRowView(editButton.Parent as DataControlFieldCell); site = GetSiteFromRow(data); nodeId = ValidationHelper.GetInteger(data[SOURCE_NODEID], 0); culture = ValidationHelper.GetString(data[SOURCE_DOCUMENTCULTURE], string.Empty); string type = ValidationHelper.GetString(DataHelper.GetDataRowViewValue(data, SOURCE_TYPE), string.Empty); // Check permissions if ((site.Status != SiteStatusEnum.Running) || (!CMSMyDeskPage.IsUserAuthorizedPerContent(site.SiteName) || ((ListingType == ListingTypeEnum.All) && (type == LISTINGTYPE_RECYCLEBIN)))) { editButton.ImageUrl = GetImageUrl("Design/Controls/UniGrid/Actions/Editdisabled.png"); editButton.OnClientClick = "return false"; editButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); } else { editButton.OnClientClick = "return SelectItem(" + nodeId + ", '" + culture + "','" + ResolveSiteUrl(site) + "');"; } return(editButton); } return(sender); // Preview button case EXTERNALSOURCE_PREVIEW: if (sender is ImageButton) { ImageButton previewButton = (ImageButton)sender; data = UniGridFunctions.GetDataRowView(previewButton.Parent as DataControlFieldCell); site = GetSiteFromRow(data); string type = ValidationHelper.GetString(DataHelper.GetDataRowViewValue(data, SOURCE_TYPE), string.Empty); if ((site.Status != SiteStatusEnum.Running) || ((ListingType == ListingTypeEnum.All) && (type == LISTINGTYPE_RECYCLEBIN))) { previewButton.ImageUrl = GetImageUrl("Design/Controls/UniGrid/Actions/Viewdisabled.png"); previewButton.OnClientClick = "return false"; previewButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); } else { nodeId = ValidationHelper.GetInteger(data[SOURCE_NODEID], 0); culture = ValidationHelper.GetString(data[SOURCE_DOCUMENTCULTURE], string.Empty); string nodeAliasPath = ValidationHelper.GetString(data[SOURCE_NODEALIASPATH], string.Empty); // Generate preview URL string url = CMSContext.GetUrl(nodeAliasPath, null, site.SiteName); url = URLHelper.AddParameterToUrl(url, "viewmode", "2"); url = URLHelper.AddParameterToUrl(url, URLHelper.LanguageParameterName, culture); previewButton.OnClientClick = "window.open('" + URLHelper.ResolveUrl(url) + "','LiveSite');return false;"; } return(previewButton); } return(sender); // Document name column case EXTERNALSOURCE_DOCUMENTNAME: data = (DataRowView)parameter; string name = ValidationHelper.GetString(data[SOURCE_DOCUMENTNAME], string.Empty); nodeId = ValidationHelper.GetInteger(data[SOURCE_NODEID], 0); culture = ValidationHelper.GetString(data[SOURCE_DOCUMENTCULTURE], string.Empty); string className = ValidationHelper.GetString(data[SOURCE_CLASSNAME], string.Empty); site = GetSiteFromRow(data); if (name == string.Empty) { name = GetString("general.notspecified"); } // Add document type icon string result = string.Empty; switch (ListingType) { case ListingTypeEnum.DocTypeDocuments: break; default: result = "<img src=\"" + UIHelper.GetDocumentTypeIconUrl(Parent.Page, className, String.Empty, true) + "\" class=\"UnigridActionButton\" />"; break; } result += "<span style=\"vertical-align: bottom;\">" + HTMLHelper.HTMLEncode(TextHelper.LimitLength(name, 50)) + "</span>"; if (ListingType != ListingTypeEnum.All) { bool isLink = (data.Row.Table.Columns.Contains(SOURCE_NODELINKEDNODEID) && (data[SOURCE_NODELINKEDNODEID] != DBNull.Value)); if (isLink) { // Add link icon result += UIHelper.GetDocumentMarkImage(Parent.Page, DocumentMarkEnum.Link); } } return(result); // Class name column case EXTERNALSOURCE_CLASSDISPLAYNAME: string displayName = ValidationHelper.GetString(parameter, string.Empty); if (sourceName.ToLowerCSafe() == EXTERNALSOURCE_CLASSDISPLAYNAMETOOLTIP) { displayName = TextHelper.LimitLength(displayName, 50); } if (displayName == string.Empty) { displayName = "-"; } return(HTMLHelper.HTMLEncode(ResHelper.LocalizeString(displayName))); case EXTERNALSOURCE_DOCUMENTNAMETOOLTIP: data = (DataRowView)parameter; return(UniGridFunctions.DocumentNameTooltip(data)); case EXTERNALSOURCE_STEPDISPLAYNAME: // Step display name string stepName = ValidationHelper.GetString(parameter, string.Empty); if (stepName == string.Empty) { stepName = "-"; } return(HTMLHelper.HTMLEncode(ResHelper.LocalizeString(stepName))); case EXTERNALSOURCE_STEPNAME: // Step display name from ID int stepId = ValidationHelper.GetInteger(parameter, 0); if (stepId > 0) { WorkflowStepInfo wsi = WorkflowStepInfoProvider.GetWorkflowStepInfo(stepId); if (wsi != null) { return(HTMLHelper.HTMLEncode(ResHelper.LocalizeString(wsi.StepDisplayName))); } } return("-"); case EXTERNALSOURCE_CULTURE: data = (DataRowView)parameter; culture = ValidationHelper.GetString(data[SOURCE_DOCUMENTCULTURE], string.Empty); // Add icon if (culture != String.Empty) { return(UniGridFunctions.DocumentCultureFlag(data, Page)); } return("-"); // Version column case EXTERNALSOURCE_VERSION: if (parameter == DBNull.Value) { parameter = "-"; } parameter = HTMLHelper.HTMLEncode(parameter.ToString()); return(parameter); // Site name column case EXTERNALSOURCE_SITENAME: string siteName = ValidationHelper.GetString(parameter, string.Empty); siteInfo = SiteInfoProvider.GetSiteInfo(siteName); return(HTMLHelper.HTMLEncode(siteInfo.DisplayName)); case EXTERNALSOURCE_SITEID: int siteId = ValidationHelper.GetInteger(parameter, 0); siteInfo = SiteInfoProvider.GetSiteInfo(siteId); return(HTMLHelper.HTMLEncode(siteInfo.DisplayName)); // Document timestamp column case EXTERNALSOURCE_MODIFIEDWHEN: case EXTERNALSOURCE_MODIFIEDWHENTOOLTIP: if (string.IsNullOrEmpty(parameter.ToString())) { return(string.Empty); } else { if (currentSiteInfo == null) { currentSiteInfo = CMSContext.CurrentSite; } bool displayGMT = (sourceName == EXTERNALSOURCE_MODIFIEDWHENTOOLTIP); DateTime time = ValidationHelper.GetDateTime(parameter, DateTimeHelper.ZERO_TIME); return(TimeZoneHelper.ConvertToUserTimeZone(time, displayGMT, currentUserInfo, currentSiteInfo)); } } return(parameter); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { DataRowView drv; switch (sourceName.ToLowerInvariant()) { case "result": { drv = parameter as DataRowView; if (drv != null) { string errorMsg = ValidationHelper.GetString(drv["SynchronizationErrorMessage"], string.Empty); if (!string.IsNullOrEmpty(errorMsg)) { int synchronizationId = ValidationHelper.GetInteger(drv["SynchronizationID"], 0); string logUrl = ResolveUrl("~/CMSModules/Integration/Pages/Administration/Log.aspx?synchronizationid=") + synchronizationId; return(String.Format("<a target=\"_blank\" href=\"{0}\" onclick=\"modalDialog('{0}', 'tasklog', 1400, 1200); return false;\">{1}</a>", logUrl, GetString("Tasks.ResultFailed"))); } } return(string.Empty); } case "view": if (sender is CMSGridActionButton) { CMSGridActionButton viewButton = sender as CMSGridActionButton; drv = UniGridFunctions.GetDataRowView(viewButton.Parent as DataControlFieldCell); int taskId = ValidationHelper.GetInteger(drv["TaskID"], 0); string detailUrl = ResolveUrl("~/CMSModules/Integration/Pages/Administration/View.aspx?taskid=") + taskId; viewButton.OnClientClick = "modalDialog('" + detailUrl + "', 'tasklog', 1400, 1200); return false;"; return(viewButton); } return(parameter); case "run": if (sender is CMSGridActionButton) { CMSGridActionButton runButton = sender as CMSGridActionButton; drv = UniGridFunctions.GetDataRowView(runButton.Parent as DataControlFieldCell); int connectorId = ValidationHelper.GetInteger(drv["SynchronizationConnectorID"], 0); var connector = IntegrationConnectorInfoProvider.GetIntegrationConnectorInfo(connectorId); bool processingDisabled = TasksAreInbound ? !IntegrationHelper.IntegrationProcessExternal : !IntegrationHelper.IntegrationProcessInternal; if (processingDisabled || (connector == null) || !connector.ConnectorEnabled) { // Set appropriate tooltip if (processingDisabled) { runButton.ToolTip = GetString("integration.processingdisabled"); } else { if ((connector != null) && !connector.ConnectorEnabled) { runButton.ToolTip = String.Format(GetString("integration.connectordisabled"), HTMLHelper.HTMLEncode(connector.ConnectorDisplayName)); } else { runButton.ToolTip = GetString("integration.connectorunavailable"); } } runButton.Enabled = false; runButton.OnClientClick = "return false;"; runButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); return(runButton); } } break; } return(parameter); }
/// <summary> /// External data binding handler. /// </summary> protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { // Prepare variables string culture; DataRowView data; sourceName = sourceName.ToLowerCSafe(); SiteInfo site; switch (sourceName) { // Edit button case EXTERNALSOURCE_EDIT: if (sender is CMSGridActionButton) { var editButton = (CMSGridActionButton)sender; data = UniGridFunctions.GetDataRowView(editButton.Parent as DataControlFieldCell); site = GetSiteFromRow(data); int nodeId = ValidationHelper.GetInteger(data[SOURCE_NODEID], 0); culture = ValidationHelper.GetString(data[SOURCE_DOCUMENTCULTURE], string.Empty); string type = ValidationHelper.GetString(DataHelper.GetDataRowViewValue(data, SOURCE_TYPE), string.Empty); // Check permissions if ((site.Status != SiteStatusEnum.Running) || (!CMSPage.IsUserAuthorizedPerContent(site.SiteName) || ((ListingType == ListingTypeEnum.All) && (type == LISTINGTYPE_RECYCLEBIN)))) { editButton.Enabled = false; editButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); } else { editButton.Attributes.Add("data-site-url", ResolveSiteUrl(site)); editButton.Attributes.Add("data-node-id", nodeId.ToString()); editButton.Attributes.Add("data-document-culture", culture); } editButton.OnClientClick = "return false"; return(editButton); } return(sender); // Preview button case EXTERNALSOURCE_PREVIEW: if (sender is CMSGridActionButton) { var previewButton = (CMSGridActionButton)sender; data = UniGridFunctions.GetDataRowView(previewButton.Parent as DataControlFieldCell); site = GetSiteFromRow(data); string type = ValidationHelper.GetString(DataHelper.GetDataRowViewValue(data, SOURCE_TYPE), string.Empty); if ((site.Status != SiteStatusEnum.Running) || ((ListingType == ListingTypeEnum.All) && (type == LISTINGTYPE_RECYCLEBIN))) { previewButton.Enabled = false; previewButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); } else { culture = ValidationHelper.GetString(data[SOURCE_DOCUMENTCULTURE], string.Empty); var nodeID = ValidationHelper.GetInteger(data[SOURCE_NODEID], 0); // Generate preview URL var query = QueryHelper.BuildQuery("viewmode", ((int)ViewModeEnum.Preview).ToString(), URLHelper.LanguageParameterName, culture); string url = DocumentURLProvider.GetPresentationUrlHandlerPath(culture, nodeID, query); previewButton.Attributes.Add("data-preview-url", URLHelper.GetAbsoluteUrl(url, site.DomainName)); } previewButton.OnClientClick = "return false"; return(previewButton); } return(sender); // Document name column case EXTERNALSOURCE_DOCUMENTNAME: data = (DataRowView)parameter; string name = ValidationHelper.GetString(data[SOURCE_DOCUMENTNAME], string.Empty); string className = ValidationHelper.GetString(data[SOURCE_CLASSNAME], string.Empty); if (name == string.Empty) { name = GetString("general.root"); } // Add document type icon string result = string.Empty; switch (ListingType) { case ListingTypeEnum.DocTypeDocuments: break; default: var dataClass = DataClassInfoProvider.GetDataClassInfo(className); if (dataClass != null) { var iconClass = (string)dataClass.GetValue(SOURCE_CLASSICONCLASS); result = UIHelper.GetDocumentTypeIcon(Page, className, iconClass); } break; } result += "<span>" + HTMLHelper.HTMLEncode(TextHelper.LimitLength(name, 50)) + "</span>"; // Show document marks only if method is not called from grid export if ((sender != null) && (ListingType != ListingTypeEnum.All)) { bool isLink = (data.Row.Table.Columns.Contains(SOURCE_NODELINKEDNODEID) && (data[SOURCE_NODELINKEDNODEID] != DBNull.Value)); if (isLink) { // Add link icon result += DocumentUIHelper.GetDocumentMarkImage(Parent.Page, DocumentMarkEnum.Link); } } return(result); // Class name column case EXTERNALSOURCE_CLASSDISPLAYNAME: string displayName = ValidationHelper.GetString(parameter, string.Empty); if (sourceName.ToLowerCSafe() == EXTERNALSOURCE_CLASSDISPLAYNAMETOOLTIP) { displayName = TextHelper.LimitLength(displayName, 50); } if (displayName == string.Empty) { displayName = "-"; } return(HTMLHelper.HTMLEncode(ResHelper.LocalizeString(displayName))); case EXTERNALSOURCE_DOCUMENTNAMETOOLTIP: data = (DataRowView)parameter; return(UniGridFunctions.DocumentNameTooltip(data)); case EXTERNALSOURCE_STEPDISPLAYNAME: // Step display name int stepId = ValidationHelper.GetInteger(parameter, 0); if (stepId > 0) { return(new ObjectTransformation(WorkflowStepInfo.OBJECT_TYPE, stepId) { Transformation = "{%stepdisplayname|(encode)%}" }); } return("-"); // Version column case EXTERNALSOURCE_VERSION: if (parameter == DBNull.Value) { parameter = "-"; } parameter = HTMLHelper.HTMLEncode(parameter.ToString()); return(parameter); // Document timestamp column case EXTERNALSOURCE_MODIFIEDWHEN: case EXTERNALSOURCE_MODIFIEDWHENTOOLTIP: if (String.IsNullOrEmpty(parameter.ToString())) { return(String.Empty); } if (currentSiteInfo == null) { currentSiteInfo = SiteContext.CurrentSite; } if (sourceName.EqualsCSafe(EXTERNALSOURCE_MODIFIEDWHEN, StringComparison.InvariantCultureIgnoreCase)) { DateTime time = ValidationHelper.GetDateTime(parameter, DateTimeHelper.ZERO_TIME); return(TimeZoneHelper.ConvertToUserTimeZone(time, true, currentUserInfo, currentSiteInfo)); } return(mGMTTooltip ?? (mGMTTooltip = TimeZoneHelper.GetUTCLongStringOffset(currentUserInfo, currentSiteInfo))); } return(parameter); }
protected object UniGridTasks_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLower()) { case "useexternalservice": // Use external service { ImageButton imgButton = sender as ImageButton; if (imgButton != null) { bool visible = false; // Only if setting 'Use external service' is allowed if (SchedulingHelper.UseExternalService) { DataRowView drv = UniGridFunctions.GetDataRowView(imgButton.Parent as DataControlFieldCell); if (drv != null) { // Indicates whether the task is processed by an external service bool taskUseExternalService = ValidationHelper.GetBoolean(drv["TaskUseExternalService"], false); // Indicates whether the task is enabled bool taskEnabled = ValidationHelper.GetBoolean(drv["TaskEnabled"], false); if (taskUseExternalService && taskEnabled) { DateTime taskLastRunTime = ValidationHelper.GetDateTime(drv["TaskLastRunTime"], DateTimeHelper.ZERO_TIME); if (taskLastRunTime != DateTimeHelper.ZERO_TIME) { // Task period string interval = ValidationHelper.GetString(drv["TaskInterval"], null); DateTime now = DateTime.Now; TimeSpan period = SchedulingHelper.GetNextTime(interval, taskLastRunTime, now).Subtract(now); // Actual different time between now date and last run time TimeSpan actualDifferent = now.Subtract(taskLastRunTime); // Show image if actual different time is three times larger than task period if ((period.TotalSeconds > 0) && (actualDifferent.TotalSeconds > (period.TotalSeconds * 3))) { imgButton.ToolTip = GetString("scheduledtask.useservicewarning"); visible = true; } } } } } imgButton.Visible = visible; if (imgButton.Visible) { imgButton.OnClientClick = "return false;"; imgButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); } } } break; case "taskexecutions": if (string.IsNullOrEmpty(Convert.ToString(parameter))) { return(0); } break; } return(parameter); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { DataRowView drv = null; switch (sourceName.ToLowerCSafe()) { case "result": drv = parameter as DataRowView; string errorMsg = ValidationHelper.GetString(drv["SynchronizationErrorMessage"], string.Empty); bool errorOccurred = !string.IsNullOrEmpty(errorMsg); if (errorOccurred) { int synchronizationId = ValidationHelper.GetInteger(drv["SynchronizationID"], 0); string logUrl = ResolveUrl("~/CMSModules/Integration/Pages/Administration/Log.aspx?synchronizationid=") + synchronizationId; return(String.Format("<a target=\"_blank\" href=\"{0}\" onclick=\"modalDialog('{0}', 'tasklog', 700, 500); return false;\">{1}</a>", logUrl, GetString("Tasks.ResultFailed"))); } else { return(string.Empty); } case "view": if (sender is ImageButton) { ImageButton viewButton = sender as ImageButton; drv = UniGridFunctions.GetDataRowView(viewButton.Parent as DataControlFieldCell); int taskId = ValidationHelper.GetInteger(drv["TaskID"], 0); string detailUrl = ResolveUrl("~/CMSModules/Integration/Pages/Administration/View.aspx?taskid=") + taskId; viewButton.OnClientClick = "modalDialog('" + detailUrl + "', 'tasklog', 700, 500); return false;"; return(viewButton); } return(parameter); case "run": if (sender is ImageButton) { ImageButton runButton = sender as ImageButton; drv = UniGridFunctions.GetDataRowView(runButton.Parent as DataControlFieldCell); bool connectorEnabled = ValidationHelper.GetBoolean(drv["ConnectorEnabled"], false); string connectorName = ValidationHelper.GetString(drv["ConnectorName"], String.Empty); bool processingDisabled = TasksAreInbound ? !IntegrationHelper.IntegrationProcessExternal : !IntegrationHelper.IntegrationProcessInternal; if (processingDisabled || (IntegrationHelper.GetConnector(connectorName) == null) || !connectorEnabled) { // Set appropriate tooltip if (processingDisabled) { runButton.ToolTip = GetString("integration.processingdisabled"); } else { string connectorDisplayName = ValidationHelper.GetString(drv["ConnectorDisplayName"], String.Empty); if (!connectorEnabled) { runButton.ToolTip = String.Format(GetString("integration.connectordisabled"), HTMLHelper.HTMLEncode(connectorDisplayName)); } else { runButton.ToolTip = String.Format(GetString("integration.connectorunavailable"), HTMLHelper.HTMLEncode(connectorDisplayName)); } } runButton.ImageUrl = GetImageUrl("/Design/Controls/UniGrid/Actions/SynchronizeDisabled.png"); runButton.OnClientClick = "return false;"; runButton.Style.Add(HtmlTextWriterStyle.Cursor, "default"); return(runButton); } } break; } return(parameter); }
protected object gridLanguages_OnExternalDataBound(object sender, string sourceName, object parameter) { TranslationStatusEnum status = TranslationStatusEnum.NotAvailable; DataRowView drv = null; sourceName = sourceName.ToLower(); switch (sourceName) { case "action": ImageButton img = new ImageButton(); if (sender != null) { // Get datarowview drv = UniGridFunctions.GetDataRowView(sender as DataControlFieldCell); if ((drv != null) && (drv.Row["TranslationStatus"] != DBNull.Value)) { // Get translation status status = (TranslationStatusEnum)drv.Row["TranslationStatus"]; } else { status = TranslationStatusEnum.NotAvailable; } // Set appropriate icon switch (status) { case TranslationStatusEnum.NotAvailable: img.ImageUrl = GetImageUrl("CMSModules/CMS_Content/Properties/addculture.png"); img.ToolTip = GetString("transman.createnewculture"); break; default: img.ImageUrl = GetImageUrl("CMSModules/CMS_Content/Properties/editculture.png"); img.ToolTip = GetString("transman.editculture"); break; } string culture = (drv != null) ? ValidationHelper.GetString(drv.Row["DocumentCulture"], string.Empty) : string.Empty; // Register redirect script img.OnClientClick = "RedirectItem(" + nodeId + ", '" + culture + "');"; img.ID = "imgAction"; } return(img); case "translationstatus": if (parameter == DBNull.Value) { status = TranslationStatusEnum.NotAvailable; } else { status = (TranslationStatusEnum)parameter; } string statusName = GetString("transman." + status); string statusHtml = "<span class=\"" + status + "\">" + statusName + "</span>"; // .Outdated return(statusHtml); case "documentculturedisplayname": drv = (DataRowView)parameter; // Add icon return(UniGridFunctions.DocumentCultureFlag(drv, this.Page)); case "documentmodifiedwhen": case "documentmodifiedwhentooltip": if (string.IsNullOrEmpty(parameter.ToString())) { return("-"); } else { DateTime modifiedWhen = ValidationHelper.GetDateTime(parameter, DateTimeHelper.ZERO_TIME); if (currentUserInfo == null) { currentUserInfo = CMSContext.CurrentUser; } if (currentSiteInfo == null) { currentSiteInfo = CMSContext.CurrentSite; } bool displayGMT = (sourceName == "documentmodifiedwhentooltip"); return(TimeZoneHelper.ConvertToUserTimeZone(modifiedWhen, displayGMT, currentUserInfo, currentSiteInfo)); } case "versionnumber": if (string.IsNullOrEmpty(parameter.ToString())) { return("-"); } break; case "documentname": if (string.IsNullOrEmpty(parameter.ToString())) { parameter = "-"; } return(HTMLHelper.HTMLEncode(parameter.ToString())); case "published": bool published = ValidationHelper.GetBoolean(parameter, false); if (published) { return("<span class=\"DocumentPublishedYes\">" + GetString("General.Yes") + "</span>"); } else { return("<span class=\"DocumentPublishedNo\">" + GetString("General.No") + "</span>"); } } return(parameter); }