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

244 lines
No EOL
12 KiB
Text

@using Kreta.Framework;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.OsztalyCsoport.Models;
@using Kreta.Resources;
@model AktTanevBesorolasSearchModel
@{ Layout = "~/Views/Shared/_MasterLayout.cshtml"; }
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "BesorolasModCsoportbolKiirtTanulokGrid"))
{
@Html.KretaTextBoxFor(model => model.TanuloSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.CsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsoportokListByEvfolyamForBesorolasokAktTanev" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.OsztalyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyListForCascadeCB" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.BelepesiDatumTol, model => model.BelepesiDatumIg)
@Html.KretaRangeDatePickerSideBar(model => model.KilepesiDatumTol, model => model.KilepesiDatumIg)
@Html.KretaRangeNumericSideBar(model => model.ZaradekokSzamaTol, model => model.ZaradekokSzamaIg, precision: 0)
@Html.KretaComboBoxFor(model => model.KiVagyAtSorolasiZaradek, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetVanNincs" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.KileptetesiDatumTol, model => model.KileptetesiDatumIg)
@Html.KretaRangeDatePickerSideBar(model => model.UtolsoModositasDatumTol, model => model.UtolsoModositasDatumIg)
}
}
@{
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand { Name = BesorolasResource.KiirtTanulokListaja, ClientAction = "BesorolasExportHelper.exportCsoportKiirt" },
};
}
<div>
@(
Html.KretaGrid<BesorolasModCsoportbolKiirtTanulokGridModel>(
name: "BesorolasModCsoportbolKiirtTanulokGrid",
getUrl: new GridApiUrl("BesorolasModCsoportbolbolKiirtTanulokApi", "GetBesorolasModCsoportbolKiirtTanulokGrid", new Dictionary<string, string> { }),
dataParameterFunction: "searchForm",
allowScrolling: true,
sort: (sort =>
{
sort.Add(m => m.CsoportNev).Ascending();
sort.Add(m => m.NevElotagNelkul).Ascending();
})
)
.SelectBoxColumn(Html, 0) /* */
.Columns(columns =>
{
columns.Bound(c => c.Tanev).Width("8%");
columns.Bound(c => c.CsoportNev);
columns.Bound(c => c.NevElotagNelkul).SetDisplayProperty("TanuloNev");
columns.Bound(c => c.TanuloOsztalyai);
columns.Bound(c => c.BelepesDatum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.KilepesDatum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.ZaradekokSzama);
columns.Bound(c => c.Vegzaradek);
columns.Bound(c => c.KilepesRogzitesDatum).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.UtolsoModositas).Width("8%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { NameResourceId = 116 /*Módosítás*/, ClientAction= "BesorolasModCsoportbolKiirtTanulokHelper.openModWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction= "BesorolasModCsoportbolKiirtTanulokHelper.openDeleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
})
.FunctionCommand(Html, new List<FunctionCommand> {
new FunctionCommand { NameResourceId = 116 /*Módosítás*/, ClientAction="BesorolasModCsoportbolKiirtTanulokHelper.openSelectModWindow" },
new FunctionCommand { Name = BesorolasResource.ZaradekokKezelese, ClientAction="BesorolasModCsoportbolKiirtTanulokHelper.openZaradekTobbesModositasPopUp" },
new FunctionCommand { NameResourceId = 4392 /*Besorolás dátum frissítés szeptember 1-re*/, ClientAction="BesorolasModCsoportbolKiirtTanulokHelper.openUpdateConfirmWindow" },
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
@Html.Partial("_BesorolasPartial", Model)
<script type="text/javascript">
var BesorolasModCsoportbolKiirtTanulokHelper = (function () {
var besorolasModCsoportbolKiirtTanulokHelper = function () { };
var gridName = "BesorolasModCsoportbolKiirtTanulokGrid";
var formName = "BesorolasModCsoportbolKiirtTanulokForm";
var url = {
OpenModPopUp: "@Url.Action("OpenModPopUp", "BesorolasModCsoportbolbolKiirtTanulok", new { area = "OsztalyCsoport" })",
OpenTobbesModPopUp: "@Url.Action("OpenTobbesModPopUp", "BesorolasModCsoportbolbolKiirtTanulok", new { area = "OsztalyCsoport" })",
SaveData: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModCsoportbolbolKiirtTanulokApi", action = "SaveData" })",
SaveDataTobbes: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModCsoportbolbolKiirtTanulokApi", action = "SaveDataTobbes" })",
UpdateDatum: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModCsoportbolbolKiirtTanulokApi", action = "UpdateDatum" })",
DeleteBesorolas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "BesorolasModCsoportbolbolKiirtTanulokApi", action = "DeleteBesorolas" })",
OpenZaradekTobbesModositasPopUp: "@Url.Action("OpenZaradekTobbesModositasPopUp", "Zaradek", new { area = "OsztalyCsoport" })",
}
besorolasModCsoportbolKiirtTanulokHelper.openModWindow = function (data) {
AjaxHelper.DoPost(url.OpenModPopUp, { TanuloCsoportId: data.ID }, openModPopUp);
}
besorolasModCsoportbolKiirtTanulokHelper.openSelectModWindow = function (data) {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName("BesorolasModCsoportbolKiirtTanulokGrid");
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ TanuloId: value.TanuloId, CsoportId: value.CsoportId, TanuloCsoportId: value.ID, TanuloNev: value.TanuloNev });
});
if (parameters.length > 1) {
AjaxHelper.DoPost(url.OpenTobbesModPopUp, parameters, openModPopUp);
} else {
AjaxHelper.DoPost(url.OpenModPopUp, parameters[0], openModPopUp);
}
}
else {
KretaWindowHelper.warningWindow("@(StringResourcesUtil.GetString(368))" /*Figyelmeztetés*/, "@(StringResourcesUtil.GetString(4937))" /*Nincs kijelölve tanuló!*/);
}
}
besorolasModCsoportbolKiirtTanulokHelper.modifyCancel = function () {
KretaWindowHelper.destroyWindow("CsoportTanuloModWindow");
refreshGrid();
}
besorolasModCsoportbolKiirtTanulokHelper.modifySave = function () {
AjaxHelper.DoPostElement(url.SaveData, formName, saveFeedBackOk);
}
besorolasModCsoportbolKiirtTanulokHelper.modifyTobbesSave = function () {
AjaxHelper.DoPostElement(url.SaveDataTobbes, formName, saveFeedBackOk, feedbackErrorWithMessage);
}
function feedbackErrorWithMessage(data) {
var messageJson = CommonUtils.JSONparse(data.responseText);
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", messageJson.Message, true);
refreshGrid();
}
besorolasModCsoportbolKiirtTanulokHelper.openUpdateConfirmWindow = function (rowData) {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName("BesorolasModCsoportbolKiirtTanulokGrid");
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(string.Format(OsztalyCsoportResource.BiztosanFrissitiAKivalasztottTanulokEsetebenAzAktualis0LepesDatumokatSzeptember1Re, "csoport"))", UpdateDatum, selectedRows);
} else {
KretaWindowHelper.warningWindow("@(StringResourcesUtil.GetString(368))" /*Figyelmeztetés*/, "@(StringResourcesUtil.GetString(4937))" /*Nincs kijelölve tanuló!*/);
}
}
besorolasModCsoportbolKiirtTanulokHelper.openDeleteConfirmWindow = function (rowData) {
var torlesUzenet = "@(StringResourcesUtil.GetString(4535))" /*Biztosan törli? A törlés nem visszavonható!*/;
if (rowData.IsAutoEgyeniCsoport) {
torlesUzenet += "<br />" + "@(OsztalyCsoportResource.TorlesFigyelmeztetesAutoEgyeniCsoport)";
torlesUzenet = torlesUzenet.replace("{0}", rowData.TanuloNev);
torlesUzenet = torlesUzenet.replace("{1}", rowData.CsoportNev);
}
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", torlesUzenet, deleteBesorolas, rowData.ID);
}
function UpdateDatum(selectedRows) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push(value.ID);
});
AjaxHelper.DoPost(url.UpdateDatum, parameters, updateFeedBackOk);
}
function deleteBesorolas(data) {
AjaxHelper.DoPost(url.DeleteBesorolas, data, deleteFeedBackOk, deleteBesorolasErrorHandler);
}
function openModPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(string.Format(OsztalyCsoportResource.OCS0TanuloAdatok, "Csoport"))";
config.content = data;
config.closeFunction = refreshGrid;
var modal = KretaWindowHelper.createWindow("CsoportTanuloModWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function refreshGrid() {
KretaGridHelper.refreshGrid(gridName);
}
function saveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
refreshGrid();
}
function updateFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
refreshGrid();
}
function deleteFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
refreshGrid();
}
besorolasModCsoportbolKiirtTanulokHelper.openZaradekTobbesModositasPopUp = function (data) {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
var tanuloCsoportIdList = []
var tanuloNevList = [];
$.each(selectedRows, function (index, value) {
tanuloCsoportIdList.push(value.ID);
tanuloNevList.push(value.TanuloNev);
});
var parameters = {};
parameters.tanuloCsoportIdList = tanuloCsoportIdList;
parameters.tanuloNevArray = tanuloNevList.join(', ');
parameters.gridName = gridName;
if (parameters.tanuloCsoportIdList.length > 1) {
AjaxHelper.DoPost(url.OpenZaradekTobbesModositasPopUp, parameters, openModPopUp);
}
else {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ TanuloId: value.TanuloId, isZaradekTabAktiv: true, OsztalyId: value.OsztalyId, TanuloCsoportId: value.ID, TanuloNev: value.TanuloNev });
});
AjaxHelper.DoPost(url.OpenModPopUp, parameters[0], openModPopUp);
}
}
else {
KretaWindowHelper.warningWindow("@(CommonResource.Figyelmeztetes)" /*Figyelmeztetés*/, "@(ErrorResource.NincsKijelolveTanulo)" /*Nincs kijelölve tanuló!*/);
}
}
function deleteBesorolasErrorHandler(response) {
var errorMessage = "";
if (!CommonUtils.isNullOrUndefined(response.responseJSON.Json)) {
errorMessage = response.responseJSON.Json.message;
}
else {
errorMessage = response.responseJSON.Message;
}
KretaWindowHelper.warningWindow("@(CommonResource.Figyelmeztetes)", errorMessage);
}
besorolasModCsoportbolKiirtTanulokHelper.getHtmlNewLinesString = function (text) {
return (text || "").replace(CommonUtils.LineBreakRegex, '<br/>');
}
return besorolasModCsoportbolKiirtTanulokHelper;
})();
</script>