protected void rptAccounts_ItemCommand(object sender, RepeaterCommandEventArgs e) { if (e.CommandName == "Select") { txtCurrentUsername.Value = e.CommandArgument as string; //rptAccounts.DataBind(); Not needed because the list is hidden on select UserInfo user = Users.FindUser(currentWiki, txtCurrentUsername.Value); txtUsername.Text = user.Username; txtUsername.Enabled = false; txtDisplayName.Text = user.DisplayName; txtEmail.Text = user.Email; chkSetActive.Checked = user.Active; providerSelector.SelectedProvider = user.Provider.GetType().FullName; providerSelector.Enabled = false; btnCreate.Visible = false; btnSave.Visible = true; btnDelete.Visible = user.Username != SessionFacade.CurrentUsername; rfvPassword1.Enabled = false; cvUsername.Enabled = false; lblPasswordInfo.Visible = true; pnlEditAccount.Visible = true; pnlList.Visible = false; PopulateGroups(); // Select user's groups List <UserGroup> groups = Users.GetUserGroupsForUser(user); foreach (ListItem item in lstGroups.Items) { if (groups.Find(delegate(UserGroup g) { return(g.Name == item.Value); }) != null) { item.Selected = true; } } // Select user's global permissions AuthReader authReader = new AuthReader(Collectors.CollectorsBox.GetSettingsProvider(currentWiki)); aclActionsSelector.GrantedActions = authReader.RetrieveGrantsForGlobals(user); aclActionsSelector.DeniedActions = authReader.RetrieveDenialsForGlobals(user); // Enable/disable interface sections based on provider read-only settings lstGroups.Enabled = !user.Provider.GroupMembershipReadOnly; pnlAccountDetails.Enabled = !user.Provider.UserAccountsReadOnly; btnDelete.Enabled = !user.Provider.UserAccountsReadOnly; lblResult.CssClass = ""; lblResult.Text = ""; } }
protected void rptGroups_ItemCommand(object sender, RepeaterCommandEventArgs e) { if (e.CommandName == "Select") { txtCurrentName.Value = e.CommandArgument as string; //rptGroups.DataBind(); Not needed because the list is hidden on select UserGroup group = Users.FindUserGroup(currentWiki, txtCurrentName.Value); txtName.Text = group.Name; txtName.Enabled = false; txtDescription.Text = group.Description; providerSelector.SelectedProvider = group.Provider.GetType().FullName; providerSelector.Enabled = false; // Select group's global permissions AuthReader authReader = new AuthReader(Collectors.CollectorsBox.GetSettingsProvider(currentWiki)); aclActionsSelector.GrantedActions = authReader.RetrieveGrantsForGlobals(group); aclActionsSelector.DeniedActions = authReader.RetrieveDenialsForGlobals(group); btnCreate.Visible = false; btnSave.Visible = true; btnDelete.Visible = true; bool isDefaultGroup = group.Name == Settings.GetAdministratorsGroup(currentWiki) || group.Name == Settings.GetUsersGroup(currentWiki) || group.Name == Settings.GetAnonymousGroup(currentWiki); pnlEditGroup.Visible = true; pnlList.Visible = false; // Enable/disable interface sections based on provider read-only settings pnlGroupDetails.Enabled = !group.Provider.UserGroupsReadOnly; btnDelete.Enabled = !group.Provider.UserGroupsReadOnly && !isDefaultGroup; lblResult.CssClass = ""; lblResult.Text = ""; } }