This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,265 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Orarend.Models;
@model AdminKozpontiOrakRogzitesModel
@{
const string GridName = "AdminKozpontiOrakRogzitesGrid";
string mainWidth = Model.GetNumberOfTrueProperties() == 0 ? "25%" : Model.GetNumberOfTrueProperties() > 3 ? "12%" : "18%";
}
<style type="text/css">
.k-edit-form-container {
width: auto;
}
.k-icon.k-edit {
display: none;
}
.k-grid-toolbar .k-button-icontext .k-icon, .k-grid-content .k-button-icontext .k-icon, .k-edit-form-container .k-edit-buttons .k-button-icontext .k-icon {
display: none !important;
}
.k-content .k-grid tbody tr td a, .k-content .k-grid tbody tr .gridcell a {
font-weight: 400;
}
a:hover {
color: #fff;
}
.k-edit-form-container .k-button {
background-color: #fff;
color: #5c6a79;
border: 1px solid #c5d3e2;
}
.k-edit-form-container .k-button:hover {
background-color: #e5e9ec;
}
.defaultComboboxWidth {
width: 25%;
}
.check-box {
width: 18px;
height: 18px;
}
.kozponti-ora-grid-cell-border {
border: 1px solid;
border-color: #54a5d1;
margin: 4px 0px;
height: 2.214em;
line-height: 2.214em;
padding: .177em 0;
text-indent: .8em;
}
</style>
<div style="margin-top: 1rem">
<b>@KozpontiOrakResource.KozpontiOraRogzitesLeiras</b>
</div>
<br />
<div id="errorMsg"></div>
<div class="container">
<div class="row">
<div class="col-md-1">
<b>Tanár:</b>
</div>
<div class="col-md-11">
@Html.KretaComboBoxFor(x => x.DefaultTanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanarDropDown" }), "Text", "Value", onChangeFunction: "KozpontiOra.SetDefaultTanar(this)", showUnknownValueMessage: false).AutoBind(true).Placeholder(CommonResource.KeremValasszon).HtmlAttributes(new { @class = "defaultComboboxWidth" })
</div>
</div>
<div class="row">
<div class="col-md-1">
<b>Tantárgy:</b>
</div>
<div class="col-md-11">
@Html.KretaComboBoxFor(x => x.DefaultTantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyDropDown", filterNincsBeloleOra = true }), "Text", "Value", onChangeFunction: "KozpontiOra.SetDefaultTantargy(this)", showUnknownValueMessage: false).AutoBind(true).Placeholder(CommonResource.KeremValasszon).HtmlAttributes(new { @class = "defaultComboboxWidth" })
</div>
</div>
<div class="row">
<div class="col-md-1">
<b>Terem:</b>
</div>
<div class="col-md-11">
@Html.KretaComboBoxFor(x => x.DefaultTeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTeremListWithoutGroupDropDown" }), "Text", "Value", onChangeFunction: "KozpontiOra.SetDefaultTerem(this)", showUnknownValueMessage: false).AutoBind(true).Placeholder(CommonResource.KeremValasszon).HtmlAttributes(new { @class = "defaultComboboxWidth" })
</div>
</div>
</div>
<div>
@(
Html.KretaGrid<AdminKozpontiOrakOsztalyokGridModel>
(
name: GridName,
getUrl: new GridApiUrl("AdminKozpontiOrakApi", "GetRogzitesGrid", new Dictionary<string, string>() { { "isSorszamozando", Model.Sorszamozando.ToString() }, { "datum", Model.OraDatum.ToString() }, { "hanyadikOra", Model.Oraszam.ToString() } }),
allowPaging: false,
batchEdit: true,
pageSizes: null,
allowSorting: false,
showSorszam: false,
dataBoundAdditionalFunction: "KozpontiOra.changeRogzitesGirdView();"
)
.SelectBoxColumn(Html, 0, false)
.Columns(columns =>
{
columns.Bound(c => c.Osztaly).ClientTemplate("<span>#=Osztaly#</span>").Width(mainWidth);
columns.Bound(c => c.TanarID).ClientTemplate("<div class='kozponti-ora-grid-cell-border'>#=KozpontiOra.GetTanar(TanarID)#</div>").EditorTemplateName("GridNullableForeignKey").EditorViewData(new { dataSourceFunction = "KozpontiOra.GetTanarok"}).Width(mainWidth).HtmlAttributes(new { data_tanar = "" });
columns.Bound(c => c.TantargyID).ClientTemplate("<div class='kozponti-ora-grid-cell-border'>#=KozpontiOra.GetTantargy(TantargyID)#</div>").EditorTemplateName("GridNullableForeignKey").EditorViewData(new { dataSourceFunction = "KozpontiOra.GetTantargyak"}).Width(mainWidth).HtmlAttributes(new { data_tantargy = "" });
columns.Bound(c => c.TeremID).ClientTemplate("<div class='kozponti-ora-grid-cell-border'>#=KozpontiOra.GetTerem(TeremID)#</div>").EditorTemplateName("GridNullableForeignKey").EditorViewData(new { dataSourceFunction = "KozpontiOra.GetTermek"}).Width(mainWidth).HtmlAttributes(new { data_terem = "" });
if (Model.Sorszamozando)
{
columns.Bound(c => c.Sorszamozando).ClientTemplate("<span>#=Sorszamozando ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Sorszamozando = "" });
}
if (Model.ParhuzamosOra)
{
columns.Bound(c => c.ParhuzamosOra).ClientTemplate("<span>#=ParhuzamosOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_ParhuzamosOra = "" });
}
if (Model.Tulora)
{
columns.Bound(c => c.Tulora).ClientTemplate("<span>#=Tulora ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Tulora = "" });
}
if (Model.IKTTanora)
{
columns.Bound(c => c.IKTTanora).ClientTemplate("<span>#=IKTTanora ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_IKTTanora = "" });
}
if (Model.IPRTanora)
{
columns.Bound(c => c.IPRTanora).ClientTemplate("<span>#=IPRTanora ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_IPRTanora = "" });
}
if (Model.Meres)
{
columns.Bound(c => c.Meres).ClientTemplate("<span>#=Meres ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Meres = "" });
}
if (Model.Bontott)
{
columns.Bound(c => c.Bontott).ClientTemplate("<span>#=Bontott ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Bontott = "" });
}
if (Model.NemzetisegiOra)
{
columns.Bound(c => c.NemzetisegiOra).ClientTemplate("<span>#=NemzetisegiOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_NemzetisegiOra = "" });
}
if (Model.Differencialt)
{
columns.Bound(c => c.Differencialt).ClientTemplate("<span>#=Differencialt ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Differencialt = "" });
}
if (Model.Drama)
{
columns.Bound(c => c.Drama).ClientTemplate("<span>#=Drama ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Drama = "" });
}
if (Model.NemSzakrendszeruOra)
{
columns.Bound(c => c.NemSzakrendszeruOra).ClientTemplate("<span>#=NemSzakrendszeruOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_NemSzakrendszeruOra = "" });
}
if (Model.MindennaposTestneveles)
{
columns.Bound(c => c.MindennaposTestneveles).ClientTemplate("<span>#=MindennaposTestneveles ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_MindennaposTestneveles = "" });
}
if (Model.Kooperativ)
{
columns.Bound(c => c.Kooperativ).ClientTemplate("<span>#=Kooperativ ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Kooperativ = "" });
}
if (Model.Multikulturalis)
{
columns.Bound(c => c.Multikulturalis).ClientTemplate("<span>#=Multikulturalis ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Multikulturalis = "" });
}
if (Model.IsFelnottoktatasiSzerzodes)
{
columns.Bound(c => c.IsFelnottoktatasiSzerzodes).ClientTemplate("<span>#=IsFelnottoktatasiSzerzodes ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_IsFelnottoktatasiSzerzodes = "" });
}
if (Model.OnlineOra)
{
columns.Bound(c => c.OnlineOra).ClientTemplate("<span>#=OnlineOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_OnlineOra = "" });
}
if (Model.KAPOra)
{
columns.Bound(c => c.KAPOra).ClientTemplate("<span>#=KAPOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_KAPOra = "" });
}
if (Model.DFHT)
{
columns.Bound(c => c.DFHT).ClientTemplate("<span>#=DFHT ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_DFHT = "" });
}
if (Model.Rahangolodas)
{
columns.Bound(c => c.Rahangolodas).ClientTemplate("<span>#=Rahangolodas ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Rahangolodas = "" });
}
if (Model.Testmozgas)
{
columns.Bound(c => c.Testmozgas).ClientTemplate("<span>#=Testmozgas ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Testmozgas = "" });
}
if (Model.Muveszet)
{
columns.Bound(c => c.Muveszet).ClientTemplate("<span>#=Muveszet ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Muveszet = "" });
}
if (Model.KIPOra)
{
columns.Bound(c => c.KIPOra).ClientTemplate("<span>#=KIPOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_KIPOra = "" });
}
if (Model.KomplexOra)
{
columns.Bound(c => c.KomplexOra).ClientTemplate("<span>#=KomplexOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_KomplexOra = "" });
}
if (Model.Eletgyakorlat)
{
columns.Bound(c => c.Eletgyakorlat).ClientTemplate("<span>#=Eletgyakorlat ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Eletgyakorlat = "" });
}
if (Model.Logika)
{
columns.Bound(c => c.Logika).ClientTemplate("<span>#=Logika ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Logika = "" });
}
if (Model.TeOrad)
{
columns.Bound(c => c.TeOrad).ClientTemplate("<span>#=TeOrad ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_TeOrad = "" });
}
if (Model.DigitalisAlapProgram)
{
columns.Bound(c => c.DigitalisAlapProgram).ClientTemplate("<span>#=DigitalisAlapProgram ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_DigitalisAlapProgram = "" });
}
if (Model.TAMOPOra)
{
columns.Bound(c => c.TAMOPOra).ClientTemplate("<span>#=TAMOPOra ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_TAMOPOra = "" });
}
if (Model.Tiop)
{
columns.Bound(c => c.Tiop).ClientTemplate("<span>#=Tiop ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_Tiop = "" });
}
if (Model.EFOP32317)
{
columns.Bound(c => c.EFOP32317).ClientTemplate("<span>#=EFOP32317 ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_EFOP32317 = "" });
}
if (Model.EFOP33717)
{
columns.Bound(c => c.EFOP33717).ClientTemplate("<span>#=EFOP33717 ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_EFOP33717 = "" });
}
if (Model.VEKOP73317)
{
columns.Bound(c => c.VEKOP73317).ClientTemplate("<span>#=VEKOP73317 ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_VEKOP73317 = "" });
}
if (Model.TIOP11112120120001)
{
columns.Bound(c => c.TIOP11112120120001).ClientTemplate("<span>#=TIOP11112120120001 ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_TIOP11112120120001 = "" });
}
if (Model.EFOP31716EselyteremtesAKoznevelesben)
{
columns.Bound(c => c.EFOP31716EselyteremtesAKoznevelesben).ClientTemplate("<span>#=EFOP31716EselyteremtesAKoznevelesben ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_EFOP31716EselyteremtesAKoznevelesben = "" });
}
if (Model.GINOP623)
{
columns.Bound(c => c.GINOP623).ClientTemplate("<span>#=GINOP623 ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_GINOP623 = "" });
}
if (Model.EFOP23517201700038Miapalya)
{
columns.Bound(c => c.EFOP23517201700038Miapalya).ClientTemplate("<span>#=EFOP23517201700038Miapalya ? 'Igen' : 'Nem' # </span>").HtmlAttributes(new { data_EFOP23517201700038Miapalya = "" });
}
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Events(e => e.Edit("function(e) {KozpontiOra.edit(e)}").Save("function(e) {KozpontiOra.SaveDropDown(e)}"))
)
</div>

View file

@ -0,0 +1,80 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Orarend.Models;
@model TanoraAdatok
<br />
<div>
@using (Html.KretaForm("RogzitesTanoraAdataiForm"))
{
<div class="container-fluid details">
<b style="margin-left: -20px;">@KozpontiOrakResource.SpecialisAdatokLeiras</b>
<h4>@OrarendResource.ATanoraTulajdonsagai</h4>
<h5 style="font-weight: bold;">@OrarendResource.Altalanos</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Sorszamozando).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.ParhuzamosOra).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Tulora).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IKTTanora).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IPRTanora).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Meres).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Bontott).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.NemzetisegiOra).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Differencialt).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Drama).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.NemSzakrendszeruOra).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.MindennaposTestneveles).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Kooperativ).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Multikulturalis).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IsFelnottoktatasiSzerzodes).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.OnlineOra).RenderWithName(2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.KomplexAlapProgram</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.DFHT).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Rahangolodas).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Testmozgas).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Muveszet).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.KIPOra).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.KomplexOra).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Eletgyakorlat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Logika).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeOrad).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.DigitalisAlapProgram).RenderWithName(2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.EgyebPalyazat</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TAMOPOra).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Tiop).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP32317).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP33717).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.VEKOP73317).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TIOP11112120120001).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP31716EselyteremtesAKoznevelesben).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.GINOP623).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.EFOP23517201700038Miapalya).RenderWithName(2, 1)
</div>
</div>
}
</div>

View file

@ -0,0 +1,43 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers.Grid
@model AdminKozpontiOrakOsztalyokGridModel
@{
string gridName = "KozpontiOrak-" + Model.KozpontiOraGroupId.Value;
}
<div>
@(
Html.KretaGrid<AdminKozpontiOrakOsztalyokGridModel>(
gridName,
allowPaging: false,
getUrl: new GridApiUrl("AdminKozpontiOrakApi", "GetModositasDetailsGrid",
new Dictionary<string, string>
{
{ "start", Model.OraKezdete.ToUniversalTime().ToString() },
{ "end", Model.OraVege.ToUniversalTime().ToString() },
{ "hanyadikOra", Model.HanyadikOra.ToString() },
{ "kozpontiOraId", Model.KozpontiOraGroupId.Value.ToString() }
})
)
.Columns(columns =>
{
columns.Bound(c => c.Osztaly).Width("25%");
columns.Bound(c => c.Tanar).Width("25%");
columns.Bound(c => c.Tantargy).Width("25%");
columns.Bound(c => c.Terem).Width("25%");
})
.Sortable(sortable => sortable.AllowUnsort(true).SortMode(GridSortMode.MultipleColumn))
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Torles,
ClientAction = "KozpontiOra.deletelKozpontiOraConfirmation",
IconEnum = GridRowFunctionIconEnum.Torles,
},
})
)
</div>

View file

@ -0,0 +1,20 @@
@{
var domId = ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty);
}
<input id="@domId" name="@domId" data-value-primitive="True" />
<script type="text/javascript">
$(function () {
var uid = $("#@domId").closest("tr").attr("data-uid");
var element = $("#@domId");
element.kendoDropDownList({
dataTextField: "Text",
dataValueField: "Value",
dataSource: @(ViewData["dataSourceFunction"])(),
filter: "contains",
autoWidth: true
});
});
</script>

View file

@ -0,0 +1,944 @@
@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>
}

View file

@ -0,0 +1,7 @@
@using Kreta.Web.Areas.Orarend.Models;
@model Kreta.Web.Areas.Orarend.Models.KozpontiOraCalendarModel
@{ Layout = null; }
<div id="@Model.FullCalendarId"></div>

View file

@ -0,0 +1,79 @@
@using Kreta.BusinessLogic.HelperClasses
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers.Grid
@model Kreta.Web.Areas.Orarend.Models.AdminKozpontiOrakSearchModel
@{
const string modositasgrid = "modositasGrid";
}
<style type="text/css">
.k-edit-form-container {
width: auto;
}
.k-icon.k-edit {
display: none;
}
.k-grid-toolbar .k-button-icontext .k-icon, .k-grid-content .k-button-icontext .k-icon, .k-edit-form-container .k-edit-buttons .k-button-icontext .k-icon {
display: none !important;
}
.k-content .k-grid tbody tr td a, .k-content .k-grid tbody tr .gridcell a {
font-weight: 400;
}
a:hover {
color: #fff;
}
.k-edit-form-container .k-button {
background-color: #fff;
color: #5c6a79;
border: 1px solid #c5d3e2;
}
.k-edit-form-container .k-button:hover {
background-color: #e5e9ec;
}
.defaultComboboxWidth {
width: 25%;
}
.smaller-width-description {
width: 70%;
margin: auto;
}
</style>
<br />
<div style="margin: 0 1rem">
<b>@KozpontiOrakResource.ModositasLeiras</b>
</div>
<br />
<div>
@(
Html.KretaGrid<AdminKozpontiOrakOsztalyokGridModel>
(
name: modositasgrid,
getUrl: new GridApiUrl("AdminKozpontiOrakApi", "GetModositasGrid", new Dictionary<string, string> {{"start", Model.Start.ToString()}, {"end", Model.End.ToString()}, {"hanyadikOra", Model.HanyadikOra.ToString()}}),
clientTemplate: "detailGrid-template",
clientTemplateWholeDataRow: true,
clientTemplateUrl: @Url.Action("OpenDetailsGrid", "AdminKozpontiOrak"),
allowPaging: false
)
.Columns(columns =>
{
columns.Bound(c => c.Osztaly).Width("95%");
})
.AutoBind(true)
.Sortable(sortable => sortable.AllowUnsort(true).SortMode(GridSortMode.MultipleColumn))
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = "deleteKozpontiOraBtn", ClientAction= "KozpontiOra.deleteAllKozpontiOraConfirmation", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles },
})
)
</div>
@Html.KretaGridTemplate("detailGrid-template")

