kreta/KretaWeb/Areas/TanuloErtekeles/Views/ElektronikusUzenetKereso/Index.cshtml
2024-03-13 00:33:46 +01:00

157 lines
No EOL
7.3 KiB
Text

@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Areas.TanuloErtekeles.Controllers
@using Kreta.Web.Areas.TanuloErtekeles.Models
@using Kreta.Web.Helpers.Grid
@model FeljegyzesKeresoModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
var gridName = ElektronikusUzenetKeresoController.GridName;
var searchFormName = ElektronikusUzenetKeresoController.SearchFormName;
var infoPopUpId = ElektronikusUzenetKeresoController.InfoPopUpId;
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaRangeDatePickerSideBar(x => x.DatumTOL, x => x.DatumIG)
@Html.KretaComboBoxFor(x => x.TanuloID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanuloComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeljegyzoID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetAlkalmazottComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
if (Model.IsFromSzervezet)
{
@Html.KretaTextBoxFor(x => x.SzervezetNevSzoveg).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.SzervezetAzonositoSzoveg).RenderSearchPanelSideBar()
}
@Html.HiddenFor(x => x.SzervezetId)
@Html.HiddenFor(x => x.TipusID)
}
}
@{
List<RowFunction> conditionalRowFunctions = new List<RowFunction>
{
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "FeljegyzesKeresoHelper.openElektronikusUzenetKeresoInfoPopUp", IconEnum = GridRowFunctionIconEnum.Adatok },
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction = "FeljegyzesKeresoHelper.deleteElektronikusUzenetConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
};
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "FeljegyzesKeresoHelper.getExport" }
};
if (!Model.IsFromSzervezet)
{
nestedExportFunctions.Add(new FunctionCommand { Name = FeljegyzesekResource.ElektronikusUzenetExport, ClientAction = "FeljegyzesKeresoHelper.exportElektronikusUzenetek" });
}
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand { Name = TanuloResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
};
}
<div>
@(
Html.KretaGrid<FeljegyzesKeresoGridModel>(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetElektronikusUzenetKeresoGrid"),
allowScrolling: true,
dataParameterFunction: searchFormName,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.TanuloNevElotagNelkul).Width("15%").SetDisplayProperty("TanuloNev");
columns.Bound(c => c.OsztalyNev).Width("10%").SetDisplayProperty("OsztalyNev");
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Cim).Width("15%").SetDisplayPropertyWithToolip("Cim").Sortable(false);
columns.Bound(c => c.Tartalom).SetDisplayPropertyWithToolip("Tartalom").Sortable(false);
columns.Bound(c => c.FeljegyzoNevElotagNelkul).Width("15%").SetDisplayProperty("FeljegyzoNev");
})
.ConditionalRowFunction(Html, conditionalRowFunctions, "FeljegyzesKeresoHelper.setRowEditing")
.FunctionCommand(Html, functions)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var FeljegyzesKeresoHelper = (function() {
var feljegyzesKeresoHelper = function() {};
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var infoPopUpId = "@infoPopUpId";
var url = {
OpenElektronikusUzenetKeresoInfoPopUp: "@Url.Action("OpenElektronikusUzenetKeresoInfoPopUp", Model.ControllerName, new { area = "TanuloErtekeles" })",
GetExportElektronikusUzenetek: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExportElektronikusUzenetek" })",
GetExportElektronikusUzenetekGrid: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExportElektronikusUzenetekGrid" })",
DeleteElektronikusUzenet: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteElektronikusUzenet" })"
}
feljegyzesKeresoHelper.setRowEditing = function(rowData) {
return rowData.FeljegyzoNev != "@Html.Raw(Kreta.Core.Constants.SpecialUserName.Rendszeruzenet)";
}
feljegyzesKeresoHelper.openElektronikusUzenetKeresoInfoPopUp = function (rowData) {
var postData = { feljegyzesId: rowData.ID, tanuloId: rowData.TanuloId, osztalyNev: rowData.OsztalyNev };
AjaxHelper.DoGet(url.OpenElektronikusUzenetKeresoInfoPopUp, postData, popUpInfoWindow);
}
feljegyzesKeresoHelper.elektronikusUzenetKeresoInfoPopUpCancel = function () {
KretaWindowHelper.destroyWindow(infoPopUpId);
}
feljegyzesKeresoHelper.deleteElektronikusUzenetConfirmWindow = function(rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteElektronikusUzenet, rowData);
}
feljegyzesKeresoHelper.exportElektronikusUzenetek = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExportElektronikusUzenetek, searchFormName);
}
feljegyzesKeresoHelper.getExport = function() {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExportElektronikusUzenetekGrid, searchFormName);
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(1733))"; /*Feljegyzés adatai*/
config.content = data;
var modal = KretaWindowHelper.createWindow(infoPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteElektronikusUzenet(data) {
var model = {
FeljegyzesId: data.ID,
TanuloId: data.TanuloId
};
AjaxHelper.DoPost(url.DeleteElektronikusUzenet, model, deleteSuccessCallBack, errorCallBack);
}
function deleteSuccessCallBack() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function errorCallBack() {
var content = "@(StringResourcesUtil.GetString(367 /*Hiba*/))";
KretaWindowHelper.feedbackWindow("@(StringResourcesUtil.GetString(367))" /*Hiba*/, content, true, KretaWindowHelper.destroyAllWindow);
}
return feljegyzesKeresoHelper;
})();
</script>