Beispiel #1
0
        /// <summary>
        /// Loads the group roles.
        /// </summary>
        /// <param name="groupTypeId">The group type unique identifier.</param>
        private void LoadGroupRoles(int?groupTypeId)
        {
            int?currentGroupRoleId = this.GroupRoleId;

            _ddlGroupRole.SelectedValue = null;
            _ddlGroupRole.Items.Clear();
            if (groupTypeId.HasValue)
            {
                if (!Required)
                {
                    _ddlGroupRole.Items.Add(new ListItem(string.Empty, Rock.Constants.None.IdValue));
                }

                List <int> excludeGroupRoles = ExcludeGroupRoles;

                var groupRoleService = new Rock.Model.GroupTypeRoleService(new RockContext());
                var groupRoles       = groupRoleService.Queryable()
                                       .Where(r =>
                                              r.GroupTypeId == groupTypeId.Value &&
                                              !excludeGroupRoles.Contains(r.Id))
                                       .OrderBy(a => a.Name)
                                       .ToList();

                foreach (var r in groupRoles)
                {
                    var roleItem = new ListItem(r.Name, r.Id.ToString().ToUpper());
                    roleItem.Selected = r.Id == currentGroupRoleId;
                    _ddlGroupRole.Items.Add(roleItem);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Returns the field's current value(s)
        /// </summary>
        /// <param name="parentControl">The parent control.</param>
        /// <param name="value">Information about the value</param>
        /// <param name="configurationValues">The configuration values.</param>
        /// <param name="condensed">Flag indicating if the value should be condensed (i.e. for use in a grid column)</param>
        /// <returns></returns>
        public override string FormatValue(Control parentControl, string value, Dictionary <string, ConfigurationValue> configurationValues, bool condensed)
        {
            string formattedValue = string.Empty;

            Guid guid = Guid.Empty;

            if (Guid.TryParse(value, out guid))
            {
                var groupRole = new Rock.Model.GroupTypeRoleService().Get(guid);
                if (groupRole != null)
                {
                    formattedValue = groupRole.Name;
                }
            }

            return(base.FormatValue(parentControl, formattedValue, null, condensed));
        }
Beispiel #3
0
        /// <summary>
        /// Sets the value.
        /// </summary>
        /// <param name="control">The control.</param>
        /// <param name="configurationValues">The configuration values.</param>
        /// <param name="value">The value.</param>
        public override void SetEditValue(System.Web.UI.Control control, Dictionary <string, ConfigurationValue> configurationValues, string value)
        {
            Guid guid = Guid.Empty;

            if (Guid.TryParse(value, out guid))
            {
                GroupRolePicker groupRolePicker = control as GroupRolePicker;
                if (groupRolePicker != null)
                {
                    var groupRole = new Rock.Model.GroupTypeRoleService().Get(guid);
                    if (groupRole != null)
                    {
                        groupRolePicker.GroupRoleId = groupRole.Id;
                    }
                }
            }
        }
Beispiel #4
0
        /// <summary>
        /// Reads new values entered by the user for the field
        /// </summary>
        /// <param name="control">Parent control that controls were added to in the CreateEditControl() method</param>
        /// <param name="configurationValues">The configuration values.</param>
        /// <returns></returns>
        public override string GetEditValue(System.Web.UI.Control control, Dictionary <string, ConfigurationValue> configurationValues)
        {
            GroupRolePicker groupRolePicker = control as GroupRolePicker;

            if (groupRolePicker != null)
            {
                if (groupRolePicker.GroupRoleId.HasValue)
                {
                    var groupRole = new Rock.Model.GroupTypeRoleService().Get(groupRolePicker.GroupRoleId.Value);
                    if (groupRole != null)
                    {
                        return(groupRole.Guid.ToString());
                    }
                }
            }

            return(null);
        }
Beispiel #5
0
        /// <summary>
        /// Loads the groups.
        /// </summary>
        /// <param name="groupTypeId">The group type identifier.</param>
        private void LoadGroupsAndRoles(int?groupTypeId)
        {
            int?currentGroupId     = this.GroupId;
            int?currentGroupRoleId = this.GroupRoleId;

            _ddlGroup.SelectedValue = null;
            _ddlGroup.Items.Clear();

            _ddlGroupRole.SelectedValue = null;
            _ddlGroupRole.Items.Clear();
            if (groupTypeId.HasValue)
            {
                _ddlGroup.Items.Add(new ListItem());

                var rockContext  = new RockContext();
                var groupService = new Rock.Model.GroupService(rockContext);
                var groups       = groupService.Queryable().Where(r => r.GroupTypeId == groupTypeId.Value).OrderBy(a => a.Name).ToList();

                foreach (var r in groups)
                {
                    var item = new ListItem(r.Name, r.Id.ToString().ToUpper());
                    item.Selected = r.Id == currentGroupId;
                    _ddlGroup.Items.Add(item);
                }

                var groupTypeRoleService = new Rock.Model.GroupTypeRoleService(rockContext);
                var groupRoles           = groupTypeRoleService.Queryable().Where(r => r.GroupTypeId == groupTypeId.Value).OrderBy(a => a.Order).ThenBy(a => a.Name).ToList();

                // add a blank option as first item
                _ddlGroupRole.Items.Add(new ListItem());
                foreach (var r in groupRoles)
                {
                    var item = new ListItem(r.Name, r.Id.ToString().ToUpper());
                    item.Selected = r.Id == currentGroupRoleId;
                    _ddlGroupRole.Items.Add(item);
                }
            }
        }
Beispiel #6
0
        /// <summary>
        /// Loads the group roles.
        /// </summary>
        /// <param name="groupTypeId">The group type unique identifier.</param>
        private void LoadGroupRoles( int? groupTypeId )
        {
            int? currentGroupRoleId = this.GroupRoleId;
            _ddlGroupRole.SelectedValue = null;
            _ddlGroupRole.Items.Clear();
            if ( groupTypeId.HasValue )
            {
                if ( !Required )
                {
                    _ddlGroupRole.Items.Add( new ListItem( string.Empty, Rock.Constants.None.IdValue ) );
                }

                List<int> excludeGroupRoles = ExcludeGroupRoles;

                var groupRoleService = new Rock.Model.GroupTypeRoleService( new RockContext() );
                var groupRoles = groupRoleService.Queryable()
                    .Where( r =>
                        r.GroupTypeId == groupTypeId.Value &&
                        !excludeGroupRoles.Contains(r.Id))
                    .OrderBy( a => a.Name )
                    .ToList();

                foreach ( var r in groupRoles )
                {
                    var roleItem = new ListItem( r.Name, r.Id.ToString().ToUpper() );
                    roleItem.Selected = r.Id == currentGroupRoleId;
                    _ddlGroupRole.Items.Add( roleItem );
                }
            }
        }
Beispiel #7
0
        /// <summary>
        /// Loads the groups.
        /// </summary>
        /// <param name="groupTypeId">The group type identifier.</param>
        private void LoadGroupsAndRoles( int? groupTypeId )
        {
            int? currentGroupId = this.GroupId;
            int? currentGroupRoleId = this.GroupRoleId;
            _ddlGroup.SelectedValue = null;
            _ddlGroup.Items.Clear();

            _ddlGroupRole.SelectedValue = null;
            _ddlGroupRole.Items.Clear();
            if ( groupTypeId.HasValue )
            {
                _ddlGroup.Items.Add( new ListItem() );

                var rockContext = new RockContext();
                var groupService = new Rock.Model.GroupService( rockContext );
                var groups = groupService.Queryable().Where( r => r.GroupTypeId == groupTypeId.Value ).OrderBy( a => a.Name ).ToList();

                foreach ( var r in groups )
                {
                    var item = new ListItem( r.Name, r.Id.ToString().ToUpper() );
                    item.Selected = r.Id == currentGroupId;
                    _ddlGroup.Items.Add( item );
                }

                var groupTypeRoleService = new Rock.Model.GroupTypeRoleService( rockContext );
                var groupRoles = groupTypeRoleService.Queryable().Where( r => r.GroupTypeId == groupTypeId.Value ).OrderBy( a => a.Order ).ThenBy( a => a.Name ).ToList();

                // add a blank option as first item
                _ddlGroupRole.Items.Add( new ListItem() );
                foreach ( var r in groupRoles )
                {
                    var item = new ListItem( r.Name, r.Id.ToString().ToUpper() );
                    item.Selected = r.Id == currentGroupRoleId;
                    _ddlGroupRole.Items.Add( item );
                }
            }
        }