402 lines
No EOL
18 KiB
Text
402 lines
No EOL
18 KiB
Text
@using Kreta.Web.Areas.Orarend.Models;
|
|
@using Kreta.Enums.ManualEnums;
|
|
@using Kreta.Web.Utils
|
|
|
|
@model CsoportVezetoOrarendModel
|
|
@{
|
|
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
|
var formName = "TanariOraForm";
|
|
}
|
|
|
|
@section AddCss {
|
|
@Styles.Render(Constants.General.TanuloErtekelesCSS)
|
|
@Styles.Render(Constants.General.NaplozasAutoFeljegyzesCSS)
|
|
}
|
|
|
|
@Html.KretaTabStripAjax("TanariOrarendTabStrip", Model.TabList, "TanariOrarend.OnTabStripActivate", "TanariOrarend.OnTabStripSelect")
|
|
|
|
@section AddSearchPanel {
|
|
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "TanariOrarend.FormSearch"))
|
|
{
|
|
@Html.KretaComboBoxFor(x => x.CsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsoportListByCsoportVezeto" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
|
|
}
|
|
}
|
|
|
|
@section AddJs {
|
|
@Scripts.Render("~/bundles/Calendar")
|
|
|
|
<script type="text/javascript">
|
|
//Index
|
|
var TanariOrarend = (function () {
|
|
var tanariOrarend = function () { };
|
|
|
|
var calendars = {
|
|
Tanorak: "FullCalendar-0",
|
|
TanoranKivuliFoglalkozasok: "FullCalendar-1",
|
|
}
|
|
|
|
var calendarContainer = {
|
|
activeTabIndex: null,
|
|
view: null,
|
|
element: null
|
|
}
|
|
|
|
tanariOrarend.GetCalendars = function () {
|
|
return calendars;
|
|
}
|
|
|
|
tanariOrarend.GetCalendarContainer = function () {
|
|
return calendarContainer;
|
|
}
|
|
|
|
tanariOrarend.SetCalendarContainerActiveTabIndex = function (value) {
|
|
calendarContainer.activeTabIndex = value;
|
|
}
|
|
|
|
tanariOrarend.SetCalendarContainerView = function (value) {
|
|
calendarContainer.view = value;
|
|
}
|
|
|
|
tanariOrarend.SetCalendarContainerElement = function (value) {
|
|
calendarContainer.element = value;
|
|
}
|
|
|
|
tanariOrarend.CreateCalendar = function (calendarName) {
|
|
CreateCalendar(calendarName);
|
|
}
|
|
|
|
tanariOrarend.OnTabStripSelect = function(e) {
|
|
showLoadingIndicator();
|
|
TanariOrarend.SetCalendarContainerActiveTabIndex(e.sender.select().index()); // A régi tab indexe, amelyikről ellép
|
|
var fullCalendarId = "FullCalendar-" + TanariOrarend.GetCalendarContainer().activeTabIndex;
|
|
var view = $('#' + fullCalendarId).fullCalendar( 'getView' );
|
|
TanariOrarend.SetCalendarContainerView(view);
|
|
}
|
|
|
|
tanariOrarend.OnTabStripActivate = function(e) {
|
|
TanariOrarend.SetCalendarContainerActiveTabIndex(e.sender.select().index()); // Az új tab indexe, amelyikre lép
|
|
var fullCalendarId = "FullCalendar-" + TanariOrarend.GetCalendarContainer().activeTabIndex;
|
|
TanariOrarend.CreateCalendar(fullCalendarId);
|
|
}
|
|
|
|
tanariOrarend.FormSearch = function () {
|
|
var calendarId = "FullCalendar-" + calendarContainer.activeTabIndex;
|
|
var calendar = $("#" + calendarId);
|
|
var view = calendar.fullCalendar( 'getView' );
|
|
calendarContainer.view = view;
|
|
|
|
TanariOrarend.CreateCalendar(calendarId);
|
|
}
|
|
|
|
var views = {
|
|
1: "agendaDay",
|
|
5: "workWeek",
|
|
6: "workWeekWithSaturday",
|
|
7: "agendaWeek"
|
|
};
|
|
|
|
function CreateCalendar(calendarName) {
|
|
$('#' + calendarName).fullCalendar( 'destroy' );
|
|
|
|
var calendar = new SDAFullCalendar();
|
|
var 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" })';
|
|
|
|
pram.defaultView = views[@((int)ProfileUtils.HaladasiNaploNezetTipusa)];
|
|
|
|
if (calendarContainer.view)
|
|
{
|
|
pram.defaultView = calendarContainer.view.name;
|
|
pram.calendarStartDate = calendarContainer.view.intervalStart.format();
|
|
}
|
|
else {
|
|
pram.calendarStartDate = "@DateTime.Now.ToString("yyyy-MM-dd")";
|
|
}
|
|
|
|
var csoportId = $("#CsoportId").data('kendoComboBox').value();
|
|
if (csoportId == "") {
|
|
csoportId = -1;
|
|
}
|
|
|
|
switch (calendarName)
|
|
{
|
|
case calendars.Tanorak:
|
|
pram.serviceURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetCsoportVezetoTanorak" })';
|
|
pram.osztalyCsoportId = csoportId;
|
|
pram.clickEvent = Tanorak.CalendarClickEvent;
|
|
pram.kellCsengetesiRendMegjelenites = true;
|
|
pram.kellTanoranKivuliFoglalkozasok = false;
|
|
pram.kellTevekenysegek = false;
|
|
pram.kellTanevRendje = true;
|
|
pram.isNewEventEnabled = false;
|
|
pram.minTime = '@Model.CsengetesiRendMinTime';
|
|
pram.maxTime = '@Model.CsengetesiRendMaxTime';
|
|
pram.orarendView = true;
|
|
pram.mouseoverEvent = showTemaTooltip;
|
|
pram.mouseoutEvent = hideTemaTooltip;
|
|
break;
|
|
case calendars.TanoranKivuliFoglalkozasok:
|
|
pram.serviceURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetCsoportVezetoTanorankivuliFoglalkozasok" })';
|
|
pram.osztalyCsoportId = csoportId;
|
|
pram.eventType = 0; // EventTypeEnum.UjOraFelvitele
|
|
pram.clickEvent = Foglalkozasok.CalendarClickEvent;
|
|
pram.selectEvent = Foglalkozasok.CalendarSelectEvent;
|
|
pram.kellCsengetesiRendMegjelenites = false;
|
|
pram.kellTanoranKivuliFoglalkozasok = true;
|
|
pram.kellTevekenysegek = false;
|
|
pram.kellTanevRendje = true;
|
|
pram.szuresTanevRendjeAlapjan = true;
|
|
pram.minTime = '@ViewBag.napirendStart';
|
|
pram.maxTime = '@ViewBag.napirendEnd';
|
|
pram.mouseoverEvent = showTemaTooltip;
|
|
pram.mouseoutEvent = hideTemaTooltip;
|
|
break;
|
|
}
|
|
|
|
calendar.initialize(pram);
|
|
hideLoadingIndicator();
|
|
}
|
|
|
|
function showLoadingIndicator() {
|
|
AjaxHelper.ShowIndicator();
|
|
}
|
|
|
|
function hideLoadingIndicator() {
|
|
AjaxHelper.HideIndicator();
|
|
}
|
|
|
|
function showTemaTooltip (data, element) {
|
|
var elem = $(element).data('kendoTooltip');
|
|
var contentDateResourceString = '@OrarendResource.DateTooltipMsg';
|
|
var contentResourceString = '@OrarendResource.TemaTooltipMsg';
|
|
var contentMessage = contentDateResourceString.format(data.OraKezdete, data.OraVege);
|
|
|
|
if (data.oraType == '@((int)CalendarOraTypeEnum.TanitasiOra)' || data.oraType == '@((int)CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)')
|
|
{
|
|
contentMessage += '<br />' + contentResourceString.format('@OrarendResource.OraTemaja', data.isElmaradt ? " - " : data.Tema.replace('&', "&").replace('<', "<").replace('>', ">").replace('"', """).replace('\'', "'"));
|
|
}
|
|
|
|
if (data.BejelentettSzamonkeresContent != null) {
|
|
contentMessage += ' - ' + data.BejelentettSzamonkeresContent;
|
|
}
|
|
|
|
if((data.oraType == '@((int)CalendarOraTypeEnum.TanitasiOra)' || data.oraType == '@((int)CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)')
|
|
|| (data.oraType == '@((int)CalendarOraTypeEnum.OrarendiOra)' || data.oraType == '@((int)CalendarOraTypeEnum.TanoranKivuliFoglalkozas)') && CommonUtils.isNullOrUndefined(elem)) {
|
|
$(element).kendoTooltip({
|
|
filter: ".tooltip",
|
|
width: 250,
|
|
position: "top",
|
|
content: contentMessage
|
|
}).data("kendoTooltip").show();
|
|
}
|
|
}
|
|
|
|
function hideTemaTooltip(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();
|
|
}
|
|
}
|
|
}
|
|
|
|
return tanariOrarend;
|
|
})();
|
|
</script>
|
|
|
|
<script>
|
|
//Tanorak
|
|
var Tanorak = (function () {
|
|
var tanorak = function () { };
|
|
var clickURL = '@Url.Action("TanorakOrarendEvent", "TanariOrarend", new { area = "Orarend" })';
|
|
var getNemNaplozottTanorakCountUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNemNaplozottTanorakCount" })";
|
|
|
|
tanorak.tanoraMuveletWindow = "tanoraMuveletWindow";
|
|
|
|
tanorak.CalendarClickEvent = function (e) {
|
|
window.CalendarModel = e
|
|
if (e.oraType == 5) { /*TanevRendjeEsemeny*/ return; }
|
|
|
|
var json = {};
|
|
json.CalendarModel = window.CalendarModel;
|
|
AjaxHelper.DoPost(clickURL, json, popUpNaplozasWindow);
|
|
};
|
|
|
|
tanorak.closeTanoraMuveletWindow = function () {
|
|
KretaWindowHelper.destroyWindow(tanorak.tanoraMuveletWindow);
|
|
};
|
|
|
|
tanorak.popUpNaplozasWindow = function(data) {
|
|
popUpNaplozasWindow(data);
|
|
}
|
|
|
|
tanorak.FeedBackOKNaplozas = function() {
|
|
Tanorak.closeTanoraMuveletWindow();
|
|
TanariOrarend.FormSearch("searchForm");
|
|
|
|
AjaxHelper.DoGet(getNemNaplozottTanorakCountUrl, {}, tanorak.updateNemNapolzottTanorakCount);
|
|
}
|
|
|
|
tanorak.updateNemNapolzottTanorakCount = function (data) {
|
|
$("#NemNaplozottTanorakCount").attr('data-badge',data);
|
|
}
|
|
|
|
function popUpNaplozasWindow(data) {
|
|
var config = KretaWindowHelper.getWindowConfigContainer();
|
|
config.content = data;
|
|
|
|
var modal = KretaWindowHelper.createWindow(tanorak.tanoraMuveletWindow, config);
|
|
KretaWindowHelper.openWindow(modal, true);
|
|
$("#" + tanorak.tanoraMuveletWindow).data("kendoWindow").refresh();
|
|
}
|
|
|
|
return tanorak;
|
|
})();
|
|
</script>
|
|
|
|
<script>
|
|
//Foglalkozasok
|
|
var Foglalkozasok = (function(){
|
|
var foglalkozasok = function(){};
|
|
var eventURL = '@Url.Action("TanorakOrarendEvent", "TanariOrarend", new { area = "Orarend" })';
|
|
|
|
foglalkozasok.CalendarClickEvent = function (e) {
|
|
window.CalendarModel = e;
|
|
var json = {};
|
|
json.CalendarModel = e;
|
|
|
|
if (e.oraType == 3 || e.oraType == 8) { /*TanoranKivuliFoglalkozas || TanoranKivuliNaplózottFoglalkozas*/
|
|
e.isPast = (new Date(e.start).setHours(0, 0, 0, 0) <= new Date(@DateTime.Now.Year , @DateTime.Now.Month - 1 , @DateTime.Now.Day));
|
|
|
|
if(e.isPast) {
|
|
AjaxHelper.DoPost(eventURL, json, Tanorak.popUpNaplozasWindow);
|
|
}
|
|
else {
|
|
return;
|
|
}
|
|
} else { return; }
|
|
};
|
|
|
|
return foglalkozasok;
|
|
})();
|
|
</script>
|
|
|
|
<script>
|
|
var SzamonkeresElorejelzesHelper = (function () {
|
|
var szamonkeresElorejelzesHelper = function () { };
|
|
var formName = "SzamonkeresElorejelzesForm";
|
|
var gridName = "SzamonkeresElorejelzesGrid";
|
|
|
|
var validateUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "ValidateSzamonkeresElorejelzes" })";
|
|
var saveUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "SaveSzamonkeresElorejelzes" })";
|
|
var deleteUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "DeleteSzamonkeresElorejelzes" })";
|
|
var getmodlistandcomboitemscolorUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "SzamonkeresElorejelzesApi", action = "GetModListAndComboItemColor" })";
|
|
|
|
szamonkeresElorejelzesHelper.onSzamonkeresModListDataBound = function (e) {
|
|
SetSzamonkeresModListColor();
|
|
}
|
|
function SetSzamonkeresModListColor() {
|
|
var form = $('#' + formName);
|
|
var data = form.toObject();
|
|
AjaxHelper.DoGet(getmodlistandcomboitemscolorUrl, { OraGroupId: data.OraGroupId, OsztalyCsoportId: data.OsztalyCsoportId, Datum: data.Datum, }, GetModListAndComboItemColorCallback);
|
|
}
|
|
function GetModListAndComboItemColorCallback(result) {
|
|
var ertekelesModIdArray = result.ErtekelesModList;
|
|
var kendocombo = $('#ErtekelesModId').data('kendoComboBox');
|
|
$(kendocombo.items()).each(function (index, item) {
|
|
var datatitem = kendocombo.dataItem(index);
|
|
if (ertekelesModIdArray.includes(Number(datatitem.Value))) {
|
|
switch (result.color) {
|
|
case "green":
|
|
default:
|
|
$(item).css('background-color', '#74A942');
|
|
break;
|
|
case "orange":
|
|
$(item).css('background-color', '#E39F0B');
|
|
break;
|
|
case "red":
|
|
$(item).css('background-color', '#A94442');
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
szamonkeresElorejelzesHelper.isTorolheto = function (rowData) {
|
|
return rowData.Torolheto_BOOL;
|
|
}
|
|
szamonkeresElorejelzesHelper.deleteConfirm = function (rowData) {
|
|
var postData = { id: rowData.ID };
|
|
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.BiztosanTorliASzamonkeresElorejelzest)", deleteSzamonkeresElorejelzes, postData);
|
|
}
|
|
|
|
function deleteSzamonkeresElorejelzes(postData) {
|
|
AjaxHelper.DoPostQuery(deleteUrl, null, postData, deleteSuccessCallBack, deleteErrorCallBack);
|
|
}
|
|
|
|
function deleteSuccessCallBack() {
|
|
KretaGridHelper.refreshGrid(gridName);
|
|
TanariOrarend.FormSearch("searchForm");
|
|
}
|
|
|
|
function deleteErrorCallBack(data) {
|
|
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", data.responseJSON.Message, true);
|
|
}
|
|
|
|
szamonkeresElorejelzesHelper.Save = function () {
|
|
var form = $('#' + formName);
|
|
var data = form.toObject();
|
|
AjaxHelper.DoValidationPost(validateUrl, formName, data, SzamonkeresElorejelzesHelper.ValidateCallback);
|
|
//AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk,SaveFeedBackError);
|
|
}
|
|
|
|
szamonkeresElorejelzesHelper.ValidateCallback = function (postData) {
|
|
var form = $('#' + formName);
|
|
var data = form.toObject();
|
|
if (postData.Valid) {
|
|
AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk);
|
|
} else {
|
|
KretaWindowHelper.confirmWindow("@(CommonResource.Figyelmeztetes)", postData.Text, confirmWindowOK);
|
|
}
|
|
}
|
|
szamonkeresElorejelzesHelper.setSaveButton = function () {
|
|
var gridName = "SzamonkeresElorejelzesGrid";
|
|
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
|
|
var disablesavebutton = false;
|
|
$.each(dataSource, function (index, value) {
|
|
if (value.Torolheto_BOOL) {
|
|
disablesavebutton = true;
|
|
}
|
|
});
|
|
var button = $("#SzamonkeresElorejelzesSave").data("kendoButton");
|
|
if (disablesavebutton) {
|
|
button.enable(false);
|
|
}
|
|
else {
|
|
button.enable(true);
|
|
}
|
|
SetSzamonkeresModListColor();
|
|
}
|
|
function confirmWindowOK() {
|
|
var form = $('#' + formName);
|
|
var data = form.toObject();
|
|
AjaxHelper.DoValidationPost(saveUrl, formName, data, SaveFeedBackOk);
|
|
}
|
|
function SaveFeedBackOk() {
|
|
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
|
|
TanariOrarend.FormSearch("searchForm");
|
|
}
|
|
function SaveFeedBackError() {
|
|
KretaGridHelper.refreshGrid(gridName);
|
|
}
|
|
|
|
return szamonkeresElorejelzesHelper;
|
|
})();
|
|
</script>
|
|
} |