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,836 @@
@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Resources
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums
@model AdminOsztalyOrarendModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "Orarend.FormSearch"))
{
if(Model.IsFromSzervezet)
{
@Html.KretaComboBoxFor(x => x.Osztaly, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetLathatoDualisCsoportok" }), useGroup: false, isSingleElementSet: false).AutoBind(true).RenderSearchPanelSideBar()
}
else
{
@Html.KretaComboBoxFor(x => x.Osztaly, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).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",
}
var calendarContainer = {
activeTabIndex: null,
osztalyId: -1,
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.osztalyId = formContent.Osztaly;
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.osztalyId);
}
function CreateCalendar(calendarName, osztalyId) {
$("#" + calendarName).fullCalendar("destroy");
if (osztalyId == "") {
osztalyId = -1;
}
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendar = calendarName;
pram.osztalyCsoportId = osztalyId;
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 = "GetAdminOsztalyOrarendOrarendiOrak", 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 = "GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok", 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;
}
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 datePickerChanged = false;
var tanarChanged = false;
var osztalyChanged = false;
var tantargyChanged = false;
var formName = "OrarendiOraForm";
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 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 = Model.ApiControllerName, action = "HasHazifeladatOrHelyettesitesOrSzamonkeresForOrarendiOra" })";
var hasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "HasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszak" })";
orarendiOrak.CalendarClickEvent = function (e) {
window.CalendarModel = e;
if (e.oraType == 5) {
return; /*TanevRendjeEsemeny*/
}
if (e.eventType == 0) {
AjaxHelper.DoPost(titleURL, e, setWindowTitle);
var json = {};
json.CalendarModel = e;
json.OsztalyId = $("#searchForm #Osztaly").val();
AjaxHelper.DoPost(clickNewURL, json, popUpNewOrarendiOraWindow);
} else {
AjaxHelper.DoPost(titleURL, e, setWindowTitle);
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));
}
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);
}
orarendiOrak.Save = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(saveOrarendiOraURL, formName, data, orarendiOraSaveResponseOk);
}
orarendiOrak.modCancel = function () {
KretaWindowHelper.destroyWindow("modifyOrarendiOraWindow");
}
orarendiOrak.modOrarendiOraDeleteConfirmWindow = function () {
deleteConfirm(modOrarendiOraDelete);
}
function modOrarendiOraDelete() {
deleteOrarendiOra(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
orarendiOrak.modOrarendiOraDeleteFromConfirmWindow = function () {
deleteConfirm(modOrarendiOraDeleteFrom);
}
function modOrarendiOraDeleteFrom() {
deleteOrarendiOra(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
var modOrarendiOraDeleteTo = function () {
deleteOrarendiOra(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
orarendiOrak.modOrarendiOraDeleteToConfirmWindow = function () {
deleteConfirm(modOrarendiOraDeleteTo);
}
orarendiOrak.modOrarendiOraDeleteDayConfirmWindow = function () {
deleteConfirm(modOrarendiOraDeleteDay);
}
function modOrarendiOraDeleteDay() {
deleteOrarendiOra(@((int)OraModositasiIdoszakTipus.EgyOra));
}
function deleteConfirm(deleteFunc) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteFunc);
}
function deleteOrarendiOra(modositasiIdoszakTipus) {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
AjaxHelper.DoPostElement(deleteOrarendiOraURL, formName, orarendiOraDeleteResponseOk);
}
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 json = {};
json.OsztalyId = $("#TTFModel_OsztalyID").val();
json.CalendarModel = window.CalendarModel;
json.CalendarModel.eventId = $("#CsengetesiRendOraID").val();
KretaWindowHelper.destroyAllWindow();
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(json.CalendarModel);
AjaxHelper.DoPost(clickNewURL, json, popUpNewOrarendiOraWindow);
}
orarendiOrak.dtChanged = function () {
datePickerChanged = true;
}
orarendiOrak.tanarChanged = function () {
tanarChanged = true;
}
/* 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 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);
}
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 osztalycsoportId = $("#TTFModel_OsztalyID").data('kendoComboBox').value();
var GetOsztalycsoportURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "ComboBoxHelperApi", action = "GetOsztalycsoportCsoportTipus" })";
AjaxHelper.DoPostQuery(GetOsztalycsoportURL, null, { osztalycsoportId: osztalycsoportId === "" ? -1 : osztalycsoportId }, 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 osztalycsoportId = $("#TTFModel_OsztalyID").data('kendoComboBox').value();
var GetOsztalyCsoportTeremURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "GetOsztalyCsoportTerem" })";
AjaxHelper.DoGet(GetOsztalyCsoportTeremURL, { osztalycsoportId: osztalycsoportId === "" ? 0 : osztalycsoportId }, changeTeremResponseOk);
}
function changeTeremResponseOk(result) {
if (result > 0) {
$("#TeremID").data('kendoComboBox').value(result);
}
else {
$("#TeremID").data('kendoComboBox').value("");
}
}
orarendiOrak.changeTantargy = function () {
$("#TTFModel_FoglalkozasID").data('kendoComboBox').value('');
tantargyChanged = true;
}
return orarendiOrak;
})();
</script>
<script type="text/javascript">
var Foglalkozasok = (function () {
var foglalkozasok = function () { };
var datePickerChanged = false;
var formName = "OrarendiOraForm";
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 = "AdminTanariOrarendApi", 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); });
}
}
return foglalkozasok;
})();
</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>
}