Exemplo n.º 1
0
    /// <summary>
    /// Page_Load event.
    /// </summary>
    protected void Page_Load(object sender, EventArgs e)
    {
        // If current control context is widget or livesite hide site selector
        if (ControlsHelper.CheckControlContext(this, ControlContext.WIDGET_PROPERTIES))
        {
            ShowSiteFilter = false;
        }

        Reload(false);
    }
    /// <summary>
    /// Configures the selector.
    /// </summary>
    private void SetupSelector()
    {
        if (mSetupFinished)
        {
            return;
        }

        uniSelector.SelectionMode = SelectionMode;
        uniSelector.AllowEmpty    = AllowEmpty;

        // If current control context is widget or livesite or SingleDropDownList mode hide site selector
        if (ControlsHelper.CheckControlContext(this, ControlContext.WIDGET_PROPERTIES) ||
            ControlsHelper.CheckControlContext(this, ControlContext.LIVE_SITE) ||
            SelectionMode == SelectionModeEnum.SingleDropDownList)
        {
            ShowSiteFilter = false;
        }

        uniSelector.IsLiveSite = IsLiveSite;

        // Return form name or ID according to type of field (if no field specified form name is returned)
        if ((FieldInfo != null) && DataTypeManager.IsInteger(TypeEnum.Field, FieldInfo.DataType))
        {
            uniSelector.ReturnColumnName = "FormID";
            ShowSiteFilter         = false;
            uniSelector.AllowEmpty = true;
        }
        else
        {
            uniSelector.ReturnColumnName = "FormName";
        }

        // Add sites filter
        if (ShowSiteFilter)
        {
            uniSelector.FilterControl = "~/CMSFormControls/Filters/SiteFilter.ascx";
            uniSelector.SetValue("DefaultFilterValue", (SiteID > 0) ? SiteID : SiteContext.CurrentSiteID);
            uniSelector.SetValue("FilterMode", "bizform");
        }
        // Select bizforms depending on a site if not filtered by uniselector site filter
        else
        {
            int siteId = (SiteID == 0) ? SiteContext.CurrentSiteID : SiteID;
            uniSelector.WhereCondition = SqlHelper.AddWhereCondition(uniSelector.WhereCondition, "FormSiteID = " + siteId);
        }

        mSetupFinished = true;
    }
Exemplo n.º 3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (StopProcessing)
        {
            uniSelector.StopProcessing = true;
        }
        else
        {
            // If current control context is widget or livesite hide site selector
            if (ControlsHelper.CheckControlContext(this, ControlContext.WIDGET_PROPERTIES) || ControlsHelper.CheckControlContext(this, ControlContext.LIVE_SITE))
            {
                ShowSiteFilter = false;
            }

            ReloadData();
        }
    }
    protected void SetupControls()
    {
        // If current control context is widget or livesite hide site selector
        if (ControlsHelper.CheckControlContext(this, ControlContext.WIDGET_PROPERTIES) || ControlsHelper.CheckControlContext(this, ControlContext.LIVE_SITE))
        {
            ShowSiteFilter = false;
        }

        // Set prefix if not set
        if (ResourcePrefix == String.Empty)
        {
            // Set resource prefix based on mode
            if ((SelectionMode == SelectionModeEnum.Multiple) || (SelectionMode == SelectionModeEnum.MultipleButton) || (SelectionMode == SelectionModeEnum.MultipleTextBox))
            {
                usUsers.ResourcePrefix = "selectusers";
            }
        }

        // Add sites filter
        if (ShowSiteFilter)
        {
            usUsers.FilterControl = "~/CMSFormControls/Filters/SiteFilter.ascx";
            usUsers.SetValue("DefaultFilterValue", (SiteID > 0) ? SiteID : SiteContext.CurrentSiteID);
            usUsers.SetValue("FilterMode", "user");
        }

        // Generate WhereCondtion based on SelectUser's properties
        var usersWhereCondition = new WhereCondition();
        var userTypeInfo        = ObjectTypeManager.GetTypeInfo(UserInfo.OBJECT_TYPE);

        // Hide hidden users
        if (HideHiddenUsers)
        {
            var apparentUsersCondition = new WhereCondition().WhereEqualsOrNull("UserIsHidden", 0);
            usersWhereCondition.And(apparentUsersCondition);
        }

        // Hide disabled users
        if (HideDisabledUsers)
        {
            var enabledUsersCondition = new WhereCondition(UserInfoProvider.USER_ENABLED_WHERE_CONDITION);
            usersWhereCondition.And(enabledUsersCondition);
        }

        // Hide non-approved users
        if (HideNonApprovedUsers)
        {
            var approvedUserIDs = UserSettingsInfoProvider
                                  .GetUserSettings()
                                  .WhereEqualsOrNull("UserWaitingForApproval", 0)
                                  .Column("UserSettingsUserID");

            var approvedUsersCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, approvedUserIDs);
            usersWhereCondition.And(approvedUsersCondition);
        }

        // Select group users
        if (GroupID > 0)
        {
            var groupUserIDs = new ObjectQuery(PredefinedObjectType.GROUPMEMBER)
                               .WhereEquals("MemberGroupID", GroupID)
                               .Column("MemberUserID");

            // Hide non-approved group users
            if (HideNonApprovedUsers)
            {
                groupUserIDs.WhereNull("MemberRejectedWhen");
            }

            var usersInGroupCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, groupUserIDs);
            usersWhereCondition.And(usersInGroupCondition);
        }

        // Select users in role
        if (RoleID > 0)
        {
            var usersInRoleIDs = UserRoleInfoProvider
                                 .GetUserRoles()
                                 .WhereEquals("RoleID", RoleID)
                                 .Column("UserID");

            var usersInRoleCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, usersInRoleIDs);
            usersWhereCondition.And(usersInRoleCondition);
        }

        // Select users depending on site; if filter enabled, where condition is added from filter itself
        if (!ShowSiteFilter && (SiteID >= 0) && !DisplayUsersFromAllSites)
        {
            int siteID      = (SiteID == 0) ? SiteContext.CurrentSiteID : SiteID;
            var siteUserIDs = UserSiteInfoProvider
                              .GetUserSites()
                              .WhereEquals("SiteID", siteID)
                              .Column("UserID");

            var siteUsersCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, siteUserIDs);

            if (TreatGlobalAdminsAsSiteUsers)
            {
                siteUsersCondition.Or(GetPrivilegeLevelCondition());
            }

            usersWhereCondition.And(siteUsersCondition);
        }

        if (AlwaysShowGlobalAdministrators)
        {
            // New instance has to be created in order to produce brackets
            usersWhereCondition = new WhereCondition(usersWhereCondition).Or(GetPrivilegeLevelCondition());
        }

        // Add additional users
        if ((AdditionalUsers != null) && (AdditionalUsers.Length > 0))
        {
            var additionalUsersCondition = new WhereCondition().WhereIn(userTypeInfo.IDColumn, AdditionalUsers);

            new WhereCondition(usersWhereCondition).Or(additionalUsersCondition);
        }

        // Control where condition
        if (!String.IsNullOrEmpty(WhereCondition))
        {
            usersWhereCondition = new WhereCondition(usersWhereCondition).And(new WhereCondition(WhereCondition));
        }

        // Append generated where condition
        usUsers.WhereCondition = SqlHelper.AddWhereCondition(usUsers.WhereCondition, usersWhereCondition.ToString(expand: true));

        pnlUpdate.ShowProgress = (SelectionMode == SelectionModeEnum.Multiple);
    }
