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

191 lines
No EOL
9.5 KiB
Text

@using Kreta.Web.Helpers;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Enums.ManualEnums;
@using Kreta.Framework
@model FogadooraSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "FogadooraGrid"))
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TeremIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(m => m.IdopontTolSrc, m => m.IdopontIgSrc)
@Html.KretaRangeTimePickerSideBar(m => m.IdointervallumTolSrc, m => m.IdointervallumIgSrc, interval: 30)
@Html.KretaComboBoxFor(x => x.RendszeressegIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraRendszeressegEnumList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TipusIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraTipusEnumList" })).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<FogadooraGridModel>
(
"FogadooraGrid",
new GridApiUrl("FogadooraApi", "GetFogadooraGridForTanar", new Dictionary<string, string>()),
dataParameterFunction: "searchForm",
allowExcelExport: true,
allowScrolling: true,
excelExportFileName: "Fogadoora",
exportColumnUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetExportColumnsForTanar" }),
exportDataUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetFogadooraGridForTanarExport" }),
sort: sort =>
{
sort.Add(m => m.FogadooraKezdete).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.Terem);
columns.Bound(c => c.FogadooraKezdete);
columns.Bound(c => c.FogadooraVege);
columns.Bound(c => c.RendszeressegId).SetDisplayProperty("Rendszeresseg");
columns.Bound(c => c.JelentkezesekKezeleseId).SetDisplayProperty("JelentkezesekKezelese");
columns.Bound(c => c.JelentkezesekSzama).ClientTemplate("<div style=\"text-align: center\">#= JelentkezesekSzama #</div>");
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = TanuloResource.Adatok, ClientAction= "FogadooraGridHelper.openJelentkezettGondviselokWindow", IconEnum = GridRowFunctionIconEnum.Adatok },
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = FogadooraResource.FogadooraLetoltesPdf, ClientAction= "FogadooraGridHelper.fogadooraLetoltesPdf", IconEnum = GridRowFunctionIconEnum.Pdf },
new RowFunction { Name = FogadooraResource.FogadooraLetoltesWord, ClientAction= "FogadooraGridHelper.fogadooraLetoltesWord", IconEnum = GridRowFunctionIconEnum.Word }
})
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanuloResource.Modositas, ClientAction = "FogadooraGridHelper.modifyFogadoora", IconEnum = GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = TanuloResource.Torles, ClientAction= "FogadooraGridHelper.deleteFogadooraConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
}, "FogadooraGridHelper.isTorolhetoModosithato")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var FogadooraGridHelper = (function() {
var fogadooraGridHelper = function() {};
var rowId = -1;
var searchFormName = "searchForm";
var url = {
DeleteTanulo:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FogadooraApi", action = "DeleteFogadooraById" })",
OpenDetailTanuloPopUp:
"@Url.Action("OpenFogadooraJelentkezettGondviselokPopupp", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
ModifyFogadoora:
"@Url.Action("OpenModFogadooraPopUpByFogadooraId", "TanariOrarend", new { area = "Orarend" })",
isFogadooraJelentkezettGondviselok:
"@Url.HttpRouteUrl("ActionApi", new { controller = "FogadooraApi", action = "IsFogadooraJelentkezettGondviselok" })",
FogadooraLetoltesPdf:
"@Url.Action("FogadooraLetoltesPdf", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
FogadooraLetoltesWord:
"@Url.Action("FogadooraLetoltesWord", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })"
}
fogadooraGridHelper.deleteFogadooraConfirmWindow = function (rowData) {
rowId = rowData.ID;
AjaxHelper.DoGet(url.isFogadooraJelentkezettGondviselok, { id: rowData.ID, modositasiIdoszakTipus: @((int)OraModositasiIdoszakTipus.EgyOra) }, isBiztosanTorliPopUp);
}
fogadooraGridHelper.isTorolhetoModosithato = function (rowData) {
return rowData.isTorolhetoModosithato_BOOL;
}
fogadooraGridHelper.dataBoundAdditionalFunction = function () {
KretaTooltipHelper.setTooltip($(".kendoTooltipFogadooraOsztalyCsoport"), "#kendoTooltip-fogadooraOsztalyCsoportTemplate");
}
function deleteFogadooraResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel("FogadooraGrid", searchFormName);
}
function isBiztosanTorliPopUp(data) {
if (data === true) {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)",
"@(ErrorResource.FogadooraraVanJelentkezettGondviseloBiztosanTorliE/*Biztosan törölni szeretné?*/)",
function() {
deleteFogadoora(rowId);
});
} else {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)",
"@(FogadooraResource.BiztosanToroliSzeretne/*Biztosan törölni szeretné?*/)",
function () {
deleteFogadoora(rowId);
});
}
}
function deleteFogadoora(data) {
AjaxHelper.DoPost(url.DeleteTanulo, data, deleteFogadooraResponseOk);
}
fogadooraGridHelper.openJelentkezettGondviselokWindow = function (data) {
var postData = { FogadooraId: data.ID };
AjaxHelper.DoPost(url.OpenDetailTanuloPopUp, postData, popUpDetailWindow);
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FogadooraResource.FogadooraraJelentkezettGondviselok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailJelentkezettGondviselokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
fogadooraGridHelper.detailJelentkezettGondviselokCancel = function () {
KretaWindowHelper.destroyWindow("detailJelentkezettGondviselokWindow");
}
fogadooraGridHelper.modifyFogadoora = function (rowData) {
AjaxHelper.DoGet(url.ModifyFogadoora, { ID: rowData.ID }, popUpModFogadooraWindow);
}
fogadooraGridHelper.fogadooraLetoltesPdf = function (data) {
var postData = { fogadooraId: data.ID };
AjaxHelper.DoPost(url.FogadooraLetoltesPdf, postData, savePdfFile);
}
fogadooraGridHelper.fogadooraLetoltesWord = function (data) {
var postData = { fogadooraId: data.ID };
AjaxHelper.DoPost(url.FogadooraLetoltesWord, postData, saveWordFile);
}
function savePdfFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Pdf);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".pdf",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
function saveWordFile(fileContent) {
var dataURI = "data:@(Kreta.Core.Constants.ContentTypes.Doc);base64," + fileContent;
kendo.saveAs({
dataURI: dataURI,
fileName: "@(FogadooraResource.FogadooraFileNamePart)" + new Date().toLocaleDateString().replace(".", "_") + ".doc",
});
setTimeout(AjaxHelper.HideIndicator(), 2000);
}
function popUpModFogadooraWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FogadooraResource.FogadooraAdatai)";
config.content = data;
var modal = KretaWindowHelper.createWindow("modFogadooraWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
return fogadooraGridHelper;
})();
</script>