This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,122 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security;
@model OralatogatasokKereseseModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var gridName = "OralatogatasGrid";
var searchFormName = "searchForm";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
if (ClaimData.IsVegyes)
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => x.IdoszakVege)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportokSearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.LatogatottPedagogusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" }), "Text", "Value").RenderSearchPanelSideBar()
}
}
@(
Html.KretaGrid<OralatogatasokKereseseGridModel>(
name: gridName,
getUrl: new GridApiUrl(Constants.ApiControllers.AdminOralatogatasokListajaApi, "GetOralatogatasokGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowScrolling: true,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.Datum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.Oraszam).Width("10%");
columns.Bound(c => c.AlkalmazottElotagNelkul).SetDisplayProperty("Alkalmazott");
columns.Bound(c => c.Beosztas);
columns.Bound(c => c.LatogatottPedagogus);
columns.Bound(c => c.Tantargy);
columns.Bound(c => c.OsztalyCsoport);
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = CommonResource.Adatok, ClientAction= "OralatogatasokKereseseHelper.openDetailWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = CommonResource.Torles, ClientAction= "OralatogatasokKereseseHelper.delete", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles },
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), ClientAction="OralatogatasokKereseseHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var url = {
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdminOralatogatasokListajaApi, action = "DeleteOralatogatas" })",
OpenInfoPopUp: "@Url.Action("OpenOralatogatasInfoPopUp", Constants.Controllers.AdminOralatogatasokListaja, new { area = "Tanar" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdminOralatogatasokListajaApi, action = "GetExport" })",
}
var OralatogatasokKereseseHelper = (function () {
var oralatogatasokKereseseHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
oralatogatasokKereseseHelper.openDetailWindow = function (rowData) {
var postData = { oralatogatasId: rowData.ID };
AjaxHelper.DoPost(url.OpenInfoPopUp, postData, popUpDetailWindow);
}
oralatogatasokKereseseHelper.delete = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteOraLatogatas, { TanitasiOraId: rowData.TanitasiOraId, AlkalmazottId: rowData.AlkalmazottId } );
}
oralatogatasokKereseseHelper.getExport = function() {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
oralatogatasokKereseseHelper.closePopUps = function () {
KretaWindowHelper.destroyAllWindow();
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(CommonResource.Adatok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteOraLatogatas(data) {
AjaxHelper.DoPost(url.Delete, data, deleteResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
return oralatogatasokKereseseHelper;
})();
</script>

View file

@ -0,0 +1,183 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Web.Security;
@model FogadooraSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "FogadooraGrid"))
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(m => m.IdopontTolSrc, m => m.IdopontIgSrc)
@Html.KretaRangeTimePickerSideBar(m => m.IdointervallumTolSrc, m => m.IdointervallumIgSrc, interval: 30)
@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.KretaComboBoxFor(x => x.TanarIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetPedagogusListByTanev" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TipusIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraTipusEnumList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.RendszeressegIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraRendszeressegEnumList" })).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<FogadooraGridModel>
(
"FogadooraGrid",
new GridApiUrl("FogadooraApi", "GetFogadooraGridForAdmin", new Dictionary<string, string>()),
dataParameterFunction: "searchForm",
allowExcelExport: true,
excelExportFileName: "Fogadoora",
exportColumnUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetExportColumnsForAdmin" }),
exportDataUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "FogadooraApi", Action = "GetFogadooraGridForAdminExport" }),
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.Pedagogus);
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= "FogadooraHelper.openJelentkezettGondviselokWindow", IconEnum = GridRowFunctionIconEnum.Adatok },
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = FogadooraResource.FogadooraLetoltesPdf, ClientAction= "FogadooraHelper.fogadooraLetoltesPdf", IconEnum = GridRowFunctionIconEnum.Pdf },
new RowFunction { Name = FogadooraResource.FogadooraLetoltesWord, ClientAction= "FogadooraHelper.fogadooraLetoltesWord", IconEnum = GridRowFunctionIconEnum.Word }
})
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanuloResource.Torles, ClientAction= "FogadooraHelper.deleteFogadooraConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
}, "FogadooraHelper.isTorolhetoModosithato")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var FogadooraHelper = (function() {
var fogadooraHelper = function() {};
var rowId = -1;
var searchFormName = "searchForm";
var gridName = "FogadooraGrid";
var url = {
DeleteTanulo:
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FogadooraApi", action = "DeleteFogadooraById" })",
OpenDetailPopUp:
"@Url.Action("OpenFogadooraJelentkezettGondviselokPopupp", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
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 })"
}
fogadooraHelper.deleteFogadooraConfirmWindow = function (rowData) {
rowId = rowData.ID;
AjaxHelper.DoGet(url.isFogadooraJelentkezettGondviselok, { id: rowData.ID, modositasiIdoszakTipus: @((int)OraModositasiIdoszakTipus.EgyOra) }, isBiztosanTorliPopUp);
}
fogadooraHelper.isTorolhetoModosithato = function (rowData) {
return rowData.isTorolhetoModosithato_BOOL;
}
function deleteFogadooraResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteFogadoora(data) {
AjaxHelper.DoPost(url.DeleteTanulo, data, deleteFogadooraResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, 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);
});
}
}
fogadooraHelper.openJelentkezettGondviselokWindow = function (data) {
var postData = { FogadooraId: data.ID, handler: "FogadooraHelper" };
AjaxHelper.DoPost(url.OpenDetailPopUp, 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);
}
fogadooraHelper.detailJelentkezettGondviselokCancel = function () {
KretaWindowHelper.destroyWindow("detailJelentkezettGondviselokWindow");
}
fogadooraHelper.fogadooraLetoltesPdf = function (data) {
var postData = { fogadooraId: data.ID };
AjaxHelper.DoPost(url.FogadooraLetoltesPdf, postData, savePdfFile);
}
fogadooraHelper.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);
}
return fogadooraHelper;
})();
</script>

View file

