init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
813
KretaWeb/Areas/Orarend/Views/AdminTeremOrarend/Index.cshtml
Normal file
813
KretaWeb/Areas/Orarend/Views/AdminTeremOrarend/Index.cshtml
Normal file
|
@ -0,0 +1,813 @@
|
|||
@using Kreta.Framework
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Orarend.Models
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@model AdminTeremOrarendModel
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "Orarend.FormSearch"))
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.Terem, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList", isFromSzervezet = Model.IsFromSzervezet }), useGroup: false, 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",
|
||||
}
|
||||
|
||||
var calendarContainer = {
|
||||
activeTabIndex: null,
|
||||
teremId: -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.teremId = formContent.Terem;
|
||||
|
||||
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.teremId);
|
||||
}
|
||||
|
||||
function CreateCalendar(calendarName, teremId) {
|
||||
$("#" + calendarName).fullCalendar("destroy");
|
||||
if (teremId == "") {
|
||||
teremId = -1;
|
||||
}
|
||||
|
||||
var calendar = new SDAFullCalendar();
|
||||
var pram = calendar.getParameters();
|
||||
pram.calendar = calendarName;
|
||||
pram.teremId = teremId;
|
||||
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 = "GetAdminTeremOrarendOrarendiOrak", 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 = "GetAdminTeremOrarendTanoranKivuliFoglalkozasok", 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 formName = "OrarendiOraForm";
|
||||
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 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, setWindowTitle);
|
||||
|
||||
var json = {};
|
||||
json.CalendarModel = e;
|
||||
|
||||
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);
|
||||
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.OrarendiOra");
|
||||
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.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('');
|
||||
|
||||
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);
|
||||
osztalyChanged = true;
|
||||
}
|
||||
}
|
||||
|
||||
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.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>
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue