protected void Page_Init(object sender, EventArgs e) { UpdatePasswordExpiryDateLinkButton.Text = string.Format("[Extend by {0} days]", UserManager.PasswordExpiryDays); UpdateAccountExpiryDateLinkButton.Text = string.Format("[Extend by {0} days]", UserManager.AccountExpiryDays); UserId = WebUtils.GetIntRequestParam("UserId", 0); RemoveUserRoles(); List <Workflow> workflowList; switch (CurrentUser.UserRole) { case UserRole.SuperAdministrator: { IsStaffUserRow.Visible = true; AdvancedOptionsPanel.Visible = true; EmulateUserButton.Visible = true; // Only display the brand selector if there is more than one brand BrandSelectorRow.Visible = (BrandManager.IsMultipleBrandMode); WorkflowFinder finder = new WorkflowFinder(); finder.SortExpressions.Add(new AscendingSort(Workflow.Columns.Name.ToString())); workflowList = Workflow.FindMany(finder); } break; case UserRole.BrandAdministrator: { IsStaffUserRow.Visible = false; IsStaffUserRadioButtonList.SelectedValue = (CurrentUser.IsEmployee) ? "1" : "0"; AdvancedOptionsPanel.Visible = false; EmulateUserButton.Visible = false; BrandSelectorRow.Visible = false; WorkflowFinder finder = new WorkflowFinder { BrandId = CurrentUser.PrimaryBrandId }; finder.SortExpressions.Add(new AscendingSort(Workflow.Columns.Name.ToString())); workflowList = Workflow.FindMany(finder); } break; default: throw new SecurityException("Access denied"); } WorkflowDropDownList.DataSource = workflowList; WorkflowDropDownList.DataTextField = Workflow.Columns.Name.ToString(); WorkflowDropDownList.DataValueField = Workflow.Columns.WorkflowId.ToString(); WorkflowDropDownList.DataBind(); WorkflowDropDownList.Items.Insert(0, new ListItem("Let user choose", "0")); BrandSelectorRepeater.DataSource = BrandCache.Instance.GetList(); BrandSelectorRepeater.DataBind(); }
public override object GetDataSource() { // Initialize finder WorkflowFinder finder = new WorkflowFinder(); // Non super-admins can only see workflows in their brand if (SessionInfo.Current.User.UserRole != UserRole.SuperAdministrator) { finder.BrandId = SessionInfo.Current.User.PrimaryBrandId; } // Sort and return finder.SortExpressions.Add(new AscendingSort(Workflow.Columns.Name)); return(Workflow.FindMany(finder)); }