Exemplo n.º 5
0
    protected void SetupControls()
    {
        usUsers.WhereCondition = null;

        // If current control context is widget or livesite hide site selector
        if (ControlsHelper.CheckControlContext(this, ControlContext.WIDGET_PROPERTIES) || ControlsHelper.CheckControlContext(this, ControlContext.LIVE_SITE))
        {
            ShowSiteFilter = false;
        }

        // Set prefix if not set
        if (ResourcePrefix == String.Empty)
        {
            // Set resource prefix based on mode
            if ((SelectionMode == SelectionModeEnum.Multiple) || (SelectionMode == SelectionModeEnum.MultipleButton) || (SelectionMode == SelectionModeEnum.MultipleTextBox))
            {
                usUsers.ResourcePrefix = "selectusers";
            }
            else
            {
                usUsers.ResourcePrefix = "selectuser";
            }
        }

        // Add sites filter
        if (ShowSiteFilter)
        {
            usUsers.FilterControl = "~/CMSFormControls/Filters/SiteFilter.ascx";
            usUsers.SetValue("DefaultFilterValue", (SiteID > 0) ? SiteID : CMSContext.CurrentSiteID);
            usUsers.SetValue("FilterMode", "user");
        }


        // Hide hidden users
        if (HideHiddenUsers)
        {
            const string where     = "((UserIsHidden IS NULL) OR (UserIsHidden=0))";
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, where);
        }

        // Hide disabled users
        if (HideDisabledUsers)
        {
            const string where     = "((UserEnabled IS NULL) OR (UserEnabled = 1))";
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, where);
        }

        // Hide non-approved users
        if (HideNonApprovedUsers)
        {
            const string where =
                "UserID IN (SELECT UserSettingsUserID FROM CMS_UserSettings WHERE ((UserWaitingForApproval IS NULL) OR (UserWaitingForApproval = 0)))";
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, where);
        }

        // Select group users
        if (GroupID > 0)
        {
            string where           = "UserID IN (SELECT MemberUserID FROM Community_GroupMember WHERE MemberGroupID = " + GroupID + ")";
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, where);

            // Hide non-approved group users
            if (HideNonApprovedUsers)
            {
                string whereNonApproved =
                    "UserID IN (SELECT MemberUserID FROM Community_GroupMember WHERE (MemberGroupID = " + GroupID + ") AND (MemberRejectedWhen IS NULL))";
                usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, whereNonApproved);
            }
        }

        // Select users in role
        if (RoleID > 0)
        {
            string where           = "UserID IN (SELECT UserID FROM CMS_UserRole WHERE RoleID = " + RoleID + ")";
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, where);
        }

        // Select users depending on site; if filter enabled, where condition is added from filter itself
        if (!ShowSiteFilter && (SiteID >= 0) && !DisplayUsersFromAllSites)
        {
            int siteId = (SiteID == 0) ? CMSContext.CurrentSiteID : SiteID;
            string where = "UserID IN (SELECT UserID FROM CMS_UserSite WHERE SiteID = " + siteId + ")";
            if (TreatGlobalAdminsAsSiteUsers)
            {
                where = SqlHelperClass.AddWhereCondition(where, "UserIsGlobalAdministrator=1", "OR");
            }
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, where);
        }

        // Add aditional users
        if ((AdditionalUsers != null) && (AdditionalUsers.Length > 0))
        {
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, SqlHelperClass.GetWhereCondition("UserID", AdditionalUsers), "OR");
        }

        // Control where condition
        if (!String.IsNullOrEmpty(WhereCondition))
        {
            usUsers.WhereCondition = SqlHelperClass.AddWhereCondition(usUsers.WhereCondition, WhereCondition);
        }

        pnlUpdate.ShowProgress = (this.SelectionMode == SelectionModeEnum.Multiple);
    }