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

978 lines
45 KiB
Text

@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@model AdminTanariOrarendModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "Orarend.FormSearch"))
{
@Html.KretaComboBoxFor(x => x.Tanar, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar", isFromSzervezet = Model.IsFromSzervezet }), isSingleElementSet: false).AutoBind(true).RenderSearchPanelSideBar()
}
}
@Html.HiddenFor(x=>x.CopyOrarendJson)
@Html.KretaTabStripAjax("AdminTanariOrarendTabStrip", Model.TabList, "Orarend.OnTabStripActivate", "Orarend.OnTabStripSelect")
@section AddCss {
@Styles.Render(Constants.General.JqueryContextCss)
}
@section AddJs {
@Scripts.Render("~/bundles/Calendar")
@Scripts.Render(Constants.General.JqueryContextJs)
<script type="text/javascript">
$(function () {
window.copyUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "CopyOrarendiElem" })";
window.preValidationUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "PreValidationOnCopyOrarendiElem" })";
var calendarNames = Orarend.GetCalendarContainer().calendars;
$.contextMenu({
selector: `#${calendarNames.OrarendiOrak} .fc-time-grid-event`,
callback: function (key, options) {
if (key == "copy") {
$(this).trigger({
type: 'mousedown',
which: 888
});
}
else if (key == "paste") {
$(this).trigger({
type: 'mousedown',
which: 999
});
}
},
items: {
"copy": {
name: "Másolás", icon: "copy"
},
"paste": {
name: "Beillesztés", icon: "paste",
disabled: function (key, opt) {
return (typeof calendarCopyData === 'undefined') || calendarCopyData.oraType !== 1 || calendarCopyData.orarendViewStart === null || calendarCopyData.orarendViewEnd == null;
}
}
}
});
$.contextMenu({
selector: `#${calendarNames.TanoranKivuliFoglalkozasok} .fc-time-grid-event,.fc-time-grid-container`,
hideOnSecondTrigger: true,
callback: function (key, options) {
if (key == "copy") {
$(this).trigger({
type: 'mousedown',
which: 888
});
}
else if (key == "paste") {
var calendar = new SDAFullCalendar();
var json = {};
json.copyId = window.calendarCopyData.id;
json.dateFrom = CommonUtils.SetUtcDateTimeFromDatetime(window.calendarCopyData.orarendViewStart);
json.dateTo = CommonUtils.SetUtcDateTimeFromDatetime(window.calendarCopyData.orarendViewEnd);
json.oraszam = window.calendarCopyData.hanyadikora;
$('#CopyOrarendJson').val(JSON.stringify(json));
calendar.pasteNapirendCalendarData(window.calendarCopyData, calendarNames.TanoranKivuliFoglalkozasok);
}
},
items: {
"copy": {
name: "Másolás", icon: "copy",
disabled: function (key, opt) {
return !this.context.classList.contains('fc-time-grid-event');
}
},
"paste": {
name: "Beillesztés", icon: "paste",
disabled: function (key, opt) {
return (typeof calendarCopyData === 'undefined') || calendarCopyData.oraType !== 3;
}
}
},
autoHide: true
});
});
</script>
<script type="text/javascript">
var Orarend = (function () {
var orarend = function () { };
var calendars = {
OrarendiOrak: "FullCalendar-0",
TanoranKivuliFoglalkozasok: "FullCalendar-1",
NemKotottMunkaido: "FullCalendar-2"
}
var calendarContainer = {
activeTabIndex: null,
tanarId: @Model.TanarId,
view: null,
calendars
}
orarend.successOnPrevalidation = function () {
var json = CommonUtils.JSONparse($('#CopyOrarendJson').val());
AjaxHelper.DoPost(window.copyUrl, json, Orarend.successCopy);
};
orarend.successCopy = function () {
Orarend.FormSearch("searchForm");
}
orarend.GetCalendarContainer = function () {
return calendarContainer;
}
orarend.SetCalendarContainerActiveTabIndex = function (value) {
calendarContainer.activeTabIndex = value;
}
orarend.SetCalendarContainerView = function (value) {
calendarContainer.view = value;
}
orarend.OnTabStripSelect = function (e) {
showLoadingIndicator();
Orarend.SetCalendarContainerActiveTabIndex(e.sender.select().index()); // A régi tab indexe, amelyikről ellép
var fullCalendarId = "FullCalendar-" + Orarend.GetCalendarContainer().activeTabIndex;
var view = $("#" + fullCalendarId).fullCalendar("getView");
Orarend.SetCalendarContainerView(view);
}
orarend.OnTabStripActivate = function (e) {
Orarend.SetCalendarContainerActiveTabIndex(e.sender.select().index()); // Az új tab indexe, amelyikre lép
var fullCalendarId = "FullCalendar-" + Orarend.GetCalendarContainer().activeTabIndex;
Orarend.CreateCalendar(fullCalendarId);
}
orarend.FormSearch = function (formId) {
var formContent = $("#" + formId).serializeObject();
calendarContainer.tanarId = formContent.Tanar;
var calendarId = "FullCalendar-" + calendarContainer.activeTabIndex;
var calendar = $("#" + calendarId);
var view = calendar.fullCalendar("getView");
calendarContainer.view = view;
Orarend.CreateCalendar(calendarId);
}
orarend.closeNaplozasWindow = function () {
KretaWindowHelper.destroyWindow("naplozasWindow");
};
orarend.CreateCalendar = function (calendarName) {
CreateCalendar(calendarName, calendarContainer.tanarId);
}
function CreateCalendar(calendarName, tanarId/*, osztalyId*/) {
$("#" + calendarName).fullCalendar("destroy");
if (tanarId == "") {
tanarId = -1;
}
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendar = calendarName;
pram.tanarId = tanarId;
pram.minTime = '@Model.CalendarMinTime';
pram.maxTime = '@Model.CalendarMaxTime';
pram.hetirendek = '@Model.HetirendJson';
pram.naptariHetekHetirend = '@Model.NaptariHetekHetirendJson';
pram.selectHelper = true;
pram.selectOverlapAllowed = false;
pram.naptariHetekUrl = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetTanevHetek" })';
if (calendarContainer.view) {
pram.defaultView = calendarContainer.view.name;
pram.calendarStartDate = calendarContainer.view.intervalStart.format();
} else {
pram.calendarStartDate = "@DateTime.Now.ToString("yyyy-MM-dd")";
}
switch (calendarName) {
case calendars.OrarendiOrak:
pram.serviceURL = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetAdminTanariOrarendOrarendiOrak", isFromSzervezet = Model.IsFromSzervezet })";
pram.clickEvent = OrarendiOrak.CalendarClickEvent;
pram.isNewEventEnabled = false;
pram.kellCsengetesiRendMegjelenites = true;
pram.minTime = '@Model.CsengetesiRendMinTime';
pram.maxTime = '@Model.CsengetesiRendMaxTime';
pram.orarendView = true;
pram.mouseoverEvent = showTooltip;
pram.mouseoutEvent = hideTooltip;
break;
case calendars.TanoranKivuliFoglalkozasok:
pram.serviceURL = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetAdminTanariOrarendTanoranKivuliFoglalkozasok", isFromSzervezet = Model.IsFromSzervezet })";
pram.selectEvent = Foglalkozasok.CalendarSelectEvent;
pram.clickEvent = Foglalkozasok.CalendarClickEvent;
pram.isNewEventEnabled = true;
pram.eventType = @Html.Raw((int)EventTypeEnum.UjOraFelvitele);
pram.minTime = '@ViewBag.napirendStart';
pram.maxTime = '@ViewBag.napirendEnd';
pram.mouseoverEvent = showTooltip;
pram.mouseoutEvent = hideTooltip;
break;
case calendars.NemKotottMunkaido:
pram.serviceURL = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetAdminNemKotottMunkaido" })";
pram.selectEvent = NemKotottMunkaido.CalendarSelectEvent;
pram.clickEvent = NemKotottMunkaido.CalendarClickEvent;
pram.isNewEventEnabled = true;
pram.eventType = @Html.Raw((int)EventTypeEnum.UjOraFelvitele);
pram.minTime = '@ViewBag.nemKotottMunkaidoStart';
pram.maxTime = '@ViewBag.nemKotottMunkaidoEnd';
pram.mouseoverEvent = showTooltip;
pram.mouseoutEvent = hideTooltip;
break;
}
calendar.initialize(pram);
// Amikor betöltődik, akkor hívja meg a hétválasztót, hogy kereséskor beálljon a megfelelő hétre
if (typeof setHetValaszto === 'function') {
$("#" + calendarName + "_tanevHetek").data('kendoComboBox').dataSource.one('change', setHetValaszto);
}
hideLoadingIndicator();
if (calendarName === calendars.TanoranKivuliFoglalkozasok) {
var napirendView = $(`#${calendars.TanoranKivuliFoglalkozasok}`).fullCalendar('getView');
var napirendContainer = document.querySelector(`#${calendars.TanoranKivuliFoglalkozasok} .fc-time-grid-container`);
napirendContainer.addEventListener('contextmenu', function () { paste(napirendView) });
}
}
function paste(napirendView) {
if (typeof window.calendarCopyData !== 'undefined' && window.calendarCopyData.oraType === 3) {
napirendView.coordMap.build();
var rightClickTarget = napirendView.coordMap.getCell(event.clientX, event.clientY);
var start = Date.parse(rightClickTarget.start._d);
var duration = Date.parse(window.calendarCopyData.end._d) - Date.parse(window.calendarCopyData.start._d);
var end = start + duration;
window.calendarCopyData.orarendViewStart = moment.utc(start).format("YYYY-MM-DDTHH:mm:ss");
window.calendarCopyData.orarendViewEnd = moment.utc(end).format("YYYY-MM-DDTHH:mm:ss");
}
}
function showTooltip(data, element) {
var elem = $(element).data('kendoTooltip');
var contentMsgResource = '@OrarendResource.DateTooltipMsg';
var contentMsg = contentMsgResource.format(data.OraErvenyessegKezdete, data.OraErvenyessegVege);
if ((data.oraType == '@((int)CalendarOraTypeEnum.OrarendiOra)' || data.oraType == '@((int)CalendarOraTypeEnum.TanoranKivuliFoglalkozas)') && CommonUtils.isNullOrUndefined(elem)) {
$(element).kendoTooltip({
width: 250,
position: "top",
content: contentMsg
}).data("kendoTooltip").show();
}
}
function hideTooltip(data, element) {
if (!CommonUtils.isUndefined(element) && !CommonUtils.isNullOrEmpty(element) && !data._allDay) {
var kendoTooltipElement = $(element).data('kendoTooltip');
if (!CommonUtils.isUndefined(kendoTooltipElement) && !CommonUtils.isNullOrEmpty(kendoTooltipElement) && CommonUtils.isFunction(kendoTooltipElement.hide)) {
kendoTooltipElement.destroy();
}
}
}
function showLoadingIndicator() {
AjaxHelper.ShowIndicator();
}
function hideLoadingIndicator() {
AjaxHelper.HideIndicator();
}
return orarend;
})();
</script>
<script type="text/javascript">
var OrarendiOrak = (function () {
var orarendiOrak = function () { };
var formName = "OrarendiOraForm";
var datePickerChanged = false;
var tanarChanged = false;
var osztalyChanged = false;
var tantargyChanged = false;
var clickNewURL = "@Url.Action("OpenNewOrarendiOraPopUp", Model.ControllerName, new { area = "Orarend" })";
var clickModifyURL = "@Url.Action("OpenModifyOrarendiOraPopUp", Model.ControllerName, new { area = "Orarend" })";
var preValidationOrarendiOraURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "PreValidationOrarendiOra" })";
var preValidationDeleteOrarendiOraURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "PreValidationDeleteOrarendiOra" })";
var saveOrarendiOraURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "SaveOrarendiOra" })";
var deleteOrarendiOraURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "DeleteOrarendiOra" })";
var titleURL = "@Url.Action("GetOrarendiOraWindowTitle", Model.ControllerName, new { area = "Orarend" })";
var getFoglalkozasURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasDataById" })";
var hasHazifeladatOrHelyettesitesOrSzamonkeresForOrarendiOraURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminOsztalyOrarendApi", action = "HasHazifeladatOrHelyettesitesOrSzamonkeresForOrarendiOra" })";
var hasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminOsztalyOrarendApi", action = "HasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszak" })";
orarendiOrak.CalendarClickEvent = function (e) {
window.CalendarModel = e;
if (e.oraType == 5) {
return; /*TanevRendjeEsemeny*/
}
if (e.eventType == 0) {
AjaxHelper.DoPost(titleURL, e, function (d) { setWindowTitle(d); AjaxHelper.DoPost(clickNewURL, e, popUpNewOrarendiOraWindow); });
} else {
AjaxHelper.DoPost(titleURL, e, function (d) { setWindowTitle(d); AjaxHelper.DoPost(clickModifyURL, e, popUpModifyOrarendiOraWindow); });
}
};
orarendiOrak.newOrarendiOraCancel = function () {
KretaWindowHelper.destroyWindow("newOrarendiOraWindow");
}
orarendiOrak.OrarendhezSave = function () {
saveOrarendiOra(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
orarendiOrak.EttolHettolSave = function () {
saveOrarendiOra(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
orarendiOrak.EddigHetigSave = function () {
saveOrarendiOra(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
orarendiOrak.EgyOraHozzaadasaSave = function () {
if (CommonUtils.parseBool("@Model.IsFromSzervezet")) {
CalendarDateTimeChangeHelper.setDatum('OraErvenyessegKezdete', $("#ValasztottDatum").val());
CalendarDateTimeChangeHelper.setDatum('OraErvenyessegVege', $("#ValasztottDatum").val());
}
saveOrarendiOra(@((int)OraModositasiIdoszakTipus.EgyOra));
}
orarendiOrak.Save = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(saveOrarendiOraURL, formName, data, orarendiOraSaveResponseOk);
}
orarendiOrak.modCancel = function () {
KretaWindowHelper.destroyWindow("modifyOrarendiOraWindow");
}
orarendiOrak.modOrarendiOraDeleteConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
orarendiOrak.modOrarendiOraDeleteFromConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
orarendiOrak.modOrarendiOraDeleteToConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
orarendiOrak.modOrarendiOraDeleteDayConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.EgyOra));
}
orarendiOrak.modOrarendiOraSave = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(preValidationOrarendiOraURL, formName, data, OrarendiOrak.ModConfirmSave);
}
orarendiOrak.ModConfirmSave = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
if (tanarChanged || tantargyChanged || osztalyChanged) {
AjaxHelper.DoValidationPost(hasHazifeladatOrHelyettesitesOrSzamonkeresForOrarendiOraURL, formName, data, openDeleteConfirm)
} else {
if (datePickerChanged) {
AjaxHelper.DoValidationPost(hasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszakURL, formName, data, openDeleteConfirm)
} else {
OrarendiOrak.ModSave();
}
}
}
function openDeleteConfirm(data) {
if (data == "True") {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@OrarendResource.AKorabbanRogzitettElemekTorlodniFognakBiztosanFolytatja", OrarendiOrak.ModSave, undefined, undefined, "@CommonResource.Folytatas", "@CommonResource.Megse");
} else {
OrarendiOrak.ModSave();
}
}
orarendiOrak.ModSave = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(saveOrarendiOraURL, formName, data, orarendiOraSaveResponseOk);
}
orarendiOrak.tovabbiOrarendiOraFelvetele = function () {
var csengetesiRendId = $("#CsengetesiRendOraID").val();
KretaWindowHelper.destroyAllWindow();
var data = window.CalendarModel;
data.eventId = csengetesiRendId;
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(data);
AjaxHelper.DoPost(clickNewURL, data, popUpNewOrarendiOraWindow);
}
/* módosítás */
orarendiOrak.modOrarendiOraSaveDay = function () {
modOrarendiOra(@((int)OraModositasiIdoszakTipus.EgyOra));
}
orarendiOrak.modOrarendiOraSaveTo = function () {
modOrarendiOra(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
orarendiOrak.modOrarendiOraSaveFrom = function () {
modOrarendiOra(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
orarendiOrak.modOrarendiOraSaveTanev = function () {
modOrarendiOra(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
function modOrarendiOra(modositasiIdoszakTipus) {
if (modositasiIdoszakTipus != @((int)OraModositasiIdoszakTipus.TeljesIdoszak) && datePickerChanged && !CommonUtils.parseBool("@Model.IsFromSzervezet")) {
KretaWindowHelper.warningWindow(Globalization.Figyelem, '@OrarendResource.OranrendModositasnalDatumValtozasFigyelmeztetes', OrarendiOrak.ReOpenMod)
}
else {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.OrarendiOra");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(preValidationOrarendiOraURL, formName, data, OrarendiOrak.ModConfirmSave);
}
}
orarendiOrak.ReOpenMod = function () {
KretaWindowHelper.destroyAllWindow();
var data = window.CalendarModel;
orarendiOrak.CalendarClickEvent(data);
datePickerChanged = false;
tanarChanged = false;
osztalyChanged = false;
tantargyChanged = false;
}
/* módosítás */
function saveOrarendiOra(modositasiIdoszakTipus) {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.OrarendiOra");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(preValidationOrarendiOraURL, formName, data, OrarendiOrak.Save);
}
function preValidationDelete(modositasiIdoszakTipus) {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.OrarendiOra");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(preValidationDeleteOrarendiOraURL, formName, data, deleteConfirm);
}
function deleteConfirm() {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", OrarendiOrak.deleteOrarendiOra);
}
orarendiOrak.deleteOrarendiOra = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(deleteOrarendiOraURL, formName, data, orarendiOraDeleteResponseOk);
}
function setWindowTitle(data) {
window.windowTitle = data;
}
function popUpNewOrarendiOraWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.CsengetesiRendhezKotottOrarendiOraFelvetele)" + window.windowTitle; /*Csengetési rendhez kötött órarendi óra felvétele*/
config.content = data;
var modal = KretaWindowHelper.createWindow("newOrarendiOraWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModifyOrarendiOraWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.CsengetesiRendhezKotottOrarendiOraModositasa)" + window.windowTitle; /*Csengetési rendhez kötött órarendi óra módosítása*/
config.content = data;
var modal = KretaWindowHelper.createWindow("modifyOrarendiOraWindow", config);
datePickerChanged = false;
tanarChanged = false;
osztalyChanged = false;
tantargyChanged = false;
KretaWindowHelper.openWindow(modal, true);
}
orarendiOrak.dtChanged = function () {
datePickerChanged = true;
}
orarendiOrak.tanarChanged = function () {
tanarChanged = true;
}
function orarendiOraSaveResponseOk() {
KretaWindowHelper.destroyAllWindow();
Orarend.FormSearch("searchForm");
}
function orarendiOraDeleteResponseOk() {
KretaWindowHelper.destroyAllWindow();
Orarend.FormSearch("searchForm");
}
orarendiOrak.onCascadeFoglalkozas = function (e) {
if (e.sender.selectedIndex != -1) {
AjaxHelper.DoPostQuery(getFoglalkozasURL, null, { foglalkozasId: e.sender.value() }, changeFoglalkozasResponseOk);
}
}
function changeFoglalkozasResponseOk(result) {
var data = result.table[0];
$("#TTFModel_OsztalyID").data('kendoComboBox').value(data.OsztalyCsoportId);
$("#TTFModel_TantargyID").data('kendoComboBox').value(data.TantargyId);
setOraVege(data.CsoportTipusId);
}
orarendiOrak.changeOsztaly = function () {
$("#TTFModel_FoglalkozasID").data('kendoComboBox').value('');
osztalyChanged = true;
var osztalyComboBox = $("#TTFModel_OsztalyID").data('kendoComboBox');
var GetOsztalycsoportURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "ComboBoxHelperApi", action = "GetOsztalycsoportCsoportTipus" })";
if (osztalyComboBox.selectedIndex != -1) {
AjaxHelper.DoPostQuery(GetOsztalycsoportURL, null, { osztalycsoportId: osztalyComboBox.value() }, osztalycsoportResponse);
}
}
function osztalycsoportResponse(result) {
setOraVege(result);
}
function setOraVege(csoportTipusId) {
if (@Json.Encode(Model.IsOravegeBeallitasOrahosszAlapjan)) {
if ($("#CsengetesiRendOraID").val() !== "0" && $("#CsengetesiRendOraID").val() !== "-1" && $("#OraKezdete").data('kendoTimePicker').value() != null) { //Csak akkor kell tenni bármit is ha nem napirend van
var oraPercArray = $.grep(window.csoportTipusOraPerc, function (obj) { return obj.Id === csoportTipusId; });
if (oraPercArray.length) {
$("#OraVege").data('kendoTimePicker').value(new Date(moment($("#OraKezdete").data('kendoTimePicker').value()).add(oraPercArray[0].OraPerc, 'minutes')));
}
}
}
}
orarendiOrak.changeTeremByOsztaly = function () {
var osztalyComboBox = $("#TTFModel_OsztalyID").data('kendoComboBox');
if (osztalyComboBox.selectedIndex != -1) {
var GetOsztalyCsoportTeremURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "GetOsztalyCsoportTerem" })";
AjaxHelper.DoGet(GetOsztalyCsoportTeremURL, { osztalycsoportId: osztalyComboBox.value() }, changeTeremResponseOk);
}
}
function changeTeremResponseOk(result) {
var widget = $("#TeremID").data('kendoComboBox');
if (result > 0 && (!window.isFirstLoad || window.isFirstLoad == undefined)) { widget.value(result); }
else { if (result == "") { widget.value(""); } }
window.isFirstLoad = false;
}
orarendiOrak.changeTantargy = function () {
$("#TTFModel_FoglalkozasID").data('kendoComboBox').value('');
tantargyChanged = true;
}
return orarendiOrak;
})();
</script>
<script type="text/javascript">
var Foglalkozasok = (function () {
var foglalkozasok = function () { };
var formName = "OrarendiOraForm";
var datePickerChanged = false;
var clickNewURL = "@Url.Action("OpenNewFoglalkozasokOraPopUp", Model.ControllerName, new { area = "Orarend" })";
var clickModifyURL = "@Url.Action("OpenModifyFoglalkozasokOraPopUp", Model.ControllerName, new { area = "Orarend" })";
var preValidationFoglalkozasURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "PreValidationOrarendiOra" })";
var saveFoglalkozasURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "SaveOrarendiOra" })";
var deleteFoglalkozasURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "DeleteOrarendiOra" })";
var getTanarokNeveURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "GetTanarokNeve" })";
var titleURL = "@Url.Action("GetFoglalkozasWindowTitle", Model.ControllerName, new { area = "Orarend" })";
var calendarElement;
var isOrarendiNap = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "IsOrarendiNap" })";
var hasTanitasiNap = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "HasTanitasiNap" })";
foglalkozasok.CalendarClickEvent = function (e) {
window.CalendarModel = e;
if (e.eventType == 1 && e.oraType == 3) {
AjaxHelper.DoPost(titleURL, e, function (d) { setWindowTitle(d); AjaxHelper.DoPost(clickModifyURL, e, popUpModifyFoglalkozasWindow); });
}
};
foglalkozasok.CalendarSelectEvent = function (e) {
window.CalendarModel = e;
calendarElement = e;
if (calendarElement.eventType == 0) {
if (!e.allDay) {
AjaxHelper.DoGet(hasTanitasiNap, { date: moment(calendarElement.start).utc().format("YYYY-MM-DD HH:mm") }, openFoglalkozasokOraPopUp);
}
else {
KretaWindowHelper.notification("@(OrarendResource.NapirendFelviteleCsakEgyNapra)", "error");
}
}
};
foglalkozasok.newFoglalkozasCancel = function () {
KretaWindowHelper.destroyWindow("newFoglalkozasWindow");
}
foglalkozasok.OrarendhezSave = function () {
saveFoglalkozas(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
foglalkozasok.EttolHettolSave = function () {
saveFoglalkozas(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
foglalkozasok.EddigHetigSave = function () {
saveFoglalkozas(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
foglalkozasok.EgyOraHozzaadasaSave = function () {
if (CommonUtils.parseBool("@Model.IsFromSzervezet")) {
CalendarDateTimeChangeHelper.setDatum('OraErvenyessegKezdete', $("#ValasztottDatum").val());
CalendarDateTimeChangeHelper.setDatum('OraErvenyessegVege', $("#ValasztottDatum").val());
}
saveFoglalkozas(@((int)OraModositasiIdoszakTipus.EgyOra));
}
foglalkozasok.Save = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(saveFoglalkozasURL, formName, data, foglalkozasSaveResponseOk);
}
foglalkozasok.modFoglalkozasCancel = function () {
KretaWindowHelper.destroyWindow("modifyFoglalkozasWindow");
}
foglalkozasok.modFoglalkozasDeleteConfirmWindow = function () {
deleteConfirm(modFoglalkozasDelete);
}
foglalkozasok.modFoglalkozasDeleteFromConfirmWindow = function () {
deleteConfirm(modFoglalkozasDeleteFrom);
}
foglalkozasok.modFoglalkozasDeleteToConfirmWindow = function () {
deleteConfirm(modFoglalkozasDeleteTo);
}
foglalkozasok.modFoglalkozasDeleteDayConfirmWindow = function () {
deleteConfirm(modFoglalkozasDeleteDay);
}
foglalkozasok.modFoglalkozasSave = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(preValidationFoglalkozasURL, formName, data, Foglalkozasok.ModSave);
}
foglalkozasok.ModSave = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(saveFoglalkozasURL, formName, data, foglalkozasSaveResponseOk);
}
foglalkozasok.tovabbiFoglalkozasFelvetele = function () {
var csengetesiRendId = $("#CsengetesiRendOraID").val();
KretaWindowHelper.destroyAllWindow();
var data = window.CalendarModel;
data.eventId = csengetesiRendId;
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(data);
AjaxHelper.DoPost(clickNewURL, data, popUpNewFoglalkozasWindow);
}
foglalkozasok.dtChanged = function () {
datePickerChanged = true;
}
/* módosítás */
foglalkozasok.modFoglalkozasSaveDay = function () {
modFoglalkozas(@((int)OraModositasiIdoszakTipus.EgyOra));
}
foglalkozasok.modFoglalkozasSaveTo = function () {
modFoglalkozas(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
foglalkozasok.modFoglalkozasSaveFrom = function () {
modFoglalkozas(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
foglalkozasok.modFoglalkozasSaveTanev = function () {
modFoglalkozas(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
function modFoglalkozas(modositasiIdoszakTipus) {
if (modositasiIdoszakTipus != "@((int)OraModositasiIdoszakTipus.TeljesIdoszak)" && datePickerChanged && !CommonUtils.parseBool("@Model.IsFromSzervezet")) {
KretaWindowHelper.warningWindow(Globalization.Figyelem, '@OrarendResource.OranrendModositasnalDatumValtozasFigyelmeztetes', Foglalkozasok.ReOpenMod)
}
else {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.Foglalkozas");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(preValidationFoglalkozasURL, formName, data, Foglalkozasok.ModSave);
}
}
foglalkozasok.ReOpenMod = function () {
KretaWindowHelper.destroyAllWindow();
var data = window.CalendarModel;
foglalkozasok.CalendarClickEvent(data);
datePickerChanged = false;
}
/* módosítás */
function saveFoglalkozas(modositasiIdoszakTipus) {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.Foglalkozas");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName)
AjaxHelper.DoValidationPost(preValidationFoglalkozasURL, formName, data, Foglalkozasok.Save);
}
function modFoglalkozasDelete() {
deleteFoglalkozas(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
function modFoglalkozasDeleteFrom() {
deleteFoglalkozas(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
function modFoglalkozasDeleteTo() {
deleteFoglalkozas(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
function modFoglalkozasDeleteDay() {
deleteFoglalkozas(@((int)OraModositasiIdoszakTipus.EgyOra));
}
function deleteConfirm(deleteFunc) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteFunc);
}
function deleteFoglalkozas(modositasiIdoszakTipus) {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.Foglalkozas");
AjaxHelper.DoPostElement(deleteFoglalkozasURL, formName, foglalkozasDeleteResponseOk);
}
function setWindowTitle(data) {
window.windowTitle = data;
}
function popUpNewFoglalkozasWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.NapirendFelvetele)" + window.windowTitle; /*Napirend felvétele*/
config.content = data;
var modal = KretaWindowHelper.createWindow("newFoglalkozasWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModifyFoglalkozasWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.NapirendModositasa)" + window.windowTitle; /*Napirend módosítása*/
config.content = data;
var modal = KretaWindowHelper.createWindow("modifyFoglalkozasWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function foglalkozasSaveResponseOk() {
KretaWindowHelper.destroyAllWindow();
Orarend.FormSearch("searchForm");
}
function foglalkozasDeleteResponseOk() {
KretaWindowHelper.destroyAllWindow();
Orarend.FormSearch("searchForm");
}
function openFoglalkozasokOraPopUp(data) {
if (data === true || CommonUtils.parseBool("@Model.IsFromSzervezet")) {
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(calendarElement);
AjaxHelper.DoPost(titleURL, calendarElement, function (d) { setWindowTitle(d); AjaxHelper.DoPost(clickNewURL, calendarElement, popUpNewFoglalkozasWindow); });
}
else {
KretaWindowHelper.notification("@(OrarendResource.NemEngedelyezettNapirendFelvetele)", "error");
}
}
return foglalkozasok;
})();
</script>
<script type="text/javascript">
var NemKotottMunkaido = (function () {
var nemKotottMunkaido = function () { };
var formName = "NemKotottMunkaidoForm";
var clickNewURL = "@Url.Action("OpenNewNemKotottMunkaidoPopUp", Model.ControllerName, new { area = "Orarend" })";
var clickModURL = "@Url.Action("OpenModNemKotottMunkaidoPopUp", Model.ControllerName, new { area = "Orarend" })";
var SaveURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "SaveNemKotottMunkaIdo" })";
var DeleteURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "DeleteNemKotottMunkaIdo" })";
var EnabledNemKotottMunkaidoRogziteseURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "EnabledNemKotottMunkaidoRogzitese" })";
var nemKotottMunkaidoUtkozesValidationURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "UtkozesValidateNemKotottMunkaido" })";
var nemKotottMunkaidoTorlesValidationURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "TorlesValidateNemKotottMunkaido" })";
var calendarElement;
nemKotottMunkaido.CalendarClickEvent = function (e) {
window.CalendarModel = e;
if (e.eventType == 1 && e.oraType == 4) {
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(e);
AjaxHelper.DoPost(clickModURL, e, popUpModNemKotottMunkaidoWindow);
}
};
nemKotottMunkaido.CalendarSelectEvent = function (e) {
calendarElement = e;
if (calendarElement.eventType == 0) {
AjaxHelper.DoGet(EnabledNemKotottMunkaidoRogziteseURL, { date: moment(calendarElement.start).utc().format("YYYY-MM-DD HH:mm") }, openNemKotottMunkaidoPopUp);
}
};
nemKotottMunkaido.newNemKotottMunkaidoCancel = function () { KretaWindowHelper.destroyWindow("newNemKotottMunkaidoWindow"); }
nemKotottMunkaido.EgeszTanevreSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.TeljesIdoszak)); }
nemKotottMunkaido.EttolHettolSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNaptol)); }
nemKotottMunkaido.EddigHetigSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNapig)); }
nemKotottMunkaido.EgyOraHozzaadasaSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.EgyOra)); }
nemKotottMunkaido.modNemKotottMunkaidoCancel = function () { KretaWindowHelper.destroyWindow("modNemKotottMunkaidoWindow"); }
nemKotottMunkaido.modNemKotottMunkaidoDeleteConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDelete); }
nemKotottMunkaido.modNemKotottMunkaidosDeleteFromConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDeleteFrom); }
nemKotottMunkaido.modNemKotottMunkaidoDeleteToConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDeleteTo); }
nemKotottMunkaido.modNemKotottMunkaidoDeleteDayConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDeleteDay); }
nemKotottMunkaido.modNemKotottMunkaidoSaveDay = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.EgyOra)); }
nemKotottMunkaido.modNemKotottMunkaidoSaveTo = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNapig)); }
nemKotottMunkaido.modNemKotottMunkaidoSaveFrom = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNaptol)); }
nemKotottMunkaido.modNemKotottMunkaidoSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.TeljesIdoszak)); }
function saveNemKotottMunkaido(modositasiIdoszakTipus) {
$("#NemKotottMunkaidoForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#NemKotottMunkaidoForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.NemKotottMunkaido");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(nemKotottMunkaidoUtkozesValidationURL, formName, data, NemKotottMunkaido.ValidateNemkotottMunkaidoCallback);
}
function deleteNemKotottMunkaido(modositasiIdoszakTipus) {
$("#NemKotottMunkaidoForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#NemKotottMunkaidoForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.NemKotottMunkaido");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(nemKotottMunkaidoTorlesValidationURL, formName, data, NemKotottMunkaido.TorlesValidateNemkotottMunkaidoCallback);
}
function deleteConfirm(deleteFunc) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteFunc);
}
function modNemKotottMunkaidoDelete() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.TeljesIdoszak)); }
function modNemKotottMunkaidoDeleteFrom() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNaptol)); }
function modNemKotottMunkaidoDeleteTo() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNapig)); }
function modNemKotottMunkaidoDeleteDay() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.EgyOra)); }
function popUpNewNemKotottMunkaidoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(5047))"; /*Kötött munkaidő neveléssel-oktatással le nem kötött részének felvétele*/
config.content = data;
var modal = KretaWindowHelper.createWindow("newNemKotottMunkaidoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModNemKotottMunkaidoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(5048))"; /*Kötött munkaidő neveléssel-oktatással le nem kötött részének módosítása*/
config.content = data;
var modal = KretaWindowHelper.createWindow("modNemKotottMunkaidoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function nemKotottMunkaidoComplete() {
KretaWindowHelper.destroyAllWindow();
Orarend.FormSearch("searchForm");
}
function openNemKotottMunkaidoPopUp(data) {
if (data === true) {
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(calendarElement);
AjaxHelper.DoPost(clickNewURL, calendarElement, popUpNewNemKotottMunkaidoWindow);
}
else {
KretaWindowHelper.notification("@(OrarendResource.NemEngedelyezettNemKotottMunkaidoFelvetele)", "error");
}
}
nemKotottMunkaido.ValidateNemkotottMunkaidoCallback = function (data) {
if (data.Valid) {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(SaveURL, formName, data, nemKotottMunkaidoComplete);
} else {
KretaWindowHelper.confirmWindow("@(ErrorResource.Figyelmeztetes)", data.Text, saveNemkotottMunkaido);
}
}
nemKotottMunkaido.TorlesValidateNemkotottMunkaidoCallback = function (data) {
if (data.Valid) {
AjaxHelper.DoPostElement(DeleteURL, formName, nemKotottMunkaidoComplete);
} else {
KretaWindowHelper.confirmWindow("@(ErrorResource.Figyelmeztetes)", data.Text, nemkotottMunkaidoTorles);
}
}
function saveNemkotottMunkaido() {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(SaveURL, formName, data, nemKotottMunkaidoComplete);
}
function nemkotottMunkaidoTorles() {
AjaxHelper.DoPostElement(DeleteURL, formName, nemKotottMunkaidoComplete);
}
return nemKotottMunkaido;
})();
</script>
<script type="text/javascript">
$(document).ready(function () {
var GetCsoportTipusURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "ComboBoxHelperApi", action = "GetCsoportTipusOraPerc" })";
AjaxHelper.DoPost(GetCsoportTipusURL, null, csoportTipusResponse);
function csoportTipusResponse(data) { window.csoportTipusOraPerc = data; }
});
</script>
}