using System; using System.Data; using System.Collections; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Collections.Generic; using CMS.GlobalHelper; using CMS.SettingsProvider; using CMS.UIControls; using CMS.WorkflowEngine; public partial class CMSModules_Workflows_Controls_UI_WorkflowAction_List : CMSAdminListControl { #region "Properties" /// /// Only actions with specified allowed objects will be listed. /// public string AllowedObjects { get; set; } /// /// Current object type. /// public string ObjectType { get { return gridElem.ObjectType; } set { gridElem.ObjectType = value; } } #endregion #region "Methods" protected void Page_Load(object sender, EventArgs e) { gridElem.OnExternalDataBound += gridElem_OnExternalDataBound; gridElem.OnBeforeDataReload += gridElem_OnBeforeDataReload; } private void gridElem_OnBeforeDataReload() { // Hide allowed objects column when not in development mode gridElem.NamedColumns["scope"].Visible = SettingsKeyProvider.DevelopmentMode; } private object gridElem_OnExternalDataBound(object sender, string sourceName, object parameter) { switch (sourceName.ToLowerCSafe()) { case "enabled": return UniGridFunctions.ColoredSpanYesNo(parameter, true); case "scope": string types = ValidationHelper.GetString(parameter, ""); var typeList = TypeHelper.GetTypes(types); if (typeList.Count == 0) { return GetString("general.selectall"); } string list = ""; typeList.ForEach(s => list += ResHelper.GetString(ResHelper.GetAPIString("ObjectTasks." + s.Replace(".", "_").Replace("#", "_"), s)) + ", "); return list.Trim().TrimEnd(','); } return parameter; } #endregion }