@ -0,0 +1,101 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Resources
@model FogadooraJelentkezesInfoModel
<div class="container-fluid details" style="margin:10px">
<div class="row">
@Html.KretaLabelFor(x => x.FogadoOraKezdete, 3, 3)
@Html.KretaLabelFor(x => x.FogadoOraVege, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremNev, 3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.JelentkezesekKezelese).Enable(false).RenderWithName(3, 3)
</div>
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-3">
<label class="windowInputLabel">@FogadooraResource.FogadooraDokumentumLetoltese</label>
</div>
<div class="col-xs-6 col-sm-6 col-md-3">
<a title="@FogadooraResource.FogadooraLetoltesPdf" href="javascript:fogadooraLetoltesPdf(@Model.Id);">
<i style="font-size: 22px;" class="fa fa-file-pdf-o"></i>
</a>
<a title="@FogadooraResource.FogadooraLetoltesWord" href="javascript:fogadooraLetoltesWord(@Model.Id);">
<i style="font-size: 22px;" class="fa fa-file-word-o"></i>
</a>
</div>
</div>
</div>
<div id="OsztalyCsoportDiv" class="k-content">
<div style="width: 96%; padding-left: 20px;">
<h4 style="margin: 0;">@FogadooraResource.JelentkezettGondviselok</h4>
@(
Html.KretaGrid<FogadooraJelentkezettGondviselokGridModel>(
name: "FogadooraJelentkezettGondviselokGrid",
getUrl: new GridApiUrl("FogadooraApi", "GetFogadooraJelentkezettGondviselokGrid", new Dictionary<string, string> { { "Id", Model.Id.ToString() } }),
pageSizes: null,
allowPaging: false,
allowSorting:true,
sort: sort =>
{
sort.Add(m => m.Kezdete).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.GondviseloNev);
columns.Bound(c => c.TanuloNev);
columns.Bound(c => c.OsztalyCsoportNev);
columns.Bound(c => c.Idointervallum);
})
.AutoBind(true)
)
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
var titleSpan = $(".k-window-title");
titleSpan.text(titleSpan.text() + " - @Model.FogadoOraDatuma");
var fogadooraUrl = {
FogadooraLetoltesPdf:
"@Url.Action("FogadooraLetoltesPdf", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })",
FogadooraLetoltesWord:
"@Url.Action("FogadooraLetoltesWord", Constants.Controllers.Fogadoora, new { area = Constants.Areas.Tanar })"
}
fogadooraLetoltesPdf = function (id) {
var postData = { fogadooraId: id };
AjaxHelper.DoPost(fogadooraUrl.FogadooraLetoltesPdf, postData, savePdfFile);
}
fogadooraLetoltesWord = function (id) {
var postData = { fogadooraId: id };
AjaxHelper.DoPost(fogadooraUrl.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);
}
});
</script>

View file

@ -0,0 +1,191 @@
@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>

View file

@ -0,0 +1,257 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Web.Security;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Resources;
@using Kreta.Enums.ManualEnums;
@model HFCsatolmanyokSearchModel
@{
Layout = Constants.General.Layout;
const string HaziFeladatCsatolmanyokApi = Constants.ApiControllers.HaziFeladatCsatolmanyokApi;
const string gridName = "HFCsatolmanyGrid";
const string searchFormName = "HFCsatolmanySearchForm";
}
<style>
.k-alt.deletedRow, .deletedRow {
text-decoration: line-through;
opacity: 0.5;
}
#HFCsatolmanyGrid .rowFunction {
min-width: 40px;
width: 40px;
}
</style>
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaDatePickerFor(x => x.OraDatumaSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.OsztalyCsoportSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
if (ClaimData.IsAdministrator)
{
@Html.KretaComboBoxFor(x => x.TanarSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" })).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.FajlNevSrc).RenderSearchPanelSideBar()
@Html.KretaRangeNumericSideBar(x => x.FajlMeretTolSrc, x => x.FajlMeretIgSrc, precision: 0)
@Html.KretaRangeDatePickerSideBar(x => x.FeltoltesDatumTolSrc, x => x.FeltoltesDatumIgSrc)
@Html.KretaRangeDatePickerSideBar(x => x.HFHataridoTolSrc, x => x.HFHataridoIgSrc)
@Html.KretaComboBoxFor(x => x.IsOnlineOra, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
}
}
<div id="adatmennyisegek">
<label id="lblMarFetoltottAdatmennyiseg"></label>
<br />
<label id="lblMaxAdatmennyiseg"></label>
</div>
<div>
@(
Html.KretaGrid<HFCsatolmanyGridModel>
(
gridName,
new GridApiUrl(HaziFeladatCsatolmanyokApi, "GetHFCsatolmanyokGrid", new Dictionary<string, string>()),
dataParameterFunction: searchFormName,
allowScrolling: true,
dataBoundAdditionalFunction: "HFCsatolmanyHelper.changeGrid();"
)
.SelectBoxColumn(Html, 0)
.Columns(columns =>
{
columns.Bound(c => c.OraDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.Tanar).Visible(ClaimData.IsAdministrator);
columns.Bound(c => c.Tantargy);
columns.Bound(c => c.FajlNev);
columns.Bound(c => c.FajlMeretMB).Format("{0:n}");
columns.Bound(c => c.FeltoltesDatum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Hatarido).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.FunctionCommand(Html,
new List<FunctionCommand>
{
new FunctionCommand
{
Name = CommonResource.KijeloltekTorlese,
ClientAction = "HFCsatolmanyHelper.deleteSelected",
Classes = "kendo-gridFunctionKommandRed"
},
new FunctionCommand
{
Name = ImportExportCommonResource.Export,
ClientAction = "HFCsatolmanyHelper.getExport"
}
}
)
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Torles,
ClientAction= "HFCsatolmanyHelper.deleteConfirm",
IconEnum = GridRowFunctionIconEnum.Torles
}
}, "HFCsatolmanyHelper.isTorlesVisible")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Letoltes,
ClientAction= "HFCsatolmanyHelper.downloadCsatolmany",
IconEnum = GridRowFunctionIconEnum.Letoltes
}
}, "HFCsatolmanyHelper.isDownloadVisible")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var HFCsatolmanyHelper = (function () {
var helper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var url = {
DeleteCsatolmany: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DeleteCsatolmany" })",
DeleteSelectedCsatolmany: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DeleteSelectedCsatolmany" })",
DownloadCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DownloadCsatolmanyFile" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "GetExport" })",
GetAdatmennyiseg: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "GetFelhasznaloAdatmennyisege" })",
}
helper.changeGrid = function () {
KretaGridHelper.getAllRows(gridName).forEach(val => {
if (val.Torolt_BOOL) {
var row = $(`tr[data-uid="${val.uid}"]`);
row.addClass('deletedRow');
row.kendoTooltip({
content: `@(CommonResource.Torolte): ${val.TorloUser} - ${getDate(val.TorlesDatum)}`,
position: "top",
show: function () {
var that = this;
var tooltips = $("[data-role=tooltip]");
tooltips.each(function () {
var tooltip = $(this).data("kendoTooltip");
if (tooltip && tooltip !== that) {
tooltip.hide();
}
});
}
});
}
});
$("#container").kendoTooltip({
filter: "tr",
content: function (e) { return e.target.html(); }
});
if (CommonUtils.parseBool("@ClaimData.IsAdministrator")) {
var tanarId = Number($("#TanarSrc").val());
if (tanarId > 0) {
AjaxHelper.DoGet(url.GetAdatmennyiseg, { felhasznaloId: tanarId }, helper.setAdatmennyisegek);
$("#adatmennyisegek").show();
} else {
$("#adatmennyisegek").hide();
}
} else {
AjaxHelper.DoGet(url.GetAdatmennyiseg, { felhasznaloId: "@ClaimData.FelhasznaloId" }, helper.setAdatmennyisegek);
$("#adatmennyisegek").show();
}
};
function getDate(dateString) {
let date = new Date(dateString);
let month = date.getMonth() + 1;
let day = date.getDate();
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
return date.getFullYear() + ". " + month + ". " + day + ".";
}
helper.isTorlesVisible = function (rowData) {
return !(rowData.Torolt_BOOL);
}
helper.isDownloadVisible = function (rowData) {
return !(rowData.Torolt_BOOL);
}
helper.deleteConfirm = function (rowData) {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanToroliSzeretneCsatolmanyt)", deleteCsatolmany, rowData.ID);
}
helper.deleteSelected = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanTorolniSzeretneAKijeloltCsatolmanyokat)", deleteSelected, selectedRows);
}
else {
KretaWindowHelper.feedbackWindow("@(IntezmenyResource.Torles)", "@(IntezmenyResource.AKijeloltElemekTorlesehezJeloljonKiLegalabbEgyElemet)", true, KretaWindowHelper.destroyAllWindow);
}
}
helper.setAdatmennyisegek = function (data) {
$("#lblMarFetoltottAdatmennyiseg").html(data["marFeltoltottAdatmennyiseg"]);
$("#lblMaxAdatmennyiseg").html(data["maxAdatmennyiseg"]);
}
function deleteCsatolmany(data) {
AjaxHelper.DoPost(url.DeleteCsatolmany, data, deleteResponseOk, responseError);
}
function deleteSelected(selectedRows) {
var parameters = selectedRows.filter(x => !x.Torolt_BOOL).map(x => x.ID);
AjaxHelper.DoPost(url.DeleteSelectedCsatolmany, parameters, deleteResponseOk, responseError);
}
function responseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function deleteResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
helper.downloadCsatolmany = function (rowData) {
CommonUtils.formFileDownload(url.DownloadCsatolmany, rowData.ID);
}
helper.getExport = function() {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName);
}
return helper;
})();
</script>

