Ejemplo n.º 1
0
        public async Task <string> RenderAsync(int model)
        {
            List <SelectionItem <int> > list;

            list = (
                from RoleInfo role in Resource.ResourceAccess.GetDefaultRoleList()
                orderby role.Name
                select
                new SelectionItem <int> {
                Text = role.Name,
                Value = role.RoleId,
                Tooltip = role.Description,
            }).ToList <SelectionItem <int> >();

            bool showDefault = PropData.GetAdditionalAttributeValue("ShowDefault", true);

            if (model == 0 || showDefault)
            {
                list.Insert(0, new SelectionItem <int> {
                    Text = __ResStr("select", "(none)"), Value = 0
                });
            }

            return(await DropDownListIntComponent.RenderDropDownListAsync(this, model, list, "yt_yetawf_identity_roleid"));
        }
Ejemplo n.º 2
0
        public async Task <string> RenderAsync(int model)
        {
            using (BlogCategoryDataProvider categoryDP = new BlogCategoryDataProvider()) {
                DataProviderGetRecords <BlogCategory> data = await categoryDP.GetItemsAsync(0, 0, null, null);

                List <SelectionItem <int> > list = (from c in data.Data orderby c.Category.ToString() select new SelectionItem <int> {
                    Text = c.Category.ToString(),
                    Tooltip = c.Description,
                    Value = c.Identity
                }).ToList();

                if (list.Count == 0)
                {
                    list.Insert(0, new SelectionItem <int> {
                        Text    = this.__ResStr("none", "(None Available)"),
                        Tooltip = this.__ResStr("noneTT", "There are no blog categories"),
                        Value   = 0,
                    });
                }
                else
                {
                    bool showSelect = false;
                    bool showAll    = PropData.GetAdditionalAttributeValue("ShowAll", false);
                    if (model == 0 && !showAll)
                    {
                        showSelect = PropData.GetAdditionalAttributeValue("ShowSelectIfNone", false);
                    }
                    if (!showAll && !showSelect)
                    {
                        showSelect = PropData.GetAdditionalAttributeValue("ShowSelect", false);
                    }
                    if (showAll)
                    {
                        list.Insert(0, new SelectionItem <int> {
                            Text    = this.__ResStr("all", "(All)"),
                            Tooltip = this.__ResStr("allTT", "Displays blogs from all available blog categories"),
                            Value   = 0,
                        });
                    }
                    else if (showSelect)
                    {
                        list.Insert(0, new SelectionItem <int> {
                            Text    = this.__ResStr("select", "(select)"),
                            Tooltip = this.__ResStr("selectTT", "Please select one of the available blog categories"),
                            Value   = 0,
                        });
                    }
                }
                return(await DropDownListIntComponent.RenderDropDownListAsync(this, model, list, "yt_yetawf_blog_category"));
            }
        }
Ejemplo n.º 3
0
        public async Task <string> RenderAsync(int model)
        {
            SerializableList <User> users = GetSiblingProperty <SerializableList <User> >($"{PropertyName}_List");

            if (users != null)
            {
                users = new SerializableList <User>(from u in users select u);// copy list
            }
            else
            {
                users = new SerializableList <User>();
            }
            // add the user id that's current (i.e. the model) if it hasn't already been added
            if ((from u in users where u.UserId == model select u).FirstOrDefault() == null)
            {
                users.Add(new User {
                    UserId = model
                });
            }

            // get list of desired users (ignore users that are invalid, they may have been deleted)
            List <SelectionItem <int> > list = new List <SelectionItem <int> >();

            using (UserDefinitionDataProvider dataProvider = new UserDefinitionDataProvider()) {
                foreach (var u in users)
                {
                    UserDefinition user = await dataProvider.GetItemByUserIdAsync(u.UserId);

                    if (user != null)
                    {
                        list.Add(new SelectionItem <int> {
                            Text    = user.UserName,
                            Tooltip = __ResStr("selUser", "Select to log in as {0}", user.UserName),
                            Value   = user.UserId,
                        });
                    }
                }
            }

            list = (from l in list orderby l.Text select l).ToList();

            // add the superuser if it hasn't already been added
            using (SuperuserDefinitionDataProvider superDataProvider = new SuperuserDefinitionDataProvider()) {
                UserDefinition user = await superDataProvider.GetSuperuserAsync();

                if (user != null)
                {
                    if ((from l in list where l.Value == user.UserId select l).FirstOrDefault() == null)
                    {
                        list.Insert(0, new SelectionItem <int> {
                            Text    = user.UserName,
                            Tooltip = __ResStr("selUser", "Select to log in as {0}", user.UserName),
                            Value   = user.UserId,
                        });
                    }
                }
            }
            list.Insert(0, new SelectionItem <int> {
                Text    = __ResStr("noUser", "(none)"),
                Tooltip = __ResStr("selLogoff", "Select to log off"),
                Value   = 0,
            });
            return(await DropDownListIntComponent.RenderDropDownListAsync(this, model, list, "yt_yetawf_identity_loginusers"));
        }
