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

302 lines
No EOL
14 KiB
Text

@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Enums.ManualEnums;
@using Kreta.Resources;
@using Kreta.Web.Security;
@model NemNaplozottTanorakSearchModel
@section AddCss {
@Styles.Render(Constants.General.TanuloErtekelesCSS)
@Styles.Render(Constants.General.NaplozasAutoFeljegyzesCSS)
}
@Scripts.Render("~/bundles/Calendar")
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "NemNaplozottTanorakGrid"))
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.CsakAHelyettesiteseim).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.HelyettesitettOraimIs).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.JovobeniOrakMegjelenitese).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.DatumSrcTol, x => x.DatumSrcIg)
@Html.KretaRangeNumericSideBar(x => x.OraszamSrcTol, x => x.OraszamSrcIg, precision: 0, needTolIgLabels: true)
@Html.KretaRangeTimePickerSideBar(x => x.OraKezdetSrcTol, x => x.OraKezdetSrcIg)
}
}
@{
string rowFnEnableStringSearch = "<span style='float: right; padding-right: 20px;'><a title=\"" + OrarendResource.Adatok + "\" href=\"javascript:void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this),'NemNaplozottTanorakGrid',HelyettesitesKereseseHelper.openNaplozas);\"><i style=\"font-size: 22px;\" class=\"fa fa-search\" aria-hidden=\"true\"></i></a></span>";
string rowFnEnableStringModosit = "<span style='float: right; padding-right: 20px;'><a title=\"" + OrarendResource.Naplozas + "\" href=\"javascript:void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this),'NemNaplozottTanorakGrid',HelyettesitesKereseseHelper.openNaplozas);\"><i style=\"font-size: 22px;\" class=\"fa fa-pencil\" aria-hidden=\"true\"></i></a></span>";
string rowFnDisableString = "<span style='color: red; float: right; padding-right: 20px;'>" + OrarendResource.NaplozarasMiattNemNaplozhato + "</span>";
}
<div>
@(
Html.KretaGrid<NemNaplozottTanorakGridModel>
(
"NemNaplozottTanorakGrid",
new GridApiUrl("NemNaplozottTanorakApi", "GetNemNaplozottTanorakGrid", new Dictionary<string, string>()),
dataParameterFunction: "searchForm",
exportColumnUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "NemNaplozottTanorakApi", action = "GetExportColumns" }),
exportDataUrl: @Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { Controller = "NemNaplozottTanorakApi", action = "GetNemNaplozottTanorakExportGrid" }),
allowExcelExport: true,
excelExportFileName: "NemNaplozottTanorakExport",
allowFilterable: false,
allowPaging: true,
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.OraKezdeteTimeText).Ascending();
sort.Add(m => m.OraKezdeteDate).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.OraKezdeteDate).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HetNapjaValos).SetDisplayProperty("HetNapjaValos_DNAME");
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.OraKezdeteTimeText);
columns.Bound(c => c.OsztalyNev);
})
.LinkButtonColumn("", c => c.TargyNev, "HelyettesitesKereseseHelper.openNaplozas", GridButtonsEnum.Modositas)
.Columns(columns =>
{
columns.Bound(c => c.HelyettesitoTanarNev);
})
.Columns(c => c.Template(t => t.ToString()).Title("").ClientTemplate(@"
#if(new Date(OraKezdeteDate) < new Date(kendo.parseDate('" + Model.NaplozarasDate.ToString("yyyy-MM-dd") + @"')) && ('" + Model.IsCsakErtekelesZarasa + @"' != '" + true + @"'))
{
# " + rowFnDisableString + @"#
}
else
{
if(HelyettesitoTanarID !== null && HelyettesitoTanarID !== " + ClaimData.FelhasznaloId + @")
{
#" + rowFnEnableStringSearch + @"#
}
else
{
#" + rowFnEnableStringModosit + @"#
}
} #
"))
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var naplozasURL = '@Url.Action("TanorakOrarendEvent", "TanariOrarend", new { area = "Orarend" })';
var HelyettesitesKereseseHelper = (function () {
var helyettesitesKereseseHelper = function () { };
helyettesitesKereseseHelper.openNaplozas = function (row) {
var json = {
CalendarModel:
{
allDay: false,
end: moment.utc(row.OraVege).local(),
eventColor: "#B95555",
eventColorRightLine: null,
eventId: row.Id,
eventType: 1,
helyettesitesId: null,
helyettesitoId: row.HelyettesitoTanarID,
oraType: 1,
start: moment.utc(row.OraKezdete).local()
},
HideTanoraModButton: true
};
AjaxHelper.DoPost(naplozasURL, json, Tanorak.popUpNaplozasWindow);
};
return helyettesitesKereseseHelper;
})();
</script>
<script>
var Tanorak = (function () {
var tanorak = function () { };
var getNemNaplozottTanorakCountUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNemNaplozottTanorakCount" })";
tanorak.tanoraMuveletWindow = "tanoraMuveletWindow";
tanorak.closeTanoraMuveletWindow = function () {
KretaWindowHelper.destroyWindow(tanorak.tanoraMuveletWindow);
KretaGridHelper.refreshGridSearchPanel("NemNaplozottTanorakGrid", "searchForm");
AjaxHelper.DoGet(getNemNaplozottTanorakCountUrl, {}, tanorak.updateNemNapolzottTanorakCount);
};
tanorak.popUpNaplozasWindow = function (data) {
popUpNaplozasWindow(data);
}
tanorak.FeedBackOKNaplozas = function () {
Tanorak.closeTanoraMuveletWindow();
}
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 type="text/javascript">
var TanariOrarend = (function () {
var tanariOrarend = function () { };
tanariOrarend.ChangeAllJelenletValue = function (val) {
if (val) {
$.each($("#MulasztasokNaplozasaGrid").find(".kretaSelectorButton[val='" + val + "']"), function () {
if (!$(this).hasClass("activebar")) {
$(this).click();
}
});
} else {
$.each($("#MulasztasokNaplozasaGrid").find(".kretaSelectorButton"), function () {
if ($(this).hasClass("activebar")) {
$(this).click();
}
});
}
}
return tanariOrarend;
})();
</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>