View file

@ -0,0 +1,47 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Classes
@using Kreta.Framework
@model TanarHelyettesitesekKereseseSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "HelyettesitesGrid"))
{
@Html.KretaRangeDatePickerSideBar(model => model.IdoszakKezdete, model => Model.IdoszakVege)
@Html.KretaComboBoxFor(model => model.HelyettesitettId, Model.AlkalmazottList).RenderSearchPanelSideBar()
@*@Html.KretaComboBoxFor(model => model.HelyettesitoId, Model.AlkalmazottList).RenderSearchPanelSideBar()*@
}
}
<div>
@(
Html.KretaGrid<TanarHelyettesitesekKereseseGridModel>
(
name: "HelyettesitesGrid",
getUrl: new GridApiUrl("HelyettesitendoTanarOraiApi", "GetHelyettesitesGrid"),
allowScrolling: true,
dataParameterFunction: "searchForm"
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Width("10%").Hidden();
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Ora);
columns.Bound(c => c.OsztalyCsoportNev);
columns.Bound(c => c.TantargyNev);
columns.Bound(c => c.OraSorszama).Width("10%");
columns.Bound(c => c.TanitasiOraTemaja);
columns.Bound(c => c.Helyettesites);
columns.Bound(c => c.Megtartott_BNAME);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>

View file

@ -0,0 +1,42 @@
@using Kreta.Resources
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tanar.Models;
@model HelyettesitesGridModel
@{
var gridName = "HelyettesitesekAjanlasaGrid_" + Model.ID;
}
<div id="partialDetailGrid_@Model.ToString()">
@(
Html.KretaGrid<HelyettesitesTanarGridModel>(
gridName,
new GridApiUrl("HelyettesitesekKereseseApi", "GetHelyettesitesekAjanlasa", new Dictionary<string, string>()),
allowFilterable: false,
allowSorting: false,
allowPaging: false,
pageSizes: null,
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
)
.Columns(columns =>
{
columns.Bound(c => c.TanarNev).SetClientTemplateWithToolip("#:TanarNev# (#:TanarOktatasiAzonosito#)", "(TanarNev == null) && (TanarOktatasiAzonosito == null)");
})
.ComboBoxForColumn(Html, TanarResource.HelyettesitesTipusa, Model.HelyettesitesTipusList, m => m.HelyettesitesTipusId, classList: new List<string> { "gridInputMaxWidth" }, width: 350)
.Columns(columns =>
{
columns.Bound(c => c.OsztalycsoportNev).Width("20%").SetDisplayPropertyWithToolip("OsztalycsoportNev");
columns.Bound(c => c.TantargyNev).Width("20%").SetDisplayPropertyWithToolip("TantargyNev");
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
ClientAction = "function(e) { HelyettesitesKereseseHelper.saveHelyettesites(e, '" + gridName + "') }",
Name = TanarResource.HelyettesitesBeallitasa,
IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Aktival
}
})
)
</div>

View file