Ejemplo n.º 4
0
        public async Task <string> RenderAsync(int model)
        {
            HtmlBuilder hb = new HtmlBuilder();

            string type = PropData.GetAdditionalAttributeValue <string>("Force", null);

            if (type == "Grid" || (await IsLargeUserBaseAsync() && type != "DropDown"))
            {
                string hiddenId = UniqueId();
                string allId    = UniqueId();
                string nameId   = UniqueId();
                string noUser   = __ResStr("noUser", "(none)");

                bool header = PropData.GetAdditionalAttributeValue("Header", true);

                UserIdUI ui = new UserIdUI {
                    UserId = model,
                };
                using (UserDefinitionDataProvider userDP = new UserDefinitionDataProvider()) {
                    UserDefinition user = await userDP.GetItemByUserIdAsync(model);

                    if (user == null)
                    {
                        ui.UserName = __ResStr("noUser", "(none)");
                    }
                    else
                    {
                        ui.UserName = user.UserName;
                    }
                }

                ui.AllUsers    = GetGridAllUsersModel(header);
                ui.AllUsers.Id = allId;

                hb.Append($@"
<div class='yt_yetawf_identity_userid t_large t_edit' id='{DivId}'>
    {await HtmlHelper.ForEditComponentAsync(Container, PropertyName, model, "Hidden", HtmlAttributes: new { id = hiddenId, __NoTemplate = true })}");

                using (Manager.StartNestedComponent(FieldName)) {
                    hb.Append($@"
    <div class='t_name'>
        {await HtmlHelper.ForDisplayAsync(ui, nameof(ui.UserName), HtmlAttributes: new { id = nameId })}
        {ImageHTML.BuildKnownIcon("#RemoveLight", title: __ResStr("ttClear", "Clear the current selection"), cssClass: "t_clear")}
    </div>
    {await HtmlHelper.ForLabelAsync(ui, nameof(ui.AllUsers))}
    {await HtmlHelper.ForDisplayAsync(ui, nameof(ui.AllUsers))}");
                }
                hb.Append($@"
</div>");

                UserIdSetup setup = new UserIdSetup {
                    GridAllId = ui.AllUsers.Id,
                    HiddenId  = hiddenId,
                    NameId    = nameId,
                    NoUser    = noUser,
                };

                Manager.ScriptManager.AddLast($@"new YetaWF_Identity.UserIdEditComponent('{DivId}', {Utility.JsonSerialize(setup)});");
            }
            else
            {
                hb.Append($@"
<div class='yt_yetawf_identity_userid t_small t_edit'>");

                using (UserDefinitionDataProvider userDP = new UserDefinitionDataProvider()) {
                    List <DataProviderSortInfo> sorts = null;
                    DataProviderSortInfo.Join(sorts, new DataProviderSortInfo {
                        Field = nameof(UserDefinition.UserName), Order = DataProviderSortInfo.SortDirection.Ascending
                    });
                    DataProviderGetRecords <UserDefinition> recs = await userDP.GetItemsAsync(0, MAXUSERS, sorts, null);

                    List <SelectionItem <int> > list = (from u in recs.Data select new SelectionItem <int> {
                        Text = u.UserName,
                        Value = u.UserId,
                    }).ToList();
                    list.Insert(0, new SelectionItem <int> {
                        Text  = __ResStr("select", "(select)"),
                        Value = 0,
                    });
                    hb.Append(await DropDownListIntComponent.RenderDropDownListAsync(this, model, list, null));
                }

                hb.Append($@"
</div>");
            }
            return(hb.ToString());
        }