944 lines
40 KiB
Text
944 lines
40 KiB
Text
@using Kreta.Web.Helpers
|
|
@using Kreta.Web.Areas.Orarend.Models;
|
|
@using OfficeOpenXml.FormulaParsing.Excel.Functions.Math
|
|
|
|
@model KozpontiOraModel
|
|
|
|
@{
|
|
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
|
}
|
|
|
|
<div id="kozpontiOrak">
|
|
@Html.KretaTabStripAjax("KozpontiOraTabStrip", Model.TabList, "KozpontiOra.OnTabStripActivate", "KozpontiOra.OnTabStripSelect")
|
|
</div>
|
|
|
|
@section AddCss{
|
|
<style type="text/css">
|
|
#kozpontiOrak .fc-orasorszam:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
#kozpontiOrak .fc-time-grid-event:hover {
|
|
background-color: rgba(0,255,0,0.5) !important;
|
|
}
|
|
|
|
#errorMsg {
|
|
color: #ff4350;
|
|
padding-bottom: 20px;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.small-padding-left {
|
|
padding-left: 20px;
|
|
}
|
|
</style>
|
|
}
|
|
|
|
@section AddJs {
|
|
@Scripts.Render("~/bundles/Calendar")
|
|
|
|
<script type="text/javascript">
|
|
const KozpontiOra = (() => {
|
|
const kozpontiOra = () => { };
|
|
|
|
let activeStart;
|
|
let activeEnd;
|
|
let activeHanyadikOra;
|
|
let sender;
|
|
|
|
const selectPopupId = "kozpontiOraSelectWindow";
|
|
const deleteOrarendiOrakPopupId = "deleteOrarendiOrakWindow";
|
|
const modositasPopupId = "modositaskWindow";
|
|
const orarendiOrakVisszaallitasaPopupId = "orarendiOrakVisszaallitasaWindow";
|
|
const createPopupId = "kozpontiOraCreateWindow";
|
|
|
|
const createGrid = "AdminKozpontiOrakRogzitesGrid";
|
|
const utkozoOrakGrid = "KozpontiOraUtkozoOrarendiOrakGrid";
|
|
const nemUtkozoOrakGrid = "KozpontiOraNemUtkozoOrarendiOrakGrid";
|
|
const orarendiOrakTorleseKozpontilagGrid = "orarendiOrakTorleseKozpontilagGrid";
|
|
const orarendiOrakVisszaallitasaKozpontilagGrid = "orarendiOrakVisszaallitasaKozpontilagGrid";
|
|
const modositasgrid = "modositasGrid";
|
|
const modositasDetailsGrid = "KozpontiOrak-";
|
|
|
|
let rogzitesTanoraiAdatokFormAdatok;
|
|
let kozpontiOrakFormAdatok = [];
|
|
let orarendiOrakVisszaAllitasra = [];
|
|
let reloadKozpontiOrakForm = false;
|
|
|
|
const kozpontiOraPropertyNames = [
|
|
"Sorszamozando",
|
|
"ParhuzamosOra",
|
|
"Tulora",
|
|
"TAMOPOra",
|
|
"KIPOra",
|
|
"VEKOP73317",
|
|
"KAPOra",
|
|
"NemSzakrendszeruOra",
|
|
"IKTTanora",
|
|
"NemzetisegiOra",
|
|
"IsFelnottoktatasiSzerzodes",
|
|
"MindennaposTestneveles",
|
|
"IPRTanora",
|
|
"Differencialt",
|
|
"Kooperativ",
|
|
"Meres",
|
|
"OnlineOra",
|
|
"Drama",
|
|
"Tiop",
|
|
"Bontott",
|
|
"Multikulturalis",
|
|
"EFOP32317",
|
|
"KomplexOra",
|
|
"GINOP623",
|
|
"EFOP31716EselyteremtesAKoznevelesben",
|
|
"EFOP33717",
|
|
"TIOP11112120120001",
|
|
"DFHT",
|
|
"Rahangolodas",
|
|
"Testmozgas",
|
|
"Muveszet",
|
|
"Eletgyakorlat",
|
|
"Logika",
|
|
"TeOrad",
|
|
"DigitalisAlapProgram",
|
|
"EFOP23517201700038Miapalya",
|
|
];
|
|
|
|
const getDate = () => {
|
|
let date = new Date(activeStart);
|
|
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;
|
|
}
|
|
|
|
var tanarok = @Html.Raw(Model.Tanarok);
|
|
var tantargyak = @Html.Raw(Model.Tantargyak);
|
|
var termek = @Html.Raw(Model.Termek);
|
|
var teremutkozesFigyeles = true;
|
|
var deleteOrarendiOrak = false;
|
|
|
|
const selectPopUpWindow = (data) => {
|
|
const config = KretaWindowHelper.getWindowConfigContainer();
|
|
config.title = '@CommonResource.ValasszonMunkafolyamatot';
|
|
config.width = "500px";
|
|
config.height = "295px";
|
|
config.content = data;
|
|
|
|
const modal = KretaWindowHelper.createWindow(selectPopupId, config);
|
|
KretaWindowHelper.openWindow(modal, true);
|
|
};
|
|
|
|
const deleteOrarendiOrakPopUpWindow = (data) => {
|
|
const config = KretaWindowHelper.getWindowConfigContainer();
|
|
config.title = `@KozpontiOrakResource.KozpontilagTorlendoOrak [${getDate()}. - ${activeHanyadikOra
|
|
}. óra]`;
|
|
config.width = "80%";
|
|
config.height = "70%";
|
|
config.content = data;
|
|
|
|
const modal = KretaWindowHelper.createWindow(deleteOrarendiOrakPopupId, config);
|
|
KretaWindowHelper.openWindow(modal, true);
|
|
};
|
|
|
|
const modositasPopUpWindow = (data) => {
|
|
const config = KretaWindowHelper.getWindowConfigContainer();
|
|
config.title = `@KozpontiOrakResource.KozpontiOraModositasa [${getDate()}. - ${activeHanyadikOra
|
|
}. óra]`;
|
|
config.width = "80%";
|
|
config.height = "70%";
|
|
config.content = data;
|
|
|
|
const modal = KretaWindowHelper.createWindow(modositasPopupId, config);
|
|
KretaWindowHelper.openWindow(modal, true);
|
|
};
|
|
|
|
const orarendiOrakVisszaallitasaPopUpWindow = (data) => {
|
|
const config = KretaWindowHelper.getWindowConfigContainer();
|
|
config.title = `@KozpontiOrakResource.KozpontilagToroltOrakVisszaallitasa [${getDate()}. - ${activeHanyadikOra}. óra]`;
|
|
config.width = "80%";
|
|
config.height = "70%";
|
|
config.content = data;
|
|
|
|
const modal = KretaWindowHelper.createWindow(orarendiOrakVisszaallitasaPopupId, config);
|
|
KretaWindowHelper.openWindow(modal, true);
|
|
};
|
|
|
|
const calendarContainer = {
|
|
activeTabIndex: null,
|
|
view: null
|
|
};
|
|
|
|
const url = {
|
|
OpenKozpontiOraSelectPopUp:
|
|
"@Url.Action("OpenSelectPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
|
|
OpenKozpontiOraCreatePopUpTanoraAdatok:
|
|
"@Url.Action("OpenCreateTanoraAdatok", "AdminKozpontiOrak", new {area = "Orarend"})",
|
|
OpenKozpontiOraCreatePopup:
|
|
"@Url.Action("OpenCreate", "AdminKozpontiOrak", new {area = "Orarend"})",
|
|
OpenKozpontiOraUtkozoOrarendiOrakPopup:
|
|
"@Url.Action("OpenUtkozoOrak", "AdminKozpontiOrak", new {area = "Orarend"})",
|
|
OpenOrarendiOrakTorleseKozpontilagPopup:
|
|
"@Url.Action("OpenOrarendiOrakTorleseKozpontilagPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
|
|
OpenModositasPopup:
|
|
"@Url.Action("OpenModositasPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
|
|
OpenOrarendiOrakVisszaallitasaPopup:
|
|
"@Url.Action("OpenOrarendiOrakVisszaallitasaPopUp", "AdminKozpontiOrak", new {area = "Orarend"})",
|
|
SaveKozpontiOrak:
|
|
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "CreateKozpontiOra"})",
|
|
DeleteOrarendiOrak:
|
|
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "DeleteOrarendiOrak"})",
|
|
OrarendiOrakVisszaallitasa:
|
|
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "OrarendiOrakVisszaallitasa"})",
|
|
OrarendiOrakVisszaallitasaValidacio:
|
|
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "OrarendiOrakVisszaallitasaValidacio"})",
|
|
DeleteKozpontiOra:
|
|
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "DeleteKozpontiOra"})",
|
|
DeleteAllKozpontiOraByGroupId:
|
|
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "AdminKozpontiOrakApi", action = "DeleteAllKozpontiOraByGroupId"})",
|
|
WizardContentUrl: "@Url.Action("LoadKozpontiOraWizardContent", "Wizard", new {area = ""})"
|
|
};
|
|
|
|
const saveKozpontiOra = () => {
|
|
let orarendiOrakTorlesre = [];
|
|
let kozpontiOrakRogzitesre = [];
|
|
|
|
if (deleteOrarendiOrak) {
|
|
KretaGridHelper.getAllRows(utkozoOrakGrid).forEach(val => {
|
|
if (val.ki_chk === true) {
|
|
orarendiOrakTorlesre.push(val.ID);
|
|
}
|
|
});
|
|
|
|
KretaGridHelper.getAllRows(nemUtkozoOrakGrid).forEach(val => {
|
|
if (val.ki_chk === true) {
|
|
orarendiOrakTorlesre.push(val.ID);
|
|
}
|
|
});
|
|
}
|
|
|
|
for (var i = 0; i < kozpontiOrakFormAdatok.length; i++) {
|
|
if (kozpontiOrakFormAdatok[i].ki_chk === true) {
|
|
let kozpontiOra = {
|
|
OsztalyId: kozpontiOrakFormAdatok[i].ID,
|
|
TanarID: kozpontiOrakFormAdatok[i].TanarID,
|
|
TantargyID: kozpontiOrakFormAdatok[i].TantargyID,
|
|
TeremID: kozpontiOrakFormAdatok[i].TeremID
|
|
};
|
|
|
|
kozpontiOraPropertyNames.forEach(prop => {
|
|
kozpontiOra[prop] = kozpontiOrakFormAdatok[i][prop];
|
|
});
|
|
|
|
kozpontiOrakRogzitesre.push(kozpontiOra);
|
|
}
|
|
}
|
|
|
|
let model = {
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
|
|
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
|
|
hanyadikora: activeHanyadikOra,
|
|
orarendiOrakTorlesre: orarendiOrakTorlesre,
|
|
kozpontiOrakRogzitesre: kozpontiOrakRogzitesre
|
|
};
|
|
|
|
if (teremutkozesFigyeles) {
|
|
model.IsTeremutkozesFigyelese = teremutkozesFigyeles;
|
|
AjaxHelper.DoPost(url.SaveKozpontiOrak, model, kozpontiOra.refreshPageAndDisplayMsgForCreate, kozpontiOra.saveErrorCallback);
|
|
} else {
|
|
model.IsTeremutkozesFigyelese = teremutkozesFigyeles;
|
|
AjaxHelper.DoPost(url.SaveKozpontiOrak, model, kozpontiOra.refreshPageAndDisplayMsgForCreate, kozpontiOra.saveErrorCallback);
|
|
}
|
|
}
|
|
|
|
kozpontiOra.SetDefaultTanar = (e) => {
|
|
var selectedValue = e.value();
|
|
var selectedText = e.text();
|
|
|
|
KretaGridHelper.getAllRows(createGrid).forEach(val => {
|
|
var row = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tanar]`);
|
|
row.textContent = selectedText;
|
|
val.TanarID = selectedValue;
|
|
});
|
|
}
|
|
|
|
kozpontiOra.GetTanarok = () => {
|
|
return tanarok;
|
|
}
|
|
|
|
kozpontiOra.GetTanar = (tanarId) => {
|
|
var selectedTanar = tanarok.find(i => i.Value === tanarId.toString());
|
|
|
|
if (selectedTanar) {
|
|
return selectedTanar.Text;
|
|
}
|
|
|
|
return "";
|
|
}
|
|
|
|
kozpontiOra.SetDefaultTantargy = (e) => {
|
|
var selectedValue = e.value();
|
|
var selectedText = e.text();
|
|
|
|
KretaGridHelper.getAllRows(createGrid).forEach(val => {
|
|
var row = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tantargy]`);
|
|
row.textContent = selectedText;
|
|
val.TantargyID = selectedValue;
|
|
});
|
|
}
|
|
|
|
kozpontiOra.GetTantargyak = () => {
|
|
return tantargyak;
|
|
}
|
|
|
|
kozpontiOra.GetTantargy = (tantargyId) => {
|
|
var selectedTantargy = tantargyak.find(i => i.Value === tantargyId.toString());
|
|
|
|
if (selectedTantargy) {
|
|
return selectedTantargy.Text;
|
|
}
|
|
|
|
return "";
|
|
}
|
|
|
|
kozpontiOra.SetDefaultTerem = (e) => {
|
|
var selectedValue = e.value();
|
|
var selectedText = e.text();
|
|
|
|
KretaGridHelper.getAllRows(createGrid).forEach(val => {
|
|
var row = document.querySelector(`tr[data-uid="${val.uid}"] td[data-terem]`);
|
|
row.textContent = selectedText;
|
|
val.TeremID = selectedValue;
|
|
});
|
|
}
|
|
|
|
kozpontiOra.GetTermek = () => {
|
|
return termek;
|
|
}
|
|
|
|
kozpontiOra.GetTerem = (teremId) => {
|
|
var selectedTerem = termek.find(i => i.Value === teremId.toString());
|
|
|
|
if (selectedTerem) {
|
|
return selectedTerem.Text;
|
|
}
|
|
|
|
return "";
|
|
}
|
|
|
|
kozpontiOra.GetCalendarContainer = () => calendarContainer;
|
|
|
|
kozpontiOra.SetCalendarContainerActiveTabIndex = (value) => {
|
|
calendarContainer.activeTabIndex = value;
|
|
};
|
|
|
|
kozpontiOra.SetCalendarContainerView = (value) => {
|
|
calendarContainer.view = value;
|
|
};
|
|
|
|
const CreateCalendar = (calendarName) => {
|
|
$(`#${calendarName}`).fullCalendar("destroy");
|
|
|
|
activeCalendar = calendarName;
|
|
|
|
const calendar = new SDAFullCalendar();
|
|
const pram = calendar.getParameters();
|
|
pram.calendar = calendarName;
|
|
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")";
|
|
}
|
|
|
|
pram.serviceURL =
|
|
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "CalendarApi", action = "GetAdminKozpontiOrak"})";
|
|
pram.clickEvent = KozpontiOra.CalendarClickEvent;
|
|
pram.minTime = "@Model.CsengetesiRendMinTime";
|
|
pram.maxTime = "@Model.CsengetesiRendMaxTime";
|
|
pram.orarendView = true;
|
|
pram.kellCsengetesiRendMegjelenites = true;
|
|
pram.isNewEventEnabled = false;
|
|
|
|
calendar.initialize(pram);
|
|
};
|
|
|
|
kozpontiOra.CreateCalendar = (calendarName) => {
|
|
CreateCalendar(calendarName);
|
|
};
|
|
|
|
kozpontiOra.OnTabStripActivate = ({ sender }) => {
|
|
KozpontiOra.SetCalendarContainerActiveTabIndex(sender.select().index());
|
|
|
|
const fullCalendarId = `FullCalendar-${KozpontiOra.GetCalendarContainer().activeTabIndex}`;
|
|
KozpontiOra.CreateCalendar(fullCalendarId);
|
|
};
|
|
|
|
kozpontiOra.refreshCalendar = () => {
|
|
const calendarId = `FullCalendar-${calendarContainer.activeTabIndex}`;
|
|
const calendar = $(`#${calendarId}`);
|
|
const view = calendar.fullCalendar("getView");
|
|
calendarContainer.view = view;
|
|
|
|
CreateCalendar(calendarId);
|
|
};
|
|
|
|
kozpontiOra.CalendarClickEvent = ({ start, end, hanyadikora, oraType }) => {
|
|
if (oraType == 5) {
|
|
return; /*TanevRendjeEsemeny*/
|
|
}
|
|
activeStart = moment(start, CalendarDateTimeChangeHelper.dateTimeFormatWithoutSetTimezone).format();
|
|
activeEnd = moment(end, CalendarDateTimeChangeHelper.dateTimeFormatWithoutSetTimezone).format();
|
|
activeHanyadikOra = hanyadikora;
|
|
|
|
AjaxHelper.DoPost(url.OpenKozpontiOraSelectPopUp, null, selectPopUpWindow);
|
|
};
|
|
|
|
kozpontiOra.OpenKozpontiOraRogzitese = () => {
|
|
KozpontiOra.selectPopUpWindowCancel();
|
|
var json = {};
|
|
json.actualStepId = 1;
|
|
|
|
var wizard = new KretaWizard(url.OpenKozpontiOraCreatePopUpTanoraAdatok, json, true, true);
|
|
wizard.overrideWindowSize = true;
|
|
wizard.onReadyEvent = kozpontiOra.readyEvent;
|
|
wizard.onNextEvent = kozpontiOra.nextEvent;
|
|
wizard.onBackEvent = kozpontiOra.backEvent;
|
|
wizard.Open(url.WizardContentUrl, '');
|
|
}
|
|
|
|
kozpontiOra.edit = function (e) {
|
|
var osztalyElement = e.container.find("input[name=Osztaly]");
|
|
|
|
if (osztalyElement.length) {
|
|
KretaGridHelper.getKendoGridData(createGrid).closeCell(e.container);
|
|
|
|
return;
|
|
}
|
|
};
|
|
|
|
kozpontiOra.readyEvent = (sender) => {
|
|
if (sender.baseModel.actualStepId !== 3) {
|
|
$("#kozpontiOraMenteseTorlesNelkulBtn").addClass("hidden");
|
|
$("#kozpontiOraMenteseTorlesselBtn").addClass("hidden");
|
|
$("#wizardNextBtn").removeClass("hidden");
|
|
}
|
|
if (sender.baseModel.actualStepId === 1) {
|
|
$("#wizardWindow").data("kendoWindow").title('@OrarendResource.TanoraAdatai');
|
|
return;
|
|
}
|
|
if (sender.baseModel.actualStepId === 2) {
|
|
$("#wizardWindow").data("kendoWindow").title(`@KozpontiOrakResource.KozpontilagRogzitendoOrak [${getDate()}. - ${activeHanyadikOra}. óra]`);
|
|
return;
|
|
}
|
|
if (sender.baseModel.actualStepId === 3) {
|
|
$("#wizardWindow").data("kendoWindow").title(`@KozpontiOrakResource.KozpontilagTorlendoOrak [${getDate()}. - ${activeHanyadikOra}. óra]`);
|
|
$("#kozpontiOraMenteseTorlesNelkulBtn").removeClass("hidden");
|
|
$("#kozpontiOraMenteseTorlesselBtn").removeClass("hidden");
|
|
$("#wizardNextBtn").addClass("hidden");
|
|
return;
|
|
}
|
|
};
|
|
|
|
kozpontiOra.nextEvent = (sender) => {
|
|
if (sender.baseModel.actualStepId === 1) {
|
|
rogzitesTanoraiAdatokFormAdatok = sender.GetModel();
|
|
rogzitesTanoraiAdatokFormAdatok.OraDatum = getDate();
|
|
rogzitesTanoraiAdatokFormAdatok.Oraszam = activeHanyadikOra;
|
|
sender.dataToBeSentOnNextPage = rogzitesTanoraiAdatokFormAdatok;
|
|
sender.currentUrl = url.OpenKozpontiOraCreatePopup;
|
|
}
|
|
if (sender.baseModel.actualStepId === 2) {
|
|
// List to be passed the utkozes grid
|
|
let selectList = [];
|
|
|
|
// Clear the existing list
|
|
kozpontiOrakFormAdatok = [];
|
|
|
|
let hasSelectedRow = false;
|
|
let allSelectedRowAreValid = true;
|
|
let hasMissingTanar = false;
|
|
let hasMissingTantargy = false;
|
|
let hasMissingTerem = false;
|
|
$("#errorMsg").text("");
|
|
|
|
KretaGridHelper.getAllRows(createGrid).forEach(val => {
|
|
if (val.ki_chk === true) {
|
|
hasSelectedRow = true;
|
|
let createdModel = {
|
|
OsztalyId: val.id,
|
|
TanarId: val.TanarID,
|
|
TantargyId: val.TantargyID,
|
|
TeremId: val.TeremID
|
|
}
|
|
selectList.push(createdModel);
|
|
}
|
|
|
|
let dataToBeSaved = val;
|
|
kozpontiOrakFormAdatok.push(dataToBeSaved);
|
|
});
|
|
|
|
// Validate selected classes
|
|
for (var i = 0; i < selectList.length; i++) {
|
|
if (hasMissingTanar === false && selectList[i].TanarId === 0) {
|
|
$("#errorMsg").append('<br /> @Html.Raw(@KozpontiOrakResource.TanarKitolteseKotelezo)');
|
|
allSelectedRowAreValid = false;
|
|
hasMissingTanar = true;
|
|
}
|
|
if (hasMissingTantargy === false && selectList[i].TantargyId === 0) {
|
|
$("#errorMsg").append('<br /> @Html.Raw(@KozpontiOrakResource.TantargyKitolteseKotelezo)');
|
|
allSelectedRowAreValid = false;
|
|
hasMissingTantargy = true;
|
|
}
|
|
if (hasMissingTerem === false && selectList[i].TeremId === 0) {
|
|
$("#errorMsg").append('<br /> @Html.Raw(@KozpontiOrakResource.TeremKitolteseKotelezo)');
|
|
allSelectedRowAreValid = false;
|
|
hasMissingTerem = true;
|
|
}
|
|
}
|
|
|
|
if (allSelectedRowAreValid === false) {
|
|
return false;
|
|
}
|
|
|
|
if (hasSelectedRow === false) {
|
|
$("#errorMsg").text('@Html.Raw(@KozpontiOrakResource.LegalabbEgyOsztalyKivalasztasaKotelezo)');
|
|
return false;
|
|
}
|
|
|
|
let postData = {
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart),
|
|
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd),
|
|
hanyadikora: activeHanyadikOra,
|
|
list: selectList
|
|
};
|
|
sender.dataToBeSentOnNextPage = postData;
|
|
sender.currentUrl = url.OpenKozpontiOraUtkozoOrarendiOrakPopup;
|
|
}
|
|
|
|
sender.baseModel.actualStepId++;
|
|
};
|
|
|
|
kozpontiOra.backEvent = (sender) => {
|
|
if (sender.baseModel.actualStepId === 1) {
|
|
|
|
}
|
|
if (sender.baseModel.actualStepId === 2) {
|
|
sender.dataToBeSentOnNextPage = rogzitesTanoraiAdatokFormAdatok;
|
|
reloadKozpontiOrakForm = true;
|
|
}
|
|
};
|
|
|
|
kozpontiOra.HandleTanariOraAdatok = () => {
|
|
|
|
};
|
|
|
|
kozpontiOra.EditDropDown = function (e) {
|
|
|
|
};
|
|
|
|
kozpontiOra.SaveDropDown = function (e) {
|
|
var tanarElement = e.container.find("input[name=TanarID]");
|
|
var tantargyElement = e.container.find("input[name=TantargyID]");
|
|
var teremElement = e.container.find("input[name=TeremID]");
|
|
|
|
if (tanarElement.length) {
|
|
var tanarCustomId = tanarElement.data("kendoDropDownList").value();
|
|
|
|
var tanarElem = tanarok.find(i => i.Value === tanarCustomId);
|
|
|
|
if (!tanarElem) {
|
|
return;
|
|
}
|
|
|
|
e.model.TanarID = tanarElem.Value;
|
|
tanarElement.textContent = tanarElem.Text;
|
|
e.preventDefault();
|
|
}
|
|
|
|
if (tantargyElement.length) {
|
|
var tantargyCustomId = tantargyElement.data("kendoDropDownList").value();
|
|
|
|
var tantargyElem = tantargyak.find(i => i.Value === tantargyCustomId);
|
|
|
|
if (!tantargyElem) {
|
|
return;
|
|
}
|
|
|
|
e.model.TantargyID = tantargyElem.Value;
|
|
tantargyElement.textContent = tantargyElem.Text;
|
|
e.preventDefault();
|
|
}
|
|
|
|
if (teremElement.length) {
|
|
var teremCustomId = teremElement.data("kendoDropDownList").value();
|
|
|
|
var teremElem = termek.find(i => i.Value === teremCustomId);
|
|
|
|
if (!teremElem) {
|
|
return;
|
|
}
|
|
|
|
e.model.TeremID = teremElem.Value;
|
|
teremElement.textContent = teremElem.Text;
|
|
e.preventDefault();
|
|
}
|
|
};
|
|
|
|
kozpontiOra.OrarendOrakTorleseKozpontilag = () => {
|
|
var orarendiOrakList = [];
|
|
let hasSelectedRow = false;
|
|
$("#errorMsg").text('');
|
|
|
|
KretaGridHelper.getAllRows(orarendiOrakTorleseKozpontilagGrid).forEach(val => {
|
|
if (val.ki_chk === true) {
|
|
hasSelectedRow = true;
|
|
orarendiOrakList.push(val.ID);
|
|
}
|
|
});
|
|
|
|
if (hasSelectedRow === false) {
|
|
$("#errorMsg").text('@Html.Raw(@KozpontiOrakResource.LegalabbEgyOsztalyKivalasztasaKotelezo)');
|
|
return;
|
|
}
|
|
|
|
let model = {
|
|
orarendiOrakIdList: orarendiOrakList,
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
|
|
}
|
|
|
|
AjaxHelper.DoPost(url.DeleteOrarendiOrak, model, kozpontiOra.refreshPageAndDisplayMsgForDelete, null);
|
|
};
|
|
|
|
kozpontiOra.OrarendOrakVisszaallitasa = () => {
|
|
var orarendiOrakList = [];
|
|
let hasSelectedRow = false;
|
|
$("#errorMsg").text('');
|
|
|
|
KretaGridHelper.getAllRows(orarendiOrakVisszaallitasaKozpontilagGrid).forEach(val => {
|
|
if (val.ki_chk === true) {
|
|
hasSelectedRow = true;
|
|
orarendiOrakList.push(val.ID);
|
|
}
|
|
});
|
|
|
|
if (hasSelectedRow === false) {
|
|
$("#errorMsg").text('@Html.Raw(@KozpontiOrakResource.LegalabbEgyOsztalyKivalasztasaKotelezo)');
|
|
return;
|
|
}
|
|
|
|
let model = {
|
|
orarendiOrakIdList: orarendiOrakList
|
|
}
|
|
|
|
orarendiOrakVisszaAllitasra = orarendiOrakList;
|
|
|
|
AjaxHelper.DoPost(url.OrarendiOrakVisszaallitasaValidacio,
|
|
model,
|
|
kozpontiOra.handleVisszaAllitasaValidacioResponse,
|
|
kozpontiOra.refreshPageAndDisplayMsgForRestoreError);
|
|
};
|
|
|
|
kozpontiOra.OpenKozpontiOraModositasa = () => {
|
|
kozpontiOra.selectPopUpWindowCancel();
|
|
|
|
let model = {
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
|
|
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
|
|
hanyadikOra: activeHanyadikOra
|
|
}
|
|
|
|
AjaxHelper.DoPost(url.OpenModositasPopup, model, modositasPopUpWindow);
|
|
}
|
|
|
|
kozpontiOra.OpenOrakTorleseKozpontilag = () => {
|
|
kozpontiOra.selectPopUpWindowCancel();
|
|
|
|
let model = {
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
|
|
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
|
|
hanyadikOra: activeHanyadikOra
|
|
}
|
|
|
|
AjaxHelper.DoPost(url.OpenOrarendiOrakTorleseKozpontilagPopup, model, deleteOrarendiOrakPopUpWindow);
|
|
}
|
|
|
|
kozpontiOra.OpenKozpontilagToroltOrakVisszaallitasa = () => {
|
|
kozpontiOra.selectPopUpWindowCancel();
|
|
|
|
let model = {
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
|
|
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
|
|
hanyadikOra: activeHanyadikOra
|
|
}
|
|
|
|
AjaxHelper.DoPost(url.OpenOrarendiOrakVisszaallitasaPopup,
|
|
model,
|
|
orarendiOrakVisszaallitasaPopUpWindow);
|
|
}
|
|
|
|
kozpontiOra.selectPopUpWindowCancel = () => {
|
|
KretaWindowHelper.destroyWindow(selectPopupId);
|
|
};
|
|
|
|
kozpontiOra.modositasPopUpWindowCancel = () => {
|
|
KretaWindowHelper.destroyWindow(modositasPopupId);
|
|
};
|
|
|
|
kozpontiOra.deleteOrarendiOrakKozpontilagPopUpWindowCancel = () => {
|
|
KretaWindowHelper.destroyWindow(deleteOrarendiOrakPopupId);
|
|
};
|
|
|
|
kozpontiOra.OrarendiOrakVisszaallitasaPopUpWindowCancel = () => {
|
|
KretaWindowHelper.destroyWindow(orarendiOrakVisszaallitasaPopupId);
|
|
};
|
|
|
|
kozpontiOra.createPopUpWindowCancel = () => {
|
|
KretaWindowHelper.destroyWindow(createPopupId);
|
|
};
|
|
|
|
kozpontiOra.handleWhichOrarendiOrakMustBeDeleted = () => {
|
|
let hasAMustBeDeletedRow = false;
|
|
|
|
KretaGridHelper.getAllRows(utkozoOrakGrid).forEach(val => {
|
|
if (val.MustBeDeleted) {
|
|
hasAMustBeDeletedRow = true;
|
|
|
|
let checkBox =
|
|
document.querySelector(
|
|
`tr[data-uid="${val.uid}"] td[data-inputparentgrid] input[data-selectgroup]`);
|
|
checkBox.disabled = true;
|
|
$("#KozpontiOraUtkozoOrarendiOrakGrid_chk").attr("disabled", true);
|
|
}
|
|
|
|
});
|
|
|
|
if (hasAMustBeDeletedRow) {
|
|
$("#kozpontiOraMenteseTorlesNelkulBtn").attr("disabled", true);
|
|
} else {
|
|
$("#kozpontiOraMenteseTorlesNelkulBtn").attr("disabled", false);
|
|
}
|
|
};
|
|
|
|
kozpontiOra.changeRogzitesGirdView = () => {
|
|
if (reloadKozpontiOrakForm) {
|
|
|
|
KretaGridHelper.getAllRows(createGrid).forEach(val => {
|
|
let savedData = kozpontiOrakFormAdatok.find(i => i.ID === val.ID);
|
|
|
|
if (savedData) {
|
|
val.ID = savedData.ID;
|
|
val.TanarID = savedData.TanarID;
|
|
val.TantargyID = savedData.TantargyID;
|
|
val.TeremID = savedData.TeremID;
|
|
|
|
if (savedData.ki_chk === true) {
|
|
$(`#${createGrid}_chk_${val.ID}`).click();
|
|
}
|
|
|
|
kozpontiOraPropertyNames.forEach(prop => {
|
|
if (savedData[prop] === true) {
|
|
val[prop] = true;
|
|
var tanoraAdatRow =
|
|
document.querySelector(`tr[data-uid="${val.uid}"] td[data-${prop}]`);
|
|
tanoraAdatRow.textContent = 'Igen';
|
|
}
|
|
});
|
|
|
|
var tanarRow = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tanar]`);
|
|
tanarRow.textContent = kozpontiOra.GetTanar(val.TanarID);
|
|
|
|
var tantargyRow = document.querySelector(`tr[data-uid="${val.uid}"] td[data-tantargy]`);
|
|
tantargyRow.textContent = kozpontiOra.GetTantargy(val.TantargyID);
|
|
|
|
var teremRow = document.querySelector(`tr[data-uid="${val.uid}"] td[data-terem]`);
|
|
teremRow.textContent = kozpontiOra.GetTerem(val.TeremID);
|
|
}
|
|
});
|
|
|
|
reloadKozpontiOrakForm = false;
|
|
}
|
|
};
|
|
|
|
kozpontiOra.savekozpontiOrakWithDeleteOrarendiOrak = () => {
|
|
deleteOrarendiOrak = true;
|
|
saveKozpontiOra();
|
|
};
|
|
|
|
kozpontiOra.savekozpontiOrakWithoutDeleteOrarendiOrak = () => {
|
|
deleteOrarendiOrak = false;
|
|
saveKozpontiOra();
|
|
};
|
|
|
|
kozpontiOra.deleteAllKozpontiOraConfirmation = (sender) => {
|
|
kozpontiOra.setSender(sender);
|
|
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)",
|
|
"@(KozpontiOrakResource.BiztosanTorliEztAKozpontiOraCsoportot)",
|
|
kozpontiOra.deleteAllKozpontiOra);
|
|
}
|
|
|
|
kozpontiOra.deletelKozpontiOraConfirmation = (sender) => {
|
|
kozpontiOra.setSender(sender);
|
|
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)",
|
|
"@(KozpontiOrakResource.BiztosanTorliEztAKozpontiOrat)",
|
|
kozpontiOra.deleteKozpontiOra);
|
|
}
|
|
|
|
kozpontiOra.setSender = (sender) => {
|
|
kozpontiOra.sender = sender;
|
|
}
|
|
|
|
kozpontiOra.deleteAllKozpontiOra = () => {
|
|
const model = {
|
|
kozpontiOraGroupId: kozpontiOra.sender.KozpontiOraGroupId,
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
|
|
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
|
|
hanyadikOra: activeHanyadikOra
|
|
}
|
|
|
|
AjaxHelper.DoPost(url.DeleteAllKozpontiOraByGroupId, model, kozpontiOra.handleDeletedKozpontiOra);
|
|
}
|
|
|
|
kozpontiOra.handleVisszaAllitasaValidacioResponse = (response) => {
|
|
// There is no conflicting orarendi ora, restore can go on
|
|
if (response.length === 0) {
|
|
kozpontiOra.toroltOrarendiOraVisszaAllitasaTorlessel();
|
|
} else {
|
|
let text = "<br>@KozpontiOrakResource.IdopontraMarRogzitettekUgyanezenAdatokkalOrat";
|
|
|
|
for (var i = 0; i < response.length; i++) {
|
|
text += `<br>${response[i]}`;
|
|
}
|
|
|
|
text += `<br><br><strong>@OrarendResource.FolytatasEsetenTorles</strong>`;
|
|
|
|
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)",
|
|
text,
|
|
kozpontiOra.toroltOrarendiOraVisszaAllitasaTorlessel);
|
|
}
|
|
}
|
|
|
|
kozpontiOra.toroltOrarendiOraVisszaAllitasaTorlessel = () => {
|
|
let model = {
|
|
orarendiOrakIdList: orarendiOrakVisszaAllitasra
|
|
}
|
|
|
|
AjaxHelper.DoPost(url.OrarendiOrakVisszaallitasa,
|
|
model,
|
|
kozpontiOra.refreshPageAndDisplayMsgForRestore,
|
|
kozpontiOra.refreshPageAndDisplayMsgForRestoreError);
|
|
}
|
|
|
|
kozpontiOra.handleDeletedKozpontiOra = (response) => {
|
|
KretaWindowHelper.destroyWindow(modositasPopupId);
|
|
|
|
let model = {
|
|
start: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeStart).format(),
|
|
end: CalendarDateTimeChangeHelper.getUtcDateTimeFromLocalDateTime(activeEnd).format(),
|
|
hanyadikOra: activeHanyadikOra
|
|
}
|
|
|
|
kozpontiOra.refreshCalendar();
|
|
|
|
if (response === true) {
|
|
AjaxHelper.DoPost(url.OpenOrarendiOrakVisszaallitasaPopup,
|
|
model,
|
|
orarendiOrakVisszaallitasaPopUpWindow);
|
|
}
|
|
}
|
|
|
|
kozpontiOra.deleteKozpontiOra = () => {
|
|
const model = {
|
|
orarendiOraId: kozpontiOra.sender.ID
|
|
}
|
|
|
|
AjaxHelper.DoPost(url.DeleteKozpontiOra, model, kozpontiOra.handleDeletedKozpontiOraElem);
|
|
|
|
}
|
|
|
|
kozpontiOra.handleDeletedKozpontiOraElem = () => {
|
|
kozpontiOra.refreshCalendar();
|
|
var rows = KretaGridHelper.getAllRows(modositasDetailsGrid + kozpontiOra.sender.KozpontiOraGroupId);
|
|
|
|
if (rows.length === 1) {
|
|
kozpontiOra.modositasPopUpWindowCancel();
|
|
} else {
|
|
KretaGridHelper.refreshGrid(modositasgrid);
|
|
}
|
|
}
|
|
|
|
kozpontiOra.refreshPageAndDisplayMsgForDelete = (response) => {
|
|
if (response) {
|
|
KretaWindowHelper.destroyWindow(deleteOrarendiOrakPopupId);
|
|
kozpontiOra.refreshCalendar();
|
|
KretaWindowHelper.notification("Az órák sikeresen törölve lettek", "success");
|
|
} else {
|
|
KretaWindowHelper.notification("Hiba történt az órák törlése közben, kérlek próbáld újra.",
|
|
"error");
|
|
}
|
|
}
|
|
|
|
kozpontiOra.refreshPageAndDisplayMsgForRestore = () => {
|
|
|
|
KretaWindowHelper.destroyWindow(orarendiOrakVisszaallitasaPopupId);
|
|
kozpontiOra.refreshCalendar();
|
|
KretaWindowHelper.notification("Az órák sikeresen vissza lettek állítva", "success");
|
|
}
|
|
|
|
kozpontiOra.refreshPageAndDisplayMsgForRestoreError = () => {
|
|
|
|
KretaWindowHelper.destroyWindow(orarendiOrakVisszaallitasaPopupId);
|
|
kozpontiOra.refreshCalendar();
|
|
KretaWindowHelper.notification("Az órák visszaállítása közben hiba történt, kérem próbálja újra",
|
|
"error");
|
|
}
|
|
|
|
kozpontiOra.refreshPageAndDisplayMsgForCreate = (response) => {
|
|
if (response) {
|
|
KretaWindowHelper.destroyWindow("wizardWindow");
|
|
kozpontiOra.refreshCalendar();
|
|
KretaWindowHelper.notification("A központi óra sikeresen el lett mentve", "success");
|
|
} else {
|
|
KretaWindowHelper.notification("Hiba történt a központi óra elmentése közben, kérlek próbáld újra.",
|
|
"error");
|
|
}
|
|
teremutkozesFigyeles = true;
|
|
}
|
|
|
|
kozpontiOra.saveErrorCallback = (response) => {
|
|
if (!CommonUtils.isNullOrUndefined(response.responseJSON) && !CommonUtils.isNullOrUndefined(response.responseJSON.Message)) {
|
|
var responseData = $.parseJSON(response.responseJSON.Message);
|
|
if (responseData.isTeremutkozesConfirm == true) {
|
|
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(KozpontiOrakResource.TeremutkozesKerdes)", saveKozpontiOra, null, KozpontiOra.setTeremutkozesFlagToDefault);
|
|
teremutkozesFigyeles = false;
|
|
} else {
|
|
KretaWindowHelper.warningWindow("@(CommonResource.Hiba)", responseData.errorMessage);
|
|
}
|
|
}
|
|
}
|
|
|
|
kozpontiOra.setTeremutkozesFlagToDefault = () => {
|
|
teremutkozesFigyeles = true;
|
|
}
|
|
|
|
return kozpontiOra;
|
|
})();
|
|
</script>
|
|
}
|