@ -0,0 +1,224 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Resources
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Tanar.Models
@model HelyettesitesSearchModel
@{
string searchFormName = "searchForm";
string gridName = "HelyettesitesGrid";
}
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => Model.IdoszakVege)
@Html.KretaComboBoxFor(x => x.HelyettesitettId, Model.AlkalmazottList).RenderSearchPanelSideBar()
}
}
<div>
<div class="container-fluid">
<div class="row">
@Html.KretaTextAreaFor(x => x.HelyettesitesOka).RenderWithName(3, 9)
</div>
</div>
@(
Html.KretaGrid<HelyettesitesGridModel>(
gridName,
new GridApiUrl("HelyettesitesekKereseseApi", "GetHelyettesitesGrid", new Dictionary<string, string>()),
dataParameterFunction: searchFormName,
dataBoundAdditionalFunction: "HelyettesitesKereseseHelper.hideEmtyRowFunction()",
clientTemplate: "detailGrid-template",
clientTemplateUrl: Url.Action("GetHelyettesitoTanarok", "HelyettesitesekKeresese", new { area = "Tanar" }),
clientTemplateWholeDataRow: true,
allowFilterable: false,
allowPaging: false,
pageSizes: null
)
.Columns(columns =>
{
columns.Bound(m => m.ID).Hidden();
columns.Bound(c => c.HelyettesitettOrarendiOraId).Hidden();
columns.Bound(c => c.HelyettesitettOraKezdete).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HelyettesitettOraszam).Width("10%");
columns.Bound(c => c.HelyettesitettTantargy).SetDisplayPropertyWithToolip("HelyettesitettTantargy");
columns.Bound(c => c.HelyettesitettOsztaly).SetDisplayPropertyWithToolip("HelyettesitettOsztaly");
columns.Bound(c => c.HelyettesitettTerem).SetDisplayPropertyWithToolip("HelyettesitettTerem");
columns.Bound(c => c.HelyettesitoTanarNev).SetDisplayPropertyWithToolip("HelyettesitoTanarNev");
columns.Bound(c => c.HelyettesitesTipusId_DNAME).SetDisplayPropertyWithToolip("HelyettesitesTipusId_DNAME");
})
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanarResource.Elmarad, ClientAction = "HelyettesitesKereseseHelper.confirmOraElmarad", IconEnum = GridRowFunctionIconEnum.KorbenX }
}, "HelyettesitesKereseseHelper.isKiirhatElmaradtOrat")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanarResource.ElmaradtOraTorlese, ClientAction = "HelyettesitesKereseseHelper.confirmDeleteElmaradtOra", IconEnum = GridRowFunctionIconEnum.Torles }
}, "HelyettesitesKereseseHelper.isTorolhetoElmaradtOra")
.ConditionalRowFunction(Html, new List<RowFunction>
{
new RowFunction { Name = TanarResource.HelyettesitesTorlese, ClientAction = "HelyettesitesKereseseHelper.confirmHelyettesitesTorlese", IconEnum = GridRowFunctionIconEnum.Torles }
}, "HelyettesitesKereseseHelper.isTorolhetoHelyettesites")
.Sortable(sortable => sortable
.Enabled(false))
)
</div>
@Html.KretaGridTemplate("detailGrid-template")
<script type="text/javascript">
var HelyettesitesKereseseHelper = (function () {
var helyettesitesKereseseHelper = function () { };
var searchFormName = "@searchFormName";
var gridName = "@gridName";
var url = {
SaveHelyettesites: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "SaveHelyettesites" })",
HelyettesitesTorlese: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "HelyettesitesTorlese" })",
OraElmarad: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "OraElmarad" })",
DeleteElmaradtOra: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "HelyettesitesekKereseseApi", action = "DeleteElmaradtOra" })",
NemNaplozottTanorakCount: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNemNaplozottTanorakCount" })"
}
helyettesitesKereseseHelper.saveHelyettesites = function (rowData, gridName) {
var helyettesitesOkaValue = getHelyettesitesOka();
var rows = KretaGridHelper.getAllRows(gridName);
var currentRow = rows.find(x => x.id === rowData.id);
if (CommonUtils.isNullOrEmpty(currentRow.ki_HelyettesitesTipusId)) {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.HelyetesitesTipusKitoltesKotelezo)", true, undefined);
}
else {
if (rowData.Tulora_BOOL == true) {
KretaWindowHelper.feedbackWindowWithThreeButton(Globalization.Kerdes, "@HelyettesitesResource.HelyettesitoTanarnakIsLegyenTulora", undefined,
"@CommonResource.Vissza", "@CommonResource.Igen", "@CommonResource.Nem", null, IgenFn, NemFn, "VisszaId", "IgenId", "NemId", null, 40, null, rowData, rowData);
}
else {
AjaxHelper.DoPost(url.SaveHelyettesites, {
HelyettesitendoOraID: currentRow.HelyettesitettOrarendiOraId,
HelyettesitoTanarID: currentRow.TanarId,
HelyettesitesTipusId: currentRow.ki_HelyettesitesTipusId,
Datum: currentRow.HelyettesitesDatuma,
HelyettesitesOka: helyettesitesOkaValue
}, successFeedBack);
}
}
}
function IgenFn(rowData) {
if (rowData !== undefined) {
var helyettesitesOkaValue = getHelyettesitesOka();
AjaxHelper.DoPost(url.SaveHelyettesites, {
HelyettesitendoOraID: rowData.HelyettesitettOrarendiOraId,
HelyettesitoTanarID: rowData.TanarId,
HelyettesitesTipusId: rowData.ki_HelyettesitesTipusId,
Datum: rowData.HelyettesitesDatuma,
HelyettesitesOka: helyettesitesOkaValue,
IsTuloraMentes: true
}, successFeedBack);
}
}
function NemFn(rowData) {
if (rowData !== undefined) {
var helyettesitesOkaValue = getHelyettesitesOka();
AjaxHelper.DoPost(url.SaveHelyettesites, {
HelyettesitendoOraID: rowData.HelyettesitettOrarendiOraId,
HelyettesitoTanarID: rowData.TanarId,
HelyettesitesTipusId: rowData.ki_HelyettesitesTipusId,
Datum: rowData.HelyettesitesDatuma,
HelyettesitesOka: helyettesitesOkaValue,
IsTuloraMentes: false
}, successFeedBack);
}
}
helyettesitesKereseseHelper.confirmHelyettesitesTorlese = function (rowData) {
if (rowData.HelyettesitesId == null) {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.AzAdottOraraNincsKiirvaHelyettesites)", true, undefined);
} else {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", helyettesitesTorlese, rowData);
}
}
helyettesitesKereseseHelper.helyettesitesBeallitasClose = function () {
KretaWindowHelper.destroyWindow("HelyettesitesBeallitasaWindow");
}
helyettesitesKereseseHelper.confirmOraElmarad = function (rowData) {
if (rowData.TanoraId == null) {
KretaWindowHelper.confirmWindow("@(ErrorResource.Hiba)", "@(TanarResource.BiztosanLenaplozzaAzOratElmaradtOrakent)", oraElmarad, rowData);
} else {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.EzMarElmaradtOrakentLettNaplozva)", true, undefined);
}
}
helyettesitesKereseseHelper.confirmDeleteElmaradtOra = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(TanarResource.BiztosanTorliAzElmaradtOrat)", deleteElmaradtOra, rowData);
}
helyettesitesKereseseHelper.isKiirhatElmaradtOrat = function (rowData) {
var result = rowData.TanoraId == null && rowData.HelyettesitesId == null;
return result;
}
helyettesitesKereseseHelper.isTorolhetoElmaradtOra = function (rowData) {
var result = rowData.TanoraId != null;
return result;
}
helyettesitesKereseseHelper.isTorolhetoHelyettesites = function (rowData) {
var result = rowData.TanoraId == null && rowData.HelyettesitesId != null;
return result;
}
helyettesitesKereseseHelper.hideEmtyRowFunction = function () {
$.each($(".rowFunction"), function (i, e) {
if ($(e).children().length < 1) {
$(e).hide();
}
});
}
function successFeedBack() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.DoGet(url.NemNaplozottTanorakCount, {}, helyettesitesKereseseHelper.updateNemNapolzottTanorakCount);
}
helyettesitesKereseseHelper.updateNemNapolzottTanorakCount = function (data) {
$("#NemNaplozottTanorakCount").attr('data-badge',data);
}
function deleteElmaradtOra(rowData) {
if (rowData.TanoraId == null) {
KretaWindowHelper.feedbackWindow("@(ErrorResource.Hiba)", "@(TanarResource.EzNemEgyElmaradtOra)", true, undefined);
} else {
AjaxHelper.DoPostQuery(url.DeleteElmaradtOra, null, { tanoraId: rowData.TanoraId, helyettesitettOrarendiOraId: rowData.HelyettesitettOrarendiOraId, helyettesitettDatum: rowData.HelyettesitettOraKezdete.toLocaleString() }, successFeedBack);
}
}
function helyettesitesTorlese(rowData) {
AjaxHelper.DoPost(url.HelyettesitesTorlese, { HelyettesitesID: rowData.HelyettesitesId }, successFeedBack);
}
function getHelyettesitesOka() {
var helyettesitesOka = $('#HelyettesitesOka').val();
return !CommonUtils.isNullOrEmpty(helyettesitesOka) ? helyettesitesOka : null;
}
function oraElmarad(rowData) {
var helyettesitendoTanar = $('#HelyettesitettId').val();
AjaxHelper.DoPost(url.OraElmarad, { HelyettesitendoOraID: rowData.HelyettesitettOrarendiOraId, Datum: rowData.HelyettesitettDatum, HelyettesitendoTanarID: helyettesitendoTanar, HelyettesitesOka: getHelyettesitesOka() }, successFeedBack);
}
return helyettesitesKereseseHelper;
})();
</script>