View file

@ -0,0 +1,69 @@
@using Kreta.BusinessLogic.HelperClasses
@using Kreta.Web.Areas.Orarend.Models
@model Kreta.Web.Areas.Orarend.Models.AdminKozpontiOrakOrarendiOraPartialViewListModel
<style type="text/css">
.k-edit-form-container {
width: auto;
}
.k-icon.k-edit {
display: none;
}
.k-grid-toolbar .k-button-icontext .k-icon, .k-grid-content .k-button-icontext .k-icon, .k-edit-form-container .k-edit-buttons .k-button-icontext .k-icon {
display: none !important;
}
.k-content .k-grid tbody tr td a, .k-content .k-grid tbody tr .gridcell a {
font-weight: 400;
}
a:hover {
color: #fff;
}
.k-edit-form-container .k-button {
background-color: #fff;
color: #5c6a79;
border: 1px solid #c5d3e2;
}
.k-edit-form-container .k-button:hover {
background-color: #e5e9ec;
}
.defaultComboboxWidth {
width: 25%;
}
</style>
<div>
<form id="@(Model.GridName+"hiddenForm")">
@Html.HiddenFor(x => x.JsonContent)
</form>
@(
Html.KretaGrid<AdminKozpontiOrakOsztalyokGridModel>
(
name: Model.GridName,
getUrl: Model.GridApiUrl,
allowPaging: false,
batchEdit: true,
pageSizes: null,
allowSorting: false,
showSorszam: false,
postRead: true,
dataBoundAdditionalFunction: Model.DataBoundAdditionalFunction
)
.SelectBoxColumn(Html, 0, Model.RowCheckBoxCheckedByDefault)
.Columns(columns =>
{
columns.Bound(c => c.Osztaly).Width("25%");
columns.Bound(c => c.Tanar).Width("25%");
columns.Bound(c => c.Tantargy).Width("25%");
columns.Bound(c => c.Terem).Width("25%");
}).AutoBind(false)
)
<script type="text/javascript">KretaGridHelper.refreshGridSearchPanel('@Model.GridName','@(Model.GridName+"hiddenForm")');</script>
</div>

