private object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "delete": // Disable "delete" button for system objects bool iscustom = ValidationHelper.GetBoolean(((DataRowView)((GridViewRow)parameter).DataItem).Row["ActivityTypeIsCustom"], false); var button = (CMSGridActionButton)sender; if (!iscustom) { button.Enabled = false; } break; case "activitytypename": var activityTypeRow = parameter as DataRowView; if (activityTypeRow == null) { return(string.Empty); } // Create tag with activity type name and color var activityTypeInfo = new ActivityTypeInfo(activityTypeRow.Row); return(new Tag { Text = activityTypeInfo.ActivityTypeDisplayName, Color = activityTypeInfo.ActivityTypeColor }); } return(sender); }
/// <summary> /// Returns activity type description for provided activity type <paramref name="activityTypeCodeName"/>. /// If no such activity type exists, returns activity code name. /// </summary> private static string GetActivityTypeDescription(object activityTypeCodeName) { ActivityTypeInfo activityTypeInfo = GetActivityTypeByCodeName(activityTypeCodeName); var activityTypeDescription = activityTypeInfo != null ? ResHelper.LocalizeString(activityTypeInfo.ActivityTypeDescription) : ValidationHelper.GetString(activityTypeCodeName, null); return HTMLHelper.HTMLEncode(activityTypeDescription); }
/// <summary> /// Returns activity type name for provided activity type <paramref name="activityTypeCodeName"/> and <paramref name="activityTypeInfo"/>. /// If no such activity type exists, returns activity code name. /// </summary> private static string GetActivityTypeName(object activityTypeCodeName, ActivityTypeInfo activityTypeInfo) { var activityTypeName = activityTypeInfo != null?ResHelper.LocalizeString(activityTypeInfo.ActivityTypeDisplayName) : ValidationHelper.GetString(activityTypeCodeName, null); return(HTMLHelper.HTMLEncode(activityTypeName)); }
/// <summary> /// Sets the second part of breadcrumbs (name of activity type). /// </summary> private void RefreshBreadCrumb() { ActivityTypeInfo ati = (ActivityTypeInfo)EditedObject; if (ati != null) { CurrentPage.SetBreadcrumb(1, ati.ActivityTypeDisplayName, null, null, null); } }
/// <summary> /// Checks form field name and tries to find appropriate form control for field representation. /// </summary> /// <param name="ffi">Form field info</param> /// <param name="ati">Activity type info</param> /// <param name="selectedActivity">Activity selected in drop-down menu</param> /// <param name="activitiesWithValue">Collection of activities with values</param> /// <param name="controlName">Referring control name</param> /// <returns> /// False, if activity form control is not defined or activity should has value and is not present in given /// collection; true otherwise. Sets referring control name, if proper form control is found. /// </returns> private bool GetControlNameForActivities(FormFieldInfo ffi, ActivityTypeInfo ati, string selectedActivity, IEnumerable <string> activitiesWithValue, ref string controlName) { string nameToLower = ffi.Name.ToLowerInvariant(); switch (nameToLower) { case "activityitemid": if (string.IsNullOrEmpty(ati.ActivityTypeMainFormControl)) { return(false); } CheckFormControl(ati.ActivityTypeMainFormControl, ref controlName); SetCaptionToField(ffi, "activityitem." + selectedActivity); break; case "activityitemdetailid": if (string.IsNullOrEmpty(ati.ActivityTypeDetailFormControl)) { return(false); } CheckFormControl(ati.ActivityTypeDetailFormControl, ref controlName); SetCaptionToField(ffi, "activityitemdetail." + selectedActivity); break; case "activitycreated": SetCaptionToField(ffi, "om.activity.createdbetween"); break; case "activitynodeid": // Document selector for NodeID controlName = "selectdocument"; break; case "activityculture": // Culture selector for culture controlName = "sitecultureselector"; break; case "activityvalue": // Show activity value only for relevant activity types if ((!ati.ActivityTypeIsCustom) && (!activitiesWithValue.Contains(selectedActivity))) { return(false); } break; } return(true); }
protected object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName) { case "view": ImageButton viewBtn = (ImageButton)sender; viewBtn.OnClientClick = string.Format("dialogParams_{0} = '{1}';{2};return false;", ClientID, viewBtn.CommandArgument, Page.ClientScript.GetCallbackEventReference(this, "dialogParams_" + ClientID, "ViewDetails", null)); break; case "delete": ImageButton deleteBtn = (ImageButton)sender; if (!ShowRemoveButton || !modifyPermission) { deleteBtn.Enabled = false; deleteBtn.Attributes.Add("src", GetImageUrl("Design/Controls/UniGrid/Actions/DeleteDisabled.png")); } deleteBtn.Visible = ShowRemoveButton; break; case "acttype": case "acttypedesc": string codeName = ValidationHelper.GetString(parameter, null); string value = null; ActivityTypeInfo ati = ActivityTypeInfoProvider.GetActivityTypeInfo(codeName); if (ati != null) { if (sourceName == "acttype") { value = ResHelper.LocalizeString(ati.ActivityTypeDisplayName); } else { value = ResHelper.LocalizeString(ati.ActivityTypeDescription); } return(HTMLHelper.HTMLEncode(value)); } return(HTMLHelper.HTMLEncode(codeName)); } return(null); }
protected void Page_Load(object sender, EventArgs e) { bool develMode = SettingsKeyProvider.DevelopmentMode; EditForm.OnAfterSave += new EventHandler(EditForm_OnAfterSave); fIsCustom.Visible = develMode; ucDetailControl.ShowControlsOfType = 2; ucMainControl.ShowControlsOfType = 2; // Hide codename textbox and "allow manual creation" checkbox for system types if ((EditForm.EditedObject != null) && (EditForm.EditedObject.Generalized != null)) { ActivityTypeInfo ati = ActivityTypeInfoProvider.GetActivityTypeInfo(EditForm.EditedObject.Generalized.ObjectID); if (ati != null) { fName.Visible = develMode || ati.ActivityTypeIsCustom; fManualCreationAllowed.Visible = ati.ActivityTypeIsCustom; fEnable.Visible = develMode || ati.ActivityTypeIsCustom; } } }
/// <summary> /// Loads data of specific activity. /// </summary> protected void LoadData() { if (activityId <= 0) { return; } // Load and check if object exists ActivityInfo ai = ActivityInfo.Provider.Get(activityId); EditedObject = ai; ActivityTypeInfo ati = ActivityTypeInfo.Provider.Get(ai.ActivityType); plcActivityValue.Visible = (ati == null) || ati.ActivityTypeIsCustom || (ati.ActivityTypeName == PredefinedActivityType.PAGE_VISIT) && !String.IsNullOrEmpty(ai.ActivityValue); string dispName = (ati != null ? ati.ActivityTypeDisplayName : GetString("general.na")); lblTypeVal.Text = String.Format("{0}", HTMLHelper.HTMLEncode(dispName)); lblContactVal.Text = HTMLHelper.HTMLEncode(ContactInfoProvider.GetContactFullName(ai.ActivityContactID)); // Init contact detail link string contactURL = ApplicationUrlHelper.GetElementDialogUrl(ModuleName.CONTACTMANAGEMENT, "EditContact", ai.ActivityContactID); btnContact.Attributes.Add("onClick", ScriptHelper.GetModalDialogScript(contactURL, "ContactDetail")); btnContact.ToolTip = GetString("general.edit"); lblDateVal.Text = (ai.ActivityCreated == DateTimeHelper.ZERO_TIME ? GetString("general.na") : HTMLHelper.HTMLEncode(ai.ActivityCreated.ToString())); // Get site display name string siteName = SiteInfoProvider.GetSiteName(ai.ActivitySiteID); if (String.IsNullOrEmpty(siteName)) { siteName = GetString("general.na"); } else { // Retrieve site info and its display name SiteInfo si = SiteInfo.Provider.Get(siteName); if (si != null) { siteName = HTMLHelper.HTMLEncode(ResHelper.LocalizeString(si.DisplayName)); } else { siteName = GetString("general.na"); } } lblSiteVal.Text = siteName; string url = ai.ActivityURL; plcCampaign.Visible = !String.IsNullOrEmpty(ai.ActivityCampaign); lblCampaignVal.Text = HTMLHelper.HTMLEncode(ai.ActivityCampaign); lblValue.Text = HTMLHelper.HTMLEncode(String.IsNullOrEmpty(ai.ActivityValue) ? GetString("general.na") : ai.ActivityValue); // Init textboxes only for the first time if (!RequestHelper.IsPostBack()) { txtComment.Value = ai.ActivityComment; txtTitle.Text = ai.ActivityTitle; txtURLRef.Text = ai.ActivityURLReferrer; if (ai.ActivityType != PredefinedActivityType.NEWSLETTER_CLICKTHROUGH) { txtURL.Text = url; } } cDetails.ActivityID = activityId; // Init link button URL if (ai.ActivitySiteID > 0) { SiteInfo si = SiteInfo.Provider.Get(ai.ActivitySiteID); if (si != null) { // Hide view button if URL is blank string activityUrl = ai.ActivityURL; if ((activityUrl != null) && !String.IsNullOrEmpty(activityUrl.Trim())) { string appUrl = URLHelper.GetApplicationUrl(si.DomainName); url = URLHelper.GetAbsoluteUrl(activityUrl, appUrl, appUrl, ""); url = URLHelper.AddParameterToUrl(url, URLHelper.SYSTEM_QUERY_PARAMETER, "1"); btnView.ToolTip = GetString("general.view"); btnView.NavigateUrl = url; btnView.Visible = true; } else { btnView.Visible = false; } } } }
/// <summary> /// Initializes controls for activity rule. /// </summary> private void InitActivityRuleControls(string selectedActivityType) { ucActivityType.OnSelectedIndexChanged += new EventHandler(ucActivityType_OnSelectedIndexChanged); // Init activity selector from edited object if any string activityType = selectedActivityType; if ((EditForm.EditedObject != null) && !RequestHelper.IsPostBack()) { ucActivityType.Value = ValidationHelper.GetString(EditForm.Data["RuleParameter"], PredefinedActivityType.ABUSE_REPORT); activityType = ucActivityType.SelectedValue; PreviousActivityType = activityType; } // List of ignored columns string ignoredColumns = "|activitytype|activitysiteid|activityguid|activityactivecontactid|activityoriginalcontactid|pagevisitid|pagevisitactivityid|searchid|searchactivityid|"; // List of activities with "ActivityValue" StringBuilder sb = new StringBuilder(); sb.Append("|"); sb.Append(PredefinedActivityType.PURCHASE); sb.Append("|"); sb.Append(PredefinedActivityType.PURCHASEDPRODUCT); sb.Append("|"); sb.Append(PredefinedActivityType.RATING); sb.Append("|"); sb.Append(PredefinedActivityType.POLL_VOTING); sb.Append("|"); sb.Append(PredefinedActivityType.PRODUCT_ADDED_TO_SHOPPINGCART); sb.Append("|"); string showActivityValueFor = sb.ToString(); // Get columns from OM_Activity (i.e. base table for all activities) ActivityTypeInfo ati = ActivityTypeInfoProvider.GetActivityTypeInfo(activityType); FormInfo fi = new FormInfo(null); // Get columns from additional table (if any) according to selected activity type (page visit, search) FormInfo additionalFieldsForm = null; bool extraFieldsAtEnd = true; switch (activityType) { case PredefinedActivityType.PAGE_VISIT: case PredefinedActivityType.LANDING_PAGE: // Page visits additionalFieldsForm = FormHelper.GetFormInfo(OnlineMarketingObjectType.PAGEVISIT, false); break; case PredefinedActivityType.INTERNAL_SEARCH: case PredefinedActivityType.EXTERNAL_SEARCH: // Search additionalFieldsForm = FormHelper.GetFormInfo(OnlineMarketingObjectType.SEARCH, false); extraFieldsAtEnd = false; break; } // Get the activity form elements FormInfo filterFieldsForm = FormHelper.GetFormInfo(OnlineMarketingObjectType.ACTIVITY, true); var elements = filterFieldsForm.GetFormElements(true, false); FormCategoryInfo newCategory = null; string caption = null; string captionKey = null; foreach (var elem in elements) { if (elem is FormCategoryInfo) { // Form category newCategory = (FormCategoryInfo)elem; } else if (elem is FormFieldInfo) { // Form field FormFieldInfo ffi = (FormFieldInfo)elem; // Skip ignored columns if (ignoredColumns.IndexOfCSafe("|" + ffi.Name.ToLowerCSafe() + "|") >= 0) { continue; } string controlName = null; if (!ffi.PrimaryKey && (fi.GetFormField(ffi.Name) == null)) { // Set default filters switch (ffi.DataType) { case FormFieldDataTypeEnum.Text: case FormFieldDataTypeEnum.LongText: controlName = "textfilter"; ffi.Settings["OperatorFieldName"] = ffi.Name + ".operator"; break; case FormFieldDataTypeEnum.DateTime: controlName = "datetimefilter"; ffi.Settings["SecondDateFieldName"] = ffi.Name + ".seconddatetime"; break; case FormFieldDataTypeEnum.Integer: case FormFieldDataTypeEnum.LongInteger: controlName = "numberfilter"; ffi.Settings["OperatorFieldName"] = ffi.Name + ".operator"; break; case FormFieldDataTypeEnum.GUID: continue; } // For item ID and detail ID fields use control defined in activity type if (CMSString.Compare(ffi.Name, "ActivityItemID", true) == 0) { if (ati.ActivityTypeMainFormControl == null) { continue; } if (ati.ActivityTypeMainFormControl != String.Empty) { // Check if user defined control exists FormUserControlInfo fui = FormUserControlInfoProvider.GetFormUserControlInfo(ati.ActivityTypeMainFormControl); if (fui != null) { controlName = ati.ActivityTypeMainFormControl; } } // Set detailed caption captionKey = "activityitem." + activityType; caption = GetString(captionKey); if (!caption.EqualsCSafe(captionKey, true)) { ffi.Caption = caption; } } else if (CMSString.Compare(ffi.Name, "ActivityItemDetailID", true) == 0) { if (ati.ActivityTypeDetailFormControl == null) { continue; } if (ati.ActivityTypeDetailFormControl != String.Empty) { // Check if user defined control exists FormUserControlInfo fui = FormUserControlInfoProvider.GetFormUserControlInfo(ati.ActivityTypeDetailFormControl); if (fui != null) { controlName = ati.ActivityTypeDetailFormControl; } } // Set detailed caption captionKey = "activityitemdetail." + activityType; caption = GetString(captionKey); if (!caption.EqualsCSafe(captionKey, true)) { ffi.Caption = caption; } } else if (CMSString.Compare(ffi.Name, "ActivityNodeID", true) == 0) { // Document selector for NodeID controlName = "selectdocument"; } else if (CMSString.Compare(ffi.Name, "ActivityCulture", true) == 0) { // Culture selector for culture controlName = "sitecultureselector"; } else if (CMSString.Compare(ffi.Name, "ActivityValue", true) == 0) { // Show activity value only for relevant activity types if (!ati.ActivityTypeIsCustom && (showActivityValueFor.IndexOfCSafe("|" + activityType + "|", true) < 0)) { continue; } } if (controlName != null) { // SKU selector for product ffi.Settings["controlname"] = controlName; if (CMSString.Compare(controlName, "skuselector", true) == 0) { ffi.Settings["allowempty"] = true; } } // Ensure the category if (newCategory != null) { fi.AddFormCategory(newCategory); newCategory = null; // // Extra fields at the beginning if (!extraFieldsAtEnd && (additionalFieldsForm != null)) { AddExtraFields(ignoredColumns, fi, additionalFieldsForm); additionalFieldsForm = null; } } fi.AddFormField(ffi); } } } // Extra fields at end if (extraFieldsAtEnd && (additionalFieldsForm != null)) { // Ensure the category for extra fields if (newCategory != null) { fi.AddFormCategory(newCategory); newCategory = null; } AddExtraFields(ignoredColumns, fi, additionalFieldsForm); } LoadForm(activityFormCondition, fi, activityType); }
private bool TypeCanBeDeleted(ActivityTypeInfo activityType) { return((activityType != null) && activityType.ActivityTypeIsCustom && CurrentUser.CheckPrivilegeLevel(UserPrivilegeLevelEnum.GlobalAdmin)); }
/// <summary> /// Initializes controls for activity rule. /// </summary> /// <param name="selectedActivity">Activity selected in drop-down menu</param> private void InitActivitySettings(string selectedActivity) { // Init activity selector from edited object if any LoadEditedActivityRule(ref selectedActivity); string[] ignoredColumns = { "activitytype", "activitysiteid", "activityguid", "activityactivecontactid", "activityoriginalcontactid", "pagevisitid", "pagevisitactivityid", "searchid", "searchactivityid" }; string[] activitiesWithValue = { PredefinedActivityType.PURCHASE, PredefinedActivityType.PURCHASEDPRODUCT, PredefinedActivityType.RATING, PredefinedActivityType.POLL_VOTING, PredefinedActivityType.PRODUCT_ADDED_TO_SHOPPINGCART }; // Get columns from OM_Activity (i.e. base table for all activities) ActivityTypeInfo ati = ActivityTypeInfoProvider.GetActivityTypeInfo(selectedActivity); var fi = new FormInfo(); // Get columns from additional table (if any) according to selected activity type bool extraFieldsAtEnd = true; FormInfo additionalFieldsForm = GetActivityAdditionalFields(selectedActivity, ref extraFieldsAtEnd); // Get the activity form elements FormInfo filterFieldsForm = FormHelper.GetFormInfo(ActivityInfo.OBJECT_TYPE, true); IList <IDataDefinitionItem> elements = filterFieldsForm.GetFormElements(true, false); FormCategoryInfo newCategory = null; foreach (IDataDefinitionItem elem in elements) { if (elem is FormCategoryInfo) { // Form category newCategory = (FormCategoryInfo)elem; } else if (elem is FormFieldInfo) { // Form field var ffi = (FormFieldInfo)elem; // Skip ignored columns if (ignoredColumns.Contains(ffi.Name.ToLowerCSafe())) { continue; } if ((!ffi.PrimaryKey) && (fi.GetFormField(ffi.Name) == null)) { // Skip fields with Guid data type if (ffi.DataType == FieldDataType.Guid) { continue; } // Sets control name based on given datatype of field. Can be overwritten if more proper control is available string controlName = GetControlNameForFieldDataType(ffi); if (!GetControlNameForActivities(ffi, ati, selectedActivity, activitiesWithValue, ref controlName)) { continue; } if (controlName != null) { // SKU selector for product ffi.Settings["controlname"] = controlName; ffi.Settings["allowempty"] = controlName.EqualsCSafe("skuselector", true); } // Ensure the category if (newCategory != null) { fi.AddFormCategory(newCategory); newCategory = null; // Extra fields at the beginning if ((!extraFieldsAtEnd) && (additionalFieldsForm != null)) { AddExtraActivityFields(ignoredColumns, fi, additionalFieldsForm); additionalFieldsForm = null; } } fi.AddFormItem(ffi); } } } // Extra fields at the end if ((extraFieldsAtEnd) && (additionalFieldsForm != null)) { // Ensure the category for extra fields if (newCategory != null) { fi.AddFormCategory(newCategory); } AddExtraActivityFields(ignoredColumns, fi, additionalFieldsForm); } LoadActivityForm(fi, selectedActivity); }
protected void PrepareData() { const int SITE1_ID = 1; SiteInfo currentSite; Fake <SiteInfo, SiteInfoProvider>().WithData( currentSite = SiteInfo.New(s => { s.SiteID = SITE1_ID; s.SiteName = "Site1"; }), SiteInfo.New(s => { s.SiteID = 2; s.SiteName = "Site2"; }) ); siteService = Substitute.For <ISiteService>(); siteService.CurrentSite.Returns(currentSite); Fake <IssueInfo, IssueInfoProvider>().WithData( IssueInfo.New(issue => { issue.IssueGUID = Guid.Parse(GUID1); issue.IssueDisplayName = "Test1"; issue.IssueSiteID = SITE1_ID; }), IssueInfo.New(issue => { issue.IssueGUID = Guid.NewGuid(); issue.IssueDisplayName = "Test2"; issue.IssueSiteID = 2; }) ); Fake <DataClassInfo, DataClassInfoProvider>().WithData( DataClassInfo.New(dc => { dc.ClassDisplayName = "Test Class 1 Display Name"; dc.ClassName = "TestClass1"; }), DataClassInfo.New(dc => { dc.ClassDisplayName = "Test Class 2 Display Name"; dc.ClassName = "TestClass2"; dc.ClassGUID = Guid.Parse(GUID1); }) ); Fake <ContactGroupMemberInfo, ContactGroupMemberInfoProvider>(); Fake <ContactInfo, ContactInfoProvider>().WithData( ContactInfo.New(contact => { contact.ContactEmail = "*****@*****.**"; contact.ContactGUID = Guid.Parse(GUID1); contact.ContactLastName = "TestLastName"; }) ); Fake <UserSiteInfo, UserSiteInfoProvider>().WithData( UserSiteInfo.New(userSite => { userSite.UserID = 1; userSite.SiteID = SITE1_ID; }) ); Fake <UserInfo, UserInfoProvider>().WithData( UserInfo.New(user => { user.UserName = "******"; user.UserID = 1; user.UserGUID = Guid.Parse(GUID1); }) ); Fake <ActivityTypeInfo, ActivityTypeInfoProvider>().WithData( ActivityTypeInfo.New(at => { at.ActivityTypeName = "Activity1"; }) ); }
/// <summary> /// Initializes controls for activity rule. /// </summary> /// <param name="selectedActivity">Activity selected in drop-down menu</param> private void InitActivitySettings(string selectedActivity) { // Init activity selector from edited object if any LoadEditedActivityRule(ref selectedActivity); List <string> ignoredColumns = new List <string> { "activitytype", "activitysiteid", "activitycontactid", }; string[] activitiesWithValue = { PredefinedActivityType.PURCHASE, PredefinedActivityType.PURCHASEDPRODUCT, PredefinedActivityType.PRODUCT_ADDED_TO_SHOPPINGCART }; // Get columns from OM_Activity (i.e. base table for all activities) ActivityTypeInfo ati = ActivityTypeInfo.Provider.Get(selectedActivity); var fi = new FormInfo(); // Get the activity form elements FormInfo filterFieldsForm = FormHelper.GetFormInfo(ActivityInfo.OBJECT_TYPE, true); IList <IDataDefinitionItem> elements = filterFieldsForm.GetFormElements(true, false); if ((selectedActivity != PredefinedActivityType.PAGE_VISIT) && (selectedActivity != PredefinedActivityType.LANDING_PAGE)) { // Show these fields only for 'Page visit' and 'Landing page' ignoredColumns.AddRange(new[] { "activityabvariantname" }); } FormCategoryInfo newCategory = null; foreach (IDataDefinitionItem elem in elements) { if (elem is FormCategoryInfo) { // Form category newCategory = (FormCategoryInfo)elem; } else if (elem is FormFieldInfo) { // Form field var ffi = (FormFieldInfo)elem; // Skip ignored columns if (ignoredColumns.Contains(ffi.Name, StringComparer.InvariantCultureIgnoreCase)) { continue; } if (!ffi.PrimaryKey && (fi.GetFormField(ffi.Name) == null)) { // Skip fields with Guid data type if (ffi.DataType == FieldDataType.Guid) { continue; } // Sets control name based on given datatype of field. Can be overwritten if more proper control is available string controlName = GetControlNameForFieldDataType(ffi); if (!GetControlNameForActivities(ffi, ati, selectedActivity, activitiesWithValue, ref controlName)) { continue; } if (controlName != null) { // SKU selector for product ffi.SetControlName(controlName); ffi.Settings["allowempty"] = ffi.HasFormFieldControlWithName("skuselector"); } // Ensure the category if (newCategory != null) { fi.AddFormCategory(newCategory); newCategory = null; } fi.AddFormItem(ffi); } } } LoadActivityForm(fi, selectedActivity); }
/// <summary> /// Checks form field name and tries to find appropriate form control for field representation. /// </summary> /// <param name="ffi">Form field info</param> /// <param name="ati">Activity type info</param> /// <param name="selectedActivity">Activity selected in drop-down menu</param> /// <param name="activitiesWithValue">Collection of activities with values</param> /// <param name="controlName">Referring control name</param> /// <returns> /// False, if activity form control is not defined or activity should has value and is not present in given /// collection; true otherwise. Sets referring control name, if proper form control is found. /// </returns> private bool GetControlNameForActivities(FormFieldInfo ffi, ActivityTypeInfo ati, string selectedActivity, IEnumerable<string> activitiesWithValue, ref string controlName) { string nameToLower = ffi.Name.ToLowerInvariant(); switch (nameToLower) { case "activityitemid": if (string.IsNullOrEmpty(ati.ActivityTypeMainFormControl)) { return false; } CheckFormControl(ati.ActivityTypeMainFormControl, ref controlName); SetCaptionToField(ffi, "activityitem." + selectedActivity); break; case "activityitemdetailid": if (string.IsNullOrEmpty(ati.ActivityTypeDetailFormControl)) { return false; } CheckFormControl(ati.ActivityTypeDetailFormControl, ref controlName); SetCaptionToField(ffi, "activityitemdetail." + selectedActivity); break; case "activitycreated": SetCaptionToField(ffi, "om.activity.createdbetween"); break; case "activitynodeid": // Document selector for NodeID controlName = "selectdocument"; break; case "activityculture": // Culture selector for culture controlName = "sitecultureselector"; break; case "activityvalue": // Show activity value only for relevant activity types if ((!ati.ActivityTypeIsCustom) && (!activitiesWithValue.Contains(selectedActivity))) { return false; } break; } return true; }