View file

@ -0,0 +1,302 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Enums.ManualEnums;
@using Kreta.Resources;
@using Kreta.Web.Security;
@model NemNaplozottTanorakSearchModel
@section AddCss {
@Styles.Render(Constants.General.TanuloErtekelesCSS)
@Styles.Render(Constants.General.NaplozasAutoFeljegyzesCSS)
}
@Scripts.Render("~/bundles/Calendar")
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "NemNaplozottTanorakGrid"))
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.CsakAHelyettesiteseim).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.HelyettesitettOraimIs).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.JovobeniOrakMegjelenitese).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.DatumSrcTol, x => x.DatumSrcIg)
@Html.KretaRangeNumericSideBar(x => x.OraszamSrcTol, x => x.OraszamSrcIg, precision: 0, needTolIgLabels: true)
@Html.KretaRangeTimePickerSideBar(x => x.OraKezdetSrcTol, x => x.OraKezdetSrcIg)
}
}
@{
string rowFnEnableStringSearch = "<span style='float: right; padding-right: 20px;'><a title=\"" + OrarendResource.Adatok + "\" href=\"javascript:void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this),'NemNaplozottTanorakGrid',HelyettesitesKereseseHelper.openNaplozas);\"><i style=\"font-size: 22px;\" class=\"fa fa-search\" aria-hidden=\"true\"></i></a></span>";
string rowFnEnableStringModosit = "<span style='float: right; padding-right: 20px;'><a title=\"" + OrarendResource.Naplozas + "\" href=\"javascript:void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this),'NemNaplozottTanorakGrid',HelyettesitesKereseseHelper.openNaplozas);\"><i style=\"font-size: 22px;\" class=\"fa fa-pencil\" aria-hidden=\"true\"></i></a></span>";
string rowFnDisableString = "<span style='color: red; float: right; padding-right: 20px;'>" + OrarendResource.NaplozarasMiattNemNaplozhato + "</span>";
}
<div>
@(
Html.KretaGrid<NemNaplozottTanorakGridModel>
(
"NemNaplozottTanorakGrid",
new GridApiUrl("NemNaplozottTanorakApi", "GetNemNaplozottTanorakGrid", new Dictionary<string, string>()),
dataParameterFunction: "searchForm",
exportColumnUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "NemNaplozottTanorakApi", action = "GetExportColumns" }),
exportDataUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "NemNaplozottTanorakApi", action = "GetNemNaplozottTanorakExportGrid" }),
allowExcelExport: true,
excelExportFileName: "NemNaplozottTanorakExport",
allowFilterable: false,
allowPaging: true,
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.OraKezdeteTimeText).Ascending();
sort.Add(m => m.OraKezdeteDate).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.OraKezdeteDate).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HetNapjaValos).SetDisplayProperty("HetNapjaValos_DNAME");
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.OraKezdeteTimeText);
columns.Bound(c => c.OsztalyNev);
})
.LinkButtonColumn("", c => c.TargyNev, "HelyettesitesKereseseHelper.openNaplozas", GridButtonsEnum.Modositas)
.Columns(columns =>
{
columns.Bound(c => c.HelyettesitoTanarNev);
})
.Columns(c => c.Template(t => t.ToString()).Title("").ClientTemplate(@"
#if(new Date(OraKezdeteDate) < new Date(kendo.parseDate('" + Model.NaplozarasDate.ToString("yyyy-MM-dd") + @"')) && ('" + Model.IsCsakErtekelesZarasa + @"' != '" + true + @"'))
{
# " + rowFnDisableString + @"#
}
else
{
if(HelyettesitoTanarID !== null && HelyettesitoTanarID !== " + ClaimData.FelhasznaloId + @")
{
#" + rowFnEnableStringSearch + @"#
}
else
{
#" + rowFnEnableStringModosit + @"#
}
} #
"))
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var naplozasURL = '@Url.Action("TanorakOrarendEvent", "TanariOrarend", new { area = "Orarend" })';
var HelyettesitesKereseseHelper = (function () {
var helyettesitesKereseseHelper = function () { };
helyettesitesKereseseHelper.openNaplozas = function (row) {
var json = {
CalendarModel:
{
allDay: false,
end: moment.utc(row.OraVege).local(),
eventColor: "#B95555",
eventColorRightLine: null,
eventId: row.Id,
eventType: 1,
helyettesitesId: null,
helyettesitoId: row.HelyettesitoTanarID,
oraType: 1,
start: moment.utc(row.OraKezdete).local()
},
HideTanoraModButton: true
};
AjaxHelper.DoPost(naplozasURL, json, Tanorak.popUpNaplozasWindow);
};
return helyettesitesKereseseHelper;
})();
</script>
<script>
var Tanorak = (function () {
var tanorak = function () { };
var getNemNaplozottTanorakCountUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNemNaplozottTanorakCount" })";
tanorak.tanoraMuveletWindow = "tanoraMuveletWindow";
tanorak.closeTanoraMuveletWindow = function () {
KretaWindowHelper.destroyWindow(tanorak.tanoraMuveletWindow);
KretaGridHelper.refreshGridSearchPanel("NemNaplozottTanorakGrid", "searchForm");
AjaxHelper.DoGet(getNemNaplozottTanorakCountUrl, {}, tanorak.updateNemNapolzottTanorakCount);
};
tanorak.popUpNaplozasWindow = function (data) {
popUpNaplozasWindow(data);
}
tanorak.FeedBackOKNaplozas = function () {
Tanorak.closeTanoraMuveletWindow();
}
tanorak.updateNemNapolzottTanorakCount = function (data) {
$("#NemNaplozottTanorakCount").attr('data-badge',data);
}
function popUpNaplozasWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.content = data;
var modal = KretaWindowHelper.createWindow(tanorak.tanoraMuveletWindow, config);
KretaWindowHelper.openWindow(modal, true);
$("#" + tanorak.tanoraMuveletWindow).data("kendoWindow").refresh();
}
return tanorak;
})();
</script>
<script type="text/javascript">
var TanariOrarend = (function () {
var tanariOrarend = function () { };
tanariOrarend.ChangeAllJelenletValue = function (val) {
if (val) {
$.each($("#MulasztasokNaplozasaGrid").find(".kretaSelectorButton[val='" + val + "']"), function () {
if (!$(this).hasClass("activebar")) {
$(this).click();
}
});
} else {
$.each($("#MulasztasokNaplozasaGrid").find(".kretaSelectorButton"), function () {
if ($(this).hasClass("activebar")) {
$(this).click();
}
});
}
}
return tanariOrarend;
})();
</script>
<script>
var SzamonkeresElorejelzesHelper = (function () {
var szamonkeresElorejelzesHelper = function () { };
var formName = "SzamonkeresElorejelzesForm";
var gridName = "SzamonkeresElorejelzesGrid";
var validateUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "ValidateSzamonkeresElorejelzes" })";
var saveUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "SaveSzamonkeresElorejelzes" })";
var deleteUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "DeleteSzamonkeresElorejelzes" })";
var getmodlistandcomboitemscolorUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "GetModListAndComboItemColor" })";
szamonkeresElorejelzesHelper.onSzamonkeresModListDataBound = function (e) {
SetSzamonkeresModListColor();
}
function SetSzamonkeresModListColor() {
var form = $('#' + formName);
var data = form.toObject();
AjaxHelper.DoGet(getmodlistandcomboitemscolorUrl, { OraGroupId: data.OraGroupId, OsztalyCsoportId: data.OsztalyCsoportId, Datum: data.Datum, }, GetModListAndComboItemColorCallback);
}
function GetModListAndComboItemColorCallback(result) {
var ertekelesModIdArray = result.ErtekelesModList;
var kendocombo = $('#ErtekelesModId').data('kendoComboBox');
$(kendocombo.items()).each(function (index, item) {
var datatitem = kendocombo.dataItem(index);
if (ertekelesModIdArray.includes(Number(datatitem.Value))) {
switch (result.color) {
case "green":
default:
$(item).css('background-color', '#74A942');
break;
case "orange":
$(item).css('background-color', '#E39F0B');
break;
case "red":
$(item).css('background-color', '#A94442');
break;
}
}
});
}
szamonkeresElorejelzesHelper.isTorolheto = function (rowData) {
return rowData.Torolheto_BOOL;
}
szamonkeresElorejelzesHelper.deleteConfirm = function (rowData) {
var postData = { id: rowData.ID };
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.BiztosanTorliASzamonkeresElorejelzest)", deleteSzamonkeresElorejelzes, postData);
}
function deleteSzamonkeresElorejelzes(postData) {
AjaxHelper.DoPostQuery(deleteUrl, null, postData, deleteSuccessCallBack, deleteErrorCallBack);
}
function deleteSuccessCallBack() {
KretaGridHelper.refreshGrid(gridName);
TanariOrarend.FormSearch("searchForm");
}
function deleteErrorCallBack(data) {
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", data.responseJSON.Message, true);
}
szamonkeresElorejelzesHelper.Save = function () {
var form = $('#' + formName);
var data = form.toObject();
AjaxHelper.DoValidationPost(validateUrl, formName, data, SzamonkeresElorejelzesHelper.ValidateCallback);
//AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk,SaveFeedBackError);
}
szamonkeresElorejelzesHelper.ValidateCallback = function (postData) {
var form = $('#' + formName);
var data = form.toObject();
if (postData.Valid) {
AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk);
} else {
KretaWindowHelper.confirmWindow("@(CommonResource.Figyelmeztetes)", postData.Text, confirmWindowOK);
}
}
szamonkeresElorejelzesHelper.setSaveButton = function () {
var gridName = "SzamonkeresElorejelzesGrid";
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
var disablesavebutton = false;
$.each(dataSource, function (index, value) {
if (value.Torolheto_BOOL) {
disablesavebutton = true;
}
});
var button = $("#SzamonkeresElorejelzesSave").data("kendoButton");
if (disablesavebutton) {
button.enable(false);
}
else {
button.enable(true);
}
SetSzamonkeresModListColor();
}
function confirmWindowOK() {
var form = $('#' + formName);
var data = form.toObject();
AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk);
}
function SaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
TanariOrarend.FormSearch("searchForm");
}
function SaveFeedBackError() {
KretaGridHelper.refreshGrid(gridName);
}
return szamonkeresElorejelzesHelper;
})();
</script>