View file

@ -0,0 +1,34 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Framework.Util
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Orarend.Models;
@model AdminKozpontiOrakSearchModel
@{
const string orarendiOrakTorleseKozpontilagGrid = "orarendiOrakTorleseKozpontilagGrid";
var orarendiOrakTorleseKozpontilagModel = new AdminKozpontiOrakOrarendiOraPartialViewListModel
{
GridName = orarendiOrakTorleseKozpontilagGrid,
GridApiUrl = new GridApiUrl("AdminKozpontiOrakApi", "GetOrarendiOrakKopontilagTorleseGrid", new Dictionary<string, string> { { "start", Model.Start.ToString() }, { "end", Model.End.ToString() }, { "hanyadikOra", Model.HanyadikOra.ToString() } })
};
}
<style>
#torlesBtn {
background-color: @EventColorEnum.Piros.GetStringValue();
}
</style>
<br />
<div style="margin: 0 1rem">
<b>
@KozpontiOrakResource.KozpontiOrakUtkozoOrarendiOrakLeiras
</b>
</div>
<br />
<div class="small-padding-left" id="errorMsg"></div>
@Html.Partial("OrarendiOrakGridList", orarendiOrakTorleseKozpontilagModel)

View file

@ -0,0 +1,24 @@
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Orarend.Models;
@model AdminKozpontiOrakSearchModel
@{
const string orarendiOrakTorleseKozpontilagGrid = "orarendiOrakVisszaallitasaKozpontilagGrid";
var orarendiOrakTorleseKozpontilagModel = new AdminKozpontiOrakOrarendiOraPartialViewListModel
{
GridName = orarendiOrakTorleseKozpontilagGrid,
GridApiUrl = new GridApiUrl("AdminKozpontiOrakApi", "GetOrarendiOrakVisszaallitasaGrid", new Dictionary<string, string> { { "start", Model.Start.ToString() }, { "end", Model.End.ToString() }, { "hanyadikOra", Model.HanyadikOra.ToString() } })
};
}
<br />
<div style="margin: 0 1rem">
<b>@KozpontiOrakResource.KozpontilagToroltOrakVisszaallitasaLeiras</b>
</div>
<br />
<div class="small-padding-left" id="errorMsg"></div>
@Html.Partial("OrarendiOrakGridList", orarendiOrakTorleseKozpontilagModel)

