@using GreenTree.Nachtragsmanagement.Web.Extensions @model GreenTree.Nachtragsmanagement.Web.Models.Admin.User.UserDataModel
@Html.DevExpress().PopupControl(s => { s.Name = "devPopupControlEditUser"; if (Model.Id == -1) s.HeaderText = "Neuen Benutzer erstellen"; else s.HeaderText = "\"" + Model.Lastname + ", " + Model.Forename + "\" bearbeiten"; s.Modal = true; s.Width = new Unit(400, UnitType.Pixel); s.CloseAction = CloseAction.CloseButton; s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter; s.PopupVerticalAlign = PopupVerticalAlign.WindowCenter; s.AllowDragging = false; s.AllowResize = false; s.ShowFooter = false; s.ShowOnPageLoad = true; s.SetContent(() => { using (Html.BeginForm("EditUser", "Admin", FormMethod.Post, new { id = "userEditForm" })) { ViewContext.Writer.Write("
"); ViewContext.Writer.Write(""); ViewContext.Writer.Write(Html.CustomLabelFor(m => m.CustomNumber, "Personalnummer:")); Html.DevExpress().TextBoxFor(m => m.CustomNumber, t => { t.Width = new Unit(60, UnitType.Percentage); }).Render(); ViewContext.Writer.Write("
"); ViewContext.Writer.Write("
"); ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Forename, "Vorname:")); ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Forename).ToHtmlString()); Html.DevExpress().TextBoxFor(m => m.Forename, t => { t.Width = new Unit(95, UnitType.Percentage); }).Render(); ViewContext.Writer.Write("
"); ViewContext.Writer.Write("
"); ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Lastname, "Nachname:")); ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Lastname).ToHtmlString()); Html.DevExpress().TextBoxFor(m => m.Lastname, t => { t.Width = new Unit(100, UnitType.Percentage); }).Render(); ViewContext.Writer.Write("
"); ViewContext.Writer.Write("
"); ViewContext.Writer.Write(Html.CustomLabelFor(m => m.MailAddress, "E-Mail:")); ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.MailAddress).ToHtmlString()); Html.DevExpress().TextBoxFor(m => m.MailAddress, t => { t.Width = new Unit(100, UnitType.Percentage); }).Render(); ViewContext.Writer.Write(Html.CustomLabelFor(m => m.Password, "Passwort:")); ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.Password).ToHtmlString()); Html.DevExpress().TextBoxFor(m => m.Password, t => { t.Width = new Unit(60, UnitType.Percentage); t.Properties.Password = true; }).Render(); ViewContext.Writer.Write(Html.CustomLabelFor(m => m.RoleValues, "Rollen:")); ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.RoleValues).ToHtmlString()); Html.DevExpress().DropDownEdit(t => { t.Name = "devDropDownListRoleValues"; t.Width = new Unit(100, UnitType.Percentage); if (Model.RoleDescriptions != null && Model.RoleDescriptions.Any()) t.Text = String.Join(", ", Model.RoleDescriptions); t.SetDropDownWindowTemplateContent(l => { Html.DevExpress().ListBox(lb => { lb.Name = "RoleValues"; lb.Width = new Unit(100, UnitType.Percentage); lb.Properties.TextField = "Description"; lb.Properties.ValueField = "Id"; lb.Properties.ValueType = typeof(int); lb.Properties.SelectionMode = ListEditSelectionMode.CheckColumn; lb.ControlStyle.Border.BorderStyle = BorderStyle.None; lb.PreRender = (sender, e) => { var listBox = sender as MVCxListBox; foreach (ListEditItem listItem in listBox.Items) { if (Model.RoleValues == null || !Model.RoleValues.Any(m => m == (int)listItem.Value)) continue; listItem.Selected = true; } listBox.Items.Insert(0, new ListEditItem("(Alle auswählen)", -1)); }; lb.Properties.ClientSideEvents.SelectedIndexChanged = "function (s, e) { onListBoxSelectionChanged(s, e); }"; }).BindList(ViewData["AllRoles"]).Render(); t.Properties.ClientSideEvents.TextChanged = "function (s, e) { synchronizeListBoxValues(s, e); }"; t.Properties.ClientSideEvents.DropDown = "function (s, e) { synchronizeListBoxValues(s, e); }"; }); }).Render(); ViewContext.Writer.Write("
"); Html.RenderPartial( "~/Views/Shared/_PopupButtonPanel.cshtml", new GreenTree.Nachtragsmanagement.Web.Models.Global.PopupModel { PopupName = "devPopupControlEditUser", AcceptFunction = "function (s, e) { saveUser(); }" } ); } }); s.Styles.Content.Paddings.Padding = new Unit(0); s.Styles.ModalBackground.Opacity = 0; }).GetHtml()