View file

@ -0,0 +1,32 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Classes
@using Kreta.Web.Helpers.Grid
@model OralatogatasokKereseseAdatModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(model => model.DateString)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Ora)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Tanar)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Beosztas)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.LatogatottPedagogus)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Tantargy)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.OsztalyCsoport)
</div>
<div class="row">
@Html.KretaLabelFor(model => model.Megjegyzes)
</div>
</div>

View file

@ -0,0 +1,111 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Security
@model BejelentettSzamonkeresekSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
string searchFormName = "searchForm";
string gridName = "BejelentettSzamonkeresekGrid";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "BejelentettSzamonkeresekGrid"))
{
@Html.KretaRangeDatePickerSideBar(model => model.DatumTol, model => model.DatumIg)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.HetNapjaSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetHetNapjaTipusList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaNumericFor(model => model.OraszamSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SzamonkeresModSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetErtekelesModList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.SzamonkeresMegnevezesSrc).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.BejelentesDatumaTol, model => model.BejelentesDatumaIg)
@Html.KretaCheckBoxFor(model => model.RegiSzamonkeresekElrejtese).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<BejelentettSzamonkeresekGridModel>
(
name: gridName,
getUrl: new GridApiUrl("TanarBejelentettSzamonkeresekApi", "GetBejelentettSzamonkeresekGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowFilterable: false,
allowPaging: true,
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.SzamonkeresDatuma).Ascending();
sort.Add(m => m.Oraszam).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.SzamonkeresDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HetNapjaNev).SetDisplayProperty("HetNapjaNev");
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.TargyNev);
columns.Bound(c => c.OsztalyNev);
columns.Bound(c => c.ErtekelesModNev);
columns.Bound(c => c.SzamonkeresMegnevezes);
columns.Bound(c => c.BejelentesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand {Name = ImportExportCommonResource.Export, ClientAction = "SzamonkeresElorejelzesHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Torles, ClientAction= "SzamonkeresElorejelzesHelper.deleteConfirm", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
}, "SzamonkeresElorejelzesHelper.isTorolheto")
)
</div>
<script type="text/javascript">
var SzamonkeresElorejelzesHelper = (function () {
var szamonkeresElorejelzesHelper = function () { };
var searchFormName = "@(searchFormName)";
var gridName = "@(gridName)";
var url = {
deleteUrl: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "DeleteSzamonkeresElorejelzes" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TanarBejelentettSzamonkeresekApi, action = "GetExport" })"
};
szamonkeresElorejelzesHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
szamonkeresElorejelzesHelper.isTorolheto = function (rowData) {
return rowData.Torolheto_BOOL && rowData.TanarId == @ClaimData.FelhasznaloId;
}
szamonkeresElorejelzesHelper.deleteConfirm = function (rowData) {
var postData = { id: rowData.ID };
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.BiztosanTorliASzamonkeresElorejelzest)", deleteSzamonkeresElorejelzes, postData);
}
function deleteSzamonkeresElorejelzes(postData) {
AjaxHelper.DoPostQuery(url.deleteUrl, null, postData, deleteSuccessCallBack, deleteErrorCallBack);
}
function deleteSuccessCallBack() {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
}
function deleteErrorCallBack(data) {
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", data.responseJSON.Message, true);
}
return szamonkeresElorejelzesHelper;
})();
</script>

