@using GreenTree.Nachtragsmanagement.Web.Extensions
@using GreenTree.Nachtragsmanagement.Core.Plugins
@{
var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
}
@model GreenTree.Nachtragsmanagement.Web.Models.Misc.MailNotificationDataModel
@Html.DevExpress().PopupControl(s =>
{
s.Name = "devPopupControlEditMailNotification";
if (Model.Id == -1)
s.HeaderText = "Neue Benachrichtigung erstellen";
else
s.HeaderText = "\"" + Model.NotificationPluginSystemNameDescription + "\" bearbeiten";
s.Modal = true;
s.Width = new Unit(800, UnitType.Pixel);
s.CloseAction = CloseAction.CloseButton;
s.PopupHorizontalAlign = PopupHorizontalAlign.WindowCenter;
s.PopupVerticalAlign = PopupVerticalAlign.TopSides;
s.PopupVerticalOffset = 10;
s.AllowDragging = true;
s.AllowResize = false;
s.ShowMaximizeButton = false;
s.ShowFooter = false;
s.ShowOnPageLoad = true;
s.SetContent(() =>
{
using (Html.BeginForm("EditMailNotification", "Misc", FormMethod.Post, new { id = "mailNotificationEditForm" }))
{
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write(Html.CustomLabelFor(m => m.NotificationPluginSystemName, "Benachrichtigungs-Plugin:"));
ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.NotificationPluginSystemName).ToHtmlString());
Html.DevExpress().ComboBoxFor(m => m.NotificationPluginSystemName, t =>
{
t.Width = new Unit(100, UnitType.Percentage);
t.Properties.ValueField = "SystemName";
t.Properties.ValueType = typeof(string);
t.Properties.TextField = "Name";
t.Properties.ClientSideEvents.SelectedIndexChanged = "function (s, e) { onNotificationPluginSelectedIndexChanged(); }";
}).BindList(ViewData["AllNotificationPlugins"]).Bind(Model.NotificationPluginSystemName).Render();
}
ViewContext.Writer.Write("
");
}
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write("
");
{
if (Model == null || (Model != null && Model.NotificationPlugin == null))
ViewContext.Writer.Write("
");
else
ViewContext.Writer.Write(
"
" + Model.NotificationPlugin.Description + "
");
}
ViewContext.Writer.Write("
");
}
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write(Html.CustomLabelFor(m => m.NotificationJobSystemName, "Benachrichtigungs-Job:"));
ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.NotificationJobSystemName).ToHtmlString());
ViewContext.Writer.Write(Html.Partial("~/Views/Misc/_MailNotificationPluginJobsPartial.cshtml", Model).ToHtmlString());
}
ViewContext.Writer.Write("
");
}
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write("
");
{
if (Model == null || (Model != null && Model.NotificationPlugin == null))
ViewContext.Writer.Write("
");
else
{
var notificationJob = Model.NotificationPlugin.AvailableNotificationJobs
.FirstOrDefault(j => j.SystemName == Model.NotificationJobSystemName);
if (notificationJob != null)
ViewContext.Writer.Write(
"
" + notificationJob.Description + "
");
}
}
ViewContext.Writer.Write("
");
}
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write(Html.CustomLabelFor(m => m.UserValues, "Benutzer:"));
ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.UserValues).ToHtmlString());
Html.DevExpress().DropDownEdit(t =>
{
t.Name = "devDropDownListUserValues";
t.Width = new Unit(100, UnitType.Percentage);
t.Text = Model.UserDescription;
t.SetDropDownWindowTemplateContent(l =>
{
Html.DevExpress().ListBox(lb =>
{
lb.Name = "UserValues";
lb.Width = new Unit(100, UnitType.Percentage);
lb.Height = new Unit(250, UnitType.Pixel);
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.UserValues == null || !Model.UserValues.Any(m => m == (int)listItem.Value)) continue;
listItem.Selected = true;
}
};
lb.Properties.ClientSideEvents.SelectedIndexChanged = "function (s, e) { onListBoxSelectionChanged(s, e); }";
}).BindList(ViewData["AllUsersWithRole"]).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("
");
}
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write("
");
{
ViewContext.Writer.Write(Html.CustomLabelFor(m => m.CronExpression, "Interval:"));
ViewContext.Writer.Write(Html.ValidationMessageFor(m => m.CronExpression).ToHtmlString());
//ViewContext.Writer.Write("
");
//ViewContext.Writer.Write("
");
ViewContext.Writer.Write(Html.Partial("~/Views/Misc/_MailNotificationCronPartial.cshtml").ToHtmlString());
}
ViewContext.Writer.Write("
");
}
ViewContext.Writer.Write("
");
ViewContext.Writer.Write("
");
Html.RenderPartial(
"~/Views/Shared/_PopupButtonPanel.cshtml",
new GreenTree.Nachtragsmanagement.Web.Models.Global.PopupModel
{
PopupName = "devPopupControlEditMailNotification",
AcceptFunction = "function (s, e) { saveMailNotification(); }"
}
);
}
});
s.Styles.Content.Paddings.Padding = new Unit(0);
s.Styles.ModalBackground.Opacity = 0;
}).GetHtml()