View file

@ -0,0 +1,43 @@
@{
const string selectPopupForm = "kozpontiOraSelectForm";
}
<style type="text/css">
.kozpontiOrakPopup .kozpontiBtn {
text-align: left;
width: 80%;
margin-bottom: 1em;
padding: 5px !important;
}
.kozpontiOrakPopup .titleSpan {
margin-left: 5px;
vertical-align: super;
}
</style>
@using (Html.KretaForm(selectPopupForm))
{
<div class="container-fluid details kozpontiOrakPopup">
<div align="center">
<button class="kozpontiBtn k-button k-button-icontext" id="KozpontiOraRogziteseBtn" style="background-color: #75aa64" type="button" data-role="button" role="button" onclick="KozpontiOra.OpenKozpontiOraRogzitese()">
<i class="fa fa-plus fa-2x"></i> <span class="titleSpan">@KozpontiOrakResource.KozpontiOraRogzitese</span>
</button>
</div>
<div align="center">
<button class="kozpontiBtn k-button k-button-icontext" id="KozpontiOraModositasaBtn" style="background-color: #dda757" type="button" data-role="button" role="button" onclick="KozpontiOra.OpenKozpontiOraModositasa()">
<i class="fa fa-pencil fa-2x"></i> <span class="titleSpan">@KozpontiOrakResource.KozpontiOraModositasa</span>
</button>
</div>
<div align="center">
<button class="kozpontiBtn k-button k-button-icontext" id="OrakTorleseKozpontilagBtn" style="background-color: #a94442" type="button" data-role="button" role="button" onclick="KozpontiOra.OpenOrakTorleseKozpontilag()">
<i class="fa fa-trash fa-2x"></i> <span class="titleSpan">@KozpontiOrakResource.OrakTorleseKozpontilag</span>
</button>
</div>
<div align="center">
<button class="kozpontiBtn k-button k-button-icontext" id="KozpontilagToroltOrakVisszaallitasaBtn" style="background-color: #6999e1" type="button" data-role="button" role="button" onclick="KozpontiOra.OpenKozpontilagToroltOrakVisszaallitasa()">
<i class="fa fa-undo fa-2x"></i> <span class="titleSpan">@KozpontiOrakResource.KozpontilagToroltOrakVisszaallitasa</span>
</button>
</div>
</div>
}