View file

@ -0,0 +1,71 @@
@using Kreta.Web.Areas.Tanar.Models
@model TanarDashboardModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddCss {
@Styles.Render("~/Content/RendszerHibaErtesitesek")
}
@functions {
private void RenderContent(TanarDashboardItemModel item)
{
item.Content = string.Format("<div class='content'>{0}</div>", item.Content);
Html.RenderPartial("TanarDashboardItem", item);
}
private void RenderTableContent(TanarDashboardTableModel item)
{
Html.RenderPartial("TanarDashboardTable", item);
}
}
<div class="rendszerContainer">
@{
if ((bool)ViewData["IsTanarTTFfelVagySzuperOsztalyFonok"])
{
RenderTableContent(Model.BeNemIrtOrak);
RenderTableContent(Model.KiirtHelyettesitesek);
if ((bool)ViewData["UzenetekEnabled"])
{
RenderTableContent(Model.Uzenetek);
}
if ((bool)ViewData["UgyekEnabled"])
{
RenderTableContent(Model.Ugyek);
}
if ((bool)ViewData["IsOsztalyFonokVagyCsoportVezeto"])
{
RenderTableContent(Model.Mulasztasok);
RenderTableContent(Model.BukasraAlloTanulok);
}
foreach (var item in Model.DashBoardUzenetek)
{
if (Constants.AdminDashboardEgyediAzonositok.RENDSZERFRISSITESI.Equals(item.EgyediAzonosito))
{
item.Content = string.Format(item.Content, Html.Raw(ViewBag.ShortMainVersion), Html.Raw(ViewBag.NextUpdateDateTimeText));
}
else if (Constants.AdminDashboardEgyediAzonositok.COVIDINFO.Equals(item.EgyediAzonosito))
{
if (Model.VanCovidFertozott)
{
item.Content = string.Format(item.Content, Url.Action("DownloadCovidFertozott", Constants.Controllers.TanarDashboard, new { area = Constants.Areas.Tanar }));
}
else
{
continue;
}
}
RenderContent(item);
}
}
}
</div>

