HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/RMourik/bassol.nl/CMS/CMSModules/Workflows/Controls/UI/WorkflowAction/List.ascx.cs
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.Helpers;
using CMS.Base;
using CMS.PortalEngine;
using CMS.UIControls;

public partial class CMSModules_Workflows_Controls_UI_WorkflowAction_List : CMSAdminListControl
{

    #region "Properties"


    /// <summary>
    /// Current object type.
    /// </summary>
    public string ObjectType
    {
        get
        {
            return gridElem.ObjectType;
        }
        set
        {
            gridElem.ObjectType = value;
        }
    }

    #endregion


    #region "Methods"

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        // Init Unigrid
        gridElem.OnAction += uniGrid_OnAction;
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        gridElem.OnExternalDataBound += gridElem_OnExternalDataBound;
        gridElem.OnBeforeDataReload += gridElem_OnBeforeDataReload;
    }


    /// <summary>
    /// Handles the UniGrid's OnAction event.
    /// </summary>
    /// <param name="actionName">Name of item (button) that throws event</param>
    /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param>
    protected void uniGrid_OnAction(string actionName, object actionArgument)
    {
        int objectId = ValidationHelper.GetInteger(actionArgument, 0);

        if (actionName == "edit")
        {
            URLHelper.Redirect(UIContextHelper.GetElementUrl("CMS.OnlineMarketing", "ActionProperties", false, objectId));
        }
    }


    private void gridElem_OnBeforeDataReload()
    {
        // Hide allowed objects column when not in development mode
        gridElem.NamedColumns["scope"].Visible = SystemContext.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(TypeHelper.GetTasksResourceKey(s), s)) + ", ");

                    return list.Trim().TrimEnd(',');
                }
        }

        return parameter;
    }

    #endregion
}