View file

@ -0,0 +1,46 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Orarend.Models;
@model AdminKozpontiOrakSearchModel
@{
const string utkozoOrakGrid = "KozpontiOraUtkozoOrarendiOrakGrid";
const string nemUtkozoOrakGrid = "KozpontiOraNemUtkozoOrarendiOrakGrid";
var utkozoOrarendiOrakGridListModel = new AdminKozpontiOrakOrarendiOraPartialViewListModel
{
DataBoundAdditionalFunction = "KozpontiOra.handleWhichOrarendiOrakMustBeDeleted();",
GridName = utkozoOrakGrid,
RowCheckBoxCheckedByDefault = true,
JsonContent = Model.KozpontiOrakList.ToJson(),
GridApiUrl = new GridApiUrl("AdminKozpontiOrakApi", "GetKozpontiOrabaUtkozoOrarendiOrakGrid", new Dictionary<string, string> { { "start", Model.Start.ToUniversalTime().ToString() }, { "end", Model.End.ToUniversalTime().ToString() }, { "hanyadikOra", Model.HanyadikOra.ToString() }, { "onlyUtkozoOrak", "true" } })
};
var nemUtkozoOrarendiOrakGridListModel = new AdminKozpontiOrakOrarendiOraPartialViewListModel
{
GridName = nemUtkozoOrakGrid,
JsonContent = Model.KozpontiOrakList.ToJson(),
GridApiUrl = new GridApiUrl("AdminKozpontiOrakApi", "GetKozpontiOrabaUtkozoOrarendiOrakGrid", new Dictionary<string, string> { { "start", Model.Start.ToUniversalTime().ToString() }, { "end", Model.End.ToUniversalTime().ToString() }, { "hanyadikOra", Model.HanyadikOra.ToString() }, { "onlyUtkozoOrak", "false" } }),
};
}
<br />
<div>
<b>
@KozpontiOrakResource.KozpontiOrakUtkozoOrarendiOrakLeiras
</b>
</div>
<br />
@Html.Partial("OrarendiOrakGridList", utkozoOrarendiOrakGridListModel)
<br />
<div>
<b>
@KozpontiOrakResource.KozpontiOrakNemUtkozoOrarendiOrakLeiras
</b>
</div>
<br />
@Html.Partial("OrarendiOrakGridList", nemUtkozoOrarendiOrakGridListModel)