View file

@ -0,0 +1,37 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Enums.ManualEnums
@model TanarDashboardItemModel
@{
string tipusClass = string.Empty;
switch (Model.Type)
{
case AdminDashboardTipusEnum.Error:
tipusClass = "subjectError";
break;
case AdminDashboardTipusEnum.Warning:
tipusClass = "subjectWarning";
break;
case AdminDashboardTipusEnum.Success:
tipusClass = "subjectSuccess";
break;
case AdminDashboardTipusEnum.Info:
tipusClass = "subjectInfo";
break;
case AdminDashboardTipusEnum.Priority:
tipusClass = "subjectPriority";
break;
}
}
<div class="col-xlg-4 col-md-6 col-xs-12">
<div class="nb-item highlighted row row-eq-height">
<div style="width: 100%;">
<div class="nb-content">
<div class="@(tipusClass)">
<h4 class="left">@Model.Name</h4>
</div>
@Html.Raw(Model.Content)
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,51 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Resources
@model TanarDashboardTableModel
<div class="col-xlg-4 col-md-6 col-xs-12">
<div class="nb-item highlighted row row-eq-height">
<div style="width: 100%;">
<div class="nb-content">
<div class="subjectInfo">
<h4 class="left">@Model.Name</h4>
</div>
<div class="content">
<div class="k-content">
<div class="k-widget k-grid">
<table class="fullwidth">
<thead class="k-grid-header">
<tr>
@foreach (var header in Model.Headers)
{
<th class="k-header dashboard-card-header"><span class="k-link">@header</span></th>
}
</tr>
</thead>
@if (Model.Rows.Count > 0)
{
<tbody>
@foreach (var row in Model.Rows)
{
<tr>
@foreach (var column in row.Columns)
{
<td>@column</td>
}
</tr>
}
</tbody>
}
</table>
@if (Model.Rows.Count == 0)
{
<div class="textAlignCenter">@TanarDashBoardResource.NincsMegjelenithetoAdat</div>
}
</div>
<a href="@Model.Url" class="redirectionLink" @(Model.OpenInNewWindow ? "target='_blank'" : "")>@TanarDashBoardResource.Tovabb</a>
</div>
</div>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,130 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security;
@model OralatogatasokKereseseModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var searchFormName = "searchForm";
var gridName = "OralatogatasGrid";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
if (ClaimData.IsVegyes)
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.IdoszakKezdete, x => x.IdoszakVege)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportokSearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.LatogatottPedagogusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" }), "Text", "Value").RenderSearchPanelSideBar()
}
}
@{
var alapOralatogasRowFunctions = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Adatok, ClientAction= "OralatogatasokKereseseHelper.openDetailWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
};
var sajatOralatogasRowFunctions = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Torles, ClientAction= "OralatogatasokKereseseHelper.delete", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
};
}
@(
Html.KretaGrid<OralatogatasokKereseseGridModel>(
name: gridName,
getUrl: new GridApiUrl(Constants.ApiControllers.TanarOralatogatasokListajaApi, "GetOralatogatasokGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowScrolling: true,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.Datum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.Oraszam).Width("10%");
columns.Bound(c => c.AlkalmazottElotagNelkul).SetDisplayProperty("Alkalmazott");
columns.Bound(c => c.Beosztas);
columns.Bound(c => c.LatogatottPedagogus);
columns.Bound(c => c.Tantargy);
columns.Bound(c => c.OsztalyCsoport);
})
.RowFunction(Html, alapOralatogasRowFunctions)
.ConditionalRowFunction(Html, sajatOralatogasRowFunctions, "OralatogatasokKereseseHelper.isSajatErtekelesRow")
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), ClientAction="OralatogatasokKereseseHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
<script type="text/javascript">
var url = {
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TanarOralatogatasokListajaApi, action = "DeleteOralatogatas" })",
OpenInfoPopUp: "@Url.Action("OpenOralatogatasInfoPopUp", Constants.Controllers.TanarOralatogatasokListaja, new { area = "Tanar" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TanarOralatogatasokListajaApi, action = "GetExport" })"
}
var OralatogatasokKereseseHelper = (function () {
var oralatogatasokKereseseHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
oralatogatasokKereseseHelper.openDetailWindow = function (rowData) {
var postData = { oralatogatasId: rowData.ID };
AjaxHelper.DoPost(url.OpenInfoPopUp, postData, popUpDetailWindow);
}
oralatogatasokKereseseHelper.delete = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteOraLatogatas, { TanitasiOraId: rowData.TanitasiOraId, AlkalmazottId: rowData.AlkalmazottId } );
}
oralatogatasokKereseseHelper.closePopUps = function () {
KretaWindowHelper.destroyAllWindow();
}
oralatogatasokKereseseHelper.isSajatErtekelesRow = function (rowData) {
return rowData.IsSajatErtekeles_BOOL;
}
oralatogatasokKereseseHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(CommonResource.Adatok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteOraLatogatas(data) {
AjaxHelper.DoPost(url.Delete, data, deleteResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
return oralatogatasokKereseseHelper;
})();
</script>

View file

@ -0,0 +1,40 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Kreta.Web" />
<add namespace="Kreta.BusinessLogic.Utils" />
<add namespace="Kendo.Mvc.UI" />
<add namespace="Kreta.Web.Helpers" />
<add namespace="System.Web.Optimization" />
<add namespace="Kreta.Web" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>