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,89 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Orarend.Models;
@model BejelentettSzamonkeresekSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var searchFormName = "searchForm";
var gridName = "BejelentettSzamonkeresekGrid";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaRangeDatePickerSideBar(x => x.DatumTol, x => x.DatumIg)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.KapcsolodoCsoportok).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.HetNapjaSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetHetNapjaTipusList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.OraszamSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargySrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargy" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SzamonkeresModSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetErtekelesModList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.SzamonkeresMegnevezesSrc).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.BejelentesDatumaTol, x => x.BejelentesDatumaIg)
@Html.KretaCheckBoxFor(x => x.RegiSzamonkeresekElrejtese).RenderSearchPanelSideBar()
}
}
<div>
@(
Html.KretaGrid<BejelentettSzamonkeresekGridModel>
(
name: gridName,
getUrl: new GridApiUrl("AdminBejelentettSzamonkeresekApi", "GetBejelentettSzamonkeresekGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowFilterable: false,
allowPaging: true,
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.SzamonkeresDatuma).Ascending();
sort.Add(m => m.Oraszam).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(c => c.SzamonkeresDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HetNapjaNev).SetDisplayProperty("HetNapjaNev");
columns.Bound(c => c.Oraszam);
columns.Bound(c => c.TargyNev);
columns.Bound(c => c.OsztalyNev);
columns.Bound(c => c.TanarNev);
columns.Bound(c => c.ErtekelesModNev);
columns.Bound(c => c.SzamonkeresMegnevezes);
columns.Bound(c => c.BejelentesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand {Name = ImportExportCommonResource.Export, ClientAction = "BejelentettSzamonkeresekHelper.getExport" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var BejelentettSzamonkeresekHelper = (function () {
var bejelentettSzamonkeresekHelper = function () { };
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var url = {
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdminBejelentettSzamonkeresekApi, action = "GetExport" })"
}
bejelentettSzamonkeresekHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
return bejelentettSzamonkeresekHelper;
})();
</script>

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)

View file

@ -0,0 +1,118 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers
@using Kreta.Web.Classes
@using Kreta.Resources
@model TanariOrarendModelKeresheto
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "TanariOrarend.FormSearch"))
{
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AdminNaploEllenorzesApi", action = "GetTanarList" })).AutoBind(true).RenderSearchPanelSideBar()
}
}
@section AddCss {
@Styles.Render(Constants.General.TanuloErtekelesCSS)
@Styles.Render(Constants.General.FeljegyzesekCSS)
@Styles.Render(Constants.General.NaplozasAutoFeljegyzesCSS)
}
@{
Html.RenderPartial("Orarend", Model);
}
@section AddJs {
<script type="text/javascript">
var AdminNaploEllenorzesHelper = (function () {
var adminNaploEllenorzesHelper = function () { };
var eventURL = '@Url.Action("AdminNaploEllenorzesEvent", "AdminNaploEllenorzes", new { area = "Orarend" })';
var nemKotottMunkaidoEventUrl = "@Url.Action("AdminNaploEllenorzesNemKotottMunkaidoEvent", "AdminNaploEllenorzes", new { area = "Orarend"})";
var fogadooraEventUrl = "@Url.Action("AdminNaploEllenorzesFogadooraEvent", "AdminNaploEllenorzes", new { area = "Orarend"})";
var updateURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminNaploEllenorzesApi", action = "UpdateNemMegtartott" })";
var deleteURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminNaploEllenorzesApi", action = "DeleteNaplozas" })";
adminNaploEllenorzesHelper.TanorakCalendarClickEvent = function (e) {
window.CalendarModel = e;
if (e.oraType == @((int)CalendarOraTypeEnum.TanevRendjeEsemeny)
|| e.oraType == @((int)CalendarOraTypeEnum.UresOra)) {
return;
}
else {
AjaxHelper.DoPost(eventURL, window.CalendarModel, popUpWindow);
}
}
adminNaploEllenorzesHelper.FoglalkozasokCalendarClickEvent = function (e) {
if (e.oraType == @((int)CalendarOraTypeEnum.TanoranKivuliFoglalkozas) || e.oraType == @((int)CalendarOraTypeEnum.TanoranKivuliNaplozottFoglalkozas)) {
window.CalendarModel = e;
AjaxHelper.DoPost(eventURL, window.CalendarModel, popUpWindow);
}
}
adminNaploEllenorzesHelper.NemKotottCalendarClickEvent = function (e) {
if (e.oraType == @((int)CalendarOraTypeEnum.TanoranKivuliTevekenyseg)) {
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) {
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(e);
window.CalendarModel = e;
AjaxHelper.DoPost(nemKotottMunkaidoEventUrl, window.CalendarModel, popUpWindow);
}
}
}
adminNaploEllenorzesHelper.FogadooraCalendarClickEvent = function (e) {
if (e.oraType == @((int)CalendarOraTypeEnum.Fogadoora)) {
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) {
window.CalendarModel = e;
AjaxHelper.DoPost(fogadooraEventUrl, window.CalendarModel, popUpWindow);
}
}
}
adminNaploEllenorzesHelper.windowCancel = function () {
KretaWindowHelper.destroyWindow("AdminNaploEllenorzesWindow");
}
adminNaploEllenorzesHelper.updateNemMegtartottConfirm = function () {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(StringResourcesUtil.GetString(4935))" /*Biztosan nem megtartottra állítja az órát?*/, updateNemMegtartott);
}
adminNaploEllenorzesHelper.deleteNaplozasConfirm = function () {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(StringResourcesUtil.GetString(4936))" /*Biztosan törli a naplózási adatokat?*/, deleteNaplozas);
}
function popUpWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(4932))"; /*Napló ellenőrzés*/
config.content = data;
var modal = KretaWindowHelper.createWindow("AdminNaploEllenorzesWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function updateNemMegtartott() {
AjaxHelper.DoPostQuery(updateURL, null, { id: window.CalendarModel.eventId, oraKezdete: window.CalendarModel.start, oraVege: window.CalendarModel.end }, successCallBack);
}
function deleteNaplozas() {
AjaxHelper.DoPostQuery(deleteURL, null, { id: window.CalendarModel.eventId }, successCallBack);
}
function successCallBack() {
KretaWindowHelper.destroyWindow("AdminNaploEllenorzesWindow");
TanariOrarend.FormSearch("searchForm");
}
return adminNaploEllenorzesHelper;
})();
</script>
}

View file

@ -0,0 +1,10 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models;
@model TanoraNaplozasTabok
@{ Layout = null; }
<div id="tabTemplate">
@Html.Partial(@"EditorTemplates\TabStrip", Model.TabList)
</div>
@Html.KretaTabStrip("tabTemplate").RenderOnModal()

View file

@ -0,0 +1,374 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Framework
@using Kreta.Enums
@model MulasztasNaplozas
@{ Layout = null; }
<div class="container-fluid">
<div class="row">
@Html.KretaComboBoxFor(m => m.Tema, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AdminNaploEllenorzesApi", action = "GetTema", osztCsop = Model.OsztalyCsoportId, targy = Model.TargyId }), dataTextField: "Text", datavalueField: "Text", isCustomAllowed: true).Placeholder(StringResourcesUtils.GetString(4798)).AutoBind(true).Enable(false).RenderWithName(3, 3)
@Html.KretaLabelFor(m => m.EvesOraSorszam, 3, 3)
</div>
@if ((Model.JogviszonySzunetletetokDb.HasValue && Model.JogviszonySzunetletetokDb.Value > 0) || (Model.SzakmaiGyakorlatonLevokDb.HasValue && Model.SzakmaiGyakorlatonLevokDb.Value > 0))
{
<div class="row">
@if (Model.JogviszonySzunetletetokDb.HasValue && Model.JogviszonySzunetletetokDb.Value > 0)
{
@Html.KretaLabelFor(m => m.JogviszonySzunetletetokDb, 3, 3, true, "JogviszonySzunetletetoDb")
}
@if (Model.SzakmaiGyakorlatonLevokDb.HasValue && Model.SzakmaiGyakorlatonLevokDb.Value > 0)
{
@Html.KretaLabelFor(m => m.SzakmaiGyakorlatonLevokDb, 3, 3, true, "SzakmaiGyakorlatonLevoDb")
}
</div>
}
</div>
@{
var grid = Html.KretaGrid<MulasztasNaplozasGrid>
(
name: "MulasztasokNaplozasaGrid",
getUrl: new GridApiUrl("AdminNaploEllenorzesApi", "GetMulasztasok",
new Dictionary<string, string> {
{ "osztalycsoportId", Model.OsztalyCsoportId.HasValue ? Model.OsztalyCsoportId .Value.ToString() : "-1" },
{ "tanoraId", Model.isTanora && Model.TanoraId.HasValue ? Model.TanoraId.Value.ToString() :"-1" },
{ "targyId", Model.TargyId.HasValue ? Model.TargyId.Value.ToString() :"-1" },
{ "tanarId", Model.TanarId.HasValue ? Model.TanarId.Value.ToString() :"-1" },
{ "oraKezdete", Model.OraKezdete.ToString() },
{ "oraVege", Model.OraVege.ToString() },
{ "hianyzokAutoKitoltes", Model.HianyzokAutoKitoltes.ToString() }
}),
allowFilterable: false,
allowPaging: false,
pageSizes: null
)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
grid.Columns(c => c.Template(t => t.ToString()).Title(StringResourcesUtil.GetString(455/*Tanuló neve*/)).ClientTemplate(
@"
#if (Igazolt != null || OraMentesseg_BOOL == true || elozoOranHianyzott == true || (Oka!= null && Oka.includes('" + OrarendResource.Magantanulo + "')) || (Oka != null && Oka != '')) { # " +
"<div style='pointer-events: all' title='#if (Oka != null) { # #:Oka# # } # #if (elozoOranHianyzott == true) { # Az előző órán hiányzott! # } #'> <span class='kendoTooltipMulasztasTanuloNev' data-gondviselo='#:GondviseloNev#' data-gondviselotelszam='#:GondviseloTelSzam# data-amifotargy='#: AmiFotargyId_DNAME #' data-amitagozat='#: AmiTagozatId_DNAME #' data-amitantargykotelezoseg='#: AmiTantargyKotelezosegId_DNAME #' data-evfolyam='#: EvfolyamId_DNAME #' '> #:TanuloNev# </span><i class='fa fa-exclamation-triangle' ></i></div>"
+ @"# } " +
@"
else if (Igazolt == null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
"<span class='kendoTooltipMulasztasTanuloNev' data-gondviselo='#:GondviseloNev#' data-gondviselotelszam='#:GondviseloTelSzam#'data-amifotargy='#: AmiFotargyId_DNAME #' data-amitagozat='#: AmiTagozatId_DNAME #' data-amitantargykotelezoseg='#: AmiTantargyKotelezosegId_DNAME #' data-evfolyam='#: EvfolyamId_DNAME #' > #:TanuloNev# </span>"
+ @"# } #"
));
grid.Columns(c => c.Template(t => t.ToString()).Title(OrarendResource.MulasztasSzazalek).ClientTemplate(
@"
#if(MulasztasSzazalek >= 20 && MulasztasSzazalek < 30) { #
<span style='color: rgb(227, 159, 11); font-weight: bold;' class='kendoTooltipMulasztasSzazalek' data-mulasztasossz='#:MulasztasOsszCnt#' data-mulasztashiany='#:MulasztasHianyCnt#' data-mulasztasmegtartott='#:MulasztasMegtartottCnt#' data-mulasztasmegtarthato='#:MulasztasMegtarthatoCnt#'> #:MulasztasSzazalek#%</span>
# } else if(MulasztasSzazalek >= 30) { #
<span style='color: red; font-weight: bold;' class='kendoTooltipMulasztasSzazalek' data-mulasztasossz='#:MulasztasOsszCnt#' data-mulasztashiany='#:MulasztasHianyCnt#' data-mulasztasmegtartott='#:MulasztasMegtartottCnt#' data-mulasztasmegtarthato='#:MulasztasMegtarthatoCnt#'> #:MulasztasSzazalek#%</span>
# } else { #
<span class='kendoTooltipMulasztasSzazalek' data-mulasztasossz='#:MulasztasOsszCnt#' data-mulasztashiany='#:MulasztasHianyCnt#' data-mulasztasmegtartott='#:MulasztasMegtartottCnt#' data-mulasztasmegtarthato='#:MulasztasMegtarthatoCnt#'> #:MulasztasSzazalek#%</span>
# } #
"
));
grid.Columns(c => c.Template(t => t.ToString()).HeaderHtmlAttributes(new { @class = "mulasztasGridColumnHeaderTh" }).Title(@"<div>
<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderJelen' onclick='TanariOrarend.ChangeAllJelenletValue(" + (int)MulasztasTipusEnum.jelenlet + ");'>" + OrarendResource.Jelenlet + @"</div>
<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderUres' onclick='TanariOrarend.ChangeAllJelenletValue();'>" + OrarendResource.Ures + @"</div>
</div>").ClientTemplate(
@"<div style='pointer-events: none;'>
#if (Igazolt == null && OraMentesseg_BOOL == true) { # " +
grid.SelectForColumnTemplate(Html.For<MulasztasNaplozasGrid>(), x => x.MulasztasTipus, Model.FelmentettJelenletList)
+ @"# } #" +
@"
#if (Igazolt == null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
grid.SelectForColumnTemplate(Html.For<MulasztasNaplozasGrid>(), x => x.MulasztasTipus, Model.JelenletList, customClickFunctionName: "MulasztasHelper.changeMulsztasTipus")
+ @"# } #" +
@"
#if (Igazolt != null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
"#: MulasztasTipus_DNAME #" +
@"<input type='hidden' value='#: MulasztasTipus #' name='MulasztasokNaplozasaGrid_MulasztasTipus_#: ID#' id='MulasztasokNaplozasaGrid_MulasztasTipus_#:ID#' data-rowinputname='MulasztasTipus'>"
+ @"# } #
</div>"
));
grid.Columns(c => c.Template(t => t.ToString()).Title(StringResourcesUtil.GetString(2563/*Késés(perc)*/)).ClientTemplate(
@"<div style='pointer-events: none;'>
#if (Igazolt == null && OraMentesseg_BOOL == true) { # " + ""
+ @"# } #" +
@"
#if (Igazolt == null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
grid.NumericBoxForColumnTemplate(Html, m => m.KesesIdo, 0, Model.MaxKeses, 0)
+ @"# } #" +
@"
#if (Igazolt != null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false) && KesesIdo != null) { # " +
"#: KesesIdo #" +
"<input data-numericboxgroup='MulasztasokNaplozasaGrid_KesesIdo' data-rowinputname='KesesIdo' id='MulasztasokNaplozasaGrid_KesesIdo_#: ID#' max='44' min='0' name='MulasztasokNaplozasaGrid_KesesIdo_#: ID#' step='1' type='hidden' value='#: KesesIdo #' data-role='numerictextbox' role='spinbutton' class='k-input' aria-valuemin='0' aria-valuemax='44' aria-valuenow='#: KesesIdo #' aria-disabled='false' aria-readonly='false'>"
+ @"# } #
</div>"
));
grid.Columns(c => c.Template(t => t.ToString()).Title("").ClientTemplate(
@"
<div style='display: table;'>
<div class='autoFeljegyzesTable' style='display: table-row'>
<div style='display: table-cell;'>
<div title='" + OrarendResource.HazifeladatHiany + @"' class='haziFeladatHianyFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(HaziFeladatHiany_BOOL) { #haziFeladatHianyRed# } else { #haziFeladatHiany# } #' data-haziFeladatHiany='# if(HaziFeladatHiany_BOOL) { #true# } else { #false# } #' data-haziFeladatHianyId='#: HaziFeladatHianyId #'>
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.FelszerelesHiany + @"' class='felszerelesHianyFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(FelszerelesHiany_BOOL) { #felszerelesHianyRed# } else { #felszerelesHiany# } #' data-felszerelesHiany='# if(FelszerelesHiany_BOOL) { #true# } else { #false# } #' data-felszerelesHianyId='#: FelszerelesHianyId #'>
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.Felmentes + @"' class='felmentesFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(Felmentes_BOOL) { #felmentesOrange# } else { #felmentes# } #' data-felmentes='# if(Felmentes_BOOL) { #true# } else { #false# } #' data-felmentesId='#: FelmentesId #'>
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.TanoraiDicseret + @"' class='tanoraiDicseretFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(TanoraiDicseret_BOOL) { #dicseretGreen# } else { #dicseret# } #' data-tanoraiDicseret='# if(TanoraiDicseret_BOOL) { #true# } else { #false# } #' data-tanoraiDicseretId='#: TanoraiDicseretId #'>
</div>
</div>
</div>
</div>
"
));
}
<div style="pointer-events: none;">
@(grid)
</div>
<script type="text/javascript">
var MulasztasHelper = (function () {
var mulasztasHelper = function () { };
mulasztasHelper.getModel = function () { return getModel("MulasztasokNaplozasaForm", "MulasztasokNaplozasaGrid"); }
function getModel(formName, gridName) {
var model = { "TemaTanmenetId": null, "Tema": "", "MulasztasList": [] };
var form = $("#" + formName).toObject();
var grid = KretaGridHelper.getAllRowsWithDataAttribute(gridName, ["haziFeladatHiany", "felszerelesHiany", "felmentes", "tanoraiDicseret", "haziFeladatHianyId", "felszerelesHianyId", "felmentesId", "tanoraiDicseretId"]);
model.TemaTanmenetId = form.TemaTanmenetId;
model.Tema = form.Tema;
$.each(grid, function () {
var mulasztas = {
"MulasztasRowId": null, "TanuloId": 0, "MulasztasTipus": 0, "Keses": null
, "HazifeladatHiany": null, "FelszerelesHiany": null, "Felmentes": null, "TanoraiDicseret": null
, "HazifeladatHianyId": 0, "FelszerelesHianyId": 0, "FelmentesId": 0, "TanoraiDicseretId": 0
};
mulasztas.MulasztasRowId = this.MulasztasId;
mulasztas.TanuloId = this.ID;
mulasztas.MulasztasTipus = this.ki_MulasztasTipus;
mulasztas.Keses = this.ki_KesesIdo;
mulasztas.HazifeladatHiany = this.ki_haziFeladatHiany
mulasztas.FelszerelesHiany = this.ki_felszerelesHiany;
mulasztas.Felmentes = this.ki_felmentes;
mulasztas.TanoraiDicseret = this.ki_tanoraiDicseret;
mulasztas.HazifeladatHianyId = this.ki_haziFeladatHianyId
mulasztas.FelszerelesHianyId = this.ki_felszerelesHianyId;
mulasztas.FelmentesId = this.ki_felmentesId;
mulasztas.TanoraiDicseretId = this.ki_tanoraiDicseretId;
model.MulasztasList.push(mulasztas);
});
return model;
}
mulasztasHelper.setOraTemaja = function () {
$("input[name = 'Tema_input']").val($("#ElozoOraTema").val());
$("input[name = 'Tema_input']").focus();
}
mulasztasHelper.changeMulsztasTipus = function (data) {
if (($(data).attr('val') == "@(((int)MulasztasTipusEnum.keses).ToString())" && $(data).hasClass("activebar")))
{ return; }
var itemId = $(data).closest('div').parent('div').attr("id");
var kesesPrefix = "MulasztasokNaplozasaGrid_KesesIdo_";
var divPrefix = "divMulasztasokNaplozasaGrid_MulasztasTipus_";
var itemNumber = itemId.toString().replace(divPrefix, '');
var kendoKeses = $("#" + kesesPrefix + itemNumber).data("kendoNumericTextBox");
if (typeof (kendoKeses) !== "undefined") {
kendoKeses.value(null);
}
}
mulasztasHelper.dataBoundAdditionalFunction = function () {
DocumentReadyHelper.documentReadyBindings();
KretaTooltipHelper.setTooltip($(".kendoTooltipMulasztasTanuloNev"), "#kendoTooltip-mulasztasTanuloNevTemplate");
KretaTooltipHelper.setTooltip($(".kendoTooltipMulasztasSzazalek"), "#kendoTooltip-mulasztasSzazalekTemplate");
$(".haziFeladatHianyFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-hazifeladatHiany') == "true");
if (!active) { $this.addClass("haziFeladatHianyRed").removeClass("haziFeladatHiany"); }
else { $this.addClass("haziFeladatHiany").removeClass("haziFeladatHianyRed"); }
$this.attr('data-hazifeladatHiany', !active);
});
$(".felszerelesHianyFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-felszerelesHiany') == "true");
if (!active) { $this.addClass("felszerelesHianyRed").removeClass("felszerelesHiany"); }
else { $this.addClass("felszerelesHiany").removeClass("felszerelesHianyRed"); }
$this.attr('data-felszerelesHiany', !active);
});
$(".felmentesFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-felmentes') == "true");
if (!active) { $this.addClass("felmentesOrange").removeClass("felmentes"); }
else { $this.addClass("felmentes").removeClass("felmentesOrange"); }
$this.attr('data-felmentes', !active);
});
$(".tanoraiDicseretFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-tanoraiDicseret') == "true");
if (!active) { $this.addClass("dicseretGreen").removeClass("dicseret"); }
else { $this.addClass("dicseret").removeClass("dicseretGreen"); }
$this.attr('data-tanoraiDicseret', !active);
});
}
return mulasztasHelper;
})();
var DocumentReadyHelper = (function () {
// ID prefixek
var kesesPrefix = "MulasztasokNaplozasaGrid_KesesIdo_";
var mulasztasPrefix = "MulasztasokNaplozasaGrid_MulasztasTipus_";
// Jquery selector for id starts with specific text
var kesesButtonok = $('[id^=MulasztasokNaplozasaGrid_MulasztasTipus_]');
var kesesNumericTextBoxok = $('[id^=MulasztasokNaplozasaGrid_KesesIdo_]');
var documentReadyHelper = function () { };
documentReadyHelper.documentReadyBindings = function () { return documentReadyBindings(); }
function documentReadyBindings() {
buttonBindToKesesPercben(kesesButtonok, kesesNumericTextBoxok);
kesesPercbenBindToButton(kesesButtonok, kesesNumericTextBoxok);
}
function buttonBindToKesesPercben(kesesButtonok, kesesNumericTextBoxok) {
kesesButtonok.each(function () {
var itemId = $(this).attr("id");
$("#" + itemId).on("change", function () {
mulasztasTipusOnChange(this, itemId);
});
});
}
function kesesPercbenBindToButton(kesesButtonok, kesesNumericTextBoxok) {
kesesNumericTextBoxok.each(function () {
var itemId = $(this).attr("id");
$("#" + itemId).on("change", function () {
kesesPercbenOnChange(this, itemId);
});
});
}
function mulasztasTipusOnChange(item, itemId) {
var mulasztasTipusValue = $("#" + itemId).val();
// hogy ha nem "késés" típus van kiválasztva
if (mulasztasTipusValue != 1499) {
var itemNumber = itemId.toString().replace(mulasztasPrefix, '');
var kendoKeses = $("#" + kesesPrefix + itemNumber).data("kendoNumericTextBox");
if (typeof (kendoKeses) !== "undefined") {
kendoKeses.value(null); // kitöröljük a kendo control értékét
}
}
}
function kesesPercbenOnChange(item, itemId) {
var itemNumber = itemId.toString().replace(kesesPrefix, '');
var kendoKeses = $("#" + kesesPrefix + itemNumber).data("kendoNumericTextBox");
if (typeof (kendoKeses) !== "undefined") {
var kesesValue = kendoKeses.value();
if (kesesValue > 0) {
var itemDiv = "#div" + mulasztasPrefix + itemNumber;
var itemKeses = $(itemDiv).find('.selectorwrapper > ul > li[val="1499"]');
if (itemKeses.hasClass("activebar") == false) {
itemKeses.click();
}
}
}
}
return documentReadyHelper;
})();
$(document).ready(function () {
$("#ElozoOraAdatai").click(function () { MulasztasHelper.setOraTemaja() });
$("#JogviszonySzunetletetoDb").kendoTooltip({ content: '@Model.JogviszonySzunetletetok' });
$("#SzakmaiGyakorlatonLevoDb").kendoTooltip({ content: '@Model.SzakmaiGyakorlatonLevok' });
});
</script>
@Html.KretaTooltipTemplate("kendoTooltip-mulasztasTanuloNevTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Gondviselő neve:</b></td>
<td>#:target.data('gondviselo')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Gondviselő telefonszáma:</b></td>
<td>#:target.data('gondviselotelszam')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI főtárgy:</b></td>
<td>#:target.data('amifotargy')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI tagozat:</b></td>
<td>#:target.data('amitagozat')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI tantárgykötelezőség:</b></td>
<td>#:target.data('amitantargykotelezoseg')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI évfolyam:</b></td>
<td>#:target.data('evfolyam')#</td>
</tr>
</table>
</div>")
@Html.KretaTooltipTemplate("kendoTooltip-mulasztasSzazalekTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.Osszes + @":</b></td>
<td>#:target.data('mulasztasossz')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.EddigMegtartottOrak + @":</b></td>
<td>#:target.data('mulasztasmegtartott')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.HatralevoOrak + @":</b></td>
<td>#:target.data('mulasztasmegtarthato')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.Hianyzas + @":</b></td>
<td>#:target.data('mulasztashiany')#</td>
</tr>
</table>
</div>")

View file

@ -0,0 +1,29 @@
@using Kreta.Web.Areas.Orarend.Models
@model NemKotottMunkaidoModel
@{ Layout = null; }
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.TanarId)
@Html.HiddenFor(x => x.TulajId)
@Html.HiddenFor(x => x.GroupId)
@Html.HiddenFor(x => x.ModositasiIdoszakTipus)
@Html.HiddenFor(x => x.JSHelperNev)
@Html.HiddenFor(x => x.isMegtartott)
@Html.HiddenFor(x => x.HetirendId)
@Html.HiddenFor(x => x.AdminAltalTorolt)
@Html.HiddenFor(x => x.Megjegyzes)
@Html.KretaValidationSummary()
<div class="container-fluid details">
<div class="row">
@Html.KretaDatePickerFor(x => x.Datum, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
@Html.KretaTimePickerFor(x => x.Kezdet, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
@Html.KretaTimePickerFor(x => x.Veg, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TorvenyKategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTorvenyKategoriaList" }), "Text", "Value", new Dictionary<string, object>() { { "readonly", "readonly" } }).AutoBind(true).RenderWithName(2, 10)
</div>
<div class="row">
@Html.KretaTextAreaFor(m => m.NaplozottMegjegyzes, 6, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 10)
</div>
</div>

View file

@ -0,0 +1,128 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Framework;
@model TanoraAdatok
@{ Layout = null; }
<div class="container-fluid details">
<h4>@OrarendResource.TanoraAlapadati</h4>
<div class="row">
@Html.KretaLabelFor(m => m.OsztalyCsoportNev, 3, 3)
@Html.KretaLabelFor(m => m.OratartamEsOraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.TantargyNev, 3, 3)
@Html.KretaLabelFor(m => m.Oraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.TanarNev, 3, 3)
@Html.KretaCheckBoxFor(m => m.Megtartott).Enable(false).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(m => m.Terem, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).Enable(false).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(m => m.Sorszamozando).Enable(false).RenderWithName(3, 3)
<div data-sorszam-visible="true">
@Html.KretaLabelFor(m => m.EvesOraSorszam, 3, 3)
</div>
</div>
<div class="row">
@Html.KretaTextBoxFor(m => m.Megjegyzes).Enable(false).RenderWithName(3, 9)
</div>
@*OpenBoard Képek*@
@if (Model.OpenBoardFiles.Count > 0)
{
<h4>@StringResourcesUtil.GetString(8369)</h4>
<div class="row col-xs-12" id="OpenBoardFiles">
@Html.KretaCheckBoxListForOpenBoardKepek("OpenBoardFiles", Model.OpenBoardFiles, 10, true)
</div>
}
<h4>@StringResourcesUtil.GetString(2491)</h4>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Sorszamozando).Enable(false).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.ParhuzamosOra).Enable(false).RenderWithName(3, 3)
</div>
<h4>@StringResourcesUtil.GetString(2492)</h4>
<h5 style="font-weight: bold;">@OrarendResource.Altalanos</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Tulora).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IKTTanora).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IPRTanora).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Meres).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Bontott).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.NemzetisegiOra).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Differencialt).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Drama).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.ParhuzamosOra).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.MindennaposTestneveles).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Kooperativ).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Multikulturalis).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.NemSzakrendszeruOra).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IsFelnottoktatasiSzerzodes).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.OnlineOra).Enable(false).RenderWithName(2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.KomplexAlapProgram</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.DFHT).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Rahangolodas).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Testmozgas).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Muveszet).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.KIPOra).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.KomplexOra).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Eletgyakorlat).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Logika).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeOrad).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.DigitalisAlapProgram).Enable(false).RenderWithName(2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.EgyebPalyazat</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TAMOPOra).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Tiop).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP32317).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP33717).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.VEKOP73317).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TIOP11112120120001).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP31716EselyteremtesAKoznevelesben).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.GINOP623).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.EFOP23517201700038Miapalya).Enable(false).RenderWithName(2, 1)
</div>
@if (Model.Helyettesites)
{
<h4>@OrarendResource.HelyettesitesAdatai.ToUpper()</h4>
<div class="row">
@Html.KretaCheckBoxFor(m => m.Helyettesites).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaComboBoxFor(m => m.HelyettesitoTanar, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AdminNaploEllenorzesApi", action = "GetTanarListItems" })).Enable(false).AutoBind(true).RenderWithName(3, 3)
@Html.KretaComboBoxFor(m => m.HelyettesitesTipusa, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AdminNaploEllenorzesApi", action = "GetHelyettesitesTipus" })).Enable(false).AutoBind(true).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaTextBoxFor(m => m.HelyettesitesOka).Enable(false).RenderWithName(3, 3)
</div>
}
</div>
<style type="text/css">
.k-checkbox-label-inline {
display: inline-block;
}
</style>

View file

@ -0,0 +1,153 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers.Grid
@model AdminNemElerhetoOrarendiElemSearchModel
@{
const string GridName = "NemElerhetoOrarendiElemekGrid",
SearchFormName = "searchForm";
}
@Scripts.Render("~/bundles/Calendar")
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(SearchFormName, GridName))
{
@Html.KretaRangeDatePickerSideBar(x => x.ErvenyessegKezdeteTol, x => x.ErvenyessegKezdeteIg)
@Html.KretaRangeDatePickerSideBar(x => x.ErvenyessegVegeTol, x => x.ErvenyessegVegeIg)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.HetirendId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetHetiRendTipusList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.NapId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetHetNapjaTipusList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TeremId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), useGroup: false).AutoBind(true).RenderSearchPanelSideBar()
}
}
@{
List<FunctionCommand> function = new List<FunctionCommand>
{
new FunctionCommand {Name = TanuloResource.KijeloltekTorlese, ClientAction = "AdminNemElerhetoOrarendiElemKeresoHelper.deleteSelectedOra", Classes = "kendo-gridFunctionKommandRed" },
new FunctionCommand {Name = TanuloResource.Export, ClientAction = "AdminNemElerhetoOrarendiElemKeresoHelper.getExport" }
};
}
<div>
@(
Html.KretaGrid<AdminNemElerhetoOrarendiElemGridModel>(
name: GridName,
getUrl: new GridApiUrl("AdminNemElerhetoOrarendiElemekApi", "GetNemElerhetoOrarendiElemekGrid"),
allowScrolling: true,
dataParameterFunction: SearchFormName,
sort: sort => sort.Add(s => s.ErvenyessegKezdete).Descending()
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.ErvenyessegKezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.ErvenyessegVege).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.TanarElotagNelkul).SetDisplayProperty("Tanar");
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.Tantargy);
columns.Bound(c => c.Hetirend);
columns.Bound(c => c.Nap);
columns.Bound(c => c.Terem);
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Adatok, ClientAction= "AdminNemElerhetoOrarendiElemKeresoHelper.openOrarendiOraInfoWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = CommonResource.Torles, ClientAction= "AdminNemElerhetoOrarendiElemKeresoHelper.deleteOrarendiElemConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
})
.FunctionCommand(Html, function)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var AdminNemElerhetoOrarendiElemKeresoHelper = (function () {
var adminNemElerhetoOrarendiElemKeresoHelper = function () { };
var searchFormName = "@(SearchFormName)";
var gridName = "@(GridName)";
var url = {
OpenOrarendiOraInfoPopUp: "@Url.Action("OpenOrarendiOraInfoPopUp", "AdminNemElerhetoOrarendiElemek", new { area = "Orarend" })",
DeleteOrarendiElem: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AdminNemElerhetoOrarendiElemekApi", action = "DeleteOrarendiElem" })",
DeleteOrarendiOraSelectedElem: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AdminNemElerhetoOrarendiElemekApi", action = "DeleteOrarendiOraSelectedElem" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdminNemElerhetoOrarendiElemekApi, action = "GetExport" })"
}
adminNemElerhetoOrarendiElemKeresoHelper.openOrarendiOraInfoWindow = function (rowData) {
var postData = { orarendiOraId: rowData.ID };
AjaxHelper.DoPost(url.OpenOrarendiOraInfoPopUp, postData, popUpInfoWindow);
}
adminNemElerhetoOrarendiElemKeresoHelper.orarendiOraInfoCancel = function () {
KretaWindowHelper.destroyWindow("orarendiOraInfoWindow");
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@OrarendResource.OrarendiOraAdatai";
config.maxWidth = "960px";
config.height = "450px";
config.content = data;
var modal = KretaWindowHelper.createWindow("orarendiOraInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
adminNemElerhetoOrarendiElemKeresoHelper.deleteOrarendiElemConfirmWindow = function (rowData)
{
var postData = { orarendiOraId: rowData.ID };
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.BiztosanTorliAzOrarendiOrat)", deleteOrarendiElem, postData, KretaWindowHelper.destroyAllWindow);
}
adminNemElerhetoOrarendiElemKeresoHelper.deleteSelectedOra = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(IntezmenyResource.Figyelmeztetes)", "@(OrarendResource.BiztosanTorliAzOrarendiOrakat)", function () { deleteSelectedOra(selectedRows); });
}
else {
KretaWindowHelper.feedbackWindow("@(IntezmenyResource.Figyelmeztetes)", "@(IntezmenyResource.AKijeloltElemekTorlesehezJeloljonKiLegalabbEgyElemet)", true, KretaWindowHelper.destroyAllWindow);
}
}
adminNemElerhetoOrarendiElemKeresoHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
function deleteOrarendiElem(postData) {
AjaxHelper.DoPostQuery(url.DeleteOrarendiElem, null, postData, deleteFeedback);
}
function deleteFeedback(data) {
if (typeof data == 'number') {
KretaWindowHelper.successFeedBackWindow(null, data + "@(OrarendResource.NSorTorleseSikeresenMegtortent)");
}
else {
KretaWindowHelper.successFeedBackWindow();
}
KretaWindowHelper.destroyAllWindow();
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteSelectedOra(selectedRows) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push(value.ID);
});
AjaxHelper.DoPost(url.DeleteOrarendiOraSelectedElem, parameters, deleteFeedback);
}
return adminNemElerhetoOrarendiElemKeresoHelper;
})();
</script>

View file

@ -0,0 +1,31 @@
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.OraErvenyessegKezdeteSzoveg, 3, 3)
@Html.KretaLabelFor(x => x.OraErvenyessegVegeSzoveg, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HetNapjaSzoveg, 3, 3)
@Html.KretaLabelFor(x => x.Hetirend, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.FoglalkozasNev, 3, 9)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OsztalyCsoportNev, 3, 3)
@Html.KretaLabelFor(x => x.TantargyNev, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TanarNev, 3, 3)
@Html.KretaLabelFor(x => x.TeremNev, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OraKezdeteSzoveg, 3, 3)
@Html.KretaLabelFor(x => x.OraVegeSzoveg, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.CsengetesiRendNev, 3, 9)
</div>
</div>

View file

@ -0,0 +1,83 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Orarend.Models;
@model NemNaplozottTanorakSearchModel
@Scripts.Render("~/bundles/Calendar")
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
var gridName = "NemNaplozottTanorakGrid";
var searchFormName = "searchForm";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.DatumSrcTol, x => x.DatumSrcIg)
@Html.KretaRangeTimePickerSideBar(x => x.OraKezdetSrcTol, x => x.OraKezdetSrcIg)
@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.KretaComboBoxFor(x => x.TanarSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" })).RenderSearchPanelSideBar()
@Html.KretaRangeNumericSideBar(x => x.OraszamSrcTol, x => x.OraszamSrcIg, precision: 0, needTolIgLabels: true)
}
}
<div>
@(
Html.KretaGrid<NemNaplozottTanorakGridModel>
(
name: gridName,
getUrl: new GridApiUrl("AdminNemNaplozottTanorakApi", "GetNemNaplozottTanorakGrid", new Dictionary<string, string> { }),
dataParameterFunction: searchFormName,
allowScrolling: true,
allowFilterable: false,
allowPaging: true,
sort: sort =>
{
sort.Add(m => m.OraKezdeteDate).Ascending();
sort.Add(m => m.OraKezdeteTimeText).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);
columns.Bound(c => c.TargyNev);
columns.Bound(c => c.TanarNev);
columns.Bound(c => c.HelyettesitoTanarNev);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.FunctionCommand(Html, new List<FunctionCommand> {
new FunctionCommand() { Name = ImportExportCommonResource.Export, ClientAction = "NemNaplozottTanorakHelper.getExport"}
})
)
</div>
<script type="text/javascript">
var NemNaplozottTanorakHelper = (function () {
var nemNaplozottTanorakHelper = function () { }
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var url = {
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.AdminNemNaplozottTanorakApi, action = "GetExport" })"
}
nemNaplozottTanorakHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName);
}
return nemNaplozottTanorakHelper;
})();
</script>

View file

@ -0,0 +1,836 @@
@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Resources
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums
@model AdminOsztalyOrarendModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "Orarend.FormSearch"))
{
if(Model.IsFromSzervezet)
{
@Html.KretaComboBoxFor(x => x.Osztaly, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetLathatoDualisCsoportok" }), useGroup: false, isSingleElementSet: false).AutoBind(true).RenderSearchPanelSideBar()
}
else
{
@Html.KretaComboBoxFor(x => x.Osztaly, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).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,
osztalyId: -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.osztalyId = formContent.Osztaly;
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.osztalyId);
}
function CreateCalendar(calendarName, osztalyId) {
$("#" + calendarName).fullCalendar("destroy");
if (osztalyId == "") {
osztalyId = -1;
}
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendar = calendarName;
pram.osztalyCsoportId = osztalyId;
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 = "GetAdminOsztalyOrarendOrarendiOrak", 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 = "GetAdminOsztalyOrarendTanoranKivuliFoglalkozasok", 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 tanarChanged = false;
var osztalyChanged = false;
var tantargyChanged = false;
var formName = "OrarendiOraForm";
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 = Model.ApiControllerName, action = "HasHazifeladatOrHelyettesitesOrSzamonkeresForOrarendiOra" })";
var hasHazifeladatOrHelyettesitesOrSzamonkeresNotInIdoszakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, 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;
json.OsztalyId = $("#searchForm #Osztaly").val();
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);
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.OsztalyId = $("#TTFModel_OsztalyID").val();
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('');
osztalyChanged = true;
var osztalycsoportId = $("#TTFModel_OsztalyID").data('kendoComboBox').value();
var GetOsztalycsoportURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "ComboBoxHelperApi", action = "GetOsztalycsoportCsoportTipus" })";
AjaxHelper.DoPostQuery(GetOsztalycsoportURL, null, { osztalycsoportId: osztalycsoportId === "" ? -1 : osztalycsoportId }, osztalycsoportResponse);
}
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.changeTeremByOsztaly = function () {
var osztalycsoportId = $("#TTFModel_OsztalyID").data('kendoComboBox').value();
var GetOsztalyCsoportTeremURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "GetOsztalyCsoportTerem" })";
AjaxHelper.DoGet(GetOsztalyCsoportTeremURL, { osztalycsoportId: osztalycsoportId === "" ? 0 : osztalycsoportId }, changeTeremResponseOk);
}
function changeTeremResponseOk(result) {
if (result > 0) {
$("#TeremID").data('kendoComboBox').value(result);
}
else {
$("#TeremID").data('kendoComboBox').value("");
}
}
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>
}

View file

@ -0,0 +1,978 @@
@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@model AdminTanariOrarendModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "Orarend.FormSearch"))
{
@Html.KretaComboBoxFor(x => x.Tanar, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar", isFromSzervezet = Model.IsFromSzervezet }), 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",
NemKotottMunkaido: "FullCalendar-2"
}
var calendarContainer = {
activeTabIndex: null,
tanarId: @Model.TanarId,
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.tanarId = formContent.Tanar;
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.tanarId);
}
function CreateCalendar(calendarName, tanarId/*, osztalyId*/) {
$("#" + calendarName).fullCalendar("destroy");
if (tanarId == "") {
tanarId = -1;
}
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendar = calendarName;
pram.tanarId = tanarId;
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 = "GetAdminTanariOrarendOrarendiOrak", 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 = "GetAdminTanariOrarendTanoranKivuliFoglalkozasok", 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;
case calendars.NemKotottMunkaido:
pram.serviceURL = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetAdminNemKotottMunkaido" })";
pram.selectEvent = NemKotottMunkaido.CalendarSelectEvent;
pram.clickEvent = NemKotottMunkaido.CalendarClickEvent;
pram.isNewEventEnabled = true;
pram.eventType = @Html.Raw((int)EventTypeEnum.UjOraFelvitele);
pram.minTime = '@ViewBag.nemKotottMunkaidoStart';
pram.maxTime = '@ViewBag.nemKotottMunkaidoEnd';
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 formName = "OrarendiOraForm";
var datePickerChanged = false;
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 preValidationDeleteOrarendiOraURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "PreValidationDeleteOrarendiOra" })";
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, function (d) { setWindowTitle(d); AjaxHelper.DoPost(clickNewURL, e, popUpNewOrarendiOraWindow); });
} else {
AjaxHelper.DoPost(titleURL, e, function (d) { setWindowTitle(d); 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));
}
orarendiOrak.Save = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(saveOrarendiOraURL, formName, data, orarendiOraSaveResponseOk);
}
orarendiOrak.modCancel = function () {
KretaWindowHelper.destroyWindow("modifyOrarendiOraWindow");
}
orarendiOrak.modOrarendiOraDeleteConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
orarendiOrak.modOrarendiOraDeleteFromConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
orarendiOrak.modOrarendiOraDeleteToConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
orarendiOrak.modOrarendiOraDeleteDayConfirmWindow = function () {
preValidationDelete(@((int)OraModositasiIdoszakTipus.EgyOra));
}
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 csengetesiRendId = $("#CsengetesiRendOraID").val();
KretaWindowHelper.destroyAllWindow();
var data = window.CalendarModel;
data.eventId = csengetesiRendId;
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(data);
AjaxHelper.DoPost(clickNewURL, data, popUpNewOrarendiOraWindow);
}
/* 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 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);
}
function preValidationDelete(modositasiIdoszakTipus) {
$("#OrarendiOraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#OrarendiOraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.OrarendiOra");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(preValidationDeleteOrarendiOraURL, formName, data, deleteConfirm);
}
function deleteConfirm() {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", OrarendiOrak.deleteOrarendiOra);
}
orarendiOrak.deleteOrarendiOra = function () {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(deleteOrarendiOraURL, formName, data, orarendiOraDeleteResponseOk);
}
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);
}
orarendiOrak.dtChanged = function () {
datePickerChanged = true;
}
orarendiOrak.tanarChanged = function () {
tanarChanged = 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('');
osztalyChanged = true;
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);
}
}
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.changeTeremByOsztaly = function () {
var osztalyComboBox = $("#TTFModel_OsztalyID").data('kendoComboBox');
if (osztalyComboBox.selectedIndex != -1) {
var GetOsztalyCsoportTeremURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "GetOsztalyCsoportTerem" })";
AjaxHelper.DoGet(GetOsztalyCsoportTeremURL, { osztalycsoportId: osztalyComboBox.value() }, changeTeremResponseOk);
}
}
function changeTeremResponseOk(result) {
var widget = $("#TeremID").data('kendoComboBox');
if (result > 0 && (!window.isFirstLoad || window.isFirstLoad == undefined)) { widget.value(result); }
else { if (result == "") { widget.value(""); } }
window.isFirstLoad = false;
}
orarendiOrak.changeTantargy = function () {
$("#TTFModel_FoglalkozasID").data('kendoComboBox').value('');
tantargyChanged = true;
}
return orarendiOrak;
})();
</script>
<script type="text/javascript">
var Foglalkozasok = (function () {
var foglalkozasok = function () { };
var formName = "OrarendiOraForm";
var datePickerChanged = false;
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 = Model.ApiControllerName, 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); });
}
else {
KretaWindowHelper.notification("@(OrarendResource.NemEngedelyezettNapirendFelvetele)", "error");
}
}
return foglalkozasok;
})();
</script>
<script type="text/javascript">
var NemKotottMunkaido = (function () {
var nemKotottMunkaido = function () { };
var formName = "NemKotottMunkaidoForm";
var clickNewURL = "@Url.Action("OpenNewNemKotottMunkaidoPopUp", Model.ControllerName, new { area = "Orarend" })";
var clickModURL = "@Url.Action("OpenModNemKotottMunkaidoPopUp", Model.ControllerName, new { area = "Orarend" })";
var SaveURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "SaveNemKotottMunkaIdo" })";
var DeleteURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "DeleteNemKotottMunkaIdo" })";
var EnabledNemKotottMunkaidoRogziteseURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "EnabledNemKotottMunkaidoRogzitese" })";
var nemKotottMunkaidoUtkozesValidationURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "UtkozesValidateNemKotottMunkaido" })";
var nemKotottMunkaidoTorlesValidationURL = "@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "TorlesValidateNemKotottMunkaido" })";
var calendarElement;
nemKotottMunkaido.CalendarClickEvent = function (e) {
window.CalendarModel = e;
if (e.eventType == 1 && e.oraType == 4) {
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(e);
AjaxHelper.DoPost(clickModURL, e, popUpModNemKotottMunkaidoWindow);
}
};
nemKotottMunkaido.CalendarSelectEvent = function (e) {
calendarElement = e;
if (calendarElement.eventType == 0) {
AjaxHelper.DoGet(EnabledNemKotottMunkaidoRogziteseURL, { date: moment(calendarElement.start).utc().format("YYYY-MM-DD HH:mm") }, openNemKotottMunkaidoPopUp);
}
};
nemKotottMunkaido.newNemKotottMunkaidoCancel = function () { KretaWindowHelper.destroyWindow("newNemKotottMunkaidoWindow"); }
nemKotottMunkaido.EgeszTanevreSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.TeljesIdoszak)); }
nemKotottMunkaido.EttolHettolSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNaptol)); }
nemKotottMunkaido.EddigHetigSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNapig)); }
nemKotottMunkaido.EgyOraHozzaadasaSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.EgyOra)); }
nemKotottMunkaido.modNemKotottMunkaidoCancel = function () { KretaWindowHelper.destroyWindow("modNemKotottMunkaidoWindow"); }
nemKotottMunkaido.modNemKotottMunkaidoDeleteConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDelete); }
nemKotottMunkaido.modNemKotottMunkaidosDeleteFromConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDeleteFrom); }
nemKotottMunkaido.modNemKotottMunkaidoDeleteToConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDeleteTo); }
nemKotottMunkaido.modNemKotottMunkaidoDeleteDayConfirmWindow = function () { deleteConfirm(modNemKotottMunkaidoDeleteDay); }
nemKotottMunkaido.modNemKotottMunkaidoSaveDay = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.EgyOra)); }
nemKotottMunkaido.modNemKotottMunkaidoSaveTo = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNapig)); }
nemKotottMunkaido.modNemKotottMunkaidoSaveFrom = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNaptol)); }
nemKotottMunkaido.modNemKotottMunkaidoSave = function () { saveNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.TeljesIdoszak)); }
function saveNemKotottMunkaido(modositasiIdoszakTipus) {
$("#NemKotottMunkaidoForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#NemKotottMunkaidoForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.NemKotottMunkaido");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(nemKotottMunkaidoUtkozesValidationURL, formName, data, NemKotottMunkaido.ValidateNemkotottMunkaidoCallback);
}
function deleteNemKotottMunkaido(modositasiIdoszakTipus) {
$("#NemKotottMunkaidoForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#NemKotottMunkaidoForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.NemKotottMunkaido");
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(nemKotottMunkaidoTorlesValidationURL, formName, data, NemKotottMunkaido.TorlesValidateNemkotottMunkaidoCallback);
}
function deleteConfirm(deleteFunc) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteFunc);
}
function modNemKotottMunkaidoDelete() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.TeljesIdoszak)); }
function modNemKotottMunkaidoDeleteFrom() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNaptol)); }
function modNemKotottMunkaidoDeleteTo() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.AdottNapig)); }
function modNemKotottMunkaidoDeleteDay() { deleteNemKotottMunkaido(@((int)OraModositasiIdoszakTipus.EgyOra)); }
function popUpNewNemKotottMunkaidoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(5047))"; /*Kötött munkaidő neveléssel-oktatással le nem kötött részének felvétele*/
config.content = data;
var modal = KretaWindowHelper.createWindow("newNemKotottMunkaidoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModNemKotottMunkaidoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(5048))"; /*Kötött munkaidő neveléssel-oktatással le nem kötött részének módosítása*/
config.content = data;
var modal = KretaWindowHelper.createWindow("modNemKotottMunkaidoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function nemKotottMunkaidoComplete() {
KretaWindowHelper.destroyAllWindow();
Orarend.FormSearch("searchForm");
}
function openNemKotottMunkaidoPopUp(data) {
if (data === true) {
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(calendarElement);
AjaxHelper.DoPost(clickNewURL, calendarElement, popUpNewNemKotottMunkaidoWindow);
}
else {
KretaWindowHelper.notification("@(OrarendResource.NemEngedelyezettNemKotottMunkaidoFelvetele)", "error");
}
}
nemKotottMunkaido.ValidateNemkotottMunkaidoCallback = function (data) {
if (data.Valid) {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(SaveURL, formName, data, nemKotottMunkaidoComplete);
} else {
KretaWindowHelper.confirmWindow("@(ErrorResource.Figyelmeztetes)", data.Text, saveNemkotottMunkaido);
}
}
nemKotottMunkaido.TorlesValidateNemkotottMunkaidoCallback = function (data) {
if (data.Valid) {
AjaxHelper.DoPostElement(DeleteURL, formName, nemKotottMunkaidoComplete);
} else {
KretaWindowHelper.confirmWindow("@(ErrorResource.Figyelmeztetes)", data.Text, nemkotottMunkaidoTorles);
}
}
function saveNemkotottMunkaido() {
var data = CalendarDateTimeChangeHelper.changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoValidationPost(SaveURL, formName, data, nemKotottMunkaidoComplete);
}
function nemkotottMunkaidoTorles() {
AjaxHelper.DoPostElement(DeleteURL, formName, nemKotottMunkaidoComplete);
}
return nemKotottMunkaido;
})();
</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>
}

View file

@ -0,0 +1,64 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model NemKotottMunkaidoModel
@using (Html.KretaForm("NemKotottMunkaidoForm"))
{
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.GroupId)
@Html.HiddenFor(x => x.TulajId)
@Html.HiddenFor(x => x.ModositasiIdoszakTipus)
@Html.HiddenFor(x => x.JSHelperNev)
@Html.HiddenFor(x => x.isMegtartott)
if (Model.Id.HasValue && Model.Id.Value > 0)
{
@Html.HiddenFor(x => x.HetirendId)
}
@Html.KretaValidationSummary()
<div class="container-fluid details">
<div class="row">
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" })).Enable(!Model.Id.HasValue || Model.Id.Value == 0 ? true : false).AutoBind(true).RenderWithName(2, 4)
</div>
<div class="row">
@Html.KretaDatePickerFor(x => x.Datum, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
@Html.KretaTimePickerFor(x => x.Kezdet, Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).RenderWithName(2, 2)
@Html.KretaTimePickerFor(x => x.Veg, Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).RenderWithName(2, 2)
</div>
@if (!Model.Id.HasValue || Model.Id.Value == 0)
{
<div class="row">
@Html.KretaComboBoxFor(x => x.HetirendId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AdminTanariOrarendApi", action = "GetHetirendList" }), "Text", "Value", htmlAttributes: Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).AutoBind(true).RenderWithName(2, 10)
</div>
}
<div class="row">
@Html.KretaComboBoxFor(x => x.TorvenyKategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTorvenyKategoriaList" }), "Text", "Value", htmlAttributes: Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).AutoBind(true).RenderWithName(2, 10)
</div>
<div class="row">
@Html.KretaTextAreaFor(m => m.Megjegyzes, 6, Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).RenderWithName(2, 10)
</div>
</div>
}
@if (!Model.Id.HasValue || Model.Id.Value == 0)
{
<script type="text/javascript">
$(document).ready(function () {
var searchTanarValue = $("#searchForm #Tanar").val();
if (typeof searchTanarValue !== "undefined" && searchTanarValue != "") {
var tanarComboBox = $("#TanarId").data("kendoComboBox");
tanarComboBox.value(searchTanarValue);
tanarComboBox.enable(false);
$("#TanarId").removeAttr("disabled");
}
});
</script>
}
else
{
<script type="text/javascript">
$(document).ready(function () {
$("#TanarId").removeAttr("disabled");
});
</script>
}

View 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>
}

View file

@ -0,0 +1,402 @@
@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('&', "&amp;").replace('<', "&lt;").replace('>', "&gt;").replace('"', "&quot;").replace('\'', "&#039;"));
}
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>
}

View file

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

View file

@ -0,0 +1,200 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Security;
@model FeladatokListajaSrcModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
var customClass = ""; if (Model.IsJustTanar) { customClass = "disabledItem"; }
var gridName = "HazifeladatokListajaGrid";
var searchFormName = "searchForm";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.HiddenFor(x => x.HazifeladatokListajaTipus)
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(model => model.FeladatTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatTipusList" }), useGroup: true).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.OraDatumaTolSrc, x => x.OraDatumaIgSrc)
@Html.KretaRangeDatePickerSideBar(x => x.RogzitesTolSrc, x => x.RogzitesIgSrc)
@Html.KretaRangeDatePickerSideBar(x => x.HataridoTolSrc, x => x.HataridoIgSrc)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = Model.OsztalyCsoportComboUrl }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
if (Model.IsKapcsolodoOsztalyCsoportokVisible)
{
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportokSrc).RenderSearchPanelSideBar()
}
@Html.KretaCheckBoxFor(x => x.KellToroltOrasFeladat).RenderSearchPanelSideBar()
<div class="@customClass">
@Html.KretaComboBoxFor(x => x.TanarIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetAllAlkalmazott" })).AutoBind(true).RenderSearchPanelSideBar()
</div>
@Html.KretaComboBoxFor(x => x.TantargyIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.OraTemaSrc).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.HazifeladatTemaSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.IsOnlineOra, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
}
}
@{
var rowFunctions = new List<RowFunction>() {
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "InformaciokOrarend.openDetailPopUp", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok }
};
var functions = new List<FunctionCommand>() {
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "InformaciokOrarend.getExport"},
};
if (!ClaimData.IsAdministrator)
{
rowFunctions.Add(new RowFunction { NameResourceId = 116 /*Módosítás*/, ClientAction = "InformaciokOrarend.openModPopUp", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas });
rowFunctions.Add(new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction = "InformaciokOrarend.deleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles });
}
var grid = Html.KretaGrid<FeladatokListajaGridModel>
(
gridName,
new GridApiUrl(Constants.ApiControllers.HazifeladatokListajaApi, "GetFeladatokListajaGrid"),
dataParameterFunction: searchFormName,
allowScrolling: true,
dataBoundAdditionalFunction: string.Format("InformaciokOrarend.setAthuzas(\"{0}\");", gridName)
)
.Columns(column =>
{
column.Bound(c => c.OraDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
column.Bound(c => c.OraSorszama).Width("5%");
column.Bound(c => c.Tanar).Width("15%");
column.Bound(c => c.Tantargy).Width("15%");
column.Bound(c => c.OraTema).Width("15%").SetDisplayPropertyWithToolip("OraTema");
column.Bound(c => c.TanarHazifeladat).Width("10%").Sortable(false).SetDisplayPropertyWithToolip("TanarHazifeladat");
column.Bound(c => c.HaziFeladatRogzitesDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
column.Bound(c => c.HaziFeladatHataridoDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.RowFunction(Html, rowFunctions)
.FunctionCommand(Html, functions)
.AutoBind(false)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
}
<div>
@(grid)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var InformaciokOrarend = (function () {
var helper = function () { };
var urls = {
openUrl: "@Url.Action("GetFeladatEvent", "HazifeladatokListaja", new { area = "Orarend" })",
modUrl: "@Url.Action("GetFeladatModEvent", "HazifeladatokListaja", new { area = "Orarend" })",
saveUrl: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.HazifeladatokListajaApi, action = "SaveHF" })",
getExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.HazifeladatokListajaApi, action = "GetFeladatokListajaExport" })",
deleteUrl: "@Url.HttpRouteUrl("ActionApi", new { controller = "HazifeladatokListajaApi", action = "DeleteHF" })"
}
helper.openDetailPopUp = function (data) {
var feladatTipusName = data.FeladatTipusName;
AjaxHelper.DoPost(urls.openUrl, { eventId: data.ID, isTanitasiOra_BOOL: data.IsTanitasiOra, haziFeladatRogzitesDatuma: data.OraDatuma, feladatTipusId: data.FeladatTipusId }, function (data) { popUpDetailWindow(data, feladatTipusName) });
helper.detailOraInfoCancel = function () {
KretaWindowHelper.destroyWindow("detailOraAdatokWindow");
}
};
helper.openModPopUp = function (data) {
var feladatTipusName = data.FeladatTipusName;
AjaxHelper.DoPost(urls.modUrl, { eventId: data.ID, isTanitasiOra_BOOL: data.IsTanitasiOra, haziFeladatRogzitesDatuma: data.OraDatuma, feladatTipusId: data.FeladatTipusId }, function (data) { popUpModWindow(data, feladatTipusName) });
helper.modOraCancel = function () {
KretaWindowHelper.destroyWindow("modOraAdatokWindow");
}
helper.modOraSave = function () {
var data = $("#HazifeladatForm").toObject();
data.Id = $("#HFId").val();
AjaxHelper.DoPost(urls.saveUrl, data, function () { HfSaveOk(data.Id); }, saveResponseError);
}
};
helper.deleteConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteHF, rowData.HazifeladatId);
}
function deleteHF(data) {
AjaxHelper.DoPost(urls.deleteUrl, data, saveResponseOk);
}
function HfSaveOk() {
var uploader = $("#csatolmany").data("kendoUpload");
var fileuploadbutton = $('.k-upload-selected');
if (uploader && fileuploadbutton.length > 0) {
uploader.bind("upload", function (e) { AjaxHelper.ShowIndicator(); e.data = { hfId: $("#HFId").val() } });
uploader.bind("complete", function (e) { AjaxHelper.HideIndicator(); saveResponseOk() });
uploader.bind("error", function (e) { alert("Sikertelen file feltöltés!") });
setTimeout(function () { fileuploadbutton.click(); }, 1); /*set timeout kiveszi a fuggvényt a post success ágából és így külön fel tudjuk dobni neki busy indikatort*/
} else {
saveResponseOk();
}
}
function saveResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid("HazifeladatokListajaGrid");
}
function saveResponseError(data) {
AjaxHelper.CallRemoteErrors($("#HazifeladatForm"), data.responseJSON.ModelState);
}
function popUpDetailWindow(data, feladatTipusName) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = feladatTipusName;
config.content = data;
var modal = KretaWindowHelper.createWindow("detailOraAdatokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModWindow(data, feladatTipusName) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = feladatTipusName;
config.content = data;
var modal = KretaWindowHelper.createWindow("modOraAdatokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
helper.getExport = function () {
if ($('#@gridName').data('kendoGrid').dataSource.data().length == 0) {
KretaWindowHelper.feedbackWindow("Figyelmeztetés", "Nincs exportálandó releváns adat.");
return;
}
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@ImportExportCommonResource.HaziFeladatSzovegLevagasFigyelmeztetes", function () { KretaGridHelper.getExportBySearchForm("@gridName", urls.getExport, "@searchFormName") });
}
helper.setAthuzas = function (gridName) {
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.IsToroltOra) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
$('#' + gridName).find('[data-uid= ' + value.uid + '] :first').css("pointer-events", "auto");
$('#' + gridName).find('[data-uid= ' + value.uid + '] :first :first').css("opacity", "1");
}
});
}
return helper;
})();
</script>

View file

@ -0,0 +1,262 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Core;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Enums.ManualEnums;
@model HazifeladatBevitelModel
@{
Layout = null;
const string HaziFeladatCsatolmanyokApi = Kreta.Web.Constants.ApiControllers.HaziFeladatCsatolmanyokApi;
const string gridName = "HFCsatolmanyGrid";
}
<style>
.k-upload-selected {
display: none;
}
.k-button.k-clearUploadButton {
margin-left: 5px;
}
</style>
<script type="text/javascript">
var HazifeladatFileUploadHelper = (function () {
var hazifeladatFileUploadHelper = function () { };
var gridName = "@gridName";
var uploadDone = true;
var url = {
DeleteCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DeleteCsatolmany" })",
DownloadCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DownloadCsatolmanyFile" })",
}
var currentFilesSizeInBytes = 0;
hazifeladatFileUploadHelper.select = function (e) {
KretaFileUpload.StopAnimation();
var attachments = e.files;
var allowedFileExtensionArray = @Html.Raw(Json.Encode(Model.AllowedFileExtensions));
for (var i = 0; i < attachments.length; i++) {
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray) === -1) {
e.preventDefault();
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
return;
}
}
var usedFilesSizeInKiloBytes = parseInt("@Model.UsedFilesSizeInKiloBytes");
var maxAllowedFilesSizeInKiloBytes = parseInt("@Model.MaxAllowedFilesSizeInKiloBytes");
var usedFilesSizeInBytesTotal = parseInt("@Model.UsedFilesSizeInKiloBytesTotal");
var maxAllowedFilesSizeInKiloBytesTotal = parseInt("@Model.MaxAllowedFilesSizeInKiloBytesTotal");
currentFilesSizeInBytes += attachments.reduce((acc, curr) => acc + curr.size, 0);
if (maxAllowedFilesSizeInKiloBytes < ((currentFilesSizeInBytes / 1024) + usedFilesSizeInKiloBytes)) {
e.preventDefault();
var errorMessage = "@ErrorResource.AtlepteAHazifeladathozMegengedettFeltolthetoAdatmennyiseget";
errorMessage = errorMessage.format(
"<br />",
maxAllowedFilesSizeInKiloBytes,
(usedFilesSizeInKiloBytes).toFixed(2),
(currentFilesSizeInBytes / 1024).toFixed(2));
currentFilesSizeInBytes -= attachments.reduce((acc, curr) => acc + curr.size, 0);
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
return;
}
if (maxAllowedFilesSizeInKiloBytesTotal < ((currentFilesSizeInBytes / 1024) + (usedFilesSizeInBytesTotal / 1024))) {
e.preventDefault();
var errorMessage = "@ErrorResource.AtlepteAzOsszesenMegengedettFeltolthetoAdatmennyiseget";
errorMessage = errorMessage.format(
"<br />",
maxAllowedFilesSizeInKiloBytesTotal,
(usedFilesSizeInBytesTotal / 1024).toFixed(2),
(currentFilesSizeInBytes / 1024).toFixed(2));
currentFilesSizeInBytes -= attachments.reduce((acc, curr) => acc + curr.size, 0);
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
return;
}
$(".k-clearUploadButton").remove();
$(".k-upload-button").after('<button type="button" class="k-button k-clearUploadButton" onclick = "HazifeladatFileUploadHelper.ClearFileUpload()"> Törlés</button>');
}
hazifeladatFileUploadHelper.ClearFileUpload = function () {
$("#csatolmany").data("kendoUpload")._removeFileEntry($(".k-file"));
$(".k-clearUploadButton").remove();
}
hazifeladatFileUploadHelper.success = function (e) {
var csatolmanyId = e.response;
if (typeof csatolmanyId === "number") {
$("#CsatolmanyId").val(csatolmanyId);
}
}
hazifeladatFileUploadHelper.deleteConfirm = function (rowData) {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanToroliSzeretneCsatolmanyt)", deleteCsatolmany, rowData.ID);
}
function deleteCsatolmany(data) {
AjaxHelper.DoPost(url.DeleteCsatolmany, data, deleteResponseOk, responseError);
}
function responseError(data) {
KretaGridHelper.refreshGrid(gridName);
AjaxHelper.ShowError(data);
}
function deleteResponseOk() {
KretaGridHelper.refreshGrid(gridName);
}
hazifeladatFileUploadHelper.download = function (rowData) {
CommonUtils.formFileDownload(url.DownloadCsatolmany, rowData.ID);
};
function responseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
hazifeladatFileUploadHelper.upload = function (e) {
uploadDone = false;
}
hazifeladatFileUploadHelper.complete = function (e) {
uploadDone = true;
}
hazifeladatFileUploadHelper.uploadIsDone = function () {
return uploadDone;
}
hazifeladatFileUploadHelper.error = function (e) {
var err = $.parseJSON(e.XMLHttpRequest.responseText);
KretaWindowHelper.feedbackWindow(Globalization.Hiba, err.Message.replace(CommonUtils.LineBreakRegex, '<br />'), true);
}
return hazifeladatFileUploadHelper;
})();
</script>
<div class="container-fluid details">
@using (Html.KretaForm("HazifeladatForm"))
{
@Html.KretaValidationSummary()
@Html.Hidden("HFId", Model.Id)
@Html.HiddenFor(m => m.CsatolmanyId)
if (Model.FeladatTipusId.HasValue && Model.FeladatTipusId.Value == (int)FeladatTipusEnum.HaziFeladat)
{
<div class="row">
@Html.KretaDatePickerFor(x => x.ErvenyessegVege).RenderWithName(3, 3)
</div>
}
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 " id="editorcontainer">
@Html.KretaHtmlEditorFor(m => m.Szoveg, false).PasteCleanup(p => p.Css(false).MsAllFormatting(false).Span(false))
</div>
</div>
<div class="row" style="background-color: white !important;">
<div class="col-sm-12">
@Html.KretaFileUpload(
"csatolmany",
Url.Action("UploadCsatolmany", "TanariOrarend"),
uploadText: CommonResource.Feltoltes,
onSelectEvent: "function(e) { HazifeladatFileUploadHelper.select(e); }",
onSuccessEvent: "function(e) { HazifeladatFileUploadHelper.success(e); }",
onUploadEvent: "function(e) { HazifeladatFileUploadHelper.upload(e); }",
onCompleteEvent: "function(e) { HazifeladatFileUploadHelper.complete(e); }",
onErrorEvent: "function(e) { HazifeladatFileUploadHelper.error(e); }",
htmlAttributes: new Dictionary<string, object> { { "accept", string.Join(", ", Model.AllowedFileExtensions) } }
)
</div>
<div class="col-sm-12 uploadInfo">
<span>@CommonResource.MegengedettTipusok</span>
<ul>
<li>.txt, .pdf, .doc, .docx</li>
<li>.xls, .xlsx</li>
<li>.ppt, .pptx</li>
<li>.bmp, .jpg, .jpeg, .png</li>
<li>.rar, .zip</li>
</ul>
<span>@CommonResource.MaximalisMeret @Model.MaxAllowedFilesSizeInKiloBytes KB</span>
</div>
</div>
<div class="row">
<div class="col-sm-12" id="sumHaziFeladatCsatolmanyokGridDiv">
<label class="windowInputLabel">@OrarendResource.CsatoltAllomanyok:</label>
</div>
</div>
<div class="row" id="haziFeladatCsatolmanyokGridDiv">
<div class="col-sm-12">
@(
Html.KretaGrid<HFCsatolmanyGridModel>
(
gridName,
new GridApiUrl(HaziFeladatCsatolmanyokApi, "GetHFCsatolmanyokGridForHazi",
new Dictionary<string, string>
{
{ "haziFeladatId", Model.Id.ToString() }
}),
allowScrolling: true,
showSorszam: false,
sort: sort => sort.Add(s => s.FeltoltesDatum).Ascending()
)
.Columns(columns =>
{
columns.Bound(c => c.FajlNev).Width("30%");
columns.Bound(c => c.FajlMeretMB).Format("{0:n}").Width("30%");
columns.Bound(c => c.FeltoltesDatum).Width("30%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Torles,
ClientAction= "HazifeladatFileUploadHelper.deleteConfirm",
IconEnum = GridRowFunctionIconEnum.Torles
}
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Letoltes,
ClientAction= "HazifeladatFileUploadHelper.download",
IconEnum = GridRowFunctionIconEnum.Letoltes
}
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
</div>
}
</div>
<script>
$(document).ready(function () {
$("#Szoveg").getKendoEditor().refresh();
});
</script>

View file

@ -0,0 +1,195 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Security;
@model HazifeladatokListajaSrcModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
var customClass = ""; if (Model.IsJustTanar) { customClass = "disabledItem"; }
var gridName = "HazifeladatokListajaGrid";
var searchFormName = "searchForm";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.HiddenFor(x => x.HazifeladatokListajaTipus)
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.OraDatumaTolSrc, x => x.OraDatumaIgSrc)
@Html.KretaRangeDatePickerSideBar(x => x.RogzitesTolSrc, x => x.RogzitesIgSrc)
@Html.KretaRangeDatePickerSideBar(x => x.HataridoTolSrc, x => x.HataridoIgSrc)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = Model.OsztalyCsoportComboUrl }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
if (Model.IsKapcsolodoOsztalyCsoportokVisible)
{
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportokSrc).RenderSearchPanelSideBar()
}
@Html.KretaCheckBoxFor(x => x.KellToroltOrasHazifeladat).RenderSearchPanelSideBar()
<div class="@customClass">
@Html.KretaComboBoxFor(x => x.TanarIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetAllAlkalmazott" })).AutoBind(true).RenderSearchPanelSideBar()
</div>
@Html.KretaComboBoxFor(x => x.TantargyIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.OraTemaSrc).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.HazifeladatTemaSrc).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.IsOnlineOra, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
}
}
@{
var rowFunctions = new List<RowFunction>() {
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "InformaciokOrarend.openDetailPopUp", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok }
};
var functions = new List<FunctionCommand>() {
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "InformaciokOrarend.getExport"},
};
if (!ClaimData.IsAdministrator)
{
rowFunctions.Add(new RowFunction { NameResourceId = 116 /*Módosítás*/, ClientAction = "InformaciokOrarend.openModPopUp", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas });
rowFunctions.Add(new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction = "InformaciokOrarend.deleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles });
}
var grid = Html.KretaGrid<HazifeladatokListajaGridModel>
(
gridName,
new GridApiUrl(Constants.ApiControllers.HazifeladatokListajaApi, "GetHazifeladatokListajaGrid"),
dataParameterFunction: searchFormName,
allowScrolling: true,
dataBoundAdditionalFunction: string.Format("InformaciokOrarend.setAthuzas(\"{0}\");", gridName)
)
.Columns(column =>
{
column.Bound(c => c.OraDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
column.Bound(c => c.OraSorszama).Width("5%");
column.Bound(c => c.Tanar).Width("15%");
column.Bound(c => c.Tantargy).Width("15%");
column.Bound(c => c.OraTema).Width("15%").SetDisplayPropertyWithToolip("OraTema");
column.Bound(c => c.TanarHazifeladat).Width("10%").Sortable(false).SetDisplayPropertyWithToolip("TanarHazifeladat");
column.Bound(c => c.HaziFeladatRogzitesDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
column.Bound(c => c.HaziFeladatHataridoDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.RowFunction(Html, rowFunctions)
.FunctionCommand(Html, functions)
.AutoBind(false)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
}
<div>
@(grid)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var InformaciokOrarend = (function () {
var helper = function () { };
var urls = {
openUrl: "@Url.Action("GetOrarendEvent", "HazifeladatokListaja", new { area = "Orarend" })",
modUrl: "@Url.Action("GetOrarendModEvent", "HazifeladatokListaja", new { area = "Orarend" })",
saveUrl: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.HazifeladatokListajaApi, action = "SaveHF" })",
getExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.HazifeladatokListajaApi, action = "GetExport" })",
deleteUrl: "@Url.HttpRouteUrl("ActionApi", new { controller = "HazifeladatokListajaApi", action = "DeleteHF" })"
}
helper.openDetailPopUp = function (data) {
AjaxHelper.DoPost(urls.openUrl, { eventId: data.ID, isTanitasiOra_BOOL: data.IsTanitasiOra, haziFeladatRogzitesDatuma: data.OraDatuma }, popUpDetailWindow);
helper.detailOraInfoCancel = function () {
KretaWindowHelper.destroyWindow("detailOraAdatokWindow");
}
};
helper.openModPopUp = function (data) {
AjaxHelper.DoPost(urls.modUrl, { eventId: data.ID, isTanitasiOra_BOOL: data.IsTanitasiOra, haziFeladatRogzitesDatuma: data.OraDatuma }, popUpModWindow);
helper.modOraCancel = function () {
KretaWindowHelper.destroyWindow("modOraAdatokWindow");
}
helper.modOraSave = function () {
var data = $("#HazifeladatForm").toObject();
data.Id = $("#HFId").val();
AjaxHelper.DoPost(urls.saveUrl, data, function () { HfSaveOk(data.Id); }, saveResponseError);
}
};
helper.deleteConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteHF, rowData.HazifeladatId);
}
function deleteHF(data) {
AjaxHelper.DoPost(urls.deleteUrl, data, saveResponseOk);
}
function HfSaveOk() {
var uploader = $("#csatolmany").data("kendoUpload");
var fileuploadbutton = $('.k-upload-selected');
if (uploader && fileuploadbutton.length > 0) {
uploader.bind("upload", function (e) { AjaxHelper.ShowIndicator(); e.data = { hfId: $("#HFId").val() } });
uploader.bind("complete", function (e) { AjaxHelper.HideIndicator(); saveResponseOk() });
uploader.bind("error", function (e) { alert("Sikertelen file feltöltés!") });
setTimeout(function () { fileuploadbutton.click(); }, 1); /*set timeout kiveszi a fuggvényt a post success ágából és így külön fel tudjuk dobni neki busy indikatort*/
} else {
saveResponseOk();
}
}
function saveResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGrid("HazifeladatokListajaGrid");
}
function saveResponseError(data) {
AjaxHelper.CallRemoteErrors($("#HazifeladatForm"), data.responseJSON.ModelState);
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.HaziFeladat)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailOraAdatokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.HaziFeladat)";
config.content = data;
var modal = KretaWindowHelper.createWindow("modOraAdatokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
helper.getExport = function () {
if ($('#@gridName').data('kendoGrid').dataSource.data().length == 0) {
KretaWindowHelper.feedbackWindow("Figyelmeztetés", "Nincs exportálandó releváns adat.");
return;
}
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@ImportExportCommonResource.HaziFeladatSzovegLevagasFigyelmeztetes", function () { KretaGridHelper.getExportBySearchForm("@gridName", urls.getExport, "@searchFormName") });
}
helper.setAthuzas = function (gridName) {
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.IsToroltOra) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
$('#' + gridName).find('[data-uid= ' + value.uid + '] :first').css("pointer-events", "auto");
$('#' + gridName).find('[data-uid= ' + value.uid + '] :first :first').css("opacity", "1");
}
});
}
return helper;
})();
</script>

View file

@ -0,0 +1,7 @@
@using Kreta.Web.Areas.Orarend.Models;
@model InformaciokOra
@{
Layout = null;
}
@Html.KretaTabStripAjax("OraAdatokDetailTabStrip", Model.TabList)

View file

@ -0,0 +1,7 @@
@using Kreta.Web.Areas.Orarend.Models;
@model InformaciokOra
@{
Layout = null;
}
@Html.KretaTabStripAjax("OraAdatokDetailTabStrip", Model.TabList)

View file

@ -0,0 +1,143 @@
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Enums.ManualEnums;
@model TanuloHaziFeladatTabModel
@{
Layout = null;
const string HaziFeladatCsatolmanyokApi = Kreta.Web.Constants.ApiControllers.HaziFeladatCsatolmanyokApi;
const string gridName = "HFCsatolmanyGrid";
}
@Html.ValidationSummary()
<div class="container-fluid">
@Html.HiddenFor(m => m.TanarHaziFeladat.Id)
<div>
<div class="panel panel-primary">
<div class="panel-heading" style="padding-top:0px">
<div style="display:inline-block; padding-top:9px;">@(Model.TanarHaziFeladat.FeladasDatuma.ToShortDateString() + " " + Model.TanarHaziFeladat.TanarNev)</div>
</div>
<div class="panel-body">
@Html.RawRichText(Model.TanarHaziFeladat.FeladatSzovege) @Html.Raw(Model.TanarHaziFeladat.HaziFeladathozHozzaadottKepek) @*ide kell*@
</div>
@if (Model.TanarHaziFeladat.Hatarido != null && Model.TanarHaziFeladat.Hatarido != default(DateTime))
{
<div class="panel-footer" style="margin-left:1px;">@(OrarendResource.Hatarido + ": " + Model.TanarHaziFeladat.Hatarido.ToShortDateString())</div>
}
</div>
</div>
@{
if (Model.TanarHaziFeladat.FeladatTipusId.HasValue && Model.TanarHaziFeladat.FeladatTipusId == (int)FeladatTipusEnum.OraiFeladat)
{
@Html.KretaLabelFor(model => model.TanarHaziFeladat.OraiFeladatText, 1, 3)
}
}
</div>
<div class="row" id="haziFeladatCsatolmanyokGridDiv">
<div class="col-sm-12">
@(
Html.KretaGrid<HFCsatolmanyGridModel>
(
gridName,
new GridApiUrl(HaziFeladatCsatolmanyokApi, "GetHFCsatolmanyokGridForHazi",
new Dictionary<string, string>
{
{ "haziFeladatId", Model.TanarHaziFeladat.Id.ToString() }
}),
allowScrolling: true,
showSorszam: false,
sort: sort => sort.Add(s => s.FeltoltesDatum).Ascending()
)
.Columns(columns =>
{
columns.Bound(c => c.FajlNev).Width("30%");
columns.Bound(c => c.FajlMeretMB).Format("{0:n}").Width("30%");
columns.Bound(c => c.FeltoltesDatum).Width("30%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Torles,
ClientAction= "HazifeladatFileUploadHelper.deleteConfirm",
IconEnum = GridRowFunctionIconEnum.Torles
}
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Letoltes,
ClientAction= "HazifeladatFileUploadHelper.download",
IconEnum = GridRowFunctionIconEnum.Letoltes
}
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
</div>
<script type="text/javascript">
var HazifeladatFileUploadHelper = (function () {
var hazifeladatFileUploadHelper = function () { };
var gridName = "@gridName";
var searchFormName = "searchForm";
var url = {
DeleteCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DeleteCsatolmany" })",
DownloadCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new {controller = HaziFeladatCsatolmanyokApi, action = "DownloadCsatolmanyFile" })",
}
hazifeladatFileUploadHelper.deleteConfirm = function (rowData) {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanToroliSzeretneCsatolmanyt)", deleteCsatolmany, rowData.ID);
}
function deleteCsatolmany(data) {
AjaxHelper.DoPost(url.DeleteCsatolmany, data, deleteResponseOk, responseError);
}
function responseError(data) {
KretaGridHelper.refreshGrid(gridName);
AjaxHelper.ShowError(data);
}
function deleteResponseOk() {
KretaGridHelper.refreshGrid(gridName);
}
hazifeladatFileUploadHelper.download = function (rowData) {
CommonUtils.formFileDownload(url.DownloadCsatolmany, rowData.ID);
};
function responseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
return hazifeladatFileUploadHelper;
})();
</script>
<script type="text/javascript">
var TanuloHaziFeladatHelper = (function () {
var tanuloHaziFeladatHelper = function () { };
var tanarHaziFeladatId = parseInt("@Model.TanarHaziFeladat.Id");
if (isNaN(tanarHaziFeladatId)) { tanarHaziFeladatId = null; }
var saveURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Constants.ApiControllers.InformaciokOrarendApi, action = "SaveTanuloHaziFeladat" })';
var deleteURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Constants.ApiControllers.InformaciokOrarendApi, action = "DeleteTanuloHaziFeladat" })';
tanuloHaziFeladatHelper.tanuloHaziFeladatTorles = function (Id) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", function () { deleteBejegyzes(Id); });
};
return tanuloHaziFeladatHelper;
})();
</script>

View file

@ -0,0 +1,120 @@
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Helpers;
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums
@model Kreta.Web.Areas.Tanar.Models.FogadooraSearchModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "InformaciokFogadoorakGrid"))
{
@Html.KretaComboBoxFor(x => x.TeremIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraTeremList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarIdSrc, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraPedagogusList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(m => m.IdopontTolSrc, m => m.IdopontIgSrc)
@Html.KretaRangeTimePickerSideBar(m => m.IdointervallumTolSrc, m => m.IdointervallumIgSrc, interval: 30)
@Html.KretaCheckBoxFor(x => x.IsJelentkezheto).RenderSearchPanelSideBar()
}
}
@{
var grid = Html.KretaGrid<InformaciokFogadoorakGridModel>
(
name: "InformaciokFogadoorakGrid",
getUrl: new GridApiUrl("InformaciokFogadoorakApi", "GetFogadooraGrid"),
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.FogadooraKezdete).Ascending();
}
)
.Columns(columns =>
{
columns.Bound(m => m.Pedagogus);
columns.Bound(m => m.Terem);
columns.Bound(m => m.FogadooraKezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime]);
columns.Bound(m => m.FogadooraVege).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime]);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
grid.Columns(column =>
{
column.Template(@<text></text>).Width(200)
.ClientTemplate(
@"#if(IsJelentkezheto) {# "
+ @"#if(IsJelentkezesiHataridoElott && IsNemJelentkezett) {# "
+ grid.ComboBoxForColumnTemplate(Html.For<InformaciokFogadoorakGridModel>(), x => x.IdopontId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "InformaciokFogadoorakApi", action = "GetFogadooraIdopontok", fogadooraId = "#= ID #" }))
+ @" # } else {# #= IdopontStr # # } #"
+ @" #} else {# "
+ FogadooraResource.NemLehetJelentkezni
+ @" #}# "
).Title(FogadooraResource.Jelentkezes);
});
grid.Columns(column =>
{
column.Template(@<text></text>).Width(120)
.ClientTemplate(
@"#if(IsJelentkezheto) {#
#if(IsJelentkezesiHataridoElott && IsNemJelentkezett) {#
<button id='jelentkezes_#: ID #' type='button' data-role='button' class='btn btn-success' role='button' aria-disabled='false' tabindex='0' onclick='InformaciokFogadoorakHelper.jelentkezes(#= ID #)'>" + FogadooraResource.Jelentkezes + "</button>"
+ @" #} else if(IsKezdeteElott && IsJelentkezett) {# "
+ @"<button id='lemondas_#: ID #' type='button' data-role='button' class='btn btn-danger' role='button' aria-disabled='false' tabindex='0' onclick='InformaciokFogadoorakHelper.lemondas(#= IdopontGondviseloId #)'>" + FogadooraResource.Lemondas + "</button>"
+ @" #}# "
+ @" #}#");
});
}
<div>
@(grid)
</div>
<script type="text/javascript">
var InformaciokFogadoorakHelper = (function () {
var informaciokFogadoorakHelper = function () { };
var jelentkezesURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "InformaciokFogadoorakApi", action = "Jelentkezes" })";
var lemondasURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "InformaciokFogadoorakApi", action = "Lemondas" })";
var isSzabadIdopontURL =
"@Url.HttpRouteUrl("ActionApi", new {controller = "InformaciokFogadoorakApi", action = "isSzabadIdopontByFogadooraIdopontId" })";
var gridName = "InformaciokFogadoorakGrid";
var fogadooraId = -1;
informaciokFogadoorakHelper.jelentkezes = function (pFogadooraId) {
var idopontId = $("#InformaciokFogadoorakGrid_IdopontId_" + pFogadooraId).val();
fogadooraId = pFogadooraId;
AjaxHelper.DoGet(isSzabadIdopontURL,
{ fogadooraIdopontId: idopontId },
resultPopup);
}
function resultPopup(data) {
if (data === @((int)FogadooraJelentkezesAllapotEnum.LehetJelentkezni)) {
var idopontId = $("#InformaciokFogadoorakGrid_IdopontId_" + fogadooraId).val();
AjaxHelper.DoPostQuery(jelentkezesURL, null, { idopontId: idopontId }, jelentkezesLemondasComplete);
} else {
if (data === @((int) FogadooraJelentkezesAllapotEnum.MarJelentkeztek)) {
KretaWindowHelper.warningWindow('@FogadooraResource.Figyelem',
'@FogadooraResource.AzIdopontraMarJelentkeztek', function() {
KretaGridHelper.refreshGrid(gridName);
});
} else {
KretaWindowHelper.warningWindow('@FogadooraResource.Figyelem',
'@FogadooraResource.FogadooraNemElerhetoMertTorlesreKerult', function() {
KretaGridHelper.refreshGrid(gridName);
});
}
}
}
informaciokFogadoorakHelper.lemondas = function (idopontGondviseloId) {
AjaxHelper.DoPostQuery(lemondasURL, null, { idopontGondviseloId: idopontGondviseloId }, jelentkezesLemondasComplete);
}
function jelentkezesLemondasComplete() {
KretaGridHelper.refreshGrid(gridName);
}
return informaciokFogadoorakHelper;
})();
</script>

View file

@ -0,0 +1,31 @@
@using Kreta.Web.Areas.Orarend.Models;
@model TanuloHaziFeladatMentesModel
@{
Layout = null;
}
<div id="TanuloHazifeladatValidation">
@Html.KretaValidationSummary()
</div>
<div class="container-fluid">
@if (Model.TanarHaziFeladatId != null)
{
@Html.HiddenFor(m => m.TanarHaziFeladatId)
}
else
{
<div class="row">
<div class="col-sm-4">
@Html.KretaDatePickerFor(x => x.Hatarido).RenderWithName(isCustomRequired: true)
</div>
</div>
}
<div class="row">
<div class="col-sm-12">
@Html.KretaHtmlEditorFor(m => m.FeladatSzovege, false)
</div>
</div>
</div>

View file

@ -0,0 +1,123 @@
@using Kreta.BusinessLogic.Security;
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Framework;
@using Kreta.Web.Security
@model InformaciokOrarendModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddCss{
@Styles.Render(Constants.General.KretaEditorCSS)
<style>
.BejegyzesTorles .k-button {
color: #a94442;
background-color: #e5e9ec;
border-color: #ebccd1;
}
.BejegyzesHozzaadas .k-button {
color: #3c763d;
background-color: #e5e9ec;
border-color: #d6e9c6;
}
</style>
}
@section AddJs {
@Scripts.Render("~/bundles/Calendar")
<script type="text/javascript">
var InformaciokOrarend = (function () {
var clickURL = '@Url.Action("OrarendEvent", "InformaciokOrarend")';
var informaciokOrarend = function () { };
var hetesekJSON = "";
if ('@Model.HetesekJson' !== '') {
var hetesekJSON = CommonUtils.JSONparse('@Model.HetesekJson'.replace(/\&quot;/g, '"'));
}
informaciokOrarend.CalendarClickEvent = function (e) {
if (e.oraType == 5 || e.oraType == 6 || e.oraType == @((int)CalendarOraTypeEnum.Fogadoora)) { /*TanevRendjeEsemeny || UresOra*/
return;
}
AjaxHelper.DoPost(clickURL, e, popUpDetailWindow);
};
informaciokOrarend.detailOraInfoCancel = function () {
KretaWindowHelper.destroyWindow("detailOraAdatokWindow");
};
function CreateCalendar() {
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendar = "Calendar";
pram.minTime = '@Model.CalendarMinTime';
pram.maxTime = '@Model.CalendarMaxTime';
pram.kellCsengetesiRendMegjelenites = false;
pram.calendarStartDate = "@DateTime.Now.ToString("yyyy-MM-dd")";
pram.serviceURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetTanuloOrarend" })';
pram.clickEvent = InformaciokOrarend.CalendarClickEvent;
pram.hetirendek = '@Model.HetirendJson';
pram.naptariHetekHetirend = '@Model.NaptariHetekHetirendJson';
pram.naptariHetekUrl = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetTanevHetek" })';
pram.kellOraTemaTooltip = '@Model.IsOraTemaTooltip';
calendar.initialize(pram);
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(2675))"; /*Tanulói óra adatai*/
config.content = data;
var modal = KretaWindowHelper.createWindow("detailOraAdatokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function SetHetesDiv() {
if (hetesekJSON !== 'undefined' && hetesekJSON !== "") {
if ($("#hetesnevListId") !== 'undefined') {
$("#hetesnevListId").empty();
}
var hetSorszam = $("#Calendar_tanevHetek").data("kendoComboBox").selectedIndex;
if (hetSorszam == -1) {
hetSorszam = '@Model.AktualisHetSorszam';
hetSorszam -= 1;
}
$.each(hetesekJSON, function (hetSorszama, hetesSzoveg) {
if (hetSorszama == hetSorszam + 1) {
$("#hetesnevListId").append(hetesSzoveg);
}
});
}
}
$(document).ready(function () {
CreateCalendar();
$("#Calendar > .fc-toolbar").append("<div><p style='color:red; font-weight: bold; text-align:left;' id='hetesnevListId'></p> </div>");
SetHetesDiv();
$("#Calendar_tanevHetek").change(function () {
SetHetesDiv();
});
});
return informaciokOrarend;
})();
</script>
}
@if (ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.CsokkentettGondviselo.ClaimValue))
{
<div class="container-fluid details">
<div class="col-xs-12 settings fa-border" style="background-color: whitesmoke">
<h3>@OrarendResource.CsokkentettJogosultsag</h3>
<div class="col-xs-12">
<h5>@OrarendResource.FigyelemCsokkentettMod</h5>
</div>
</div>
</div>
}
<div id="Calendar">
</div>

View file

@ -0,0 +1,60 @@
@using Kreta.Web.Areas.Orarend.Models;
@model InformaciokOraAdatai
@{
Layout = null;
}
<div class="container-fluid">
<div class="row">
@Html.KretaLabelFor(m => m.Datum, 3, 3)
@Html.KretaLabelFor(m => m.OraTartam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.Targy, 3, 3)
@Html.KretaLabelFor(m => m.Oraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.Tanar, 3, 3)
@if (Model.IsHelyettesitoTanarLathato)
{
@Html.KretaLabelFor(m => m.HelyettesitoTanar, 3, 3)
}
</div>
<div class="row">
@if (Model.TanoraTemaEllenorzobenLathato)
{
@Html.KretaLabelFor(x => x.Tema, 3, 3)
}
@Html.KretaLabelFor(m => m.Terem, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.SzamonkeresMod, 3, 3)
@Html.KretaLabelFor(m => m.SzamonkeresMegnevezes, 3, 3)
</div>
@if (Model.IsTanora)
{
<div class="row">
@Html.KretaLabelFor(m => m.MulasztasText, 3, 3)
</div>
@*<div class="row toolbarHide">
@Html.Label(OrarendResource.HaziFeladat)
@Html.KretaHtmlEditorFor(m => m.HaziFeladat)
</div>*@
}
@if (Model.OpenBoardFiles.Length > 0)
{
<div class="row">
@Html.Raw(Model.OpenBoardFiles)
</div>
}
</div>
@*<script type="text/javascript">
$(document).ready(function () {
var editor = $("#HaziFeladat").data("kendoEditor");
if(typeof editor !== "undefined") {
$(editor.body).attr('contenteditable', false);
}
});
</script>*@

View file

@ -0,0 +1,8 @@
@using Kreta.Web.Areas.Orarend.Models;
@model InformaciokOra
@{
Layout = null;
}
@Html.KretaTabStripAjax("OraAdatokDetailTabStrip", Model.TabList)

View file

@ -0,0 +1,96 @@
@using Kreta.Web.Helpers.Modal;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Areas.Tanar.Models;
@model TanuloHaziFeladatTabModel
@{
Layout = null;
const string HaziFeladatCsatolmanyokApi = Kreta.Web.Constants.ApiControllers.InformaciokOrarendApi;
const string gridName = "HFCsatolmanyGrid";
var MegoldottHFList = new List<SelectListItem>() {
new SelectListItem() { Value = "T", Text = CommonResource.Igen },
new SelectListItem() { Value = "F", Text = CommonResource.Nem }
};
var gvHazifeladatMsg = "";
gvHazifeladatMsg = Model.TanuloAltalMegoldva == "T" ? CommonResource.Igen : CommonResource.Nem;
}
@Html.ValidationSummary()
<div class="container-fluid">
@Html.HiddenFor(m => m.TanarHaziFeladat.Id)
<div>
<div class="panel panel-primary">
<div class="panel-heading" style="padding-top:0px">
<div style="display:inline-block; padding-top:9px;">@(Model.TanarHaziFeladat.FeladasDatuma.ToShortDateString() + " " + Model.TanarHaziFeladat.TanarNev)</div>
<div class="BejegyzesHozzaadas" style="float:right">
@foreach (var item in Model.TanarHaziFeladat.Csatolmanyok)
{
@Html.Raw("&nbsp");
@Html.KretaButton(new ModalButtonModel() { Name = "csatolmany" + item.Key, Text = item.Value, Enabled = true, EventName = "function(){ TanuloHaziFeladatHelper.DownloadCsatolmany(" + item.Key + "); }" })
}
</div>
</div>
<div class="panel-body">
@Html.RawRichText(Model.TanarHaziFeladat.FeladatSzovege) @Html.Raw(Model.TanarHaziFeladat.HaziFeladathozHozzaadottKepek) @*ide kell*@
</div>
@if (Model.TanarHaziFeladat.Hatarido != null && Model.TanarHaziFeladat.Hatarido != default(DateTime))
{
<div class="panel-footer" style="margin-left:1px;">@(OrarendResource.Hatarido + ": " + Model.TanarHaziFeladat.Hatarido.ToShortDateString())</div>
}
</div>
</div>
@if (Model.TanarHaziFeladat.Id.HasValue)
{
<div class="row" id="haziFeladatCsatolmanyokGridDiv">
<div class="col-sm-12">
@(
Html.KretaGrid<HFCsatolmanyGridModel>
(
gridName,
new GridApiUrl(HaziFeladatCsatolmanyokApi, "GetHFCsatolmanyokGridForHazi",
new Dictionary<string, string>
{
{ "haziFeladatId", Model.TanarHaziFeladat.Id.ToString() }
}),
allowScrolling: true,
showSorszam: false,
sort: sort => sort.Add(s => s.FeltoltesDatum).Ascending()
)
.Columns(columns =>
{
columns.Bound(c => c.FajlNev).Width("30%");
columns.Bound(c => c.FajlMeretMB).Format("{0:n}").Width("30%");
columns.Bound(c => c.FeltoltesDatum).Width("30%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
</div>
}
</div>
<script type="text/javascript">
var TanuloHaziFeladatHelper = (function () {
var tanuloHaziFeladatHelper = function () { };
var tanarHaziFeladatId = parseInt("@Model.TanarHaziFeladat.Id");
if (isNaN(tanarHaziFeladatId)) { tanarHaziFeladatId = null; }
var downloadCsatolmanyUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Constants.ApiControllers.HaziFeladatCsatolmanyokApi, action = "DownloadCsatolmanyFile" })";
tanuloHaziFeladatHelper.DownloadCsatolmany = function (id) {
CommonUtils.formFileDownload(downloadCsatolmanyUrl, id);
};
return tanuloHaziFeladatHelper;
})();
</script>

View file

@ -0,0 +1,79 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums;
@using Kreta.Resources;
@model InformaciokSearchModel
@section AddCss {
@Styles.Render(Constants.General.KretaEditorCSS)
}
<div>
@(
Html.KretaGrid<InformaciokTanitasiOraGridModel>
(
name: "TanitasiOraGrid",
getUrl: new GridApiUrl("InformaciokTanorakApi", "GetTanitasiOraGrid"),
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.Datum).Descending();
sort.Add(m => m.OraSorsz).Descending();
})
.Columns(columns =>
{
columns.Bound(m => m.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(m => m.OraSorsz).Width("10%");
columns.Bound(m => m.HetNapja_DNAME).Sortable(false).Width("10%");
columns.Bound(m => m.TargyNev);
columns.Bound(m => m.Tema).Visible(Model.TanoraTemaEllenorzobenLathato).SetDisplayPropertyWithToolip("Tema");
columns.Bound(m => m.Evfolyam_DNAME);
columns.Bound(m => m.TanarNevElotagNelkul).SetDisplayProperty("TanarNev");
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Adatok, ClientAction= "InformaciokTanitasiOraHelper.openTanoraInfoWindow", IconEnum = GridRowFunctionIconEnum.Adatok }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
var InformaciokTanitasiOraHelper = (function () {
var informaciokTanitasiOraHelper = function () { };
var gridName = "TanitasiOraGrid";
var url = {
OpenTanitasiOraInfoPopUp: "@Url.Action("OpenTanitasiOraInfoPopUp", "InformaciokTanorak", new { area = "Orarend" })",
}
informaciokTanitasiOraHelper.openTanoraInfoWindow = function (rowData) {
var postData = { TanitasiOraId: rowData.ID, Datum: rowData.Datum };
AjaxHelper.DoPost(url.OpenTanitasiOraInfoPopUp, postData, popUpInfoWindow);
}
informaciokTanitasiOraHelper.tanitasiOraInfoCancel = function () {
KretaWindowHelper.destroyWindow("tanitasiOraInfoWindow");
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.TanoraAdatai)";
config.maxWidth = "960px";
config.height = "600px";
config.content = data;
var modal = KretaWindowHelper.createWindow("tanitasiOraInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
return informaciokTanitasiOraHelper;
})();
</script>

View file

@ -0,0 +1,59 @@
@using Kreta.Web.Areas.Orarend.Models
@model TanitasiOraInfoModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.Datum, 3, 3)
@Html.KretaLabelFor(x => x.Oraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HetNapja, 3, 3)
@Html.KretaLabelFor(x => x.Hetirend, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Foglalkozas, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OsztalyCsoport, 3, 3)
@Html.KretaLabelFor(x => x.Tantargy, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Tanar, 3, 3)
@Html.KretaLabelFor(x => x.Terem, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Megtartott, 3, 3)
@Html.KretaLabelFor(x => x.Sorszamozando, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OraKezdete, 3, 3)
@Html.KretaLabelFor(x => x.OraVege, 3, 3)
</div>
@if (Model.TanoraTemaEllenorzobenLathato)
{
<div class="row">
@Html.KretaLabelFor(x => x.Tema, 3, 9)
</div>
}
<div class="row">
@Html.KretaLabelFor(x => x.Megjegyzes, 3, 3)
</div>
<div class="row" style="padding-left: 20px; padding-right:10px;">
@Html.Label(OrarendResource.HaziFeladat)
<div class="toolbarHide" style="padding-top:10px;">
@Html.KretaHtmlEditorFor(m => m.HaziFeladat)
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
var editor = $("#HaziFeladat").data("kendoEditor");
if (typeof editor !== "undefined") {
$(editor.body).attr('contenteditable', false);
}
});
</script>

View file

@ -0,0 +1,250 @@
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security
@model KepekListajaSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "KepekListajaGrid"))
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.DatumTol, model => model.DatumIg)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).RenderSearchPanelSideBar()
if (ClaimManager.HasPackage("Adminisztrator"))
{
@Html.KretaComboBoxFor(x => x.FoglalkozasId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFoglalkozasList" }), "Text", "Value").RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" }), "Text", "Value").RenderSearchPanelSideBar()
if (ClaimManager.HasPackage("Adminisztrator"))
{
@Html.KretaComboBoxFor(x => x.TanarHelyettesitoId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanar" }), "Text", "Value").RenderSearchPanelSideBar()
}
@Html.KretaTextBoxFor(model => model.KepNeve).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.IsOnlineOra, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
}
}
@{
List<RowFunction> rowFunctionList = new List<RowFunction>();
rowFunctionList.Add(new RowFunction { Name = CommonResource.Adatok, ClientAction = "KepekListajaHelper.openKepInfoWindow", IconEnum = GridRowFunctionIconEnum.Adatok });
if (ClaimManager.HasPackage("Naplo"))
{
rowFunctionList.Add(new RowFunction { Name = CommonResource.Modositas, ClientAction = "KepekListajaHelper.openModifyKepWindow", IconEnum = GridRowFunctionIconEnum.Modositas });
}
rowFunctionList.Add(new RowFunction { Name = OrarendResource.KepTorles, ClientAction = "KepekListajaHelper.deleteKepConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles });
}
<div>
@(
Html.KretaGrid<KepekListajaGridModel>
(
name: "KepekListajaGrid",
getUrl: new GridApiUrl("KepekListajaApi", "GetKepekListajaGrid"),
dataParameterFunction: "searchForm",
allowScrolling: true,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.SelectBoxColumn(Html, 0)
.Columns(columns =>
{
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.TanarHelyettesito);
columns.Bound(c => c.OsztalyCsoport);
columns.Bound(c => c.Tantargy);
})
.LinkButtonColumn("", c => c.KepNeve, "KepekListajaHelper.openKepInfoWindow", GridButtonsEnum.Reszletek)
.Columns(columns =>
{
columns.Bound(c => c.Megjelenitett_BNAME);
columns.Bound(c => c.Megjegyzes);
})
.RowFunction(Html, rowFunctionList)
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { Name = OrarendResource.KijeloltekLetoltese, ClientAction = "KepekListajaHelper.downloadSelectedKep" },
new FunctionCommand { Name = OrarendResource.KijeloltekTorlese, ClientAction = "KepekListajaHelper.deleteSelectedKepConfWindow", Classes = "kendo-gridFunctionKommandRed" }
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn)
)
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if ($("#menucaption").text().trim() === "") {
$("#menucaption").text("@Html.Raw(OrarendResource.KepekListaja)");
}
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var KepekListajaHelper = (function () {
var kepekListajaHelper = function () { };
var formName = "KepekListajaForm";
var searchFormName = "searchForm";
var gridName = "KepekListajaGrid";
var url = {
OpenKepInfoPopUp: "@Url.Action("OpenKepInfoPopUp", ClaimManager.HasPackage("Adminisztrator") ? "AdminKepekListaja" : "KepekListaja", new { area = "Orarend" })",
OpenModifyKepPopUp: "@Url.Action("OpenModifyKepPopUp", ClaimManager.HasPackage("Adminisztrator") ? "AdminKepekListaja" : "KepekListaja", new { area = "Orarend" })",
SaveKepData: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "KepekListajaApi", action = "SaveKepData" })",
DownloadSelectedKep: "@Url.Action("DownloadSelectedKep", ClaimManager.HasPackage("Adminisztrator") ? "AdminKepekListaja" : "KepekListaja", new { area = "Orarend" })",
DeleteKep: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "KepekListajaApi", action = "DeleteKep" })",
DeleteSelectedKep: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "KepekListajaApi", action = "DeleteSelectedKep"})"
}
kepekListajaHelper.openKepInfoWindow = function (rowData) {
var postData = { oraFileId: rowData.ID };
AjaxHelper.DoPost(url.OpenKepInfoPopUp, postData, popUpInfoWindow);
}
kepekListajaHelper.openModifyKepWindow = function (rowData) {
var postData = { oraFileId: rowData.ID };
AjaxHelper.DoPost(url.OpenModifyKepPopUp, postData, popUpModifyWindow);
}
kepekListajaHelper.openKepInfoCancel = function () {
KretaWindowHelper.destroyWindow("kepInfoWindow");
}
kepekListajaHelper.modifyKepCancel = function () {
KretaWindowHelper.destroyWindow("modifyKepWindow");
}
kepekListajaHelper.modifyKepSave = function () {
var form = $('#' + formName);
if (form.valid()) {
var data = form.toObject();
AjaxHelper.DoValidationPost(url.SaveKepData, formName, data, modifiedSaveFeedBackOk);
}
}
kepekListajaHelper.downloadSelectedKep = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push(value.ID);
});
AjaxHelper.DoPost(url.DownloadSelectedKep, parameters, function (data) { window.location = data });
}
else {
KretaWindowHelper.feedbackWindow("@(CommonResource.Figyelmeztetes)", "@(CommonResource.AKijeloltElemekLetoltesehezValasszonKiLegalabbEgyElemet)", true, KretaWindowHelper.destroyAllWindow);
}
}
kepekListajaHelper.deleteKepConfirmWindow = function (rowData) {
if (rowData.Megjelenitett_BNAME == "Igen") {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.MegjelenitettKepTorlesKerdes)", deleteKep, rowData.ID);
}
else {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteKep, rowData.ID);
}
}
kepekListajaHelper.deleteKepPopUpConfirmWindow = function () {
var form = $('#' + formName);
var data = form.toObject();
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteKep, data.OraFileId);
}
kepekListajaHelper.deleteSelectedKepConfWindow = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var vanMegjelitettKep = false;
$.each(selectedRows, function (index, value) {
if (value.Megjelenitett_BNAME == "Igen") {
return vanMegjelitettKep = true;
}
});
if (vanMegjelitettKep) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.ValszottMegjelenitettKepTorlesKerdes)", deleteSelectedKep);
} else {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorolniSzeretneAKijeloltElemeket)", deleteSelectedKep);
}
}
else {
KretaWindowHelper.feedbackWindow("@(CommonResource.Figyelmeztetes)", "@(CommonResource.KijeloltElemekTorlese)", true, KretaWindowHelper.destroyAllWindow);
}
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.Kep)";
config.width = "80%";
config.content = data;
var modal = KretaWindowHelper.createWindow("kepInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.Kep)";
config.width = "250px";
config.height = "200px";
config.content = data;
var modal = KretaWindowHelper.createWindow("modifyKepWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteKep(data) {
AjaxHelper.DoPost(url.DeleteKep, data, deleteKepResponseOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteKepResponseOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteSelectedKep() {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push(value.ID);
});
AjaxHelper.DoPost(url.DeleteSelectedKep, parameters, deleteSelectedKepResponseOk, deleteSelectedKepResponseError);
}
}
function deleteSelectedKepResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteSelectedKepResponseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function modifiedSaveFeedBackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
return kepekListajaHelper;
})();
</script>

View file

@ -0,0 +1,11 @@
@using Kreta.Web.Areas.Orarend.Models
@model KepekListajaGridModel
@using (Html.KretaForm("KepekListajaForm"))
{
@Html.HiddenFor(x => x.OraFileId)
<div class="k-content" align="center" style="vertical-align: middle;">
<img src="@Model.Base64EncodedFajlTartalom" alt=@Model.KepNeve width="65%" style="vertical-align: middle;" />
</div>
}

View file

@ -0,0 +1,18 @@
@using Kreta.Web.Areas.Orarend.Models
@model KepekListajaGridModel
<div class="container-fluid details">
@using (Html.KretaForm("KepekListajaForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.OraFileId)
<div class="row">
@Html.KretaTextBoxFor(x => x.KepNeve).RenderWithName(2, 10)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Megjegyzes).RenderWithName(2, 10)
</div>
}
</div>

View file

@ -0,0 +1,241 @@
@using Kreta.Web.Areas.Orarend.Models
@model CsoportOrarendTorleseModel
<style>
#csoport-select {
width: 100%;
}
#CsoportOrarendTorlesVisszaBtn {
margin-left: 80px;
}
#CsoportOrarendTorlesTorlesBtn {
margin-right: 80px;
}
.selected-torles-btn > button {
padding: 3px;
}
</style>
@using (Html.KretaForm("CsoportOrarendTorlesForm"))
{
@Html.KretaValidationSummary()
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(6)">
@Html.KretaComboBox("FeladatellatasiHelyCmb", Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatellatasiHelyWithMukodesiHelyList" }), onChangeFunction: "CsoportOrarendTorleseHelper.cmbOnChange()", placeholder: CommonResource.PleaseChoose)
<select id="csoport-select" class="form-control" multiple="multiple" style="height: 400px;"></select>
</div>
<div class="@BootsrapHelper.GetSizeClasses(6)">
<div class="@BootsrapHelper.GetSizeClasses(12)">
@Html.Partial("KozosParameterekView")
</div>
<div class="@BootsrapHelper.GetSizeClasses(12)" style="margin-top: 40px;">
<span class="col-sm-4">@OrarendekTorleseResource.KivalasztottCsoportok</span>
<div id="selected-csoport-container" class="col-sm-12"></div>
</div>
</div>
</div>
<div class="row" style="margin-top: 40px;">
<div class="@BootsrapHelper.GetSizeClasses(6)">
@Html.KretaButton("CsoportOrarendTorlesVisszaBtn", CommonResource.Vissza, clickEventName: "OrarendekTorleseHelper.vissza")
</div>
<div class="@BootsrapHelper.GetSizeClasses(6) BtnDelete">
@Html.KretaButton("CsoportOrarendTorlesTorlesBtn", CommonResource.Torles, clickEventName: "function () { OrarendekTorleseHelper.torles(CsoportOrarendTorleseHelper.torles); }")
</div>
</div>
<div hidden>
@Html.KretaTextBoxFor(x => x.SelectedCsoportok)
</div>
}
<script type="text/javascript">
var CsoportOrarendTorleseHelper = (function () {
var csoportOrarendTorleseHelper = function () { };
var csoportSelectId = "#csoport-select";
var selectedCsoportContainerId = "#selected-csoport-container";
var formName = "CsoportOrarendTorlesForm";
var formId = "#" + formName;
var selectedCsoportokId = "#SelectedCsoportok";
var feladatellatasiHelyCmbName = "FeladatellatasiHelyCmb";
var csoportList = @Html.Raw(Json.Encode(Model.CsoportList));
var url = {
CsoportOrarendekTorlese: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.OrarendekTorleseApi, action = "CsoportOrarendekTorlese" })"
}
csoportOrarendTorleseHelper.cmbOnChange = function () {
setUpCsoportSelectRows();
}
function setUpCsoportSelectRows() {
var feladatellatasiHelyId = KretaComboBoxHelper.getKendoValue(feladatellatasiHelyCmbName);
$(csoportSelectId).empty();
var csoportokByFeladatellatasiHely = csoportList.filter(function (cs) {
return cs.FeladatellatasiHelyId == feladatellatasiHelyId;
});
csoportokByFeladatellatasiHely.forEach(function (item) {
createOptionRow(item);
});
}
function createOptionRow(csoport) {
var option = $("<option></option>")
.attr("value", csoport.Id)
.append(csoport.Nev);
if (csoport.IsSelected) {
option.attr("selected", true);
}
$(csoportSelectId).append(option);
}
csoportOrarendTorleseHelper.selectOption = function (o) {
var csoportId = $(o).attr("value");
if (!CommonUtils.isNullOrUndefined(csoportId)) {
var csoport = csoportList.filter(function (cs) {
return cs.Id == csoportId;
})[0];
csoport.IsSelected = !csoport.IsSelected;
if (csoport.IsSelected) {
createSelection(csoport);
addSelectedCsoportToInputString(csoport.Id);
}
else {
csoportOrarendTorleseHelper.deleteSelection(csoportId);
}
}
}
function createSelection(csoport) {
var nev = $("<div></div>")
.addClass("col-sm-6")
.append(csoport.Nev);
var torlesBtnName = "SelectedTorlesBtn" + csoport.Id;
var torlesBtn = $("<button></button>")
.addClass("k-button")
.attr("id", torlesBtnName)
.attr("onclick", "CsoportOrarendTorleseHelper.deleteSelection(" + csoport.Id + ");")
.append("@CommonResource.Eltavolitas");
var torles = $("<div></div>")
.addClass("col-sm-6 BtnDelete selected-torles-btn")
.append(torlesBtn);
var row = $("<div></div>")
.addClass("row")
.attr("data-csoport-id", csoport.Id)
.append(nev)
.append(torles);
$(selectedCsoportContainerId).append(row);
}
csoportOrarendTorleseHelper.deleteSelection = function (csoportId) {
var csoport = csoportList.filter(function (cs) {
return cs.Id == csoportId;
})[0];
csoport.IsSelected = false;
setUpCsoportSelectRows();
$(selectedCsoportContainerId + " > div.row[data-csoport-id='" + csoportId + "']").remove();
removeSelectedCsoportFromInputString(csoportId);
}
csoportOrarendTorleseHelper.torles = function () {
var form = $(formId);
if (form.valid()) {
var formData = form.toObject();
if (formData.hasOwnProperty(feladatellatasiHelyCmbName + "_input")) {
delete formData.FeladatellatasiHelyCmb_input;
}
if (formData.hasOwnProperty(feladatellatasiHelyCmbName)) {
delete formData.FeladatellatasiHelyCmb;
}
AjaxHelper.DoValidationPost(url.CsoportOrarendekTorlese, formName, formData, OrarendekTorleseHelper.torlesSuccessCallBack);
}
}
function addSelectedCsoportToInputString(csoportId) {
var json = parseSelectedCsoportokJson();
json.push({
Id: csoportId
});
stringifySelectedCsoportokJson(json);
$(selectedCsoportokId).valid();
}
function removeSelectedCsoportFromInputString(csoportId) {
var json = parseSelectedCsoportokJson();
json = json.filter(function (obj) {
return obj.Id != csoportId;
});
stringifySelectedCsoportokJson(json);
$(selectedCsoportokId).valid();
}
function parseSelectedCsoportokJson() {
var jsonString = $(selectedCsoportokId).val();
var jsonObj = null;
if (jsonString.length > 0) {
jsonObj = CommonUtils.JSONparse(jsonString);
}
else {
jsonObj = [];
}
return jsonObj;
}
function stringifySelectedCsoportokJson(json) {
if (json.length == 0) {
$(selectedCsoportokId).val("");
}
else {
$(selectedCsoportokId).val(JSON.stringify(json));
}
}
return csoportOrarendTorleseHelper;
})();
</script>
<script type="text/javascript">
$(document).ready(function () {
// https://stackoverflow.com/questions/24543862/selecting-multiple-from-an-html-select-element-without-using-ctrl-key
$("select").mousedown(function (e) {
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
CsoportOrarendTorleseHelper.selectOption(e.target);
setTimeout(function () { select.scrollTop = scroll; }, 0);
$(select).focus();
}).mousemove(function (e) { e.preventDefault() });
})
</script>

View file

@ -0,0 +1,95 @@
@using Kreta.Web.Areas.Orarend.Models
@model FelhelyOrarendTorleseModel
@{
var formName = "felhelyOrarendTorleseForm";
}
<style type="text/css">
.k-checkbox-label::before {
top: 3px;
}
.k-checkbox-label {
line-height: 1.5em;
}
#FelhelyOrarendTorlesVisszaBtn {
margin-left: 80px;
}
#felhelyOrarendTorlesTorles {
margin-right: 80px;
}
</style>
<div style="padding: 40px;">@Html.Raw(OrarendekTorleseResource.FelhelyInformaciosSzoveg)</div>
@using (Html.KretaForm("FelhelyOrarendekTorlese", Constants.Controllers.OrarendekTorlese, FormMethod.Post, formName))
{
@Html.KretaValidationSummary()
<div style="display: none;">
@Html.KretaTextBoxFor(x => x.KivalasztottFelhelyekIds)
</div>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(12)">
<div class="@BootsrapHelper.GetSizeClasses(6)">
<div class="hiba">Feladatellátási helyek:</div>
@Html.KretaCheckBoxList("FeladatEllatasiHelyIds", Model.FelhelyList, isPostAsArray: false)
</div>
<div class="@BootsrapHelper.GetSizeClasses(6)">
@Html.Partial("KozosParameterekView")
</div>
</div>
</div>
<div class="row" style="margin-top: 40px;">
<div class="@BootsrapHelper.GetSizeClasses(6)">
@Html.KretaButton("FelhelyOrarendTorlesVisszaBtn", CommonResource.Vissza, clickEventName: "OrarendekTorleseHelper.vissza")
</div>
<div class="@BootsrapHelper.GetSizeClasses(6) BtnDelete">
@Html.KretaButton("felhelyOrarendTorlesTorles", CommonResource.Torles, clickEventName: "function () { OrarendekTorleseHelper.torles(FelhelyOrarendTorleseHelper.submitForm); }")
</div>
</div>
}
<script type="text/javascript">
var FelhelyOrarendTorleseHelper = (function () {
var felhelyOrarendTorleseHelper = function () { };
var urls = {
FelhelyOrarendTorlesUrl: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.OrarendekTorleseApi, action = "FelhelyOrarendekTorlese" })"
}
felhelyOrarendTorleseHelper.submitForm = function () {
if ($('#@formName').valid()) {
var data = $('#@formName').toObject();
AjaxHelper.DoValidationPost(urls.FelhelyOrarendTorlesUrl, "@formName", data, OrarendekTorleseHelper.torlesSuccessCallBack, felhelyOrarendTorleseHelper.error);
}
}
felhelyOrarendTorleseHelper.error = function (data) {
if (data.responseJSON.ModelState === undefined) {
KretaWindowHelper.warningWindow("@Html.Raw(ErrorResource.Hiba)", data.responseJSON.Message);
}
}
return felhelyOrarendTorleseHelper;
})();
$(document).ready(function () {
$('[name^="FeladatEllatasiHelyIds"]').unbind("change");
$('[name^="FeladatEllatasiHelyIds"]').bind("change", felhelychanged);
});
function felhelychanged(e) {
var yourArray = [];
$("input:checkbox:checked").each(function () {
yourArray.push($(this).val());
});
var a = yourArray.join();
var container = $("#KivalasztottFelhelyekIds")
container.val(a);
container.trigger('keyup');
}
</script>

View file

@ -0,0 +1,92 @@
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
<div id="orarendek-torlese-container" class="view-container" style="padding: 40px 0px;"></div>
<script type="text/javascript">
var OrarendekTorleseHelper = (function () {
var orarendekTorleseHelper = function () { };
var popupName = "SelectorPopup";
var viewContainerClassName = ".view-container";
var oraTipusRdoListContainerId = "#ora-tipus-rdo-list-container";
var url = {
OpenPopup: "@Url.Action("OpenSelectorPopup", Constants.Controllers.OrarendekTorlese, new { area = Constants.Areas.Orarend })",
LoadFeladatellatasiHelyView: "@Url.Action("LoadFeladatellatasiHelyView", Constants.Controllers.OrarendekTorlese, new { area = Constants.Areas.Orarend })",
LoadOsztalyView: "@Url.Action("LoadOsztalyView", Constants.Controllers.OrarendekTorlese, new { area = Constants.Areas.Orarend })",
LoadCsoportView: "@Url.Action("LoadCsoportView", Constants.Controllers.OrarendekTorlese, new { area = Constants.Areas.Orarend })",
}
orarendekTorleseHelper.openSelector = function () {
$(viewContainerClassName).empty();
var postData = { url: "@Request.Headers["Referer"]" };
AjaxHelper.DoPost(url.OpenPopup, postData, selectorPopup);
}
function selectorPopup(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@OrarendekTorleseResource.OrarendekTorlese";
config.content = data;
config.width = 500;
config.height = 292;
var modal = KretaWindowHelper.createWindow(popupName, config);
KretaWindowHelper.openWindow(modal, true);
}
orarendekTorleseHelper.vissza = function () {
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@OrarendekTorleseResource.VisszaConfirmText", orarendekTorleseHelper.openSelector);
}
orarendekTorleseHelper.loadFeladatellatasiHelyView = function () {
AjaxHelper.DoPost(url.LoadFeladatellatasiHelyView, null, loadView);
$('.view-buttons').removeClass('hidden');
}
orarendekTorleseHelper.loadOsztalyView = function () {
AjaxHelper.DoPost(url.LoadOsztalyView, null, loadView);
}
orarendekTorleseHelper.loadCsoportView = function () {
AjaxHelper.DoPost(url.LoadCsoportView, null, loadView);
}
orarendekTorleseHelper.visszaUrl = function (url) {
window.location = url;
}
function loadView(data) {
$(viewContainerClassName).append(data);
KretaWindowHelper.destroyWindow(popupName);
}
orarendekTorleseHelper.torles = function (torlesFunction) {
KretaWindowHelper.confirmWindow("@CommonResource.Torles", "@OrarendekTorleseResource.TorlesConfirmText", torlesFunction);
}
orarendekTorleseHelper.rdoListOnChange = function () {
$(oraTipusRdoListContainerId).find("label.labelError").removeClass("labelError");
}
orarendekTorleseHelper.torlesSuccessCallBack = function (result) {
KretaWindowHelper.notification("@OrarendekTorleseResource.TorlesSikeresText", "success");
if (!CommonUtils.isNullOrEmpty(result) && result.isBase64()) {
var dataUri = "data:text/plain;base64," + result;
kendo.saveAs({
dataURI: dataUri,
fileName: "@OrarendekTorleseResource.ExportZipFileName"
});
}
}
return orarendekTorleseHelper;
})();
</script>
<script type="text/javascript">
$(document).ready(function () {
OrarendekTorleseHelper.openSelector();
});
</script>

View file

@ -0,0 +1,76 @@
@using Kreta.Web.Areas.Orarend.Models
@model BaseOrarendTorleseModel
<div class="@BootsrapHelper.GetSizeClasses(6)" style="padding-top: 20px;">
@Html.Raw(OrarendekTorleseResource.OraTipusText)
</div>
<div id="ora-tipus-rdo-list-container" class="@BootsrapHelper.GetSizeClasses(6)">
@Html.KretaRadioButtonListFor(x => x.OraTipus, Model.OraTipusok, isNeedValidation: true, onChangeFunction: "OrarendekTorleseHelper.rdoListOnChange()")
</div>
<div class="@BootsrapHelper.GetSizeClasses(4)">
@Html.KretaDatePickerFor(x => x.KezdeteDatum).Min(Model.MinDatum).Max(Model.MaxDatum)
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)" style="height: 40px; line-height: 40px;">
<span>-tól</span>
</div>
<div class="@BootsrapHelper.GetSizeClasses(4)">
@Html.KretaDatePickerFor(x => x.VegeDatum).Min(Model.MinDatum).Max(Model.MaxDatum)
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)" style="height: 40px; line-height: 40px;">
<span>-ig</span>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('label[for^="OraTipus"]').css({ paddingLeft: "2em", lineHeight: "0.7em" });
var mask = "0000. 00. 00.";
var format = "yyyy. MM. dd.";
var culture = "en-US";
var kezdeteDatum = $("#KezdeteDatum");
kezdeteDatum.kendoMaskedTextBox({
mask: mask,
culture: culture
});
kezdeteDatum.kendoDatePicker({
format: format
});
kezdeteDatum.closest(".k-datepicker")
.add(kezdeteDatum)
.removeClass("k-textbox");
var vegeDatum = $("#VegeDatum");
vegeDatum.kendoMaskedTextBox({
mask: mask,
culture: culture
});
vegeDatum.kendoDatePicker({
format: format
});
vegeDatum.closest(".k-datepicker")
.add(vegeDatum)
.removeClass("k-textbox");
$("#orarendek-torlese-container > form").kendoValidator({
rules: {
dateValidation: function (input, params) {
if (input.is("[name$='Datum']") && input.val() != "") {
var date = kendo.parseDate(input.val(), format);
if (!date) {
input.val("");
}
}
return true;
}
}
});
});
</script>

View file

@ -0,0 +1,312 @@
@using Kreta.Web.Areas.Orarend.Models
@model OsztalyOrarendTorleseModel
<style>
#osztaly-select {
width: 100%;
}
#OsztalyOrarendTorlesVisszaBtn {
margin-left: 80px;
}
#OsztalyOrarendTorlesTorlesBtn {
margin-right: 80px;
}
.selected-torles-btn > button {
padding: 3px;
}
</style>
@using (Html.KretaForm("OsztalyOrarendTorlesForm"))
{
@Html.KretaValidationSummary()
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(6)">
@Html.KretaComboBox("FeladatellatasiHelyCmb", Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatellatasiHelyWithMukodesiHelyList" }), onChangeFunction: "OsztalyOrarendTorleseHelper.cmbOnChange()", placeholder: CommonResource.PleaseChoose)
<select id="osztaly-select" class="form-control" multiple="multiple" style="height: 400px;"></select>
</div>
<div class="@BootsrapHelper.GetSizeClasses(6)">
<div class="@BootsrapHelper.GetSizeClasses(12)">
@Html.Partial("KozosParameterekView")
</div>
<div class="@BootsrapHelper.GetSizeClasses(12)" style="margin-top: 40px;">
<span class="col-sm-3">@OrarendekTorleseResource.KivalasztottOsztalyok</span>
<span class="col-sm-3" style="text-align: center">@OrarendekTorleseResource.OsztalybontottCsoportok</span>
<span class="col-sm-3" style="text-align: center">@OrarendekTorleseResource.KapcsolodoCsoportok</span>
<div id="selected-osztaly-container" class="col-sm-12"></div>
</div>
</div>
</div>
<div class="row" style="margin-top: 40px;">
<div class="@BootsrapHelper.GetSizeClasses(6)">
@Html.KretaButton("OsztalyOrarendTorlesVisszaBtn", CommonResource.Vissza, clickEventName: "OrarendekTorleseHelper.vissza")
</div>
<div class="@BootsrapHelper.GetSizeClasses(6) BtnDelete">
@Html.KretaButton("OsztalyOrarendTorlesTorlesBtn", CommonResource.Torles, clickEventName: "function () { OrarendekTorleseHelper.torles(OsztalyOrarendTorleseHelper.torles); }")
</div>
</div>
<div hidden>
@Html.KretaTextBoxFor(x => x.SelectedOsztalyok)
</div>
}
<script type="text/javascript">
var OsztalyOrarendTorleseHelper = (function () {
var osztalyOrarendTorleseHelper = function () { };
var osztalySelectId = "#osztaly-select";
var selectedOsztalyContainerId = "#selected-osztaly-container";
var formName = "OsztalyOrarendTorlesForm";
var formId = "#" + formName;
var selectedOsztalyokId = "#SelectedOsztalyok";
var feladatellatasiHelyCmbName = "FeladatellatasiHelyCmb";
var osztalyList = @Html.Raw(Json.Encode(Model.OsztalyList));
var url = {
OsztalyOrarendekTorlese: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.OrarendekTorleseApi, action = "OsztalyOrarendekTorlese" })"
}
osztalyOrarendTorleseHelper.cmbOnChange = function () {
setUpOsztalySelectRows();
}
function setUpOsztalySelectRows() {
var feladatellatasiHelyId = KretaComboBoxHelper.getKendoValue(feladatellatasiHelyCmbName);
$(osztalySelectId).empty();
var osztalyokByFeladatellatasiHely = osztalyList.filter(function (o) {
return o.FeladatellatasiHelyId == feladatellatasiHelyId;
});
osztalyokByFeladatellatasiHely.forEach(function (item) {
createOptionRow(item);
});
}
function createOptionRow(osztaly) {
var option = $("<option></option>")
.attr("value", osztaly.Id)
.append(osztaly.Nev);
if (osztaly.IsSelected) {
option.attr("selected", true);
}
$(osztalySelectId).append(option);
}
osztalyOrarendTorleseHelper.selectOption = function (o) {
var osztalyId = $(o).attr("value");
if (!CommonUtils.isNullOrUndefined(osztalyId)) {
var osztaly = osztalyList.filter(function (osztaly) {
return osztaly.Id == osztalyId;
})[0];
osztaly.IsSelected = !osztaly.IsSelected;
if (osztaly.IsSelected) {
createSelection(osztaly);
addSelectedOsztalyToInputString(osztaly.Id);
}
else {
osztalyOrarendTorleseHelper.deleteSelection(osztalyId);
}
}
}
function createSelection(osztaly) {
var nev = $("<div></div>")
.addClass("col-sm-3")
.append(osztaly.Nev);
var osztalybontottCsoportokChkName = "OsztalybontottCsoportokChk" + osztaly.Id;
var osztalybontottCsoportokChk = $("<input/>")
.addClass("k-checkbox")
.attr("type", "checkbox")
.attr("id", osztalybontottCsoportokChkName)
.attr("name", osztalybontottCsoportokChkName)
.attr("onclick", "OsztalyOrarendTorleseHelper.osztalybontottOnClick(" + osztaly.Id + ");");
var osztalybontottCsoportokLbl = $("<label></label>")
.addClass("k-checkbox-label")
.attr("for", osztalybontottCsoportokChkName)
.css("display", "inline-block");
var osztalybontottCsoportok = $("<div></div>")
.addClass("col-sm-3")
.css("text-align", "center")
.append(osztalybontottCsoportokChk)
.append(osztalybontottCsoportokLbl);
var kapcsolodoCsoportokChkName = "KapcsolodCsoportokChk" + osztaly.Id;
var kapcsolodoCsoportokChk = $("<input/>")
.addClass("k-checkbox")
.attr("type", "checkbox")
.attr("id", kapcsolodoCsoportokChkName)
.attr("name", kapcsolodoCsoportokChkName)
.attr("onclick", "OsztalyOrarendTorleseHelper.kapcsolodOnClick(" + osztaly.Id + ");");
var kapcsolodoCsoportokLbl = $("<label></label>")
.addClass("k-checkbox-label")
.attr("for", kapcsolodoCsoportokChkName)
.css("display", "inline-block");
var kapcsolodoCsoportok = $("<div></div>")
.addClass("col-sm-3")
.css("text-align", "center")
.append(kapcsolodoCsoportokChk)
.append(kapcsolodoCsoportokLbl);
var torlesBtnName = "SelectedTorlesBtn" + osztaly.Id;
var torlesBtn = $("<button></button>")
.addClass("k-button")
.attr("id", torlesBtnName)
.attr("onclick", "OsztalyOrarendTorleseHelper.deleteSelection(" + osztaly.Id + ");")
.append("@CommonResource.Eltavolitas");
var torles = $("<div></div>")
.addClass("col-sm-3 BtnDelete selected-torles-btn")
.append(torlesBtn);
var row = $("<div></div>")
.addClass("row")
.attr("data-osztaly-id", osztaly.Id)
.append(nev)
.append(osztalybontottCsoportok)
.append(kapcsolodoCsoportok)
.append(torles);
$(selectedOsztalyContainerId).append(row);
}
osztalyOrarendTorleseHelper.deleteSelection = function (osztalyId) {
var osztaly = osztalyList.filter(function (o) {
return o.Id == osztalyId;
})[0];
osztaly.IsSelected = false;
setUpOsztalySelectRows();
$(selectedOsztalyContainerId + " > div.row[data-osztaly-id='" + osztalyId + "']").remove();
removeSelectedOsztalyIdFromInputString(osztalyId);
}
osztalyOrarendTorleseHelper.torles = function () {
var form = $(formId);
if (form.valid()) {
var formData = form.toObject();
if (formData.hasOwnProperty(feladatellatasiHelyCmbName + "_input")) {
delete formData.FeladatellatasiHelyCmb_input;
}
if (formData.hasOwnProperty(feladatellatasiHelyCmbName)) {
delete formData.FeladatellatasiHelyCmb;
}
AjaxHelper.DoValidationPost(url.OsztalyOrarendekTorlese, formName, formData, OrarendekTorleseHelper.torlesSuccessCallBack);
}
}
function addSelectedOsztalyToInputString(osztalyId) {
var json = parseSelectedOsztalyokJson();
json.push({
Id: osztalyId,
IsKellKapcsolodoCsoportok: false,
IsKellOsztalybontottCsoportok: false,
});
stringifySelectedOsztalyokJson(json);
$(selectedOsztalyokId).valid();
}
function removeSelectedOsztalyIdFromInputString(osztalyId) {
var json = parseSelectedOsztalyokJson();
json = json.filter(function (obj) {
return obj.Id != osztalyId;
});
stringifySelectedOsztalyokJson(json);
$(selectedOsztalyokId).valid();
}
function parseSelectedOsztalyokJson() {
var jsonString = $(selectedOsztalyokId).val();
var jsonObj = null;
if (jsonString.length > 0) {
jsonObj = CommonUtils.JSONparse(jsonString);
}
else {
jsonObj = [];
}
return jsonObj;
}
function stringifySelectedOsztalyokJson(json) {
if (json.length == 0) {
$(selectedOsztalyokId).val("");
}
else {
$(selectedOsztalyokId).val(JSON.stringify(json));
}
}
osztalyOrarendTorleseHelper.osztalybontottOnClick = function (osztalyId) {
var json = parseSelectedOsztalyokJson();
var osztaly = json.filter(function (obj) {
return obj.Id == osztalyId;
})[0];
osztaly.IsKellOsztalybontottCsoportok = !osztaly.IsKellOsztalybontottCsoportok;
stringifySelectedOsztalyokJson(json);
}
osztalyOrarendTorleseHelper.kapcsolodOnClick = function (osztalyId) {
var json = parseSelectedOsztalyokJson();
var osztaly = json.filter(function (obj) {
return obj.Id == osztalyId;
})[0];
osztaly.IsKellKapcsolodoCsoportok = !osztaly.IsKellKapcsolodoCsoportok;
if (osztaly.IsKellKapcsolodoCsoportok) {
osztaly.IsKellOsztalybontottCsoportok = true;
$('#OsztalybontottCsoportokChk' + osztaly.Id).prop("checked", true).attr("disabled", true);
}
else {
$('#OsztalybontottCsoportokChk' + osztaly.Id).removeAttr("disabled");
}
stringifySelectedOsztalyokJson(json);
}
return osztalyOrarendTorleseHelper;
})();
</script>
<script type="text/javascript">
$(document).ready(function () {
// https://stackoverflow.com/questions/24543862/selecting-multiple-from-an-html-select-element-without-using-ctrl-key
$("select").mousedown(function (e) {
e.preventDefault();
var select = this;
var scroll = select.scrollTop;
e.target.selected = !e.target.selected;
OsztalyOrarendTorleseHelper.selectOption(e.target);
setTimeout(function () { select.scrollTop = scroll; }, 0);
$(select).focus();
}).mousemove(function (e) { e.preventDefault() });
})
</script>

View file

@ -0,0 +1,36 @@
<style>
.grid-container {
display: grid;
grid-template-columns: 100%;
}
.grid-item {
text-align: center;
margin-top: 36px;
}
.container-fluid:before {
content: none;
}
</style>
<div class="grid-container">
<div class="grid-item">
@Html.KretaButton("FeladatelltasiHelyOrarendTorlesBtn", OrarendekTorleseResource.FeladatellatasiHelyekOrarendjenekTorlese, clickEventName: "OrarendekTorleseHelper.loadFeladatellatasiHelyView", htmlAttributes: new Dictionary<string, object> { { "style", "width: 350px;" } })
</div>
<div class="grid-item">
@Html.KretaButton("OsztalyOrarendTorlesBtn", OrarendekTorleseResource.OsztalyokOrarendjenekTorlese, clickEventName: "OrarendekTorleseHelper.loadOsztalyView", htmlAttributes: new Dictionary<string, object> { { "style", "width: 350px;" } })
</div>
<div class="grid-item">
@Html.KretaButton("CsoportOrarendTorlesBtn", OrarendekTorleseResource.CsoportokOrarendjenekTorlese, clickEventName: "OrarendekTorleseHelper.loadCsoportView", htmlAttributes: new Dictionary<string, object> { { "style", "width: 350px;" } })
</div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$(".k-window-actions").hide();
$(".modalOuter").css("height", "100%");
});
</script>

View file

@ -0,0 +1 @@
TODO!!!

View file

@ -0,0 +1,117 @@
@*OSZTÁLY*@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums;
@model OrarendKeresoModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "OrarendKereso.FormSearch"))
{
@Html.KretaComboBoxFor(x => x.Osztaly, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
}
}
@section AddJs {
@Scripts.Render("~/bundles/Calendar")
<script type="text/javascript">
var CalendarHelper = (function () {
var calendarHelper = function () { };
var calendarName = "FullCalendarOsztaly";
calendarHelper.RefreshCalendar = function () {
var currentCalendarView = $("#" + calendarName).fullCalendar('getView');
var startDate = currentCalendarView.intervalStart._d;
$("#" + calendarName).fullCalendar('destroy');
createCalendar(startDate);
};
function createCalendar(startDate) {
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendarStartDate = startDate;
pram.calendar = calendarName;
pram.minTime = '@Model.CalendarMinTime';
pram.maxTime = '@Model.CalendarMaxTime';
pram.hetirendek = '@Model.HetirendJson';
pram.naptariHetekHetirend = '@Model.NaptariHetekHetirendJson';
pram.naptariHetekUrl = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetTanevHetek" })';
pram.serviceURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetOrarendKereso", osztalyTanuloOrarendbenNemLatszik = true })';
pram.kellTanevRendje = true;
pram.minTime = '@ViewBag.napirendStart';
pram.maxTime = '@ViewBag.napirendEnd';
pram.mouseoverEvent = showTemaTooltip;
pram.mouseoutEvent = hideTemaTooltip;
var osztalyCsoportId = $("#Osztaly").data('kendoComboBox').value();
if (CommonUtils.isNullOrWhiteSpace(osztalyCsoportId)) {
osztalyCsoportId = -1;
}
pram.osztalyCsoportId = osztalyCsoportId;
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);
}
}
$(document).ready(function () {
createCalendar("@DateTime.Now.ToString("yyyy-MM-dd")");
});
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 );
}
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)){
var kendoTooltipElement = $(element).data('kendoTooltip');
if (!CommonUtils.isUndefined(kendoTooltipElement) && !CommonUtils.isNullOrEmpty(kendoTooltipElement) && CommonUtils.isFunction(kendoTooltipElement.hide)){
kendoTooltipElement.destroy();
}
}
}
return calendarHelper;
})();
</script>
<script type="text/javascript">
var OrarendKereso = (function () {
var orarendKereso = function () { };
orarendKereso.FormSearch = function (formId) {
CalendarHelper.RefreshCalendar();
}
return orarendKereso;
})();
</script>
}
<div id="FullCalendarOsztaly"></div>

View file

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

View file

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

View file

@ -0,0 +1,116 @@
@using Kreta.Enums.ManualEnums.SystemSettings
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
<div class="container-fluid details">
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.OsztalyCsoportId)
<h4 class="h4-zero-top-margin">@OrarendResource.ATanoraAdatai</h4>
<div class="row">
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanarCascadeByCsoport" }), "TTFModel_OsztalyID", onChangeFunction: "OrarendiOrak.tanarChanged()", useGroup: false, isSingleElementSet: false).AutoBind(true).RenderWithName(2,4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" }), onChangeFunction: "OrarendiOrak.tanarChanged()").AutoBind(true).RenderWithName(2, 4)
}
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade", isKapcsolodoCsoportok = true, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID,TTFModel_OsztalyID", useGroup: !Model.IsFromSzervezet, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithName(2, 4)
</div>
<div class="row @(Model.OrarendiElemekRogzitesenekElofeltetele != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF || Model.IsFromSzervezet ? "disabledItem": "")">
@if(Model.IsFromSzervezet)
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), useGroup: false, isSingleElementSet: true).AutoBind(true).RenderWithName(2,4)
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargyCascade", filterNincsBeloleOra = true, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithName(2, 4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithName(2, 4)
@Html.KretaComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" }), onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithName(2, 4)
}
</div>
<div class="row">
@Html.HiddenFor(x => x.HetirendID)
@if(Model.IsFromSzervezet)
{
@Html.KretaCheckBoxFor(x => x.IsEgybefuggoGyakorlat).RenderWithName(2, 4)
@Html.KretaCascadeComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremListCascade", isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", isSingleElementSet: true).AutoBind(true).RenderWithName(2,4)
@Html.HiddenFor(x => x.Sorszamozando)
}
else
{
@Html.KretaLabelFor(x => x.Hetirend, 2, 4)
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(2, 4)
}
</div>
<h4>@(OrarendResource.ATanoraOrarendiAdataiEsErvenyessege)</h4>
<div class="row">
@Html.KretaLabelFor(x => x.HetNapjaSzoveg, 3, 3)
</div>
<div class="row">
@Html.KretaDatePickerFor(x => x.OraErvenyessegKezdete).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.OraErvenyessegVege).RenderWithName(3, 3)
</div>
@if (!Model.IsTanoranKivuliFoglalkozas)
{
<script>
function oraszamOnChange() {
if (lastOraszamValue === $("#Oraszam").data("kendoNumericTextBox").value()) return;
getOra();
}
function oraszamOnSpin() {
getOra();
}
function getOra() {
const getCsengetesiRendOrakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminTanariOrarendApi", action = "GetCsengetesiRendEsOrak" })";
const aktualisCsengetesiRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
const aktualisOraszam = $("#Oraszam").data("kendoNumericTextBox").value();
AjaxHelper.DoPost(getCsengetesiRendOrakURL, { aktualisCsengetesiRendId, aktualisOraszam }, onSuccess);
}
function onSuccess(data) {
$("#OraKezdete").data("kendoMaskedTimePicker").value(data.Kezdete);
$("#OraVege").data("kendoMaskedTimePicker").value(data.Vege);
lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
}
</script>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Oraszam).Events(e => e.Change("oraszamOnChange").Spin("oraszamOnSpin")).RenderWithName(3, 3, tooltipResource: CsengetesiRendResource.OraszamModositjaAzIdopontokat)
</div>
<script>
var lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
</script>
}
@if(!Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaTimePickerFor(x => x.OraKezdete).Interval(15).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.OraVege).Interval(15).RenderWithName(3, 3)
</div>
}
else
{
@Html.HiddenFor(x => x.OraKezdete)
@Html.HiddenFor(x => x.OraVege)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#TTFModel_TanarID").removeAttr("disabled");
$("#OraErvenyessegKezdete").kendoMaskedDatePicker({ change: function () { OrarendiOrak.dtChanged(); Foglalkozasok.dtChanged(); } });
$("#OraErvenyessegVege").kendoMaskedDatePicker({ change: function () { OrarendiOrak.dtChanged(); Foglalkozasok.dtChanged(); } });
if (@(Model.OrarendiElemekRogzitesenekElofeltetele) != @((int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)) {
$("label[for='TTFModel_FoglalkozasID']").text($("label[for='TTFModel_FoglalkozasID']").text() + "*");
}
});
</script>

View file

@ -0,0 +1,120 @@
@using Kreta.Enums.ManualEnums.SystemSettings
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers
@model OrarendiOraModel
<div class="container-fluid details">
@Html.KretaValidationSummary()
<h4 class="h4-zero-top-margin">@OrarendResource.ATanoraAdatai</h4>
<div class="row">
@Html.KretaComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar", isFromSzervezet = Model.IsFromSzervezet }), onChangeFunction: "OrarendiOrak.tanarChanged()").Enable(false).AutoBind(true).RenderWithName(2, 4)
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade", datum = Model.ErvenyessegiIdo.Date.ToString(), filterNincsBeloleOra = true, isForOrarend = true, hanyadikOra = Model.Oraszam, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithName(2,4)
}
else
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithName(2, 4)
}
</div>
<div class="row @(Model.OrarendiElemekRogzitesenekElofeltetele != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF || Model.IsFromSzervezet ? "disabledItem": "")">
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyamCascade", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.Cascade("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithName(2,4)
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargyCascade", filterNincsBeloleOra = true, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithName(2, 4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithName(2, 4)
@Html.KretaComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" }), onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithName(2, 4)
}
</div>
<div class="row">
@Html.HiddenFor(x => x.HetirendID)
@if(Model.IsFromSzervezet)
{
@Html.KretaCheckBoxFor(x => x.IsEgybefuggoGyakorlat).RenderWithName(2, 4)
@Html.KretaCascadeComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremListCascade", isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", isSingleElementSet: true).Events(e => e.Cascade("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithName(2,4)
@Html.HiddenFor(x => x.Sorszamozando)
}
else
{
@Html.KretaLabelFor(x => x.Hetirend, 2, 4)
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(2, 4)
}
</div>
<h4>@(OrarendResource.ATanoraOrarendiAdataiEsErvenyessege)</h4>
<div class="row">
@Html.KretaLabelFor(x => x.HetNapjaSzoveg, 3, 3)
</div>
<div class="row">
@Html.KretaDatePickerFor(x => x.OraErvenyessegKezdete).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.OraErvenyessegVege).RenderWithName(3, 3)
</div>
@if (!Model.IsTanoranKivuliFoglalkozas && !Model.IsFromSzervezet)
{
<script>
function oraszamOnChange() {
if (lastOraszamValue === $("#Oraszam").data("kendoNumericTextBox").value()) return;
getOra();
}
function oraszamOnSpin() {
getOra();
}
function getOra() {
const getCsengetesiRendOrakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminTanariOrarendApi", action = "GetCsengetesiRendEsOrak" })";
const aktualisCsengetesiRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
const aktualisOraszam = $("#Oraszam").data("kendoNumericTextBox").value();
AjaxHelper.DoPost(getCsengetesiRendOrakURL, { aktualisCsengetesiRendId, aktualisOraszam }, onSuccess);
}
function onSuccess(data) {
$("#OraKezdete").data("kendoMaskedTimePicker").value(data.Kezdete);
$("#OraVege").data("kendoMaskedTimePicker").value(data.Vege);
lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
}
</script>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Oraszam).Events(e => e.Change("oraszamOnChange").Spin("oraszamOnSpin")).RenderWithName(3, 3, tooltipResource: CsengetesiRendResource.OraszamModositjaAzIdopontokat)
</div>
<script>
var lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
</script>
}
else if(!Model.IsTanoranKivuliFoglalkozas && Model.IsFromSzervezet)
{
@Html.HiddenFor(x => x.CsengetesiRendID)
@Html.HiddenFor(x => x.Oraszam)
}
@if(!Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaTimePickerFor(x => x.OraKezdete).Interval(15).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.OraVege).Interval(15).RenderWithName(3, 3)
</div>
}
else
{
@Html.HiddenFor(x => x.OraKezdete)
@Html.HiddenFor(x => x.OraVege)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#TTFModel_TanarID").removeAttr("disabled");
$("#OraErvenyessegKezdete").kendoMaskedDatePicker({ change: function () { OrarendiOrak.dtChanged(); Foglalkozasok.dtChanged(); } });
$("#OraErvenyessegVege").kendoMaskedDatePicker({ change: function () { OrarendiOrak.dtChanged(); Foglalkozasok.dtChanged(); } });
if (@(Model.OrarendiElemekRogzitesenekElofeltetele) != @((int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)) {
$("label[for='TTFModel_FoglalkozasID']").text($("label[for='TTFModel_FoglalkozasID']").text() + "*");
}
});
</script>

View file

@ -0,0 +1,121 @@
@using Kreta.Enums.ManualEnums.SystemSettings
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
<div class="container-fluid details">
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.OsztalyCsoportId)
<h4 class="h4-zero-top-margin">@OrarendResource.ATanoraAdatai</h4>
<div class="row">
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanarCascadeByTerem" }), "TeremID", onChangeFunction: "OrarendiOrak.tanarChanged()", useGroup: false, isSingleElementSet: false).AutoBind(true).RenderWithName(2,4)
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade", datum = Model.ErvenyessegiIdo.Date.ToString(), filterNincsBeloleOra = true, isForOrarend = true, hanyadikOra = Model.Oraszam, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithName(2,4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" }), onChangeFunction: "OrarendiOrak.tanarChanged()").AutoBind(true).RenderWithName(2, 4)
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithName(2, 4)
}
</div>
<div class="row @(Model.OrarendiElemekRogzitesenekElofeltetele != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF || Model.IsFromSzervezet ? "disabledItem": "")">
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyamCascade", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithName(2,4)
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargyCascade", filterNincsBeloleOra = true, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithName(2, 4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithName(2, 4)
@Html.KretaComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" }), onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithName(2, 4)
}
</div>
<div class="row">
@Html.HiddenFor(x => x.HetirendID)
@if(Model.IsFromSzervezet)
{
@Html.KretaCheckBoxFor(x => x.IsEgybefuggoGyakorlat).RenderWithName(2, 4)
@Html.HiddenFor(x => x.Sorszamozando)
}
else
{
@Html.KretaLabelFor(x => x.Hetirend, 2, 4)
}
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList", isFromSzervezet = Model.IsFromSzervezet }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(2, 4)
</div>
<h4>@(OrarendResource.ATanoraOrarendiAdataiEsErvenyessege)</h4>
<div class="row">
@Html.KretaLabelFor(x => x.HetNapjaSzoveg, 3, 3)
</div>
<div class="row">
@Html.KretaDatePickerFor(x => x.OraErvenyessegKezdete).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.OraErvenyessegVege).RenderWithName(3, 3)
</div>
@if (!Model.IsTanoranKivuliFoglalkozas && !Model.IsFromSzervezet)
{
<script>
function oraszamOnChange() {
if (lastOraszamValue === $("#Oraszam").data("kendoNumericTextBox").value()) return;
getOra();
}
function oraszamOnSpin() {
getOra();
}
function getOra() {
const getCsengetesiRendOrakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminTanariOrarendApi", action = "GetCsengetesiRendEsOrak" })";
const aktualisCsengetesiRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
const aktualisOraszam = $("#Oraszam").data("kendoNumericTextBox").value();
AjaxHelper.DoPost(getCsengetesiRendOrakURL, { aktualisCsengetesiRendId, aktualisOraszam }, onSuccess);
}
function onSuccess(data) {
$("#OraKezdete").data("kendoMaskedTimePicker").value(data.Kezdete);
$("#OraVege").data("kendoMaskedTimePicker").value(data.Vege);
lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
}
</script>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Oraszam).Events(e => e.Change("oraszamOnChange").Spin("oraszamOnSpin")).RenderWithName(3, 3, tooltipResource: CsengetesiRendResource.OraszamModositjaAzIdopontokat)
</div>
<script>
var lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
</script>
}
else if(!Model.IsTanoranKivuliFoglalkozas && Model.IsFromSzervezet)
{
@Html.HiddenFor(x => x.CsengetesiRendID)
@Html.HiddenFor(x => x.Oraszam)
}
@if(!Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaTimePickerFor(x => x.OraKezdete).Interval(15).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.OraVege).Interval(15).RenderWithName(3, 3)
</div>
}
else
{
@Html.HiddenFor(x => x.OraKezdete)
@Html.HiddenFor(x => x.OraVege)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
$("#TTFModel_TanarID").removeAttr("disabled");
$("#OraErvenyessegKezdete").kendoMaskedDatePicker({ change: function () { OrarendiOrak.dtChanged(); Foglalkozasok.dtChanged(); } });
$("#OraErvenyessegVege").kendoMaskedDatePicker({ change: function () { OrarendiOrak.dtChanged(); Foglalkozasok.dtChanged(); } });
if (@(Model.OrarendiElemekRogzitesenekElofeltetele) != @((int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)) {
$("label[for='TTFModel_FoglalkozasID']").text($("label[for='TTFModel_FoglalkozasID']").text() + "*");
}
});
</script>

View file

@ -0,0 +1,32 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
@using (Html.KretaForm("OrarendiOraForm"))
{
@Html.HiddenFor(x => x.IsTanoranKivuliFoglalkozas)
@Html.HiddenFor(x => x.ID)
@Html.HiddenFor(x => x.HetNapja)
@Html.HiddenFor(x => x.CsengetesiRendOraID)
if(!Model.IsFromSzervezet)
{
@Html.HiddenFor(x => x.OraErvenyessegKezdete)
@Html.HiddenFor(x => x.OraErvenyessegVege)
}
else
{
@Html.HiddenFor(x => x.HetirendID)
@Html.HiddenFor(x => x.ValasztottDatum)
}
@Html.HiddenFor(x => x.ModositasiIdoszakTipus)
@Html.HiddenFor(x => x.JSHelperNev)
@Html.HiddenFor(x => x.IsEgyediNap)
@Html.HiddenFor(x => x.ErvenyessegiIdo)
@Html.HiddenFor(x => x.IsFromSzervezet)
@Html.HiddenFor(x => x.IsMentorOra)
@Html.KretaValidationSummary()
<div id="TanuloTabstrip">@Html.Partial(@"EditorTemplates\TabStrip", Model.OrarendiOraTabList)</div>
@Html.KretaTabStrip("TanuloTabstrip").RenderOnModal()
}

View file

@ -0,0 +1,23 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
@using (Html.KretaForm("OrarendiOraForm"))
{
@Html.HiddenFor(x => x.IsTanoranKivuliFoglalkozas)
@Html.HiddenFor(x => x.ID)
@Html.HiddenFor(x => x.HetNapja)
@Html.HiddenFor(x => x.CsengetesiRendOraID)
@Html.HiddenFor(x => x.IsModification)
@Html.HiddenFor(x => x.ModificationDate)
@Html.HiddenFor(x => x.ModositasiIdoszakTipus)
@Html.HiddenFor(x => x.JSHelperNev)
@Html.HiddenFor(x => x.ErvenyessegiIdo)
@Html.HiddenFor(x => x.IsFromSzervezet)
if(!Model.IsFromSzervezet)
{
@Html.HiddenFor(x => x.HetirendID)
}
<div id="TanuloTabstrip">@Html.Partial(@"EditorTemplates\TabStrip", Model.OrarendiOraTabList)</div>
@Html.KretaTabStrip("TanuloTabstrip").RenderOnModal()
}

View file

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

View file

@ -0,0 +1,109 @@
@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
<div class="container-fluid details">
<h4>@StringResourcesUtil.GetString(2491)</h4>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Sorszamozando).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.ParhuzamosOra).RenderWithName(3, 3)
</div>
<h4>@StringResourcesUtil.GetString(2492)</h4>
<h5 style="font-weight: bold;">@OrarendResource.Altalanos</h5>
<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.Efop311119ProjektPedagogus</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanevTananyaganakIsmetlese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanevTananyaganakKiegeszitese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokDigitalisKeszsegfejlesztese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Projektmunka).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanulokKompenzaciosIraskeszsegFejlesztese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokKompenzaciosOlvasasiKepessegFejlesztese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokNyelviKepessegenekKompenzaciosFejlesztese).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanulokOnmegismeresenekSegitese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokOnallosagraNevelese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokOrientaciosTamogatasa).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanulokSzocialitasanakFejlesztese).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokTovabbhaladasatElokeszitoTevekenysegek).RenderWithName(2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.Efop311119ProjektNOKS</h5>
<div class="row">
@Html.KretaCheckBoxFor(x => x.PedagogusAltalJelzettEgyeniEsetkezeles).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.ProjektmunkaTamogatasa).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.DigitalisKeszsegfejlesztes).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.KozossegiMunkaTamogatasa).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanoraElokeszitesenekTamogatasa).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanoraLebonyolitasanakTamogatasa).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.NapkozisTevekenysegKeretebenEgyeniFejlesztes).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>

View file

@ -0,0 +1,196 @@
@using Kreta.Enums.ManualEnums.SystemSettings
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
<div class="container-fluid details">
<h4>@(OrarendResource.ATanoraAdatai)</h4>
<div class="row @(Model.IsMentorOra ? "disabledItem" : "")">
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.TanarID)
</div>
<div>
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanarCascadeByCsoport" }), "TTFModel_OsztalyID", useGroup: false, isSingleElementSet: true).AutoBind(false).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" })).AutoBind(true).RenderWithoutName(4)
}
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.FoglalkozasID)
</div>
<div>
@if (!Model.IsTanoranKivuliFoglalkozas)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade", datum = Model.ErvenyessegiIdoSzoveg, filterNincsBeloloOra = true, isKapcsolodoCsoportok = true, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID,TTFModel_OsztalyID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetNapirendFoglalkozasListCascade", datum = Model.ErvenyessegiIdoSzoveg, filterNincsBeloleOra = true, isKapcsolodoCsoportok = true, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID,TTFModel_OsztalyID", useGroup: true, isSingleElementSet: Model.IsFromSzervezet).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithoutName(4)
}
</div>
</div>
<div class="row @(Model.OrarendiElemekRogzitesenekElofeltetele != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF || Model.IsFromSzervezet || Model.IsMentorOra ? "disabledItem" : "")">
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.OsztalyID)
</div>
<div>
@if (!Model.IsTanoranKivuliFoglalkozas)
{
if (Model.IsFromSzervezet)
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), useGroup: false, isSingleElementSet: true, onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.Cascade("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.DataBound("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
}
else
{
if (Model.IsFromSzervezet)
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek }), useGroup: false).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetNapirendOsztalyCsoportListByEvfolyam" }), onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.DataBound("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
}
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.TantargyID)
</div>
<div>
@Html.KretaComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy", filterNincsBeloleOra = true, isFromSzervezet = Model.IsFromSzervezet, isMentorOra = Model.IsMentorOra }), onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithoutName(4)
</div>
</div>
<div class="row">
@if(Model.IsFromSzervezet)
{
@Html.KretaCheckBoxFor(x => x.IsEgybefuggoGyakorlat).RenderWithName(2, 4)
@Html.HiddenFor(x => x.Sorszamozando)
}
else
{
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.HetirendID)
</div>
<div class="@BootsrapHelper.GetSizeClasses(4)">
@Html.KretaDropdownListFor(x => x.HetirendID, Model.HetirendList)
</div>
}
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TeremID)
</div>
<div>
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremListCascade", isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", isSingleElementSet: true).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithoutName(4)
}
</div>
</div>
<h4>@(OrarendResource.ATanoraOrarendiAdataiEsErvenyessege)</h4>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaInputLabelFor(x => x.HetNapjaSzoveg)
</div>
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaDisplayTextFor(x => x.HetNapjaSzoveg)
</div>
@if(!Model.IsFromSzervezet)
{
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaInputLabelFor(x => x.ErvenyessegiIdoSzoveg)
</div>
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaDisplayTextFor(x => x.ErvenyessegiIdoSzoveg)
</div>
}
</div>
@if (!Model.IsTanoranKivuliFoglalkozas && !Model.IsFromSzervezet)
{
<script>
function oraszamOnChange() {
if (lastOraszamValue === $("#Oraszam").data("kendoNumericTextBox").value()) return;
getOra();
}
function oraszamOnSpin() {
getOra();
}
function getOra() {
const getCsengetesiRendOrakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminTanariOrarendApi", action = "GetCsengetesiRendEsOrak" })";
const aktualisCsengetesiRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
const aktualisOraszam = $("#Oraszam").data("kendoNumericTextBox").value();
AjaxHelper.DoPost(getCsengetesiRendOrakURL, { aktualisCsengetesiRendId, aktualisOraszam }, onSuccess);
}
function onSuccess(data) {
$("#OraKezdete").data("kendoTimePicker").value(data.Kezdete);
$("#OraVege").data("kendoTimePicker").value(data.Vege);
lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
}
</script>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Oraszam).Events(e => e.Change("oraszamOnChange").Spin("oraszamOnSpin")).RenderWithName(3, 3, tooltipResource: CsengetesiRendResource.OraszamModositjaAzIdopontokat)
</div>
<script>
var lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
</script>
}
else
{
if(Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaDatePickerFor(x => x.OraErvenyessegKezdete).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.OraErvenyessegVege).RenderWithName(3, 3)
</div>
}
if (!Model.IsTanoranKivuliFoglalkozas)
{
@Html.HiddenFor(x => x.CsengetesiRendID)
@Html.HiddenFor(x => x.Oraszam)
}
}
@if(!Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaTimePickerFor(x => x.OraKezdete).Interval(15).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.OraVege).Interval(15).RenderWithName(3, 3)
</div>
}
else
{
@Html.HiddenFor(x => x.OraKezdete)
@Html.HiddenFor(x => x.OraVege)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
var searchOsztalyValue = $("#searchForm #Osztaly").val();
if (typeof searchOsztalyValue !== "undefined" && searchOsztalyValue != "") {
var osztalyComboBox = $("#TTFModel_OsztalyID").data("kendoComboBox");
osztalyComboBox.value(searchOsztalyValue);
osztalyComboBox.enable(false);
$("#TTFModel_OsztalyID").removeAttr("disabled");
}
if (@(Model.OrarendiElemekRogzitesenekElofeltetele) != @((int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)) {
$("label[for='TTFModel_FoglalkozasID']").text($("label[for='TTFModel_FoglalkozasID']").text() + "*");
}
});
</script>

View file

@ -0,0 +1,192 @@
@using Kreta.Enums.ManualEnums.SystemSettings
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers
@model OrarendiOraModel
<div class="container-fluid details">
<h4>@(OrarendResource.ATanoraAdatai)</h4>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.TanarID)
</div>
<div>
@Html.KretaComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar", isFromSzervezet = Model.IsFromSzervezet })).AutoBind(true).RenderWithoutName(4)
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.FoglalkozasID)
</div>
<div>
@if (!Model.IsTanoranKivuliFoglalkozas)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade", datum = Model.ErvenyessegiIdoSzoveg, filterNincsBeloleOra = true, isForOrarend = true, hanyadikOra = Model.Oraszam, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetNapirendFoglalkozasListCascade", datum = Model.ErvenyessegiIdoSzoveg, filterNincsBeloleOra = true, isForOrarend = true, hanyadikOra = Model.Oraszam, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithoutName(4)
}
</div>
</div>
<div class="row @(Model.OrarendiElemekRogzitesenekElofeltetele != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF || Model.IsFromSzervezet ? "disabledItem" : "")">
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.OsztalyID)
</div>
<div>
@if(!Model.IsTanoranKivuliFoglalkozas)
{
if (Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyamCascade", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.Cascade("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.Close("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
}
else
{
if (Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyamCascade", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.Cascade("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetNapirendOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, onChangeFunction: "OrarendiOrak.changeOsztaly()").Events(e => e.Close("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
}
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.TantargyID)
</div>
<div>
@Html.KretaComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy", filterNincsBeloleOra = true, isFromSzervezet = Model.IsFromSzervezet }), onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithoutName(4)
</div>
</div>
<div class="row">
@if(Model.IsFromSzervezet)
{
@Html.KretaCheckBoxFor(x => x.IsEgybefuggoGyakorlat).RenderWithName(2, 4)
@Html.HiddenFor(x => x.Sorszamozando)
}
else
{
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.HetirendID)
</div>
<div class="@BootsrapHelper.GetSizeClasses(4)">
@Html.KretaDropdownListFor(x => x.HetirendID, Model.HetirendList)
</div>
}
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TeremID)
</div>
<div>
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremListCascade", isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", isSingleElementSet: true).Events(e => e.Cascade("OrarendiOrak.changeTeremByOsztaly")).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList", isFromSzervezet = Model.IsFromSzervezet }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithoutName(4)
}
</div>
</div>
<h4>@(OrarendResource.ATanoraOrarendiAdataiEsErvenyessege)</h4>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaInputLabelFor(x => x.HetNapjaSzoveg)
</div>
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaDisplayTextFor(x => x.HetNapjaSzoveg)
</div>
@if(!Model.IsFromSzervezet)
{
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaInputLabelFor(x => x.ErvenyessegiIdoSzoveg)
</div>
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaDisplayTextFor(x => x.ErvenyessegiIdoSzoveg)
</div>
}
</div>
@if (!Model.IsTanoranKivuliFoglalkozas && !Model.IsFromSzervezet)
{
<script>
function oraszamOnChange() {
if (lastOraszamValue === $("#Oraszam").data("kendoNumericTextBox").value()) return;
getOra();
}
function oraszamOnSpin() {
getOra();
}
function getOra() {
const getCsengetesiRendOrakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminTanariOrarendApi", action = "GetCsengetesiRendEsOrak" })";
const aktualisCsengetesiRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
const aktualisOraszam = $("#Oraszam").data("kendoNumericTextBox").value();
AjaxHelper.DoPost(getCsengetesiRendOrakURL, { aktualisCsengetesiRendId, aktualisOraszam }, onSuccess);
}
function onSuccess(data) {
$("#OraKezdete").data("kendoMaskedTimePicker").value(data.Kezdete);
$("#OraVege").data("kendoMaskedTimePicker").value(data.Vege);
lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
}
</script>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Oraszam).Events(e => e.Change("oraszamOnChange").Spin("oraszamOnSpin")).RenderWithName(3, 3, tooltipResource: CsengetesiRendResource.OraszamModositjaAzIdopontokat)
</div>
<script>
var lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
</script>
}
else
{
if(Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaDatePickerFor(x => x.OraErvenyessegKezdete).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.OraErvenyessegVege).RenderWithName(3, 3)
</div>
}
if (!Model.IsTanoranKivuliFoglalkozas)
{
@Html.HiddenFor(x => x.CsengetesiRendID)
@Html.HiddenFor(x => x.Oraszam)
}
}
@if(!Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaTimePickerFor(x => x.OraKezdete).Interval(15).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.OraVege).Interval(15).RenderWithName(3, 3)
</div>
}
else
{
@Html.HiddenFor(x => x.OraKezdete)
@Html.HiddenFor(x => x.OraVege)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
var searchTanarValue = $("#searchForm #Tanar").val();
if (typeof searchTanarValue !== "undefined" && searchTanarValue != "") {
var tanarComboBox = $("#TTFModel_TanarID").data("kendoComboBox");
tanarComboBox.value(searchTanarValue);
tanarComboBox.enable(false);
$("#TTFModel_TanarID").removeAttr("disabled");
}
if (@(Model.OrarendiElemekRogzitesenekElofeltetele) != @((int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)) {
$("label[for='TTFModel_FoglalkozasID']").text($("label[for='TTFModel_FoglalkozasID']").text() + "*");
}
});
</script>

View file

@ -0,0 +1,191 @@
@using Kreta.Enums.ManualEnums.SystemSettings
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
<div class="container-fluid details">
<h4>@(OrarendResource.ATanoraAdatai)</h4>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.TanarID)
</div>
<div>
@if(Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanarCascadeByTerem" }), "TeremID", useGroup: false, isSingleElementSet: true).AutoBind(false).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.TanarID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" })).AutoBind(true).RenderWithoutName(4)
}
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.FoglalkozasID)
</div>
<div>
@if (!Model.IsTanoranKivuliFoglalkozas)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFoglalkozasListCascade", datum = Model.ErvenyessegiIdoSzoveg, filterNincsBeloleOra = true, isForOrarend = true, hanyadikOra = Model.Oraszam, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.FoglalkozasID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetNapirendFoglalkozasListCascade", datum = Model.ErvenyessegiIdoSzoveg, filterNincsBeloleOra = true, isForOrarend = true, hanyadikOra = Model.Oraszam, isFromSzervezet = Model.IsFromSzervezet }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false).Events(e => e.Cascade("OrarendiOrak.onCascadeFoglalkozas")).AutoBind(true).RenderWithoutName(4)
}
</div>
</div>
<div class="row @(Model.OrarendiElemekRogzitesenekElofeltetele != (int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF || Model.IsFromSzervezet ? "disabledItem" : "")">
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.OsztalyID)
</div>
<div>
@if (!Model.IsTanoranKivuliFoglalkozas)
{
if (Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyamCascade", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithoutName(4)
}
}
else
{
if (Model.IsFromSzervezet)
{
@Html.KretaCascadeComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyamCascade", isDualisKepzohelyiCsoport = true, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek, isForOrarend = true, datum = Model.ErvenyessegiIdo.Date.ToString(), hanyadikOra = Model.Oraszam, filterNincsBeloleOra = true }), "TTFModel_TanarID", useGroup: true, isSingleElementSet: false, onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithoutName(4)
}
else
{
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetNapirendOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.ErvenyessegiIdo.Date.ToString() + "&hanyadikOra=" + Model.Oraszam, onChangeFunction: "OrarendiOrak.changeOsztaly()").AutoBind(true).RenderWithoutName(4)
}
}
</div>
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TTFModel.TantargyID)
</div>
<div>
@Html.KretaComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy", filterNincsBeloleOra = true, isFromSzervezet = Model.IsFromSzervezet }), onChangeFunction: "OrarendiOrak.changeTantargy()").AutoBind(true).RenderWithoutName(4)
</div>
</div>
<div class="row">
@if(Model.IsFromSzervezet)
{
@Html.KretaCheckBoxFor(x => x.IsEgybefuggoGyakorlat).RenderWithName(2, 4)
@Html.HiddenFor(x => x.Sorszamozando)
}
else
{
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.HetirendID)
</div>
<div class="@BootsrapHelper.GetSizeClasses(4)">
@Html.KretaDropdownListFor(x => x.HetirendID, Model.HetirendList)
</div>
}
<div class="@BootsrapHelper.GetSizeClasses(2)">
@Html.KretaInputLabelFor(x => x.TeremID)
</div>
<div>
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList", isFromSzervezet = Model.IsFromSzervezet }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithoutName(4)
</div>
</div>
<h4>@(OrarendResource.ATanoraOrarendiAdataiEsErvenyessege)</h4>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaInputLabelFor(x => x.HetNapjaSzoveg)
</div>
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaDisplayTextFor(x => x.HetNapjaSzoveg)
</div>
@if(!Model.IsFromSzervezet)
{
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaInputLabelFor(x => x.ErvenyessegiIdoSzoveg)
</div>
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaDisplayTextFor(x => x.ErvenyessegiIdoSzoveg)
</div>
}
</div>
@if (!Model.IsTanoranKivuliFoglalkozas && !Model.IsFromSzervezet)
{
<script>
function oraszamOnChange() {
if (lastOraszamValue === $("#Oraszam").data("kendoNumericTextBox").value()) return;
getOra();
}
function oraszamOnSpin() {
getOra();
}
function getOra() {
const getCsengetesiRendOrakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "AdminTanariOrarendApi", action = "GetCsengetesiRendEsOrak" })";
const aktualisCsengetesiRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
const aktualisOraszam = $("#Oraszam").data("kendoNumericTextBox").value();
AjaxHelper.DoPost(getCsengetesiRendOrakURL, { aktualisCsengetesiRendId, aktualisOraszam }, onSuccess);
}
function onSuccess(data) {
$("#OraKezdete").data("kendoTimePicker").value(data.Kezdete);
$("#OraVege").data("kendoTimePicker").value(data.Vege);
lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
}
</script>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Oraszam).Events(e => e.Change("oraszamOnChange").Spin("oraszamOnSpin")).RenderWithName(3, 3, tooltipResource: CsengetesiRendResource.OraszamModositjaAzIdopontokat)
</div>
<script>
var lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
</script>
}
else
{
if(Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaDatePickerFor(x => x.OraErvenyessegKezdete).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.OraErvenyessegVege).RenderWithName(3, 3)
</div>
}
if (!Model.IsTanoranKivuliFoglalkozas)
{
@Html.HiddenFor(x => x.CsengetesiRendID)
@Html.HiddenFor(x => x.Oraszam)
}
}
@if(!Model.IsFromSzervezet)
{
<div class="row">
@Html.KretaTimePickerFor(x => x.OraKezdete).Interval(15).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.OraVege).Interval(15).RenderWithName(3, 3)
</div>
}
else
{
@Html.HiddenFor(x => x.OraKezdete)
@Html.HiddenFor(x => x.OraVege)
}
</div>
<script type="text/javascript">
$(document).ready(function () {
var searchTeremValue = $("#searchForm #Terem").val();
if (typeof searchTeremValue !== "undefined" && searchTeremValue != "") {
var teremComboBox = $("#TeremID").data("kendoComboBox");
teremComboBox.value(searchTeremValue);
teremComboBox.enable(false);
$("#TeremID").removeAttr("disabled");
}
if (@(Model.OrarendiElemekRogzitesenekElofeltetele) != @((int)SystemSettingsOrarendiElemekRogzitesenekElofelteteleEnum.NincsTTF)) {
$("label[for='TTFModel_FoglalkozasID']").text($("label[for='TTFModel_FoglalkozasID']").text() + "*");
}
});
</script>

View file

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

View file

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

View file

@ -0,0 +1,14 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model OrarendiOraModel
<div class="container-fluid details">
<div class="row">
@Html.KretaTextBoxFor(x => x.TTFModel.Nev).Enable(false).RenderWithName(3, 3)
@Html.KretaEmpty()
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TTFModel.OsztalyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), "Text", "Value", useGroup: true).AutoBind(true).Enable(false).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.TTFModel.TantargyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" }), "Text", "Value").AutoBind(true).Enable(false).RenderWithName(3, 3)
</div>
</div>

View file

@ -0,0 +1,140 @@
@using Kreta.Framework
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers
@using Kreta.Web.Classes
@using Kreta.Enums.ManualEnums;
@model OralatogatasModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "OralatogatasHelper.formSearch"))
{
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanarOralatogatasApi", action = "GetTanarList" })).AutoBind(true).RenderSearchPanelSideBar()
}
}
@section AddJs {
@Scripts.Render("~/bundles/Calendar")
<script type="text/javascript">
var OralatogatasHelper = (function () {
var oralatogatasHelper = function () { };
var eventURL = '@Url.Action("OralatogatasEvent", "TanarOralatogatas", new { area = "Orarend" })';
var saveURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "TanarOralatogatasApi", action = "SaveOralatogatas" })";
var deleteURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "TanarOralatogatasApi", action = "DeleteOralatogatas" })";
var formName = "OralatogatasForm";
oralatogatasHelper.formSearch = function () {
var formContent = $("#searchForm").serializeObject();
CreateCalendar(formContent.TanarId);
}
oralatogatasHelper.CalendarClickEvent = function (e) {
var json = {};
json.CalendarModel = e;
json.TanarId = $("#searchForm #TanarId").val();
AjaxHelper.DoPost(eventURL, json, popUpWindow);
};
oralatogatasHelper.windowCancel = function () {
KretaWindowHelper.destroyWindow("OralatogatasWindow");
}
oralatogatasHelper.windowSave = function () {
AjaxHelper.DoPostElement(saveURL, formName, SaveDeleteResponseOk);
}
oralatogatasHelper.windowDelete = function () {
var json = {};
json.id = $("#OraID").val();
AjaxHelper.DoPostQuery(deleteURL, null, json, SaveDeleteResponseOk);
}
function CreateCalendar(tanarId) {
var startDate = $("#Calendar").fullCalendar("getView").start;
$("#Calendar").fullCalendar("destroy");
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendar = "Calendar";
pram.kellCsengetesiRendMegjelenites = false;
if (typeof startDate !== "undefined") { pram.calendarStartDate = startDate; } else { pram.calendarStartDate = "@DateTime.Now.ToString("yyyy-MM-dd")"; }
pram.serviceURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetOralatogatasOrarend" })';
pram.minTime = '@Model.CalendarMinTime';
pram.maxTime = '@Model.CalendarMaxTime';
pram.tanarId = tanarId;
pram.clickEvent = OralatogatasHelper.CalendarClickEvent;
pram.hetirendek = '@Model.HetirendJson';
pram.naptariHetekHetirend = '@Model.NaptariHetekHetirendJson';
pram.naptariHetekUrl = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetTanevHetek" })';
pram.mouseoverEvent = showTemaTooltip;
pram.mouseoutEvent = hideTemaTooltip;
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') {
$("#Calendar_tanevHetek").data('kendoComboBox').dataSource.one('change', setHetValaszto);
}
}
function popUpWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(4737))"; /*Óralátogatás felvitele / módosítása*/
config.content = data;
var modal = KretaWindowHelper.createWindow("OralatogatasWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function SaveDeleteResponseOk() {
OralatogatasHelper.formSearch();
KretaWindowHelper.destroyWindow("OralatogatasWindow");
}
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);
contentMessage += data.TooltipMsg;
}
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 oralatogatasHelper;
})();
</script>
}
<div id="Calendar"></div>

View file

@ -0,0 +1,37 @@
@using Kreta.Web.Areas.Orarend.Models;
@model OralatogatasModel
@{ Layout = null; }
@using (Html.KretaForm("OralatogatasForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.OraID)
@Html.HiddenFor(x => x.OralatogatasID)
@Html.HiddenFor(x => x.TanarId)
@Html.HiddenFor(x => x.OralatogatasDatuma)
@Html.HiddenFor(x => x.TanitasiOraTema)
<div class="container-fluid">
@Html.KretaHtmlEditorFor(x => x.OralatogatasSzovege, false)
</div>
<div style="position: absolute; bottom: 0; right: 0;">
@if (!Model.OralatogatasID.HasValue)
{
@Html.KretaCheckBoxFor(x => x.NemKotottMunkaidos).RenderWithName(11, 1)
}
</div>
}
<script type="text/javascript">
$(document).ready(function () {
$("#OralatogatasForm #TanarId").val($("#searchForm #TanarId").val());
$("#OralatogatasWindow_wnd_title")[0].innerText += (" - " + $("#TanitasiOraTema").val());
@if (Model.IsNemKellNemKotottSystemSettings)
{
<text>
$("#NemKotottMunkaidos").parent("div").parent("div").addClass("disabledItem");
$("#NemKotottMunkaidos").prop("checked", false);
</text>
}
});
</script>

View file

@ -0,0 +1,12 @@
@using Kreta.Framework
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model FogadooraModel
@using (Html.KretaForm("FogadooraForm"))
{
@Html.KretaValidationSummary()
<div class="container-fluid details">
@Html.Partial("~/Areas/Orarend/Views/TanariOrarend/Fogadoora_partial.cshtml", Model)
</div>
}

View file

@ -0,0 +1,115 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Helpers.Grid
@model Kreta.Web.Areas.Orarend.Models.FogadooraModel
<div class="container-fluid details" style="margin:10px">
<div class="row">
@Html.KretaLabelFor(x => x.FogadoOraKezdete, 3, 3)
@Html.KretaLabelFor(x => x.FogadoOraVege, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeremNev, 3, 3)
@Html.KretaLabelFor(x => x.RendszeressegText, 3, 3)
</div>
<div class="row" id="RendszeresFogadooraDatumaDiv">
@Html.KretaLabelFor(x => x.RendszeresFogadooraElsoDatuma, 3, 3)
@Html.KretaLabelFor(x => x.RendszeresFogadooraUtolsoDatuma, 3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.JelentkezesekKezelese).Enable(false).RenderWithName(3, 3)
</div>
<div class="row" id="JelenkezesekKezeleseReszletekDiv">
@Html.KretaLabelFor(x => x.EgysegnyiIdopontok, 3, 3)
@Html.KretaCheckBoxFor(x => x.IsIdosavraOsztas).Enable(false).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IsFaliujsagonMegjelenjen).Enable(false).RenderWithName(3, 3)
</div>
<div class="row" id="FaliujsagDetailsDiv">
@Html.KretaLabelFor(x => x.FaliujsagErvenyessegKezdete, 3, 3)
@Html.KretaLabelFor(x => x.FaliujsagErvenyessegVege, 3, 3)
</div>
</div>
<div id="OsztalyCsoportDiv" class="k-content">
<div style="width: 96%; padding-left: 20px;">
<h4 style="margin: 0;">@FogadooraResource.OsztalyCsoport</h4>
@(
Html.KretaGrid<FogadooraOsztalyCsoportGridModel>(
name: "FogadooraOsztalyCsoportGrid",
getUrl: new GridApiUrl("FogadooraApi", "GetOsztalyCsoportGrid"),
pageSizes: null,
allowPaging: false,
dataBoundAdditionalFunction: "FogadooraHelper.SetOsztalyCsoportCheckboxes()"
)
.Columns(columns =>
{
columns.Bound(c => c.OsztalyCsoportNev);
})
.CheckBoxColumn(FogadooraResource.Hozzarendelve, c => c.Hozzarendelve, false, "OsztalyCsoportId", addHeaderTitle: true)
.AutoBind(true)
)
</div>
</div>
<script type="text/javascript">
var FogadooraHelper = (function () {
var fogadooraHelper = function () { };
fogadooraHelper.modFogadooraCancel = function () {
KretaWindowHelper.destroyWindow("modFogadooraWindow");
}
fogadooraHelper.SetOsztalyCsoportCheckboxes = function (data) {
var osztalyCsoportIdArray = "@(Html.Raw(Json.Encode(Model.SelectedOsztalyCsoportIdList)))";
var osztalyCsoportIdList = CommonUtils.JSONparse(osztalyCsoportIdArray);
if (osztalyCsoportIdList.length > 0) {
$.each(osztalyCsoportIdList,
function (index, value) {
$("#FogadooraOsztalyCsoportGrid_" + "@Html.Raw(FogadooraResource.Hozzarendelve)" + "_" + value).prop('checked', true);
});
}
}
return fogadooraHelper;
})();
$(document).ready(function () {
if ($("#Rendszeresseg").val() == "@((int) FogadooraRendszeressegEnum.EgyAlkalom)") {
$("#RendszeresFogadooraDatumaDiv").hide();
}
if ($("#Rendszeresseg").val() != "@((int) FogadooraRendszeressegEnum.EgyAlkalom)") {
$("#RendszeressegDiv").hide();
$("#RendszeresFogadooraDatumaDiv").hide();
}
if ($('#IsFaliujsagonMegjelenjen').is(':checked')) {
$('#FaliujsagDetailsDiv').show();
} else {
$('#FaliujsagDetailsDiv').hide();
}
$('#IsFaliujsagonMegjelenjen').click(function () {
if ($(this).is(':checked')) {
$('#FaliujsagDetailsDiv').show();
} else {
$('#FaliujsagDetailsDiv').hide();
}
});
$("#JelenkezesekKezeleseReszletekDiv").hide();
if ($("#JelentkezesekKezelese").prop("checked") == true) {
$("#JelenkezesekKezeleseReszletekDiv").show();
}
$("#JelentkezesekKezelese").change(function () {
$("#EgysegnyiIdopontok").data("kendoNumericTextBox").value("15");
$("#IsIdosavraOsztas").prop("checked", false);
if ($("#JelentkezesekKezelese").prop("checked") == true) {
$("#JelenkezesekKezeleseReszletekDiv").show();
} else {
$("#JelenkezesekKezeleseReszletekDiv").hide();
}
});
});
</script>

View file

@ -0,0 +1,549 @@
@using Kreta.Web.Areas.Tanar.Models
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@model FogadooraModel
@{
var disabledItemClass = "";
if (Model.VanGvJelentkezes)
{
disabledItemClass = "disabledItem";
}
}
@Scripts.Render("~/bundles/moment")
<style>
.fogadooraDatumListDiv {
float: left;
margin-left: 20px;
}
.fogadooraDatumListDiv > span {
margin-left: 2px;
color: red;
}
.fogadooraDatumListDiv > span:hover {
opacity: 0.5;
}
</style>
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.FogadoOraDatuma)
@Html.HiddenFor(x => x.IsCalendar)
@Html.HiddenFor(x => x.IsRendszeressegModosithato)
<div class="container-fluid details">
@Html.HiddenFor(x => x.ModositasiIdoszakTipus)
@Html.HiddenFor(x => x.JSHelperNev)
<div class="row">
@Html.KretaTimePickerFor(x => x.FogadoOraKezdete, new Dictionary<string, object>() { { "class", disabledItemClass } }).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.FogadoOraVege).Min(Model.VanGvJelentkezes ? Model.FogadoOraVege : new DateTime()).RenderWithName(3, 3)
</div>
<div class="row @disabledItemClass">
@Html.KretaComboBoxFor(x => x.TeremId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(3, 3)
<diy id="RendszeressegDiv">
@if (Model.IsRendszeressegModosithato)
{
@Html.KretaComboBoxFor(x => x.Rendszeresseg, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFogadooraRendszeressegEnumList" }), "Text", "Value", onChangeFunction: "FogadooraHelper.RendszeressegChanged()", useGroup: true).AutoBind(true).RenderWithName(3, 3)
}
else
{
@Html.KretaLabelFor(x => x.RendszeressegText, 3, 3)
}
</diy>
</div>
<div class="row @disabledItemClass" id="RendszeresFogadooraDatumaDiv">
@Html.KretaDatePickerFor(x => x.RendszeresFogadooraElsoDatuma).Min(DateTime.Today).Max(Model.TanevUtolsoNapja).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.RendszeresFogadooraUtolsoDatuma).Min(DateTime.Today).Max(Model.TanevUtolsoNapja).RenderWithName(3, 3)
</div>
<div id="EgyebGyakorisagDatePickerDiv">
<div class="row @disabledItemClass">
@Html.KretaDatePickerFor(x => x.FogadooraEgyebGyakorisagDefaultDate).Min(DateTime.Today).Max(Model.TanevUtolsoNapja).RenderWithName(3, 3)
@Html.KretaButton("AddDateToFogadooraDateList", "Dátum hozzáadása")
</div>
<div class="row @disabledItemClass" id="datumListDiv"></div>
<div class="row @disabledItemClass"></div>
</div>
@if (!Model.Id.HasValue)
{
<div class="row @disabledItemClass">
@Html.KretaCheckBoxFor(x => x.IsNemKotottMunkaido).RenderWithName(3, 3)
</div>
}
<div class="row @disabledItemClass">
@Html.KretaCheckBoxFor(x => x.JelentkezesekKezelese).RenderWithName(3, 3)
<div id="JelentkezesHataridejeDiv">
@Html.KretaComboBoxFor(x => x.JelentkezesHatarideje, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetJelentkezesHataridejeList" }), "Text", "Value").AutoBind(true).RenderWithName(3, 3, tooltipResource: FogadooraResource.JelentkezesHataridejeTooltip)
</div>
</div>
<div id="JelenkezesekKezeleseReszletekDiv">
<div class="row @disabledItemClass">
@Html.KretaCheckBoxFor(x => x.IsIdosavraOsztas).RenderWithName(3, 3)
<div id="EgysegnyiIdopontDiv">
@Html.KretaNumericFor(x => x.EgysegnyiIdopontok, htmlAttributes: new Dictionary<string, object> { { "data-min", 5 }, { "data-max ", 120 } }).Step(1).RenderWithName(3, 3)
</div>
</div>
</div>
<div class="row @disabledItemClass">
@Html.KretaCheckBoxFor(x => x.IsFaliujsagonMegjelenjen).RenderWithName(3, 3)
</div>
<div class="row @disabledItemClass" id="FaliujsagDetailsDiv">
@Html.KretaDatePickerFor(x => x.FaliujsagErvenyessegKezdete).Min(DateTime.Today).Max(Model.TanevUtolsoNapja).RenderWithName(3, 3)
@Html.KretaDatePickerFor(x => x.FaliujsagErvenyessegVege).Min(DateTime.Today).Max(Model.TanevUtolsoNapja).RenderWithName(3, 3)
</div>
</div>
<div id="OsztalyCsoportDiv @disabledItemClass" class="k-content">
<div style="width: 96%; padding-left: 20px;">
<h4 style="margin: 0;">@FogadooraResource.OsztalyCsoport</h4>
@{
var grid = Html.KretaGrid<FogadooraOsztalyCsoportGridModel>(
name: "FogadooraOsztalyCsoportGrid",
getUrl: new GridApiUrl("FogadooraApi", "GetOsztalyCsoportGrid"),
pageSizes: null,
allowPaging: false,
dataBoundAdditionalFunction: "FogadooraHelper.SetOsztalyCsoportCheckboxes()"
)
.Columns(columns =>
{
columns.Bound(c => c.OsztalyCsoportNev);
})
.CheckBoxColumn(FogadooraResource.Hozzarendelve, c => c.Hozzarendelve, !Model.VanGvJelentkezes, "OsztalyCsoportId", addHeaderTitle: true)
.AutoBind(true);
}
@(grid)
</div>
</div>
<script type="text/javascript">
var FogadooraHelper = (function () {
fogadooraHelper = function () { };
var formName = 'FogadooraForm';
var gridName = 'FogadooraOsztalyCsoportGrid';
var DeleteURL =
"@Url.HttpRouteUrl("ActionApi", new {controller = "FogadooraApi", action = "DeleteFogadooraByFogadooraModel"})";
var SaveURL =
"@Url.HttpRouteUrl("ActionApi", new {controller = "FogadooraApi", action = "SaveFogadoora"})";
var isFogadooraJelentkezettGondviselok =
"@Url.HttpRouteUrl("ActionApi", new {controller = "FogadooraApi", action = "IsFogadooraJelentkezettGondviselok" })";
var isFogadooraJelentkezettGondviselokForUpdate =
"@Url.HttpRouteUrl("ActionApi", new {controller = "FogadooraApi", action = "IsFogadooraJelentkezettGondviselokForUpdate" })";
var validateUrl =
"@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FogadooraApi", action = "ValidateFogadoora"})";
var egyediGyakorisagDateArray = [];
fogadooraHelper.RendszeressegChanged = function (data) {
var titleSpan = $(".k-window-title");
if ($("#Rendszeresseg").val() == "@((int) FogadooraRendszeressegEnum.EgyAlkalom)") {
$("#RendszeresFogadooraDatumaDiv").hide();
titleSpan.text("@Html.Raw(FogadooraResource.FogadooraAdatai) - @Model.FogadoOraDatuma.ToShortDateString()");
} else {
$("#RendszeresFogadooraDatumaDiv").show();
titleSpan.text("@Html.Raw(FogadooraResource.FogadooraAdatai)");
}
if ($("#Rendszeresseg").val() != "@((int) FogadooraRendszeressegEnum.Egyedi)") {
$("#EgyebGyakorisagDatePickerDiv").hide();
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').max("@((Model.FogadoOraDatuma.Date == Model.TanevUtolsoNapja.Date)?Model.TanevUtolsoNapja.AddDays(1).Date : Model.TanevUtolsoNapja.Date )");
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').value("@Model.FogadoOraDatuma.AddDays(1).Date");
} else {
$("#EgyebGyakorisagDatePickerDiv").show();
$("#RendszeresFogadooraDatumaDiv").hide();
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').max("@Model.TanevUtolsoNapja.AddDays(1).Date");
}
if (($("#Rendszeresseg").val() == "@((int) FogadooraRendszeressegEnum.Heti)")
|| ($("#Rendszeresseg").val() == "@((int) FogadooraRendszeressegEnum.HetirendAlapu)")) {
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').value("@Model.TanevUtolsoNapja");
}
}
fogadooraHelper.SetOsztalyCsoportCheckboxes = function (data) {
var osztalyCsoportIdArray = "@(Html.Raw(Json.Encode(Model.SelectedOsztalyCsoportIdList)))";
var osztalyCsoportIdList = CommonUtils.JSONparse(osztalyCsoportIdArray);
if (osztalyCsoportIdList.length > 0) {
$.each(osztalyCsoportIdList,
function (index, value) {
$("#FogadooraOsztalyCsoportGrid_" + "@Html.Raw(FogadooraResource.Hozzarendelve)" + "_" + value).prop('checked', true);
});
}
}
fogadooraHelper.DeleteEgyFogadooraa = function () {
deleteFogadoora(@((int)OraModositasiIdoszakTipus.EgyOra));
}
fogadooraHelper.DeleteEttolANaptol = function () {
deleteFogadoora(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
fogadooraHelper.DeleteEddigANapig = function () {
deleteFogadoora(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
fogadooraHelper.DeleteTeljes = function () {
deleteFogadoora(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
fogadooraHelper.ModEgyFogadoora = function () {
modFogadoora(@((int)OraModositasiIdoszakTipus.EgyOra));
}
fogadooraHelper.ModEttolANaptol = function () {
modFogadoora(@((int)OraModositasiIdoszakTipus.AdottNaptol));
}
fogadooraHelper.ModEddigANapig = function () {
modFogadoora(@((int)OraModositasiIdoszakTipus.AdottNapig));
}
fogadooraHelper.ModTeljes = function () {
modFogadoora(@((int)OraModositasiIdoszakTipus.TeljesIdoszak));
}
fogadooraHelper.modFogadooraCancel = function () {
KretaWindowHelper.destroyWindow("modFogadooraWindow");
}
function deleteFogadoora(modositasiIdoszakTipus) {
$("#FogadooraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#FogadooraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.FogadoOra");
var formData = changeDataOrakezDetOraVegToUtc(formName);
AjaxHelper.DoGet(isFogadooraJelentkezettGondviselok,
{ id: formData.Id, modositasiIdoszakTipus: modositasiIdoszakTipus },
isBiztosanTorliPopUp);
}
function isBiztosanTorliPopUp(data) {
if (data === true) {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368) /*Figyelmeztetés*/)",
"@(ErrorResource.FogadooraraVanJelentkezettGondviseloBiztosanTorliE /*Biztosan törölni szeretné?*/)",
function () {
AjaxHelper.DoPostElement(DeleteURL, formName, fogadooraComplete);
});
} else {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368) /*Figyelmeztetés*/)",
"@(FogadooraResource.BiztosanToroliSzeretne /*Biztosan törölni szeretné?*/)",
function () {
AjaxHelper.DoPostElement(DeleteURL, formName, fogadooraComplete);
});
}
}
function modFogadoora(modositasiIdoszakTipus) {
$("#FogadooraForm #ModositasiIdoszakTipus").val(modositasiIdoszakTipus);
$("#FogadooraForm #JSHelperNev").val("@Kreta.Web.Constants.JSHelperName.FogadoOra");
fogadooraBeforeUpdate();
}
fogadooraHelper.egyVagyTobbmodositasPopUp = function () {
KretaWindowHelper.destroyAllWindow();
window.CalendarModel.eventId = eventId;
window.CalendarModel.oraType = oraType;
window.CalendarModel.eventType = eventType;
tanorak.CalendarClickEvent(window.CalendarModel);
};
fogadooraHelper.newFogadooraCancel = function () {
KretaWindowHelper.destroyWindow("newFogadooraWindow");
}
fogadooraHelper.modFogadooraDelete = function () {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368) /*Figyelmeztetés*/)",
"@(StringResourcesUtil.GetString(4472) /*Biztosan törölni szeretné?*/)",
function () {
AjaxHelper.DoPostQuery(DeleteURL,
null,
{ fogadooraId: window.CalendarModel.eventId },
fogadooraComplete);
});
}
fogadooraHelper.fogadooraSave = function () {
fogadooraBeforeSave();
}
function fogadooraBeforeSave() {
if (getForm().valid()) {
var formData = changeDataOrakezDetOraVegToUtc(formName);
formData.SelectedOsztalyCsoportIdList = fogadooraHelper.GetSelectedOsztalyCsoportIdList();
formData.ModifiedOsztalyCsoportList = fogadooraHelper.GetModifiedOsztalyCsoportList();
formData.FogadooraDatumList = egyediGyakorisagDateArray;
AjaxHelper.DoValidationPost(validateUrl, formName, formData, fogadooraCallback);
}
}
function fogadooraBeforeUpdate() {
if (getForm().valid()) {
var formData = changeDataOrakezDetOraVegToUtc(formName);
formData.SelectedOsztalyCsoportIdList = fogadooraHelper.GetSelectedOsztalyCsoportIdList();
formData.ModifiedOsztalyCsoportList = fogadooraHelper.GetModifiedOsztalyCsoportList();
AjaxHelper.DoValidationPost(validateUrl, formName, formData, fogadooraUpdateCallback);
}
}
function fogadooraCallback(data) {
var formData = changeDataOrakezDetOraVegToUtc(formName);
formData.SelectedOsztalyCsoportIdList = fogadooraHelper.GetSelectedOsztalyCsoportIdList();
formData.ModifiedOsztalyCsoportList = fogadooraHelper.GetModifiedOsztalyCsoportList();
formData.FogadooraDatumList = egyediGyakorisagDateArray;
if (data.Valid) {
AjaxHelper.DoValidationPost(SaveURL, formName, formData, fogadooraComplete);
} else {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)", data.Text, function () { AjaxHelper.DoValidationPost(SaveURL, formName, formData, fogadooraComplete); }
);
}
}
function fogadooraUpdateCallback(data) {
var formData = changeDataOrakezDetOraVegToUtc(formName);
formData.ModifiedOsztalyCsoportList = fogadooraHelper.GetModifiedOsztalyCsoportList();
if (data.Valid) {
AjaxHelper.DoGet(isFogadooraJelentkezettGondviselokForUpdate,
{ id: formData.Id, isJelentkezesekKezelese: formData.JelentkezesekKezelese, IsIdosavraOsztas: formData.IsIdosavraOsztas, egysegnyiIdopontok: formData.EgysegnyiIdopontok, modositasiIdoszakTipus: formData.ModositasiIdoszakTipus, kezdete: formData.FogadoOraKezdete, vege: formData.FogadoOraVege, modifiedOcsList: JSON.stringify(formData.ModifiedOsztalyCsoportList) },
isBiztosanModositjaPopUp);
} else {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)", data.Text, function () {
AjaxHelper.DoGet(isFogadooraJelentkezettGondviselokForUpdate,
{ id: formData.Id, isJelentkezesekKezelese: formData.JelentkezesekKezelese, IsIdosavraOsztas: formData.IsIdosavraOsztas, egysegnyiIdopontok: formData.EgysegnyiIdopontok, modositasiIdoszakTipus: formData.ModositasiIdoszakTipus, kezdete: formData.FogadoOraKezdete, vege: formData.FogadoOraVege, modifiedOcsList: JSON.stringify(formData.ModifiedOsztalyCsoportList) },
isBiztosanModositjaPopUp);
});
}
}
function isBiztosanModositjaPopUp(data) {
var formData = changeDataOrakezDetOraVegToUtc(formName);
formData.SelectedOsztalyCsoportIdList = fogadooraHelper.GetSelectedOsztalyCsoportIdList();
formData.ModifiedOsztalyCsoportList = fogadooraHelper.GetModifiedOsztalyCsoportList();
if (data.isIdopontUjraGeneralasKell || data.isFogadooraJelentkezettGondviselok) {
var contentMessage = "@(ErrorResource.BiztosanFolytatja)";
if (data.isFogadooraJelentkezettGondviselok) {
contentMessage = "@(ErrorResource.FogadooraraVanJelentkezettGondviseloBiztosanModositjaE)";
}
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368) /*Figyelmeztetés*/)",
contentMessage,
function () {
AjaxHelper.DoValidationPost(SaveURL, formName, formData, fogadooraComplete);
});
} else {
AjaxHelper.DoValidationPost(SaveURL, formName, formData, fogadooraComplete);
}
}
function getForm() {
return $("#" + formName);
}
fogadooraHelper.GetModifiedOsztalyCsoportList = function (e) {
var modifiedRows = KretaGridHelper.getModifiedRows(gridName);
var selectedIdList = fogadooraHelper.GetSelectedOsztalyCsoportIdList();
var list = {};
$.each(modifiedRows,
function (index, row) {
if (($.inArray(row.OsztalyCsoportId, selectedIdList) != -1) && row.ki_Hozzarendelve) {
list[row.OsztalyCsoportId] = true;
} else if (($.inArray(row.OsztalyCsoportId, selectedIdList) == -1) && !row.ki_Hozzarendelve) {
list[row.OsztalyCsoportId] = false;
}
});
return list;
};
fogadooraHelper.GetSelectedOsztalyCsoportIdList = function () {
var grid = $("#" + gridName);
var gridData = KretaGridHelper.getKendoGridData(gridName);
var selectedIds = [];
var selectedCheckboxList = grid.find("input[type=checkbox]:checked");
selectedCheckboxList.each(function (index) {
var row = $(this).closest("tr");
var dataItem = gridData.dataItem(row);
selectedIds.push(dataItem.OsztalyCsoportId);
})
return selectedIds;
};
function fogadooraComplete() {
var isCalendar = ($("#IsCalendar").val() == 'True');
if (isCalendar) {
KretaWindowHelper.destroyAllWindow();
TanariOrarend.FormSearch("searchForm");
} else {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel("FogadooraGrid", "searchForm");
}
}
fogadooraHelper.removeDateDivFromList = function (divId) {
var divIdString = "" + divId;
var dateFromDivId = divIdString.substring(0, 4) + '-' + divIdString.substring(4, 6) + '-' + divIdString.substring(6, 8);
var i = egyediGyakorisagDateArray.indexOf(dateFromDivId);
if (i != -1) {
egyediGyakorisagDateArray.splice(i, 1);
var maxDate = new Date(Math.max.apply(null, egyediGyakorisagDateArray.map(date => new Date(date + "T00:00:00.0000"))));
maxDate.setDate(maxDate.getDate() + 1);
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').value(maxDate);
}
$("#" + divId).remove();
};
function changeDataOrakezDetOraVegToUtc(formName) {
var form = $('#' + formName);
var data = form.toObject();
if (!CommonUtils.isNullOrUndefined(data.FogadoOraKezdete)) {
data.FogadoOraKezdete = CommonUtils.getUtcTimeFromDateAndTime(data.FogadoOraDatuma, data.FogadoOraKezdete);
data.FogadoOraVege = CommonUtils.getUtcTimeFromDateAndTime(data.FogadoOraDatuma, data.FogadoOraVege);
}
return data;
};
fogadooraHelper.containsEgyediGyakorisagDate = function (date) {
return egyediGyakorisagDateArray.includes(date);
}
fogadooraHelper.addEgyediGyakorisagDate = function (date) {
egyediGyakorisagDateArray.push(date);
}
fogadooraHelper.selectEgyediGyakorisagDate = function (lambda) {
return egyediGyakorisagDateArray.map(lambda);
}
return fogadooraHelper;
})();
$(document).ready(function () {
function fogadooraEgysegnyiIdopontokRules() {
$("#EgysegnyiIdopontok").rules("add", {
required: true,
min: $("#EgysegnyiIdopontok").attr("data-min"),
max: $("#EgysegnyiIdopontok").attr("data-max"),
messages: {
required: "@Html.Raw(FogadooraResource.EgysegnyiIdopontokKotelezo)",
min: "@Html.Raw(FogadooraResource.EgysegnyiIdopontokMinMaxKozeKellEsnie)".replace("\{0}", $("#EgysegnyiIdopontok").attr("data-min")).replace("\{1}", $("#EgysegnyiIdopontok").attr("data-max")),
max: "@Html.Raw(FogadooraResource.EgysegnyiIdopontokMinMaxKozeKellEsnie)".replace("\{0}", $("#EgysegnyiIdopontok").attr("data-min")).replace("\{1}", $("#EgysegnyiIdopontok").attr("data-max"))
}
})
}
$("#EgysegnyiIdopontok").data("kendoNumericTextBox").bind("spin", function () {
if (this.value() < 0) {
this.value(0);
}
});
$("#EgysegnyiIdopontok").data("kendoNumericTextBox").bind("change", function () {
if (this.value() < 0) {
this.value(0);
}
});
$(".k-window-title").text("@Html.Raw(FogadooraResource.FogadooraAdatai) - @Model.FogadoOraDatuma.ToShortDateString()");
if ($("#IsRendszeressegModosithato").val() === "True") {
if ($("#Rendszeresseg").val() == "@((int) FogadooraRendszeressegEnum.EgyAlkalom)") {
$("#RendszeresFogadooraDatumaDiv").hide();
$("#EgyebGyakorisagDatePickerDiv").hide();
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').max("@((Model.FogadoOraDatuma.Date == Model.TanevUtolsoNapja.Date)?Model.TanevUtolsoNapja.AddDays(1).Date : Model.TanevUtolsoNapja.Date )");
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').value("@Model.FogadoOraDatuma.AddDays(1).Date");
}
if ($("#Rendszeresseg").val() == "@((int) FogadooraRendszeressegEnum.Egyedi)") {
$("#EgyebGyakorisagDatePickerDiv").show();
$("#RendszeresFogadooraDatumaDiv").hide();
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').max("@Model.TanevUtolsoNapja.AddDays(1).Date");
}
} else {
$("#RendszeresFogadooraDatumaDiv").hide();
$("#EgyebGyakorisagDatePickerDiv").hide();
}
$("#AddDateToFogadooraDateList").click(function () {
var selDate = $("#FogadooraEgyebGyakorisagDefaultDate").data('kendoDatePicker').value();
var isoDate = kendo.toString(selDate, "yyyy-MM-dd");
if (!FogadooraHelper.containsEgyediGyakorisagDate(isoDate)) {
FogadooraHelper.addEgyediGyakorisagDate(isoDate);
var divId = isoDate.replace('-', '').replace('-', '');
$("#datumListDiv").append('<div class="fogadooraDatumListDiv" id="' + divId + '"><label>' + isoDate + '</label><span onclick="FogadooraHelper.removeDateDivFromList(' + divId + ')" class="fa fa-close"></span></div>');
var maxDate = new Date(Math.max.apply(null, FogadooraHelper.selectEgyediGyakorisagDate(date => new Date(date + "T00:00:00.0000"))));
maxDate.setDate(maxDate.getDate() + 1);
$("#FaliujsagErvenyessegVege").data('kendoDatePicker').value(maxDate);
}
});
if ($('#IsFaliujsagonMegjelenjen').is(':checked')) {
$('#FaliujsagDetailsDiv').show();
} else {
$('#FaliujsagDetailsDiv').hide();
}
$('#IsFaliujsagonMegjelenjen').click(function () {
if ($(this).is(':checked')) {
$('#FaliujsagDetailsDiv').show();
} else {
$('#FaliujsagDetailsDiv').hide();
}
});
if ($('#IsIdosavraOsztas').is(':checked')) {
$('#EgysegnyiIdopontDiv').show();
fogadooraEgysegnyiIdopontokRules();
} else {
$('#EgysegnyiIdopontDiv').hide();
$('#EgysegnyiIdopontok').rules('remove');
}
$('#IsIdosavraOsztas').click(function () {
if ($(this).is(':checked')) {
$('#EgysegnyiIdopontDiv').show();
fogadooraEgysegnyiIdopontokRules();
} else {
$('#EgysegnyiIdopontDiv').hide();
$('#EgysegnyiIdopontok').rules('remove');
$('#EgysegnyiIdopontok-error').closest('li').css('display', 'none');
}
});
$("#JelenkezesekKezeleseReszletekDiv").hide();
if ($("#JelentkezesekKezelese").prop("checked") == true) {
$("#JelenkezesekKezeleseReszletekDiv").show();
$("#JelentkezesHataridejeDiv").show();
}
$("#JelentkezesekKezelese").change(function () {
$("#EgysegnyiIdopontok").data("kendoNumericTextBox").value("15");
$("#JelentkezesHatarideje").data('kendoComboBox').value('0');
$("#IsIdosavraOsztas").prop("checked", true);
if ($("#JelentkezesekKezelese").prop("checked") == true) {
$("#JelenkezesekKezeleseReszletekDiv").show();
$("#JelentkezesHataridejeDiv").show();
$('#EgysegnyiIdopontDiv').show();
} else {
$("#JelenkezesekKezeleseReszletekDiv").hide();
$("#JelentkezesHataridejeDiv").hide();
$("#IsIdosavraOsztas").prop("checked", false);
}
});
@if (Model.IsNemKellNemKotott)
{
<text>
if (!$("#IsNemKotottMunkaido").parent("div").parent("div").hasClass("disabledItem")) {
$("#IsNemKotottMunkaido").parent("div").parent("div").addClass("disabledItem");
$("#IsNemKotottMunkaido").prop("checked", false);
}
</text>
}
});
</script>

View file

@ -0,0 +1,100 @@
@using Kreta.Framework
@using Kreta.Web.Classes
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers
@model FoglalkozasModel
@using (Html.KretaForm("FoglalkozasForm"))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.ID)
@Html.HiddenFor(x => x.KezdeteDatum)
@Html.HiddenFor(x => x.VegeDatum)
@Html.HiddenFor(x => x.UseFoglalkozas)
<div class="container-fluid details">
@if (Model.UseFoglalkozas)
{
<div class="row">
@Html.KretaComboBoxFor(x => x.TanoranKivuliFoglalkozas, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTanoranKivuliFoglalkozasok" }), "Text", "Value", useGroup: true).AutoBind(true).Events(e => { e.Change("Foglalkozasok.OnTanoranKivuliFoglalkozasChange"); e.DataBound("Foglalkozasok.OnTanoranKivuliFoglalkozasChange"); }).RenderWithName(3, 3)
</div>
}
else
{
<div class="row">
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTanoranKivuliFoglalkozasokOsztalyList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTantargyak" })).AutoBind(true).RenderWithName(3, 3)
</div>
}
<div class="row">
@if (Model.UseFoglalkozas)
{
<div class="col-xs-3 col-sm-3">
<label class="windowInputLabel" for="TanoranKivuliFoglalkozas">@Kreta.Framework.StringResourcesUtil.GetString(33)</label>
</div>
<div class="col-xs-3 col-sm-3">
<label id="TanoranKivuliFoglalkozasTanarok"></label>
</div>
}
else
{
@Html.KretaEmpty()
}
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KezdeteLabel, 3, 3)
@Html.KretaLabelFor(x => x.VegeLabel, 3, 3)
</div>
<div class="row">
@Html.KretaTimePickerFor(x => x.Kezdete).RenderWithName(3, 3)
@Html.KretaTimePickerFor(x => x.Vege).RenderWithName(3, 3)
</div>
<h4>@StringResourcesUtil.GetString(2491)</h4>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Sorszamozando).RenderWithName(3, 3)
@Html.KretaCheckBoxFor(x => x.ParhuzamosOra).RenderWithName(3, 3)
</div>
<h4>@StringResourcesUtil.GetString(2492)</h4>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Tulora).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TAMOPOra).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.NemSzakrendszeruOra).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.KAPOra).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.VEKOP73317).Enable(false).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.KIPOra).Enable(false).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IKTTanora).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.NemzetisegiOra).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.MindennaposTestneveles).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IPRTanora).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Differencialt).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Kooperativ).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Meres).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Drama).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Tiop).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Bontott).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IsFelnottoktatasiSzerzodes).RenderWithName(2, 1)
</div>
</div>
}
<script type="text/javascript">
$(document).ready(function () {
$("#FoglalkozasForm #TanoranKivuliFoglalkozas").closest('div').addClass('disabledComboItem');
$("#FoglalkozasForm #OsztalyCsoportId").closest('div').addClass('disabledComboItem');
$("#FoglalkozasForm #TantargyId").closest('div').addClass('disabledComboItem');
$("#FoglalkozasForm #TeremID").closest('div').addClass('disabledComboItem');
});
</script>

View file

@ -0,0 +1,391 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers.Modal;
@using Kreta.Framework;
@using Kreta.Web.Security;
@using Kreta.Web.Helpers;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Resources;
@using Kreta.Web.Helpers.Grid;
@using Kreta.BusinessLogic.Classes;
@using Kreta.Core;
@using Kreta.Web.Areas.Tanar.Models;
@using Kreta.Enums.ManualEnums;
@model HaziFeladatNaplozas
@{
Layout = null;
const string HaziFeladatCsatolmanyokApi = Kreta.Web.Constants.ApiControllers.HaziFeladatCsatolmanyokApi;
const string gridName = "HFCsatolmanyGrid";
}
<style>
.uploadInfo {
font-weight: bold;
}
.uploadInfo ul > li {
margin-left: 15px;
}
.k-upload-selected {
display:none;
}
.k-button.k-clearUploadButton {
margin-left: 5px;
}
</style>
<script type="text/javascript">
var HazifeladatFileUploadHelper = (function () {
var hazifeladatFileUploadHelper = function () { };
var gridName = "@gridName";
var uploadDone = true;
var url = {
DeleteCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "DeleteCsatolmany" })",
DownloadCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "DownloadCsatolmanyFile" })",
}
var currentFilesSizeInBytes = 0;
hazifeladatFileUploadHelper.select = function (e) {
KretaFileUpload.StopAnimation();
var attachments = e.files;
var allowedFileExtensionArray = @Html.Raw(Json.Encode(Model.AllowedFileExtensions));
for (var i = 0; i < attachments.length; i++) {
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray) === -1) {
e.preventDefault();
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
return;
}
}
var usedFilesSizeInKiloBytes = parseInt("@Model.UsedFilesSizeInKiloBytes");
var maxAllowedFilesSizeInKiloBytes = parseInt("@Model.MaxAllowedFilesSizeInKiloBytes");
var usedFilesSizeInBytesTotal = parseInt("@Model.UsedFilesSizeInKiloBytesTotal");
var maxAllowedFilesSizeInKiloBytesTotal = parseInt("@Model.MaxAllowedFilesSizeInKiloBytesTotal");
currentFilesSizeInBytes += attachments.reduce((acc, curr) => acc + curr.size, 0);
if (maxAllowedFilesSizeInKiloBytes < ((currentFilesSizeInBytes / 1024) + usedFilesSizeInKiloBytes)) {
e.preventDefault();
var errorMessage = "@ErrorResource.AtlepteAHazifeladathozMegengedettFeltolthetoAdatmennyiseget";
errorMessage = errorMessage.format(
"<br />",
maxAllowedFilesSizeInKiloBytes,
(usedFilesSizeInKiloBytes).toFixed(2),
(currentFilesSizeInBytes / 1024).toFixed(2));
currentFilesSizeInBytes -= attachments.reduce((acc, curr) => acc + curr.size, 0);
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
return;
}
if (maxAllowedFilesSizeInKiloBytesTotal < ((currentFilesSizeInBytes / 1024) + (usedFilesSizeInBytesTotal / 1024))) {
e.preventDefault();
var errorMessage = "@ErrorResource.AtlepteAzOsszesenMegengedettFeltolthetoAdatmennyiseget";
errorMessage = errorMessage.format(
"<br />",
maxAllowedFilesSizeInKiloBytesTotal,
(usedFilesSizeInBytesTotal / 1024).toFixed(2),
(currentFilesSizeInBytes / 1024).toFixed(2));
currentFilesSizeInBytes -= attachments.reduce((acc, curr) => acc + curr.size, 0);
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
return;
}
$(".k-clearUploadButton").remove();
$(".k-upload-button").after('<button type="button" class="k-button k-clearUploadButton" onclick = "HazifeladatFileUploadHelper.ClearFileUpload()"> Törlés</button>');
}
hazifeladatFileUploadHelper.ClearFileUpload = function () {
$("#csatolmany").data("kendoUpload")._removeFileEntry($(".k-file"));
$(".k-clearUploadButton").remove();
}
hazifeladatFileUploadHelper.success = function (e) {
var csatolmanyId = e.response;
if (typeof csatolmanyId === "number") {
$("#CsatolmanyId").val(csatolmanyId);
}
}
hazifeladatFileUploadHelper.deleteConfirm = function (rowData) {
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanToroliSzeretneCsatolmanyt)", deleteCsatolmany, rowData.ID);
}
function deleteCsatolmany(data) {
AjaxHelper.DoPost(url.DeleteCsatolmany, data, deleteResponseOk, responseError);
}
function responseError(data) {
KretaGridHelper.refreshGrid(gridName);
AjaxHelper.ShowError(data);
}
function deleteResponseOk() {
$("#CsatolmanyId").val('');
KretaGridHelper.refreshGrid(gridName);
}
hazifeladatFileUploadHelper.download = function (rowData) {
CommonUtils.formFileDownload(url.DownloadCsatolmany, rowData.ID);
};
function responseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
hazifeladatFileUploadHelper.upload = function (e) {
uploadDone = false;
}
hazifeladatFileUploadHelper.complete = function (e) {
uploadDone = true;
}
hazifeladatFileUploadHelper.uploadIsDone = function () {
return uploadDone;
}
hazifeladatFileUploadHelper.error = function (e) {
//var err = $.parseJSON(e.XMLHttpRequest.responseText);
//KretaWindowHelper.feedbackWindow(Globalization.Hiba, err.Message.replace(CommonUtils.LineBreakRegex, '<br />'), true);
}
return hazifeladatFileUploadHelper;
})();
</script>
@Html.ValidationSummary()
<div class="container-fluid">
@Html.HiddenFor(m => m.Id)
@Html.HiddenFor(m => m.OrarendiOraId)
@Html.HiddenFor(m => m.NapDatuma)
@Html.HiddenFor(m => m.HelyettesitoId)
@Html.HiddenFor(m => m.CsatolmanyId)
<div class="row">
<div class="col-sm-6">
@Html.KretaDatePickerFor(m => m.Hatarido).Min(DateTime.Today.AddDays(1)).Max(DateTime.Parse(Kreta.Core.Constants.MinMaxValues.MaxDate)).RenderWithName(isCustomRequired: true)
</div>
<div style="float:right; padding-left: 5px;">
@if (Model.IsTanarVehetFelHazitNaplozasNelkul)
{
@Html.KretaButton(new ModalButtonModel() { Name = "haziFeladatMentes", Text = "HÁZI FELADAT MENTÉSE", Enabled = true, EventName = Model.IsHaziFeladatHelper ? "function(){ HazifeladatHelper.SaveHaziFeladat(); }" : "function(){ Naplozashelper.SaveHaziFeladat(); }" })
}
@if (Model.Id != null)
{
@Html.KretaButton(new ModalButtonModel() { Name = "haziFeladatTorles", Text = "HÁZI FELADAT TÖRLÉSE", Enabled = true, EventName = "function(){ HazifeladatHelper.DeleteHaziFeladat(); }" })
}
</div>
</div>
<div class="row">
<div class="col-sm-12">
@Html.KretaHtmlEditorFor(m => m.HaziFeladat).PasteCleanup(p => p
.Css(false)
.MsAllFormatting(false)
.Span(false)
).Events(x=>x.Paste("function(e) { HazifeladatHelper.onPasteEvent(e); }"))
</div>
</div>
@{
<div class="row">
<div class="col-sm-12">
@Html.KretaFileUpload(
"csatolmany",
Url.Action("UploadCsatolmany", "TanariOrarend"),
uploadText: CommonResource.Feltoltes,
onSelectEvent: "function(e) { HazifeladatFileUploadHelper.select(e); }",
onSuccessEvent: "function(e) { HazifeladatFileUploadHelper.success(e); }",
onUploadEvent: "function(e) { HazifeladatFileUploadHelper.upload(e); }",
onCompleteEvent: "function(e) { HazifeladatFileUploadHelper.complete(e); }",
onErrorEvent: "function(e) { HazifeladatFileUploadHelper.error(e); }",
htmlAttributes: new Dictionary<string, object> { { "accept", string.Join(", ", Model.AllowedFileExtensions) } }
)
</div>
<div class="col-sm-12">
@Html.Label(string.Format(TanarResource.KorabbanMarFeltoltottAdatmennyiseg, string.Format("{0:0.00}", CommonUtils.ConvertByteToMByte(Model.UsedFilesSizeInKiloBytesTotal))))
<br />
@Html.Label(string.Format(TanarResource.MaximalisMegengedettAdatmennyiseg, string.Format("{0:0.00}", CommonUtils.ConvertKByteToGByte(Model.MaxAllowedFilesSizeInKiloBytes))))
</div>
<div class="col-sm-12 uploadInfo">
<span>@CommonResource.MegengedettTipusok</span>
<ul>
<li>.txt, .pdf, .doc, .docx</li>
<li>.xls, .xlsx</li>
<li>.ppt, .pptx</li>
<li>.bmp, .jpg, .jpeg, .png</li>
<li>.rar, .zip</li>
</ul>
</div>
</div>
if (Model.Id.IsEntityId())
{
<div class="row">
<div class="col-sm-12" id="sumHaziFeladatCsatolmanyokGridDiv">
<a id="haziFeladatCsatolmanyokIcon" class="k-icon k-plus" href="#"></a>
<label class="windowInputLabel">@OrarendResource.CsatoltAllomanyok:</label>
</div>
<script>
$(document).ready(function () {
$("#sumHaziFeladatCsatolmanyokGridDiv").click(function () {
if ($("#haziFeladatCsatolmanyokGridDiv").hasClass("displayNone")) {
$("#haziFeladatCsatolmanyokGridDiv").removeClass("displayNone");
$("#haziFeladatCsatolmanyokIcon").removeClass("k-plus").addClass("k-minus");
}
else {
$("#haziFeladatCsatolmanyokGridDiv").addClass("displayNone");
$("#haziFeladatCsatolmanyokIcon").removeClass("k-minus").addClass("k-plus");
}
});
});
</script>
</div>
<div class="row displayNone" id="haziFeladatCsatolmanyokGridDiv">
<div class="col-sm-12">
@(
Html.KretaGrid<HFCsatolmanyGridModel>
(
gridName,
new GridApiUrl(HaziFeladatCsatolmanyokApi, "GetHFCsatolmanyokGridForHazi",
new Dictionary<string, string>
{
{ "haziFeladatId", Model.Id.ToString() }
}),
allowScrolling: true,
showSorszam: false,
sort: sort => sort.Add(s => s.FeltoltesDatum).Ascending()
)
.Columns(columns =>
{
columns.Bound(c => c.FajlNev).Width("30%");
columns.Bound(c => c.FajlMeretMB).Format("{0:n}").Width("30%");
columns.Bound(c => c.FeltoltesDatum).Width("30%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Torles,
ClientAction= "HazifeladatFileUploadHelper.deleteConfirm",
IconEnum = GridRowFunctionIconEnum.Torles
}
})
.RowFunction(Html, new List<RowFunction>
{
new RowFunction
{
Name = CommonResource.Letoltes,
ClientAction= "HazifeladatFileUploadHelper.download",
IconEnum = GridRowFunctionIconEnum.Letoltes
}
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
</div>
}
}
</div>
<script type="text/javascript">
var HazifeladatHelper = (function () {
var hazifeladatHelper = function () { };
var tanarHaziFeladatId = parseInt("@Model.Id");
if (isNaN(tanarHaziFeladatId)) { tanarHaziFeladatId = null; }
var saveURL = '@Url.HttpRouteUrl("ActionApi", new {controller = "TanariOrarendApi", action = "SaveHaziFeladatFromDetail" })';
hazifeladatHelper.getModel = function () { return getModel(); };
hazifeladatHelper.onTabActiv = function () { refreshEditor(); };
hazifeladatHelper.SaveHaziFeladat = function () {
if (!HazifeladatFileUploadHelper.uploadIsDone()) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.ACsatolmanyFeltolteseNemFejezedottBeBiztosanFolytatja)", function () { saveHazi(); });
} else {
saveHazi();
}
}
function saveHazi() {
var model = getModel();
AjaxHelper.DoPost(saveURL, model, function (data) { sikeresHazifeladatMentes(data); });
}
function sikeresHazifeladatMentes(data) {
var csatolmanyElement = $("#csatolmany");
var fileuploadbutton = $('.k-upload-selected');
if (data.HazifeladatId > 0 && csatolmanyElement.length > 0 && fileuploadbutton.length > 0) {
var uploader = csatolmanyElement.data("kendoUpload");
uploader.bind("upload", function (e) { AjaxHelper.ShowIndicator(); e.data = { hfId: data.HazifeladatId } });
uploader.bind("complete", function (e) { AjaxHelper.HideIndicator(); KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow(); });
uploader.bind("error", function (e) { alert("Sikertelen file feltöltés!") });
setTimeout(function () { fileuploadbutton.click(); }, 1); /*set timeout kiveszi a fuggvényt a post success ágából és így külön fel tudjuk dobni neki busy indikatort*/
} else {
KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow();
}
}
hazifeladatHelper.DeleteHaziFeladat = function () {
var model = {
"Id": $("#Id").val()
,"OrarendiOraId": $("#OrarendiOraId").val()
, "TanitasiOraId" : "@Model.TanitasiOraId"
};
AjaxHelper.DoPost(saveURL, model, function () { KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow(); });
}
function getModel() {
var hatarido = null;
if ($("#Hatarido").data("kendoDatePicker").value() != null) {
hatarido = moment.utc(kendo.parseDate($("#Hatarido").data("kendoDatePicker").value(), "u")).local().format();
}
else {
if ($("#Hatarido").val()) {
hatarido = new Date(($("#Hatarido").val()).replaceAll('.','-'));
}
}
var model = {
"HaziFeladat": $("#HaziFeladat").data("kendoEditor").value(),
"Hatarido": hatarido,
"Id": $("#Id").val(),
"OrarendiOraId": $("#OrarendiOraId").val(),
"NapDatuma": $("#NapDatuma").val(),
"HelyettesitoId": $("#HelyettesitoId").val(),
"CsatolmanyId": $("#CsatolmanyId").val(),
"IsElmaradt": "@Model.IsElmaradt",
"TanitasiOraId" : "@Model.TanitasiOraId"
};
return model;
}
function refreshEditor() {
$("#HaziFeladat").getKendoEditor().refresh();
}
hazifeladatHelper.onPasteEvent = function (e) {
if ((/^<img src="data:image/).test(e.html)) {
e.html = "";
}
}
return hazifeladatHelper;
})();
</script>

View file

@ -0,0 +1,20 @@
@using Kreta.Framework;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers;
@using Kreta.Enums.ManualEnums;
@using Kreta.Web.Security;
@using Kreta.Web.Areas.Kerdoiv.Controllers;
@model TanariOrarendModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@section AddCss {
@Styles.Render(Constants.General.TanuloErtekelesCSS)
@Styles.Render(Constants.General.FeljegyzesekCSS)
@Styles.Render(Constants.General.NaplozasAutoFeljegyzesCSS)
}
@{
Html.RenderPartial("Orarend", Model);
}

View file

@ -0,0 +1,13 @@
@using Kreta.Web.Areas.Orarend.Models
@model DigitalisOktatasModel
<div class="row">
@Html.KretaLabelFor(x => x.DigEszkozTipusString, 9, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.DigPlatformTipusString, 9, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.DigTamEszkozTipusString, 9, 3)
</div>

View file

@ -0,0 +1,24 @@
@using Kreta.Web.Helpers.Modal;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Framework
@model HaziFeladatInfo
@{
Layout = null;
}
<div class="container-fluid">
<div>
<div class="panel panel-primary">
<div class="panel-heading" style="padding-top:0px">
<div style="display:inline-block; padding-top:10px;">@( Model.TanarHaziFeladat.FeladasDatuma.ToShortDateString() + " " + Model.TanarHaziFeladat.TanarNev)</div>
</div>
<div class="panel-body">
@Html.RawRichText(Model.TanarHaziFeladat.FeladatSzovege) @*ide kell*@
</div>
@if (Model.TanarHaziFeladat.Hatarido != null && Model.TanarHaziFeladat.Hatarido != default(DateTime))
{
<div class="panel-footer">@(OrarendResource.Hatarido + ": " + Model.TanarHaziFeladat.Hatarido.Value.ToShortDateString())</div>
}
</div>
</div>
</div>

View file

@ -0,0 +1,89 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Classes;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Framework;
@model MulasztasInfo
@{ Layout = null; }
@{
var grid = Html.KretaGrid<MulasztasNaplozasGrid>
(
name: "MulasztasokNaplozasaGrid",
getUrl: new GridApiUrl("TanariOrarendApi", "GetMulasztasokForInfo",
new Dictionary<string, string>
{
{"osztalycsoportId", Model.OsztalyCsoportId.HasValue ? Model.OsztalyCsoportId.Value.ToString() : "-1"},
{"tanoraId", Model.isTanora && Model.TanoraId.HasValue ? Model.TanoraId.Value.ToString() : "-1"},
{"targyId", Model.TargyId.HasValue ? Model.TargyId.Value.ToString() : "-1"},
{"tanarId", Model.TanarId.HasValue ? Model.TanarId.Value.ToString() :"-1"},
{"oraKezdete", Model.OraKezdete.ToString()},
{"oraVege", Model.OraVege.ToString()}
}),
allowFilterable: false
)
.Columns(columns =>
{
columns.Bound(m => m.TanuloNev);
columns.Bound(m => m.MulasztasTipus_DNAME);
columns.Bound(m => m.KesesIdo);
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
grid.Columns(c => c.Template(t => t.ToString()).Title("").ClientTemplate(
@"
<div style='display: table;'>
<div class='autoFeljegyzesTable' style='display: table-row'>
<div style='display: table-cell;'>
<div title='" + OrarendResource.HazifeladatHiany + @"' class=' fejlegyezesImgDefault # if(HaziFeladatHiany_BOOL) { #haziFeladatHianyRed# } else { #haziFeladatHiany# } #' >
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.FelszerelesHiany + @"' class=' fejlegyezesImgDefault # if(FelszerelesHiany_BOOL) { #felszerelesHianyRed# } else { #felszerelesHiany# } #' >
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.Felmentes + @"' class=' fejlegyezesImgDefault # if(Felmentes_BOOL) { #felmentesOrange# } else { #felmentes# } #' >
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.TanoraiDicseret + @"' class=' fejlegyezesImgDefault # if(TanoraiDicseret_BOOL) { #dicseretGreen# } else { #dicseret# } #' >
</div>
</div>
</div>
</div>
"
));
}
@(grid)
<script type="text/javascript">
$(document).ready(function () {
$(".kendoTooltip").kendoTooltip({
content: kendo.template($("#kendoTooltip-template").html()),
position: "top",
show: function () {
var that = this;
var tooltips = $("[data-role=tooltip]");
tooltips.each(function () {
var tooltip = $(this).data("kendoTooltip");
if (tooltip && tooltip !== that) {
tooltip.hide();
}
});
}
});
});
</script>
@Html.KretaTooltipTemplate("kendoTooltip-template",
@"<div class='kendoTooltip'>
<div ><strong>Gondviselő neve: </strong>#:target.data('gondviselo')#</div>
</br>
<div><strong>Gondviselő telefonszáma: </strong>#:target.data('gondviselotelszam')#</div>
</div>"
)

View file

@ -0,0 +1,173 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Framework;
@model TanoraAdataiInfo
@{
Layout = null;
}
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(m => m.OsztalyCsoportNev, 3, 3)
@Html.KretaLabelFor(m => m.OratartamEsOraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.TantargyNev, 3, 3)
@Html.KretaLabelFor(m => m.Oraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.TanarNev, 3, 3)
@Html.KretaLabelFor(m => m.MegtartottString, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.TeremNev, 3, 3)
@Html.KretaLabelFor(m => m.Tema, 3, 3)
</div>
<div class="row">
@if (Model.Megtartott.HasValue && Model.Megtartott.Value == true)
{
@Html.KretaLabelFor(m => m.Sorszamozando_BNAME, 3, 3)
}
@if (Model.Sorszamozando)
{
@Html.KretaLabelFor(m => m.EvesOraSorszam, 3, 3)
}
</div>
<div class="row">
@Html.KretaTimePickerFor(m => m.OraKezdete).Enable(false).RenderWithName(3, 3)
@Html.KretaTimePickerFor(m => m.OraVege).Enable(false).RenderWithName(3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.Megjegyzes, 6, 6)
</div>
@*OpenBoard Képek*@
@if (Model.OpenBoardFiles.Count > 0)
{
<h4>@StringResourcesUtil.GetString(8369)</h4>
<div class="row col-xs-12" id="OpenBoardFiles">
@Html.KretaCheckBoxListForOpenBoardKepek("OpenBoardFiles", Model.OpenBoardFiles, 10)
</div>
}
@*A tanóra tulajdonságai*@
<h4>@OrarendResource.ATanoraTulajdonsagai</h4>
<h5 style="font-weight: bold;">@OrarendResource.Altalanos</h5>
<div class="row">
@Html.KretaLabelFor(x => x.Tulora_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.IKTTanora_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.IPRTanora_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Meres_BNAME, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Bontott_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.NemzetisegiOra_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Differencialt_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Drama_BNAME, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.ParhuzamosOra_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.MindennaposTestneveles_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Kooperativ_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Multikulturalis_BNAME, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.NemSzakrendszeruOra_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.IsFelnottoktatasiSzerzodes_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.OnlineOra_BNAME, 2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.Efop311119ProjektPedagogus</h5>
<div class="row">
@Html.KretaLabelFor(x => x.TanevTananyaganakIsmetlese, 2, 1)
@Html.KretaLabelFor(x => x.TanevTananyaganakKiegeszitese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokDigitalisKeszsegfejlesztese, 2, 1)
@Html.KretaLabelFor(x => x.Projektmunka, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TanulokKompenzaciosIraskeszsegFejlesztese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokKompenzaciosOlvasasiKepessegFejlesztese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokNyelviKepessegenekKompenzaciosFejlesztese, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TanulokOnmegismeresenekSegitese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokOnallosagraNevelese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokOrientaciosTamogatasa, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TanulokSzocialitasanakFejlesztese, 2, 1)
@Html.KretaLabelFor(x => x.TanulokTovabbhaladasatElokeszitoTevekenysegek, 2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.Efop311119ProjektNOKS</h5>
<div class="row">
@Html.KretaLabelFor(x => x.PedagogusAltalJelzettEgyeniEsetkezeles, 2, 1)
@Html.KretaLabelFor(x => x.ProjektmunkaTamogatasa, 2, 1)
@Html.KretaLabelFor(x => x.DigitalisKeszsegfejlesztes, 2, 1)
@Html.KretaLabelFor(x => x.KozossegiMunkaTamogatasa, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TanoraElokeszitesenekTamogatasa, 2, 1)
@Html.KretaLabelFor(x => x.TanoraLebonyolitasanakTamogatasa, 2, 1)
@Html.KretaLabelFor(x => x.NapkozisTevekenysegKeretebenEgyeniFejlesztes, 2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.KomplexAlapProgram</h5>
<div class="row">
@Html.KretaLabelFor(x => x.DFHT_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Rahangolodas_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Testmozgas_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Muveszet_BNAME, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.KIPOra_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.KomplexOra_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Eletgyakorlat_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Logika_BNAME, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.TeOrad_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.DigitalisAlapProgram_BNAME, 2, 1)
</div>
<h5 style="font-weight: bold;">@OrarendResource.EgyebPalyazat</h5>
<div class="row">
@Html.KretaLabelFor(x => x.TAMOPOra_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.Tiop_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.EFOP32317_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.EFOP33717_BNAME, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.VEKOP73317_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.TIOP11112120120001_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.EFOP31716EselyteremtesAKoznevelesben_BNAME, 2, 1)
@Html.KretaLabelFor(x => x.GINOP623_BNAME, 2, 1)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.EFOP23517201700038Miapalya_BNAME, 2, 1)
</div>
@if (Model.Helyettesites)
{
<h4 style="padding-top:30px;">@OrarendResource.HelyettesitesAdatai</h4>
<div class="row">
@Html.KretaLabelFor(m => m.HelyettesitesString, 2, 2)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.HelyettesitoTanar, 2, 2)
@Html.KretaLabelFor(m => m.HelyettesitesTipusa, 2, 2)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.HelyettesitesOka, 3, 9)
</div>
}
</div>
<style type="text/css">
.k-checkbox-label-inline {
display: inline-block;
}
</style>

View file

@ -0,0 +1,56 @@
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Areas.Tantargy.Models;
@using Kreta.BusinessLogic.Classes;
@model TanorakSearchModel
<div>
@(
Html.KretaGrid<TanorakGridModel>(
name: "TanorakGrid",
getUrl: new GridApiUrl(Constants.ApiControllers.TanorakApi, "GetTanorakGridForNaplozas",
new Dictionary<string, string>
{
{ "osztalyCsoportId", Model.OsztalyCsoportId.ToString() },
{ "tantargyId", Model.TantargyId.ToString() },
{ "oraKezdete", Model.OraKezdete.ToString() }
}),
sort: sort => sort.Add(m => m.OraKezdete).Descending()
)
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "KorabbiOrakNaplozasiAdataiHelper.getExport" }
})
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.OraKezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime]);
columns.Bound(c => c.OraSorsz).Width("10%");
columns.Bound(c => c.EvesSorsz).Width("10%");
columns.Bound(c => c.TanarNev);
columns.Bound(c => c.Tema);
columns.Bound(c => c.NaplozasDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDateAndTime]);
})
)
</div>
<script type="text/javascript">
var KorabbiOrakNaplozasiAdataiHelper = (function () {
var korabbiOrakNaplozasiAdataiHelper = function () { }
var gridName = "TanorakGrid";
var url = {
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.TanorakApi, action = "GetExport" })"
};
korabbiOrakNaplozasiAdataiHelper.getExport = function () {
var data = {
osztalyCsoportId: @Model.OsztalyCsoportId.ToString(),
tantargyId: @Model.TantargyId.ToString()
};
KretaGridHelper.getExport(gridName, url.GetExport, data)
}
return korabbiOrakNaplozasiAdataiHelper;
})()
</script>

View file

@ -0,0 +1,514 @@
@using Kreta.Enums
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Framework
@model MulasztasNaplozas
@{ Layout = null; }
<style type="text/css">
#ElozoOraAdatai {
cursor: pointer;
}
.mulasztasGridColumnHeader {
cursor: pointer;
float: left;
width: 50px;
text-align: center;
}
.mulasztasGridColumnHeaderJelen {
padding: 2px 10px 4px 10px;
margin-top: 2px;
color: #FFFFFF;
border: 1px solid #C5D3E2;
background-color: #54A5D1;
}
.mulasztasGridColumnHeaderPotlas,
.mulasztasGridColumnHeaderSzabadsag,
.mulasztasGridColumnHeaderBetegszabadsag,
.mulasztasGridColumnHeaderTappenz {
padding: 2px 0px 4px 0px;
margin-top: 2px;
margin-left: 4px;
color: #5C6A79;
border: 1px solid #C5D3E2;
width: 75px;
}
.mulasztasGridColumnHeaderBetegszabadsag {
width: 110px;
}
.mulasztasGridColumnHeaderSzabadsag {
margin-left: 10px;
}
.mulasztasGridColumnHeaderUres {
padding: 2px 10px 4px 10px;
margin-top: 2px;
margin-left: 4px;
color: #5C6A79;
border: 1px solid #C5D3E2;
width: 80px;
}
.k-grid-header th.k-header.mulasztasGridColumnHeaderTh {
padding-bottom: 2px !important;
}
#MulasztasokNaplozasaGrid .k-numeric-wrap {
width: 25%;
}
</style>
@using (Html.KretaForm("MulasztasokNaplozasaForm"))
{
<div class="container-fluid">
@if (Model.isElozoOraTemaNeeded)
{
@Html.HiddenFor(m => m.ElozoOraTema)
}
@if (Model.isElozoOraTemaNeeded || Model.IsHetesekAdataiVisible)
{
<div class="row">
@if (Model.isElozoOraTemaNeeded)
{
@Html.KretaLabelFor(m => m.ElozoOraAdatai, 1, 7, true, "ElozoOraAdatai")
}
else
{
<div class="col-xs-8 col-sm-8 col-md-8"></div>
}
@if (Model.IsHetesekAdataiVisible)
{
@Html.KretaLabelFor(m => m.Hetesek, 2, 2)
}
</div>
}
@if (Model.IsSzamonkeresAdataiVisible)
{
<div class="row">
@Html.KretaLabelForWithoutName(m => m.SzamonkeresAdatai, 0, 12)
</div>
}
@if (Model.SzervezetTipusId_MulasztasNaplozas.HasValue)
{
<div class="row">
@Html.KretaComboBoxFor(m => m.TanulasiEgysegId, Model.TanulasiEgysegList).Placeholder(OrarendResource.KeremAdjaMegAzOraTemajat).AutoBind(true).RenderWithName(1, 7)
@if (Model.IsSorszamozando)
{
@Html.KretaLabelFor(m => m.EvesOraSorszam, 2, 2, true, "EvesOraSorszamLabelNaplozas")
}
</div>
<div class="row">
@Html.KretaComboBoxFor(m => m.TemaTanmenetId, Model.TemaList, isCustomAllowed: false).Placeholder(OrarendResource.KeremAdjaMegAzOraTemajat).AutoBind(true).RenderWithName(1, 7)
<div class="col-sm-3">
@Html.KretaButton("TemaBeszurButton", CommonResource.Beszur, clickEventName: "TanariOrarend.TemaBeszurasButtonClick")
</div>
</div>
<div class="row">
@Html.KretaTextAreaFor(m => m.Tema, rows: 6, htmlAttributes: new Dictionary<string, object> { { "class", "k-textbox" } }).RenderWithName(1, 7)
</div>
}
else
{
<div class="row">
@Html.KretaComboBoxFor(m => m.Tema, Model.TemaList, isCustomAllowed: true).Placeholder(OrarendResource.KeremAdjaMegAzOraTemajat).AutoBind(true).RenderWithName(1, 7)
@if (Model.IsSorszamozando)
{
@Html.KretaLabelFor(m => m.EvesOraSorszam, 2, 2, true, "EvesOraSorszamLabelNaplozas")
}
</div>
}
@if ((Model.JogviszonySzunetletetokDb.HasValue && Model.JogviszonySzunetletetokDb.Value > 0) || (Model.SzakmaiGyakorlatonLevokDb.HasValue && Model.SzakmaiGyakorlatonLevokDb.Value > 0))
{
<div class="row">
@if (Model.JogviszonySzunetletetokDb.HasValue && Model.JogviszonySzunetletetokDb.Value > 0)
{
@Html.KretaLabelFor(m => m.JogviszonySzunetletetokDb, 3, 3, true, "JogviszonySzunetletetoDb")
}
@if (Model.SzakmaiGyakorlatonLevokDb.HasValue && Model.SzakmaiGyakorlatonLevokDb.Value > 0)
{
@Html.KretaLabelFor(m => m.SzakmaiGyakorlatonLevokDb, 3, 3, true, "SzakmaiGyakorlatonLevoDb")
}
</div>
}
</div>
}
@{
var grid = Html.KretaGrid<MulasztasNaplozasGrid>
(
name: "MulasztasokNaplozasaGrid",
getUrl: new GridApiUrl(Model.SzervezetTipusId_MulasztasNaplozas.HasValue ? Constants.ApiControllers.DualisTanariOrarendApi : Constants.ApiControllers.TanariOrarendApi, "GetMulasztasokForDetail",
new Dictionary<string, string> {
{ "osztalycsoportId", Model.OsztalyCsoportId.HasValue ? Model.OsztalyCsoportId .Value.ToString() : "-1" },
{ "tanoraId", Model.isTanora && Model.TanoraId.HasValue ? Model.TanoraId.Value.ToString() :"-1" },
{ "targyId", Model.TargyId.HasValue ? Model.TargyId.Value.ToString() :"-1" },
{ "tanarId", Model.TanarId.HasValue ? Model.TanarId.Value.ToString() :"-1" },
{ "oraKezdete", Model.OraKezdete.ToString() },
{ "oraVege", Model.OraVege.ToString() },
{ "hianyzokAutoKitoltes", Model.HianyzokAutoKitoltes.ToString() }
}),
allowFilterable: false,
allowPaging: false,
pageSizes: null,
allowScrolling: false,
dataBoundAdditionalFunction: "MulasztasHelper.dataBoundAdditionalFunction();"
)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn));
grid.Columns(c => c.Template(t => t.ToString()).Title(StringResourcesUtil.GetString(455/*Tanuló neve*/)).ClientTemplate(
@"
#if ((Igazolt != null && Igazolt_BOOL == true) || OraMentesseg_BOOL == true || elozoOranHianyzott == true || (Oka!= null && Oka.includes('" + OrarendResource.Magantanulo + "')) || (Oka != null && Oka != '')) { # " +
"<div title='#if (Oka != null) { # #:Oka# # } # #if (elozoOranHianyzott == true) { # Az előző órán hiányzott! # } #'> <span class='kendoTooltipMulasztasTanuloNev' data-gondviselo='#:GondviseloNev#' data-gondviselotelszam='#:GondviseloTelSzam#'data-amifotargy='#: AmiFotargyId_DNAME #' data-amitagozat='#: AmiTagozatId_DNAME #' data-amitantargykotelezoseg='#: AmiTantargyKotelezosegId_DNAME #' data-evfolyam='#: EvfolyamId_DNAME #' > #:TanuloNev# </span><i class='fa fa-exclamation-triangle' ></i></div>"
+ @"# } " +
@"
else if ((Igazolt == null || Igazolt_BOOL == false) && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
"<span class='kendoTooltipMulasztasTanuloNev' data-gondviselo='#:GondviseloNev#' data-gondviselotelszam='#:GondviseloTelSzam#'data-amifotargy='#: AmiFotargyId_DNAME #' data-amitagozat='#: AmiTagozatId_DNAME #' data-amitantargykotelezoseg='#: AmiTantargyKotelezosegId_DNAME #' data-evfolyam='#: EvfolyamId_DNAME #' > #:TanuloNev# </span>"
+ @"# } #"
));
grid.Columns(c => c.Template(t => t.ToString()).Title(OrarendResource.MulasztasSzazalek).ClientTemplate(
@"
#if(MulasztasSzazalek >= 20 && MulasztasSzazalek < 30) { #
<span style='color: rgb(227, 159, 11); font-weight: bold;' class='kendoTooltipMulasztasSzazalek' data-mulasztasossz='#:MulasztasOsszCnt#' data-mulasztashiany='#:MulasztasHianyCnt#' data-mulasztasmegtartott='#:MulasztasMegtartottCnt#' data-mulasztasmegtarthato='#:MulasztasMegtarthatoCnt#'> #:MulasztasSzazalek#%</span>
# } else if(MulasztasSzazalek >= 30) { #
<span style='color: red; font-weight: bold;' class='kendoTooltipMulasztasSzazalek' data-mulasztasossz='#:MulasztasOsszCnt#' data-mulasztashiany='#:MulasztasHianyCnt#' data-mulasztasmegtartott='#:MulasztasMegtartottCnt#' data-mulasztasmegtarthato='#:MulasztasMegtarthatoCnt#'> #:MulasztasSzazalek#%</span>
# } else { #
<span class='kendoTooltipMulasztasSzazalek' data-mulasztasossz='#:MulasztasOsszCnt#' data-mulasztashiany='#:MulasztasHianyCnt#' data-mulasztasmegtartott='#:MulasztasMegtartottCnt#' data-mulasztasmegtarthato='#:MulasztasMegtarthatoCnt#'> #:MulasztasSzazalek#%</span>
# } #
"
));
grid.Columns(c => c.Template(t => t.ToString()).HeaderHtmlAttributes(new { @class = "mulasztasGridColumnHeaderTh" }).Title(@"<div>
<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderJelen' onclick='TanariOrarend.ChangeAllJelenletValue(" + (int)MulasztasTipusEnum.jelenlet + ");'>" + OrarendResource.Jelenlet + @"</div>
<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderUres' onclick='TanariOrarend.ChangeAllJelenletValue();' title='" + OrarendResource.UresToolTip + @"'>" + OrarendResource.UresVagyDigit + @"</div>"
+ (Model.SzervezetTipusId_MulasztasNaplozas.HasValue ? @"<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderPotlas' onclick='TanariOrarend.ChangeAllJelenletValue(" + (int)MulasztasTipusEnum.potlas + ");'>" + OrarendResource.Potlas + @"</div></div>" : @"</div>")
+ (Model.SzervezetTipusId_MulasztasNaplozas.HasValue ? @"<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderSzabadsag' onclick='TanariOrarend.ChangeAllJelenletValue(" + (int)MulasztasTipusEnum.szabadsag + ");'>" + OrarendResource.Szabadsag + @"</div></div>" : @"</div>")
+ (Model.SzervezetTipusId_MulasztasNaplozas.HasValue ? @"<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderTappenz' onclick='TanariOrarend.ChangeAllJelenletValue(" + (int)MulasztasTipusEnum.tappenz + ");'>" + OrarendResource.Tappenz + @"</div></div>" : @"</div>")
+ (Model.SzervezetTipusId_MulasztasNaplozas.HasValue ? @"<div class='mulasztasGridColumnHeader mulasztasGridColumnHeaderBetegszabadsag' onclick='TanariOrarend.ChangeAllJelenletValue(" + (int)MulasztasTipusEnum.betegszabadsag + ");'>" + OrarendResource.Betegszabadsag + @"</div></div>" : @"</div>")
).ClientTemplate(
@"
#if (Igazolt == null && OraMentesseg_BOOL == true) { # " +
grid.SelectForColumnTemplate(Html.For<MulasztasNaplozasGrid>(), x => x.MulasztasTipus, Model.FelmentettJelenletList)
+ @"# } #" +
@"
#if (Igazolt == null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
grid.SelectForColumnTemplate(Html.For<MulasztasNaplozasGrid>(), x => x.MulasztasTipus, Model.JelenletList, customClickFunctionName: "MulasztasHelper.changeMulsztasTipus")
+ @"# } #" +
@"
#if (Igazolt != null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
"#: MulasztasTipus_DNAME #" +
@"<input type='hidden' value='#: MulasztasTipus #' name='MulasztasokNaplozasaGrid_MulasztasTipus_#: ID#' id='MulasztasokNaplozasaGrid_MulasztasTipus_#:ID#' data-rowinputname='MulasztasTipus'>"
+ @"# } #"
));
grid.Columns(c => c.Template(t => t.ToString()).Title(StringResourcesUtil.GetString(2563/*Késés(perc)*/)).ClientTemplate(
@"
#if (Igazolt == null && OraMentesseg_BOOL == true) { # " + ""
+ @"# } #" +
@"
#if (Igazolt == null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false)) { # " +
grid.NumericBoxForColumnTemplate(Html, m => m.KesesIdo, 0, Model.MaxKeses, 0)
+ @"# } #" +
@"
#if (Igazolt != null && (OraMentesseg_BOOL == null || OraMentesseg_BOOL == false) && KesesIdo != null) { # " +
"#: KesesIdo #" +
"<input data-numericboxgroup='MulasztasokNaplozasaGrid_KesesIdo' data-rowinputname='KesesIdo' id='MulasztasokNaplozasaGrid_KesesIdo_#: ID#' max='44' min='0' name='MulasztasokNaplozasaGrid_KesesIdo_#: ID#' step='1' type='hidden' value='#: KesesIdo #' data-role='numerictextbox' role='spinbutton' class='k-input' aria-valuemin='0' aria-valuemax='44' aria-valuenow='#: KesesIdo #' aria-disabled='false' aria-readonly='false'>"
+ @"# } #"
));
grid.Columns(c => c.Template(t => t.ToString()).Title("").ClientTemplate(
@"
<div style='display: table;'>
<div class='autoFeljegyzesTable' style='display: table-row'>
<div style='display: table-cell;'>
<div title='" + OrarendResource.HazifeladatHiany + @"' class='haziFeladatHianyFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(HaziFeladatHiany_BOOL) { #haziFeladatHianyRed# } else { #haziFeladatHiany# } #' data-haziFeladatHiany='# if(HaziFeladatHiany_BOOL) { #true# } else { #false# } #' data-haziFeladatHianyId='#: HaziFeladatHianyId #'>
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.FelszerelesHiany + @"' class='felszerelesHianyFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(FelszerelesHiany_BOOL) { #felszerelesHianyRed# } else { #felszerelesHiany# } #' data-felszerelesHiany='# if(FelszerelesHiany_BOOL) { #true# } else { #false# } #' data-felszerelesHianyId='#: FelszerelesHianyId #'>
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.Felmentes + @"' class='felmentesFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(Felmentes_BOOL) { #felmentesOrange# } else { #felmentes# } #' data-felmentes='# if(Felmentes_BOOL) { #true# } else { #false# } #' data-felmentesId='#: FelmentesId #'>
</div>
</div>
<div style='display: table-cell;'>
<div title='" + OrarendResource.TanoraiDicseret + @"' class='tanoraiDicseretFeljegyzes autoFeljegyezes fejlegyezesImgDefault # if(TanoraiDicseret_BOOL) { #dicseretGreen# } else { #dicseret# } #' data-tanoraiDicseret='# if(TanoraiDicseret_BOOL) { #true# } else { #false# } #' data-tanoraiDicseretId='#: TanoraiDicseretId #'>
</div>
</div>
</div>
</div>
"
).Visible(!Model.SzervezetTipusId_MulasztasNaplozas.HasValue));
}
@(grid)
<script type="text/javascript">
var MulasztasHelper = (function () {
var mulasztasHelper = function () { };
mulasztasHelper.getModel = function () { return getModel("MulasztasokNaplozasaForm", "MulasztasokNaplozasaGrid"); }
function getModel(formName, gridName) {
var model = { "TemaTanmenetId": null, "Tema": "", "MulasztasList": [] };
var form = $("#" + formName).toObject();
var grid = KretaGridHelper.getAllRowsWithDataAttribute(gridName, ["haziFeladatHiany", "felszerelesHiany", "felmentes", "tanoraiDicseret", "haziFeladatHianyId", "felszerelesHianyId", "felmentesId", "tanoraiDicseretId"]);
model.TemaTanmenetId = form.TemaTanmenetId;
model.Tema = form.Tema;
model.TanulasiEgysegId = form.TanulasiEgysegId;
$.each(grid, function () {
var mulasztas = {
"MulasztasRowId": null, "TanuloId": 0, "MulasztasTipus": 0, "Keses": null
, "HazifeladatHiany": null, "FelszerelesHiany": null, "Felmentes": null, "TanoraiDicseret": null
, "HazifeladatHianyId": 0, "FelszerelesHianyId": 0, "FelmentesId": 0, "TanoraiDicseretId": 0
};
mulasztas.MulasztasRowId = this.MulasztasId;
mulasztas.TanuloId = this.ID;
mulasztas.MulasztasTipus = this.ki_MulasztasTipus;
mulasztas.Keses = this.ki_KesesIdo;
mulasztas.HazifeladatHiany = this.ki_haziFeladatHiany
mulasztas.FelszerelesHiany = this.ki_felszerelesHiany;
mulasztas.Felmentes = this.ki_felmentes;
mulasztas.TanoraiDicseret = this.ki_tanoraiDicseret;
mulasztas.HazifeladatHianyId = this.ki_haziFeladatHianyId
mulasztas.FelszerelesHianyId = this.ki_felszerelesHianyId;
mulasztas.FelmentesId = this.ki_felmentesId;
mulasztas.TanoraiDicseretId = this.ki_tanoraiDicseretId;
model.MulasztasList.push(mulasztas);
});
return model;
}
mulasztasHelper.setOraTemaja = function () {
$("input[name = 'Tema_input']").val($("#ElozoOraTema").val());
$("input[name = 'Tema_input']").focus();
}
mulasztasHelper.changeMulsztasTipus = function (data) {
if (($(data).attr('val') == "@(((int)MulasztasTipusEnum.keses).ToString())" || $(data).attr('val') == "@(((int)MulasztasTipusEnum.potlas).ToString())")
&& $(data).hasClass("activebar"))
{ return; }
var itemId = $(data).closest('div').parent('div').attr("id");
var kesesPrefix = "MulasztasokNaplozasaGrid_KesesIdo_";
var divPrefix = "divMulasztasokNaplozasaGrid_MulasztasTipus_";
var itemNumber = itemId.toString().replace(divPrefix, '');
var kendoKeses = $("#" + kesesPrefix + itemNumber).data("kendoNumericTextBox");
if (typeof (kendoKeses) !== "undefined") {
kendoKeses.value(null);
}
}
mulasztasHelper.dataBoundAdditionalFunction = function () {
DocumentReadyHelper.documentReadyBindings();
if (CommonUtils.parseBool("@Model.IsAmi.ToString()") === true)
{
KretaTooltipHelper.setTooltip($(".kendoTooltipMulasztasTanuloNev"), "#kendoTooltip-mulasztasTanuloNevAmiTemplate");
} else {
KretaTooltipHelper.setTooltip($(".kendoTooltipMulasztasTanuloNev"), "#kendoTooltip-mulasztasTanuloNevTemplate");
}
KretaTooltipHelper.setTooltip($(".kendoTooltipMulasztasSzazalek"), "#kendoTooltip-mulasztasSzazalekTemplate");
$(".haziFeladatHianyFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-hazifeladatHiany') == "true");
if (!active) { $this.addClass("haziFeladatHianyRed").removeClass("haziFeladatHiany"); }
else { $this.addClass("haziFeladatHiany").removeClass("haziFeladatHianyRed"); }
$this.attr('data-hazifeladatHiany', !active);
});
$(".felszerelesHianyFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-felszerelesHiany') == "true");
if (!active) { $this.addClass("felszerelesHianyRed").removeClass("felszerelesHiany"); }
else { $this.addClass("felszerelesHiany").removeClass("felszerelesHianyRed"); }
$this.attr('data-felszerelesHiany', !active);
});
$(".felmentesFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-felmentes') == "true");
if (!active) { $this.addClass("felmentesOrange").removeClass("felmentes"); }
else { $this.addClass("felmentes").removeClass("felmentesOrange"); }
$this.attr('data-felmentes', !active);
});
$(".tanoraiDicseretFeljegyzes").click(function () {
var $this = $(this);
var active = ($this.attr('data-tanoraiDicseret') == "true");
if (!active) { $this.addClass("dicseretGreen").removeClass("dicseret"); }
else { $this.addClass("dicseret").removeClass("dicseretGreen"); }
$this.attr('data-tanoraiDicseret', !active);
});
}
return mulasztasHelper;
})();
var DocumentReadyHelper = (function () {
// ID prefixek
var kesesPrefix = "MulasztasokNaplozasaGrid_KesesIdo_";
var mulasztasPrefix = "MulasztasokNaplozasaGrid_MulasztasTipus_";
// Jquery selector for id starts with specific text
var kesesButtonok = $('[id^=MulasztasokNaplozasaGrid_MulasztasTipus_]');
var kesesNumericTextBoxok = $('[id^=MulasztasokNaplozasaGrid_KesesIdo_]');
var documentReadyHelper = function () { };
documentReadyHelper.documentReadyBindings = function () { return documentReadyBindings(); }
function documentReadyBindings() {
buttonBindToKesesPercben(kesesButtonok, kesesNumericTextBoxok);
kesesPercbenBindToButton(kesesButtonok, kesesNumericTextBoxok);
}
function buttonBindToKesesPercben(kesesButtonok, kesesNumericTextBoxok) {
kesesButtonok.each(function () {
var itemId = $(this).attr("id");
$("#" + itemId).on("change", function () {
mulasztasTipusOnChange(this, itemId);
});
});
}
function kesesPercbenBindToButton(kesesButtonok, kesesNumericTextBoxok) {
kesesNumericTextBoxok.each(function () {
var itemId = $(this).attr("id");
$("#" + itemId).on("change", function () {
kesesPercbenOnChange(this, itemId);
});
});
}
function mulasztasTipusOnChange(item, itemId) {
var mulasztasTipusValue = $("#" + itemId).val();
// hogy ha nem "késés" típus van kiválasztva
if (mulasztasTipusValue != 1499) {
var itemNumber = itemId.toString().replace(mulasztasPrefix, '');
var kendoKeses = $("#" + kesesPrefix + itemNumber).data("kendoNumericTextBox");
if (typeof (kendoKeses) !== "undefined") {
kendoKeses.value(null); // kitöröljük a kendo control értékét
}
}
}
function kesesPercbenOnChange(item, itemId) {
var itemNumber = itemId.toString().replace(kesesPrefix, '');
var kendoKeses = $("#" + kesesPrefix + itemNumber).data("kendoNumericTextBox");
if (typeof (kendoKeses) !== "undefined") {
var kesesValue = kendoKeses.value();
if (kesesValue > 0) {
var itemDiv = "#div" + mulasztasPrefix + itemNumber;
var itemKeses = $(itemDiv).find('.selectorwrapper > ul > li[val="1499"]');
if (itemKeses.hasClass("activebar") == false) {
itemKeses.click();
}
}
}
}
return documentReadyHelper;
})();
$(document).ready(function () {
$("#ElozoOraAdatai").click(function () { MulasztasHelper.setOraTemaja() });
$("#JogviszonySzunetletetoDb").kendoTooltip({ content: '@Model.JogviszonySzunetletetok' });
$("#SzakmaiGyakorlatonLevoDb").kendoTooltip({ content: '@Model.SzakmaiGyakorlatonLevok' });
});
</script>
@Html.KretaTooltipTemplate("kendoTooltip-mulasztasTanuloNevAmiTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Gondviselő neve:</b></td>
<td>#:target.data('gondviselo')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Gondviselő telefonszáma:</b></td>
<td>#:target.data('gondviselotelszam')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI főtárgy:</b></td>
<td>#:target.data('amifotargy')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI tagozat:</b></td>
<td>#:target.data('amitagozat')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI tantárgykötelezőség:</b></td>
<td>#:target.data('amitantargykotelezoseg')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>AMI évfolyam:</b></td>
<td>#:target.data('evfolyam')#</td>
</tr>
</table>
</div>")
@Html.KretaTooltipTemplate("kendoTooltip-mulasztasTanuloNevTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Gondviselő neve:</b></td>
<td>#:target.data('gondviselo')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Gondviselő telefonszáma:</b></td>
<td>#:target.data('gondviselotelszam')#</td>
</tr>
</table>
</div>")
@Html.KretaTooltipTemplate("kendoTooltip-mulasztasSzazalekTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.Osszes + @":</b></td>
<td>#:target.data('mulasztasossz')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.EddigMegtartottOrak + @":</b></td>
<td>#:target.data('mulasztasmegtartott')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.HatralevoOrak + @":</b></td>
<td>#:target.data('mulasztasmegtarthato')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>" + OrarendResource.Hianyzas + @":</b></td>
<td>#:target.data('mulasztashiany')#</td>
</tr>
</table>
</div>")

View file

@ -0,0 +1,51 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Framework;
@using Kreta.Enums;
@using Kreta.Web.Security;
@using System.Collections.Generic;
@model DigitalisOktatasAdatok
@{
Layout = null;
}
@using (Html.KretaForm("DigitalisOktatasAdatokForm"))
{
<div class="container-fluid details">
<div class="row">
@Html.KretaComboBoxFor(m => m.DigEszkozTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDigEszkozTipusList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(9, 3)
</div>
<div class="row">
@Html.KretaComboBoxFor(m => m.DigPlatformTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDigPlatformTipusList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(9, 3)
</div>
<div class="row">
@Html.KretaMultiSelectFor(model => model.DigTamEszkozTipus, Model.DigTamEszkozTipusList).AutoBind(true).RenderWithName(9, 3)
@*@Html.KretaComboBoxFor(m => m.DigTamEszkozTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDigTamEszkozTipusList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(9, 3)*@
</div>
</div>
}
<style type="text/css">
.k-checkbox-label-inline {
display: inline-block;
}
</style>
<script type="text/javascript">
var TanoraDigitalisOktatasAdatokHelper = (function () {
var tanoraDigitalisOktatasAdatokHelper = function () { };
tanoraDigitalisOktatasAdatokHelper.getModel = function () { return getModel("DigitalisOktatasAdatokForm"); }
function getModel(formName) {
var model = {};
var form = $("#" + formName).toObject();
model.DigEszkozTipusId = form.DigEszkozTipusId;
model.DigPlatformTipusId = form.DigPlatformTipusId;
model.DigTamEszkozTipus = form.DigTamEszkozTipus;
return model;
}
return tanoraDigitalisOktatasAdatokHelper;
})();
</script>

View file

@ -0,0 +1,46 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model NemKotottMunkaidoModel
@using (Html.KretaForm("NemKotottMunkaidoForm"))
{
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.TanarId)
@Html.HiddenFor(x => x.TulajId)
@Html.HiddenFor(x => x.GroupId)
@Html.HiddenFor(x => x.ModositasiIdoszakTipus)
@Html.HiddenFor(x => x.JSHelperNev)
@Html.HiddenFor(x => x.isMegtartott)
@Html.HiddenFor(x => x.HetirendId)
@Html.HiddenFor(x => x.AdminAltalTorolt)
@Html.HiddenFor(x => x.Megjegyzes)
@Html.KretaValidationSummary()
<div class="container-fluid details">
@if (!Model.isAdminRogzitette)
{
<div class="row">
@Html.KretaDatePickerFor(x => x.Datum, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
@Html.KretaTimePickerFor(x => x.Kezdet, Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).RenderWithName(2, 1)
@Html.KretaTimePickerFor(x => x.Veg, Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TorvenyKategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTorvenyKategoriaList" }), "Text", "Value", htmlAttributes: Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).AutoBind(true).RenderWithName(2, 10)
</div>
}
else
{
<div class="row">
@Html.KretaDatePickerFor(x => x.Datum, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
@Html.KretaTimePickerFor(x => x.Kezdet, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
@Html.KretaTimePickerFor(x => x.Veg, new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(2, 2)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TorvenyKategoria, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTorvenyKategoriaList" }), "Text", "Value", new Dictionary<string, object>() { { "readonly", "readonly" } }).AutoBind(true).RenderWithName(2, 10)
</div>
}
<div class="row">
@Html.KretaTextAreaFor(m => m.NaplozottMegjegyzes, 6, Model.isReadonly ? new Dictionary<string, object>() { { "readonly", "readonly" } } : null).RenderWithName(2, 10)
</div>
</div>
}

View file

@ -0,0 +1,64 @@
@using Kreta.Web.Helpers.Modal;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Framework
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Helpers.Grid
@model SzamonkeresElorejelzesModel
<div class="col-xs-3 col-sm-3 szamonkeresleftside">
@using (Html.KretaForm("SzamonkeresElorejelzesForm"))
{
@Html.HiddenFor(x => x.OraGroupId)
@Html.HiddenFor(x => x.OsztalyCsoportId)
@Html.HiddenFor(x => x.Datum)
<div class="row">
@Html.KretaComboBoxFor(x => x.ErtekelesModId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetErtekelesModList" }), "Text", "Value").AutoBind(true).Events(e => e.DataBound("SzamonkeresElorejelzesHelper.onSzamonkeresModListDataBound")).RenderWithName(12, 12)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Megnevezes).RenderWithName(12, 12)
</div>
<div class="center-block">
<div class="container-fluid">
<div class="row"></div>
<div class="row SaveButtonVisible">
@Html.KretaButton("SzamonkeresElorejelzesSave", CommonResource.Bejelentes, clickEventName: "SzamonkeresElorejelzesHelper.Save", spriteCssClass: null, icon: null, htmlAttributes: new Dictionary<string, object> { { "class", "ignore-ajaxhelper" } })
</div>
</div>
</div>
}
</div>
@using (Html.KretaForm("SzamonkeresElorejelzesGridForm"))
{
<div class="col-xs-9 col-sm-9 szamonkeresrightside">
<h5 class="center" style="text-align:center;">Erre a napra rögzített, előrejelzett számonkérések adatai</h5>
@(
Html.KretaGrid<SzamonkeresElorejelzesGridModel>(
"SzamonkeresElorejelzesGrid",
new GridApiUrl(Constants.ApiControllers.SzamonkeresElorejelzesApi, "GetSzamonkeresElorejelzesDetailGrid", new Dictionary<string, string> { { "oraGroupId", Model.OraGroupId.ToString() }, { "osztalyCsoportId", Model.OsztalyCsoportId.ToString() }, { "datum", Model.Datum.ToConvertableDateString() } }),
useToolBar: false,
dataBoundAdditionalFunction: "SzamonkeresElorejelzesHelper.setSaveButton();",
allowSorting: false,
postRead: true,
sort: sort => sort.Add(s => s.Oraszam).Ascending()
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.Oraszam).Width("10%");
columns.Bound(c => c.SzamonkeresMegnevezes).Width("25%");
columns.Bound(c => c.Tantargy).Width("15%");
columns.Bound(c => c.Tanar).Width("15%");
columns.Bound(c => c.SzamonkeresMod).Width("15%");
columns.Bound(c => c.TanulokSzama).Width("20%");
})
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Torles, ClientAction= "SzamonkeresElorejelzesHelper.deleteConfirm", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
}, "SzamonkeresElorejelzesHelper.isTorolheto")
)
</div>
}

View file

@ -0,0 +1,467 @@
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Framework;
@using Kreta.Enums;
@using Kreta.Web.Security;
@using System.Collections.Generic;
@model TanoraAdatok
@{
Layout = null;
}
@using (Html.KretaForm("TanoraAdataiForm"))
{
var terem = Html.KretaComboBoxFor(m => m.Terem, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList", isFromSzervezet = Model.SzervezetTipusId_TanoraAdatok.HasValue }), "Text", "Value", useGroup: false).AutoBind(true);
var sorszamoz = Html.KretaCheckBoxFor(m => m.Sorszamozando);
var megjegyzes = Html.KretaTextBoxFor(m => m.Megjegyzes);
var oraKezd = Html.KretaTimePickerFor(m => m.OraKezdete);
var oraVeg = Html.KretaTimePickerFor(m => m.OraVege);
@Html.HiddenFor(x => x.NaplozasDatum)
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(m => m.OsztalyCsoportNev, 3, 3)
@Html.KretaLabelFor(m => m.OratartamEsOraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(m => m.TantargyNev, 3, 3)
@if(Model.SzervezetTipusId_TanoraAdatok.HasValue)
{
@Html.KretaCheckBoxFor(m => m.IsEgybefuggoGyakorlat).RenderWithName(3, 3)
}
else if (Model.IsNapirend)
{
@Html.KretaLabelFor(m => m.Oraszam, 3, 3)
}
</div>
<div class="row">
@Html.KretaLabelFor(m => m.TanarNev, 3, 3)
@if (Model.IsTanora)
{
@Html.KretaCheckBoxFor(m => m.Megtartott).Enable(Model.Naplozhat && !Model.ElmaradtTanitasiOraRogzitesenekTiltasa).RenderWithName(3, 3)
}
else
{
@Html.KretaLabelFor(m => m.MegtartottText, 3, 3)
if (Model.Megtartott == null && Model.IsTanora == false) { Model.Megtartott = true; }
@Html.HiddenFor(m => m.Megtartott)
}
</div>
<div class="row">
@(terem.Enable(Model.Naplozhat).RenderWithName(3, 3))
</div>
<div class="row">
@if (Model.Naplozhat && Model.TanarSorszamozhat)
{
@(sorszamoz.Enable(true).RenderWithName(3, 3))
}
else
{
@(sorszamoz.Enable(false).RenderWithName(3, 3))
}
@if (Model.Sorszamozando)
{
<div data-sorszam-visible="true">
@Html.KretaLabelFor(m => m.EvesOraSorszam, 3, 3, false, "EvesOraSorszamLabelTanora")
</div>
}
</div>
@if (!Model.HasOrarendiOra)
{
<div class="row">
@(oraKezd.Interval(15).Enable(Model.Naplozhat).RenderWithName(3, 3))
@(oraVeg.Interval(15).Enable(Model.Naplozhat).RenderWithName(3, 3))
</div>
if (!Model.IsNapirend)
{
<script>
function oraszamOnChange() {
if (lastOraszamValue === $("#Oraszam").data("kendoNumericTextBox").value()) return;
getOra();
}
function oraszamOnSpin() {
getOra();
}
function getOra() {
const getCsengetesiRendOrakURL = "@Url.HttpRouteUrl("ActionApi", new { controller = "TanariOrarendApi", action = "GetCsengetesiRendEsOrak" })";
const aktualisCsengetesiRendId = $("#CsengetesiRendID").data("kendoComboBox").value();
const aktualisOraszam = $("#Oraszam").data("kendoNumericTextBox").value();
AjaxHelper.DoPost(getCsengetesiRendOrakURL, { aktualisCsengetesiRendId, aktualisOraszam }, onSuccess);
}
function onSuccess(data) {
$("#OraKezdete").data("kendoMaskedTimePicker").value(data.Kezdete);
$("#OraVege").data("kendoMaskedTimePicker").value(data.Vege);
lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
}
</script>
<div class="row">
@Html.KretaComboBoxFor(x => x.CsengetesiRendID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsengetesiRendList" })).AutoBind(true).RenderWithName(3, 3)
@Html.KretaNumericFor(x => x.Oraszam).Events(e => e.Change("oraszamOnChange").Spin("oraszamOnSpin")).RenderWithName(3, 3, tooltipResource: CsengetesiRendResource.OraszamModositjaAzIdopontokat)
</div>
<script>
var lastOraszamValue = $("#Oraszam").data("kendoNumericTextBox").value();
</script>
}
}
else
{
@Html.HiddenFor(m => m.CsengetesiRendID)
@Html.HiddenFor(m => m.Oraszam)
@Html.HiddenFor(m => m.OraKezdete)
@Html.HiddenFor(m => m.OraVege)
}
<div class="row">
@(megjegyzes.Enable(Model.Naplozhat).RenderWithName(3, 9))
</div>
@*OpenBoard Képek*@
@if (Model.OpenBoardFiles.Count > 0)
{
<h4>@StringResourcesUtil.GetString(8369)</h4>
<div class="row col-xs-12" id="OpenBoardFiles">
@Html.KretaCheckBoxListForOpenBoardKepek("OpenBoardFiles", Model.OpenBoardFiles, 10)
</div>
}
@if(!Model.SzervezetTipusId_TanoraAdatok.HasValue)
{
@*A tanóra tulajdonságai*@
<h4>@StringResourcesUtil.GetString(4543)</h4>
<div id="tanoraAdataiAccordion" role="tablist" aria-multiselectable="true">
<div class="k-widget k-panelbar">
<div role="tab" id="tanoraAdataiAltalanosHeading">
<a data-toggle="collapse" data-parent="#tanoraAdataiAccordion" href="#collapseAltalanos" aria-expanded="true" aria-controls="collapseAltalanos">
<h5 style="font-weight: bold; padding-left: 1em;">@OrarendResource.Altalanos</h5>
</a>
</div>
</div>
<div id="collapseAltalanos" class="collapse" role="tabpanel" aria-labelledby="tanoraAdataiAltalanosHeading" data-parent="#tanoraAdataiAccordion">
<div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Tulora).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IKTTanora).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IPRTanora).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Meres).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.Bontott).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.NemzetisegiOra).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Differencialt).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Drama).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.ParhuzamosOra).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.MindennaposTestneveles).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Kooperativ).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Multikulturalis).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.NemSzakrendszeruOra).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.IsFelnottoktatasiSzerzodes).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.OnlineOra).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
</div>
</div>
<div class="k-widget k-panelbar">
<div role="tab" id="tanoraAdataiEfop311119ProjektHeading">
<a data-toggle="collapse" data-parent="#tanoraAdataiAccordion" href="#collapseEfop311119Projekt" aria-expanded="true" aria-controls="collapseEfop311119Projekt">
<h5 style="font-weight: bold; padding-left: 1em;">@OrarendResource.Efop311119ProjektPedagogus</h5>
</a>
</div>
</div>
<div id="collapseEfop311119Projekt" class="collapse" role="tabpanel" aria-labelledby="tanoraAdataiEfop311119ProjektHeading" data-parent="#tanoraAdataiAccordion">
<div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanevTananyaganakIsmetlese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanevTananyaganakKiegeszitese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokDigitalisKeszsegfejlesztese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Projektmunka).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanulokKompenzaciosIraskeszsegFejlesztese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokKompenzaciosOlvasasiKepessegFejlesztese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokNyelviKepessegenekKompenzaciosFejlesztese).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanulokOnmegismeresenekSegitese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokOnallosagraNevelese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokOrientaciosTamogatasa).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanulokSzocialitasanakFejlesztese).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanulokTovabbhaladasatElokeszitoTevekenysegek).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
</div>
</div>
<div class="k-widget k-panelbar">
<div role="tab" id="tanoraAdataiEfop311119ProjektNOKSHeading">
<a data-toggle="collapse" data-parent="#tanoraAdataiAccordion" href="#collapseEfop311119ProjektNOKS" aria-expanded="true" aria-controls="collapseEfop311119ProjektNOKS">
<h5 style="font-weight: bold; padding-left: 1em;">@OrarendResource.Efop311119ProjektNOKS</h5>
</a>
</div>
</div>
<div id="collapseEfop311119ProjektNOKS" class="collapse" role="tabpanel" aria-labelledby="tanoraAdataiEfop311119ProjektNOKSHeading" data-parent="#tanoraAdataiAccordion">
<div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.PedagogusAltalJelzettEgyeniEsetkezeles).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.ProjektmunkaTamogatasa).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.DigitalisKeszsegfejlesztes).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.KozossegiMunkaTamogatasa).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TanoraElokeszitesenekTamogatasa).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TanoraLebonyolitasanakTamogatasa).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.NapkozisTevekenysegKeretebenEgyeniFejlesztes).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
</div>
</div>
<div class="k-widget k-panelbar">
<div role="tab" id="tanoraAdataiKomplexAlapProgramHeading">
<a data-toggle="collapse" data-parent="#tanoraAdataiAccordion" href="#collapseKomplexAlapProgram" aria-expanded="true" aria-controls="collapseKomplexAlapProgram">
<h5 style="font-weight: bold; padding-left: 1em;">@OrarendResource.KomplexAlapProgram</h5>
</a>
</div>
</div>
<div id="collapseKomplexAlapProgram" class="collapse" role="tabpanel" aria-labelledby="tanoraAdataiKomplexAlapProgramHeading" data-parent="#tanoraAdataiAccordion">
<div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.DFHT).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Rahangolodas).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Testmozgas).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Muveszet).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.KIPOra).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.KomplexOra).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Eletgyakorlat).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Logika).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TeOrad).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.DigitalisAlapProgram).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
</div>
</div>
<div class="k-widget k-panelbar">
<div role="tab" id="tanoraAdataiEgyebPalyazatHeading">
<a data-toggle="collapse" data-parent="#tanoraAdataiAccordion" href="#collapseEgyebPalyazat" aria-expanded="true" aria-controls="collapseEgyebPalyazat">
<h5 style="font-weight: bold; padding-left: 1em;">@OrarendResource.EgyebPalyazat</h5>
</a>
</div>
</div>
<div id="collapseEgyebPalyazat" class="collapse" role="tabpanel" aria-labelledby="tanoraAdataiEgyebPalyazatHeading" data-parent="#tanoraAdataiAccordion">
<div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.TAMOPOra).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.Tiop).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP32317).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP33717).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.VEKOP73317).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.TIOP11112120120001).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.EFOP31716EselyteremtesAKoznevelesben).Enable(Model.Naplozhat).RenderWithName(2, 1)
@Html.KretaCheckBoxFor(x => x.GINOP623).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.EFOP23517201700038Miapalya).Enable(Model.Naplozhat).RenderWithName(2, 1)
</div>
</div>
</div>
</div>
if (Model.Helyettesites)
{
<div class="row">
@Html.KretaCheckBoxFor(m => m.Helyettesites).Enable(false).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(m => m.HelyettesitoTanar, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTanarListItems" })).Enable(false).AutoBind(true).RenderWithName(3, 3)
@if (Model.HelyettesitesTipusa.ToString() == ((int)HelyettesitesTipusEnum.oraosszevonas).ToString() /*Óraösszevonás?*/)
{
@Html.KretaComboBoxFor(m => m.HelyettesitesTipusa, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetHelyettesitesTipus", osszevonas = Model.HelyettesitesTipusa })).HtmlAttributes(new Dictionary<string, object>() { { "readonly", "readonly" } }).AutoBind(true).RenderWithName(3, 3)
}
else
{
@Html.KretaComboBoxFor(m => m.HelyettesitesTipusa, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetHelyettesitesTipus", osszevonas = Model.HelyettesitesTipusa })).Enable(false).AutoBind(true).RenderWithName(3, 3)
}
</div>
<div class="row">
@Html.KretaTextAreaFor(m => m.HelyettesitesOka, 3, string.IsNullOrWhiteSpace(Model.HelyettesitesOka) ? null : new Dictionary<string, object>() { { "readonly", "readonly" } }).RenderWithName(3, 9)
</div>
}
}
</div>
}
<style type="text/css">
.k-checkbox-label-inline {
display: inline-block;
}
</style>
<script type="text/javascript">
var TanoraAdataiHelper = (function () {
var tanoraAdataiHelper = function () { };
tanoraAdataiHelper.getModel = function () { return getModel("TanoraAdataiForm"); }
function getModel(formName) {
var model = {};
var checkedOpenBoardFileIdList = [];
var openBoardFiles = $("input[id*='OpenBoardFiles']");
for (file in openBoardFiles) {
if (openBoardFiles[file].checked) {
checkedOpenBoardFileIdList.push(openBoardFiles[file].value);
}
}
var form = $("#" + formName).toObject();
model.TeremId = form.Terem;
model.Sorszamozando = form.Sorszamozando;
model.Megjegyzes = form.Megjegyzes;
model.ParhuzamosOra = form.ParhuzamosOra;
model.Tulora = form.Tulora;
model.TAMOPOra = form.TAMOPOra;
model.KAPOra = form.KAPOra;
model.VEKOP73317 = form.VEKOP73317;
model.KIPOra = form.KIPOra;
model.NemSzakrendszeruOra = form.NemSzakrendszeruOra;
model.IKTTanora = form.IKTTanora;
model.NemzetisegiOra = form.NemzetisegiOra;
model.IsFelnottoktatasiSzerzodes = form.IsFelnottoktatasiSzerzodes;
model.OnlineOra = form.OnlineOra;
model.IsEgybefuggoGyakorlat = form.IsEgybefuggoGyakorlat;
model.MindennaposTestneveles = form.MindennaposTestneveles;
model.IPRTanora = form.IPRTanora;
model.Differencialt = form.Differencialt;
model.Kooperativ = form.Kooperativ;
model.Meres = form.Meres;
model.Drama = form.Drama;
model.Tiop = form.Tiop;
model.Bontott = form.Bontott;
model.IsMegtartott = form.Megtartott;
model.OraKezdete = form.OraKezdete;
model.OraVege = form.OraVege;
model.HelyettesitesTipusa = form.HelyettesitesTipusa;
@if (string.IsNullOrWhiteSpace(Model.HelyettesitesOka))
{
<text>model.HelyettesitesOka = form.HelyettesitesOka; </text>
}
model.Oraszam = form.Oraszam;
model.CsengetesiRendID = form.CsengetesiRendID;
model.Multikulturalis = form.Multikulturalis;
model.EFOP32317 = form.EFOP32317;
model.KomplexOra = form.KomplexOra;
model.GINOP623 = form.GINOP623;
model.EFOP31716EselyteremtesAKoznevelesben = form.EFOP31716EselyteremtesAKoznevelesben;
model.EFOP33717 = form.EFOP33717;
model.TIOP11112120120001 = form.TIOP11112120120001;
model.DFHT = form.DFHT;
model.Rahangolodas = form.Rahangolodas;
model.Testmozgas = form.Testmozgas;
model.Muveszet = form.Muveszet;
model.Eletgyakorlat = form.Eletgyakorlat;
model.Logika = form.Logika;
model.TeOrad = form.TeOrad;
model.DigitalisAlapProgram = form.DigitalisAlapProgram;
model.EFOP23517201700038Miapalya = form.EFOP23517201700038Miapalya;
model.TanevTananyaganakIsmetlese = form.TanevTananyaganakIsmetlese;
model.TanevTananyaganakKiegeszitese = form.TanevTananyaganakKiegeszitese;
model.TanulokDigitalisKeszsegfejlesztese = form.TanulokDigitalisKeszsegfejlesztese;
model.Projektmunka = form.Projektmunka;
model.TanulokKompenzaciosIraskeszsegFejlesztese = form.TanulokKompenzaciosIraskeszsegFejlesztese;
model.TanulokKompenzaciosOlvasasiKepessegFejlesztese = form.TanulokKompenzaciosOlvasasiKepessegFejlesztese;
model.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese = form.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese;
model.TanulokNyelviKepessegenekKompenzaciosFejlesztese = form.TanulokNyelviKepessegenekKompenzaciosFejlesztese;
model.TanulokOnmegismeresenekSegitese = form.TanulokOnmegismeresenekSegitese;
model.TanulokOnallosagraNevelese = form.TanulokOnallosagraNevelese;
model.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese = form.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese;
model.TanulokOrientaciosTamogatasa = form.TanulokOrientaciosTamogatasa;
model.TanulokSzocialitasanakFejlesztese = form.TanulokSzocialitasanakFejlesztese;
model.TanulokTovabbhaladasatElokeszitoTevekenysegek = form.TanulokTovabbhaladasatElokeszitoTevekenysegek;
model.PedagogusAltalJelzettEgyeniEsetkezeles = form.PedagogusAltalJelzettEgyeniEsetkezeles;
model.ProjektmunkaTamogatasa = form.ProjektmunkaTamogatasa;
model.DigitalisKeszsegfejlesztes = form.DigitalisKeszsegfejlesztes;
model.KozossegiMunkaTamogatasa = form.KozossegiMunkaTamogatasa;
model.TanoraElokeszitesenekTamogatasa = form.TanoraElokeszitesenekTamogatasa;
model.TanoraLebonyolitasanakTamogatasa = form.TanoraLebonyolitasanakTamogatasa;
model.NapkozisTevekenysegKeretebenEgyeniFejlesztes = form.NapkozisTevekenysegKeretebenEgyeniFejlesztes;
model.NaplozasDatum = form.NaplozasDatum;
model.checkedOpenBoardFileIdList = checkedOpenBoardFileIdList
return model;
}
return tanoraAdataiHelper;
})();
var KepekListajaHelper = (function () {
var kepekListajaHelper = function () { };
var formName = "KepekListajaForm";
var url = {
OpenModifyKepPopUp: "@Url.Action("OpenModifyKepPopUp", ClaimManager.HasPackage("Adminisztrator") ? "AdminKepekListaja" : "KepekListaja", new { area = "Orarend" })",
SaveKepData: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new { controller = "KepekListajaApi", action = "SaveKepData" })"
}
kepekListajaHelper.openModifyKepWindow = function (id) {
var postData = { oraFileId:id };
AjaxHelper.DoPost(url.OpenModifyKepPopUp, postData, popUpModifyWindow);
}
kepekListajaHelper.modifyKepCancel = function () {
KretaWindowHelper.destroyWindow("modifyKepWindow");
}
kepekListajaHelper.modifyKepSave = function () {
var form = $('#' + formName);
if (form.valid()) {
var data = form.toObject();
AjaxHelper.DoValidationPost(url.SaveKepData, formName, data);
renameModified(data);
}
}
function popUpModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OrarendResource.Kep)";
config.width = "250px";
config.height = "200px";
config.content = data;
var modal = KretaWindowHelper.createWindow("modifyKepWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function renameModified(data) {
KretaWindowHelper.destroyWindow("modifyKepWindow");
$("#lblFeltoltottFajlok" + data.OraFileId).html(data.KepNeve);
}
return kepekListajaHelper;
})();
</script>
<script>
$(document).ready(function () {
if (window.EgyediHelyettesitesTuloraDefault !== undefined && window.EgyediHelyettesitesTuloraDefault != null) {
$("#Tulora").prop('checked', window.EgyediHelyettesitesTuloraDefault);
window.EgyediHelyettesitesTuloraDefault = null;
}
});
</script>

View file

@ -0,0 +1,49 @@
@using Kreta.Framework
@using Kreta.Web.Classes
@using Kreta.Web.Areas.Orarend.Models
@model TanoraIdBeallitasModel
@{ Layout = null; }
@using (Html.KretaForm("IdBeallitasForm"))
{
@Html.KretaValidationSummary()
<div class="container-fluid details">
@if (Model.calendarModel.isHelyettesites)
{
@Html.HiddenFor(x => x.HelyettesitettId)
<div class="row">
@Html.KretaComboBoxFor(x => x.HelyettesitesTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetHelyettesitesTipus" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(customLabelDivClass: "km-list", customLabelClass: "km-required")
</div>
<div class="row">
@Html.KretaTextAreaFor(m => m.HelyettesitesOka).RenderWithName(customLabelDivClass: "km-list", customLabelClass: "km-required")
</div>
}
@if (Model.calendarModel.UseFoglakozas)
{
<h4>@StringResourcesUtil.GetString(4596)</h4>
<div class="row">
@Html.KretaComboBoxFor(x => x.FoglalkozasId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTanoranKivuliFoglalkozasok" }), "Text", "Value", useGroup: true).Events(e => e.Change("TanariOrarend.changeTeremByFoglalkozas")).AutoBind(true).RenderWithName(customLabelDivClass: "km-list", customLabelClass: "km-required")
</div>
}
else {
<h4>@StringResourcesUtil.GetString(4597)</h4>
<div class="row">
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTanoranKivuliFoglalkozasokOsztalyList" }), "Text", "Value", useGroup: true).Events(e => e.Change("TanariOrarend.changeTeremByOsztaly")).AutoBind(true).RenderWithName(customLabelDivClass: "km-list", customLabelClass: "km-required")
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTantargyak" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(customLabelDivClass: "km-list", customLabelClass: "km-required")
</div>
}
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(customLabelDivClass: "km-list", customLabelClass: "km-required")
</div>
</div>
}
<script type="text/javascript">
$(document).ready(function () {
$("#HelyettesitettId").val($("#searchForm #Tanar").val());
});
</script>

View file

@ -0,0 +1,466 @@
@using Kreta.Enums;
@using Kreta.Enums.ManualEnums;
@using Kreta.Framework;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers;
@using Kreta.Web.Security
@model TanoraNaplozasTabok
@{
Layout = null;
string Fejlec = OrarendResource.TanoraNaplozasa + " " + string.Format(StringResourcesUtils.GetString(4538), Model.Oraszam, Model.Tantargy, Model.OsztalyCsoport);
}
<script>
var Naplozashelper = (function () {
var naplozashelper = function () { };
var aktivSavePostOnConfirm = false;
var aktivValidationPost = false;
var deleteUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteTanora" })";
var oraOsszevonasDeleteUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "OraOsszevonasDelete" })";
var naplozasSaveUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "SaveNaplozas" })";
var validateUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "ValidateNaplozas" })";
var clickURL = '@Url.Action("TanorakOrarendEvent", Model.ControllerName, new { area = "Orarend" })';
var getNemNaplozottTanorakCountUrl = "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetNemNaplozottTanorakCount" })";
var haziSaveUrl = '@Url.HttpRouteUrl("ActionApi", new {controller = Model.ApiControllerName, action = "SaveHaziFeladat" })';
var muveletJson;
var finalObj;
naplozashelper.saveTanora = function () {
if (CommonUtils.isNullOrUndefined($("#ErtekelesTanuloErtekelesGrid").data('kendoGrid'))) { naplozashelper.saveTanitasiora(); }
else {
var ertModifiedRows = KretaGridHelper.getModifiedRows("ErtekelesTanuloErtekelesGrid");
if (ertModifiedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)", "@OrarendResource.NaplozasErtekelesKerdes", function myfunction() { Naplozashelper.saveTanitasiora(); });
}
else {
naplozashelper.saveTanitasiora();
}
}
};
naplozashelper.saveTanitasiora = function () {
if (!aktivValidationPost) {
var model = getModel();
aktivValidationPost = true;
var start = CommonUtils.isNullOrUndefined(model.TanoraMuveletek.CalendarModel.start) ? model.TanoraMuveletek.CalendarModel.Start : model.TanoraMuveletek.CalendarModel.start;
var end = CommonUtils.isNullOrUndefined(model.TanoraMuveletek.CalendarModel.end) ? model.TanoraMuveletek.CalendarModel.End : model.TanoraMuveletek.CalendarModel.end;
start = moment(moment.utc(start).toDate()).local().format(CalendarDateTimeChangeHelper.dateTimeFormat);
end = moment(moment.utc(end).toDate()).local().format(CalendarDateTimeChangeHelper.dateTimeFormat);
model.TanoraAdatokRogzites.OraKezdete = CalendarDateTimeChangeHelper.getUtcTimeFromDateAndTime(start, model.TanoraAdatokRogzites.OraKezdete);
model.TanoraAdatokRogzites.OraVege = CalendarDateTimeChangeHelper.getUtcTimeFromDateAndTime(end, model.TanoraAdatokRogzites.OraVege);
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(model.TanoraMuveletek.CalendarModel);
AjaxHelper.DoValidationPost(validateUrl, "NapozasValidator", model, Naplozashelper.ValidateNaplozasCallback);
aktivValidationPost = false;
}
}
naplozashelper.deleteTanora = function (vanOralatogatasa, vanHaziFeladat) {
let question = "@(OralatogatasokResource.BiztosanTorliANaplozasiAdatokat)";
if (vanOralatogatasa === 'true') question += '<br><br><span class="fa fa-link fa-2x"></span><span style="padding-left: 1em">@(OralatogatasokResource.OraNemTorolhetoKapcsolodoAdatMiatt)';
//if (vanHaziFeladat) question += '<br><br><span class="fa fa-home fa-2x"></span><span style="padding-left: 1em">@(OralatogatasokResource.VanHaziFeladat)</span>';
KretaWindowHelper.confirmWindow("@(CommonResource.Figyelmeztetes)",
question, function myfunction() { deleteCall(); }, null, null, "@(CommonResource.Tovabb)", "@(CommonResource.Megse)");
};
naplozashelper.oraOsszevonasPopUp = function (csengetesiRendOraId, isTanoranKivuli) {
window.isTanoranKivuli = isTanoranKivuli;
window.CalendarModel.IsOraOsszevonas = true;
window.CalendarModel.eventId = csengetesiRendOraId;
var WizardContentURL = '@Url.Action("LoadWizardContent", "Wizard", new { area = "" })';
var WizardHelyettesitesoURL = '@Url.Action("GetWizardOraosszevonasHelyettesites", Model.ControllerName, new { area = "Orarend" })';
var wizard = new KretaWizard(WizardHelyettesitesoURL, window.CalendarModel, true);
wizard.onReadyEvent = readyEvent;
wizard.onNextEvent = nextEvent;
wizard.onBackEvent = backEvent;
wizard.Open(WizardContentURL, '@StringResourcesUtil.GetString(1499)');
var json = {}; json.actualStepId = 1;
wizard.baseModel = json;
};
naplozashelper.oraOsszevonasDelete = function (tanoraId) {
AjaxHelper.DoPost(oraOsszevonasDeleteUrl, muveletJson, deleteFeedback);
};
naplozashelper.changeOralatogato = function (data) {
AjaxHelper.DoGet("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetOraLatogatas" })", { oraId: muveletJson.CalendarModel.EventId, tanarId: data.sender.value() }, OralatogatasHelper.changeLatogato);
};
naplozashelper.saveNemMegtartottTanora = function () {
var model = {};
model.TanoraMuveletek = muveletJson;
model.TanoraAdatokRogzites = TanoraAdataiHelper.getModel();
var start = CommonUtils.isNullOrUndefined(model.TanoraMuveletek.CalendarModel.start) ? model.TanoraMuveletek.CalendarModel.Start : model.TanoraMuveletek.CalendarModel.start;
var end = CommonUtils.isNullOrUndefined(model.TanoraMuveletek.CalendarModel.end) ? model.TanoraMuveletek.CalendarModel.End : model.TanoraMuveletek.CalendarModel.end;
model.TanoraAdatokRogzites.OraKezdete = CalendarDateTimeChangeHelper.getUtcTimeFromDateAndTime(start, model.TanoraAdatokRogzites.OraKezdete);
model.TanoraAdatokRogzites.OraVege = CalendarDateTimeChangeHelper.getUtcTimeFromDateAndTime(end, model.TanoraAdatokRogzites.OraVege);
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(model.TanoraMuveletek.CalendarModel);
AjaxHelper.DoPost("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "SaveNemMegtartottNaplozas" })", model, Tanorak.FeedBackOKNaplozas);
};
naplozashelper.saveOralatogatas = function () {
var model = {};
model.TanoraMuveletek = muveletJson;
if (typeof (OralatogatasHelper) !== "undefined") {
model.OraErtekeles = OralatogatasHelper.getModel();
}
AjaxHelper.DoPost("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanarOralatogatasApi", action = "SaveOraLatogatas" })", model, Tanorak.FeedBackOKNaplozas);
};
naplozashelper.helyettesitesTorles = function () {
var model = muveletJson;
AjaxHelper.DoPost("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteHelyettesites" })", model, Tanorak.FeedBackOKNaplozas);
};
naplozashelper.OnSelect = function (tab) {
if (tab.item.id == "2" && typeof (ErtekelesHelper) !== "undefined") {
ErtekelesHelper.onTabActiv();
}
if (tab.item.id == "3" && typeof (OralatogatasHelper) !== "undefined") {
OralatogatasHelper.onTabActiv();
}
if (tab.item.id == "4" && typeof (HazifeladatHelper) !== "undefined") {
HazifeladatHelper.onTabActiv();
}
};
naplozashelper.ValidateNaplozasCallback = function (data) {
if (typeof (data.ModelState) !== "undefined") {
AjaxHelper.CallRemoteErrors($("#NapozasValidator"), data.ModelState);
return;
}
if (!(typeof HazifeladatFileUploadHelper === 'undefined') && !HazifeladatFileUploadHelper.uploadIsDone()) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.ACsatolmanyFeltolteseNemFejezedottBeBiztosanFolytatja)", function () { saveNaplo(data); });
} else {
saveNaplo(data);
}
}
function saveNaplo(data) {
var model = getModel();
var start = CommonUtils.isNullOrUndefined(model.TanoraMuveletek.CalendarModel.start) ? model.TanoraMuveletek.CalendarModel.Start : model.TanoraMuveletek.CalendarModel.start;
var end = CommonUtils.isNullOrUndefined(model.TanoraMuveletek.CalendarModel.end) ? model.TanoraMuveletek.CalendarModel.End : model.TanoraMuveletek.CalendarModel.end;
start = moment(moment.utc(start).toDate()).local().format(CalendarDateTimeChangeHelper.dateTimeFormat);
end = moment(moment.utc(end).toDate()).local().format(CalendarDateTimeChangeHelper.dateTimeFormat);
model.TanoraAdatokRogzites.OraKezdete = CalendarDateTimeChangeHelper.getUtcTimeFromDateAndTime(start, model.TanoraAdatokRogzites.OraKezdete);
model.TanoraAdatokRogzites.OraVege = CalendarDateTimeChangeHelper.getUtcTimeFromDateAndTime(end, model.TanoraAdatokRogzites.OraVege);
CalendarDateTimeChangeHelper.changeCalendarModelOrakezdeteVegeToUtc(model.TanoraMuveletek.CalendarModel);
if (!CommonUtils.isNullOrUndefined(model.HaziFeladatNaplozasRogzites) && model.HaziFeladatNaplozasRogzites.Hatarido)
model.HaziFeladatNaplozasRogzites.Hatarido.toJSON = function () { return moment(this).format() }
if (data.Valid) {
AjaxHelper.DoValidationPost(naplozasSaveUrl, "NapozasValidator", model, function (data) { sikeresNaplozas(data); });
} else {
aktivSavePostOnConfirm = true;
KretaWindowHelper.confirmWindow("@(StringResourcesUtil.GetString(368)/*Figyelmeztetés*/)", data.Text,
function () {
if (aktivSavePostOnConfirm) {
AjaxHelper.DoValidationPost(naplozasSaveUrl, "NapozasValidator", model, function (data) { sikeresNaplozas(data); });
aktivSavePostOnConfirm = false;
}
}, null, Naplozashelper.setActiveTab
);
}
aktivValidationPost = false;
}
naplozashelper.setActiveTab = function () {
var tabStrip = $("#tabTemplate").data('kendoTabStrip');
tabStrip.select(2); /*Házi feladat tab-ra váltás*/
}
naplozashelper.SaveHaziFeladat = function () {
if (!HazifeladatFileUploadHelper.uploadIsDone()) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.ACsatolmanyFeltolteseNemFejezedottBeBiztosanFolytatja)", function () { saveHazi(); });
} else {
saveHazi();
}
}
function sikeresNaplozas(data) {
var csatolmanyElement = $("#csatolmany");
var fileuploadbutton = $('.k-upload-selected');
if (data.HazifeladatId > 0 && csatolmanyElement.length > 0 && fileuploadbutton.length > 0) {
var uploader = csatolmanyElement.data("kendoUpload");
uploader.bind("upload", function (e) { AjaxHelper.ShowIndicator(); e.data = { hfId: data.HazifeladatId } });
uploader.bind("complete", function (e) { AjaxHelper.HideIndicator(); Tanorak.FeedBackOKNaplozas(); });
uploader.bind("error", function (e) {
if (data.DKTHiba) {
Tanorak.FeedBackSikertelenHaziFeladatMuvelet();
} else {
Tanorak.FeedBackOKNaplozas();
}
Tanorak.FeedBackSikertelenHaziFeladatMuvelet();
});
uploader.bind("success", function (e) {
if (data.DKTHiba) {
Tanorak.FeedBackSikertelenHaziFeladatMuvelet();
} else {
Tanorak.FeedBackOKNaplozas();
}
});
setTimeout(function () { fileuploadbutton.click(); }, 1); /*set timeout kiveszi a fuggvényt a post success ágából és így külön fel tudjuk dobni neki busy indikatort*/
}
else {
Tanorak.FeedBackOKNaplozas();
}
}
function saveHazi() {
var model = getModel();
model.TanoraAdatokRogzites.OraKezdete = model.TanoraMuveletek.CalendarModel.Start;
model.TanoraAdatokRogzites.OraVege = model.TanoraMuveletek.CalendarModel.End;
AjaxHelper.DoPost(haziSaveUrl, model, function (data) { sikeresHazifeladatMentes(data); });
}
function sikeresHazifeladatMentes(data) {
var csatolmanyElement = $("#csatolmany");
var fileuploadbutton = $('.k-upload-selected');
if (data.HazifeladatId > 0 && csatolmanyElement.length > 0 && fileuploadbutton.length > 0) {
var uploader = csatolmanyElement.data("kendoUpload");
uploader.bind("upload", function (e) { AjaxHelper.ShowIndicator(); e.data = { hfId: data.HazifeladatId } });
uploader.bind("complete", function (e) { AjaxHelper.HideIndicator(); KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow(); });
uploader.bind("error", function (e) { alert("Sikertelen file feltöltés!") });
setTimeout(function () { fileuploadbutton.click(); }, 1); /*set timeout kiveszi a fuggvényt a post success ágából és így külön fel tudjuk dobni neki busy indikatort*/
} else {
KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow();
}
}
function getModel() {
var model = {};
model.TanoraMuveletek = muveletJson;
model.TanoraAdatokRogzites = TanoraAdataiHelper.getModel();
if (!CommonUtils.isNullOrWhiteSpace(model.TanoraAdatokRogzites.HelyettesitesOka)) {
model.TanoraMuveletek.HelyettesitesOka = model.TanoraAdatokRogzites.HelyettesitesOka;
}
if (typeof (MulasztasHelper) !== 'undefined' && !CommonUtils.isUndefined(typeof (MulasztasHelper))) {
model.MulasztasNaplozasRogzites = MulasztasHelper.getModel();
}
if (typeof (HazifeladatHelper) !== 'undefined' && !CommonUtils.isUndefined(typeof (HazifeladatHelper))) {
model.HaziFeladatNaplozasRogzites = HazifeladatHelper.getModel();
}
if (typeof (TanoraDigitalisOktatasAdatokHelper) !== 'undefined' && !CommonUtils.isUndefined(typeof (TanoraDigitalisOktatasAdatokHelper))) {
var tanoraDigitalisOktatasAdatok = TanoraDigitalisOktatasAdatokHelper.getModel();
model.TanoraAdatokRogzites.DigEszkozTipusId = tanoraDigitalisOktatasAdatok.DigEszkozTipusId;
model.TanoraAdatokRogzites.DigPlatformTipusId = tanoraDigitalisOktatasAdatok.DigPlatformTipusId;
model.TanoraAdatokRogzites.DigTamEszkozTipus = tanoraDigitalisOktatasAdatok.DigTamEszkozTipus;
}
return model;
}
function deleteCall(tanoraId) {
AjaxHelper.DoPost(deleteUrl, muveletJson, deleteFeedback);
}
function deleteFeedback(data) {
if (data.Title != "@StringResourcesUtil.GetString(366)") {
KretaWindowHelper.feedbackWindow(data.Title, data.Text, true, KretaWindowHelper.destroyAllWindow);
} else {
KretaWindowHelper.destroyAllWindow();
}
TanariOrarend.FormSearch("searchForm");
AjaxHelper.DoGet(getNemNaplozottTanorakCountUrl, {}, Tanorak.updateNemNapolzottTanorakCount);
}
function popUpModifyTanariOraWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(4123))"; /*Óra módosítása*/
config.content = data;
var modal = KretaWindowHelper.createWindow("modifyTanariOraWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModifyFoglalkozasWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(4474))"; /*Foglalkozás módosítása*/
config.content = data;
var modal = KretaWindowHelper.createWindow("modifyFoglalkozasWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function readyEvent(sender) {
var foglalkozasFilterId = @ClaimData.FelhasznaloId;
var previousModel = sender.GetModel(1);
var dateString = CommonUtils.isNullOrUndefined(window.CalendarModel.start) ? window.CalendarModel.Start : window.CalendarModel.start;
var datumFilter = moment.utc(dateString).format(CalendarDateTimeChangeHelper.dateTimeFormat);
var hanyadikOraFilter = CommonUtils.isNullOrUndefined(window.CalendarModel.hanyadikora) ? window.CalendarModel.Hanyadikora : window.CalendarModel.hanyadikora;
if (previousModel != null && typeof previousModel.HelyettesitettId !== "undefined") {
foglalkozasFilterId = previousModel.HelyettesitettId;
}
if (sender.baseModel.actualStepId == 1) {
$("#wizardWindow").data("kendoWindow").title('@(OrarendResource.Helyettesites)' + ' - ' + '@(OrarendResource.OraOsszevonas)');
sender.justTrigerNext = true;
}
if (sender.baseModel.actualStepId == 3) {
$("#wizardWindow").data("kendoWindow").title(sender.baseModel.HelyettesitettId_input + ' - ' + '@(OrarendResource.OraOsszevonas)');
}
if (sender.baseModel.actualStepId == 4) {
$("#wizardWindow").data("kendoWindow").title(sender.baseModel.HelyettesitettId_input + ' - ' + '@(OrarendResource.OraOsszevonas)');
}
if (sender.baseModel.actualStepId == 5) {
$("#wizardWindow").data("kendoWindow").title(previousModel.HelyettesitettId_input + ' - ' + '@(OrarendResource.OraOsszevonas)');
if (previousModel == null || typeof previousModel.HelyettesitettId == "undefined") {
sender.baseModel.HelyettesitettId_input = sender.GetModel(0).HelyettesitettId_input;
sender.baseModel.HelyettesitettId = sender.GetModel(0).HelyettesitettId;
sender.baseModel.HelyettesitesOka = sender.GetModel(0).HelyettesitesOka;
}
else {
sender.baseModel.HelyettesitettId_input = previousModel.HelyettesitettId_input;
sender.baseModel.HelyettesitettId = previousModel.HelyettesitettId;
sender.baseModel.HelyettesitesOka = previousModel.HelyettesitesOka;
}
$("#naploTTFBtn").click(function () { sender.ManualNext('@Url.Action("GetWizardFoglalkozas", Model.ControllerName, new { area = "Orarend" })' + '?foglalkozasFilterId=' + foglalkozasFilterId.toString() + '&datum=' + datumFilter + '&hanyadikOra=' + hanyadikOraFilter, 3, true); });
$("#naploEgyediBtn").click(function () { sender.ManualNext('@Url.Action("GetWizardEgyedi", Model.ControllerName, new { area = "Orarend" })' + '?foglalkozasFilterId=' + foglalkozasFilterId.toString() + '&datum=' + datumFilter + '&hanyadikOra=' + hanyadikOraFilter, 4, true); });
}
};
function backEvent(sender) {
$('.kreta-validation-summary').removeClass('validation-summary-errors').addClass('validation-summary-valid');
$('.kreta-validation-summary').css({ 'display': 'none' });
$('.kreta-validation-summary ul li:not(:first-child)').remove();
};
function nextEvent(sender) {
if ($("#WizardForm").valid()) {
if (sender.baseModel.actualStepId == 1) {
var requestData = window.CalendarModel;
requestData.helyettesitoId = sender.GetModel().HelyettesitettId;
AjaxHelper.DoPost('@Url.HttpRouteUrl("ActionApi", new { controller = Model.ApiControllerName, action = "CheckTanarOra" })', requestData, function (data) { helyettesitesPopUpData(data, sender) });
} else if (sender.baseModel.actualStepId == 3 /*Foglalkozás*/ || sender.baseModel.actualStepId == 4 /*Egyedi*/) {
var formJson = sender.GetModel();
formJson.CalendarModel = window.CalendarModel;
finalObj = $.extend(formJson, sender.baseModel);
finalObj.HelyettesitesTipusId = @((int)HelyettesitesTipusEnum.oraosszevonas);
finalObj.CalendarModel.eventType = "@((int)EventTypeEnum.UjOraFelvitele)";
finalObj.CalendarModel.oraType = "@((int)CalendarOraTypeEnum.UresOra)";
window.finalObj = finalObj;
KretaWindowHelper.destroyWindow("wizardWindow");
KretaWindowHelper.destroyWindow("tanoraMuveletWindow");
finalObj.FoglalkozasId = naplozashelper.GetFoglalkozasId(finalObj.FoglalkozasId);
AjaxHelper.DoPost(clickURL, window.finalObj, Tanorak.popUpNaplozasWindow);
}
}
};
function helyettesitesPopUpData(data, sender) {
if (data.length == 1) {
var formJson = sender.GetModel();
formJson.CalendarModel = window.CalendarModel;
formJson.CalendarModel.eventId = data[0].C_ORARENDIORAID;
formJson.CalendarModel.eventType = "@((int)EventTypeEnum.TanarHelyetesites)";
formJson.CalendarModel.oraType = "@((int)CalendarOraTypeEnum.OrarendiOra)";
finalObj = $.extend(formJson, sender.baseModel);
finalObj.HelyettesitesTipusId = @((int)HelyettesitesTipusEnum.oraosszevonas);
KretaWindowHelper.destroyWindow("tanoraMuveletWindow");
KretaWindowHelper.destroyWindow("wizardWindow");
finalObj.FoglalkozasId = naplozashelper.GetFoglalkozasId(finalObj.FoglalkozasId);
AjaxHelper.DoPost(clickURL, finalObj, Tanorak.popUpNaplozasWindow);
}
else {
var calendarDatumParameter = CommonUtils.isNullOrUndefined(window.CalendarModel.start) ? window.CalendarModel.Start : window.CalendarModel.start;
sender.ManualNext('@Url.Action("GetWizardHelyettesitesElovalaszto", Model.ControllerName, new { area = "Orarend" })' + '?datum=' + calendarDatumParameter.toString(), 5, false);
}
}
$("#" + Tanorak.tanoraMuveletWindow).data("kendoWindow").bind("refresh", function () { $("#" + Tanorak.tanoraMuveletWindow).data("kendoWindow").title("@Model.Fejlec"); });
muveletJson = @Html.Raw(Model.SerialisedTanoraMuveletek);
naplozashelper.GetFoglalkozasId = function (foglalkozasString) {
if (!CommonUtils.isNullOrUndefined(foglalkozasString)) {
var separatorIndex = foglalkozasString.indexOf(" - ");
if (separatorIndex != -1) {
foglalkozasString = foglalkozasString.substring(0, separatorIndex);
}
}
return foglalkozasString;
};
return naplozashelper;
})();
</script>
<script>
$(document).ready(function () {
function setVisibilityEvesOraSorszam() {
var sorszamozando = $('#Sorszamozando');
if (sorszamozando.prop('checked')) {
this.setAttribute('data-sorszam-visible', 'true');
$(this).show();
}
else {
this.setAttribute('data-sorszam-visible', 'false');
$(this).hide();
}
}
function updateEvesOraSorszamLabel() {
var sorszamozando = $('#Sorszamozando');
var evesOraSorszamTanora = $('#EvesOraSorszamLabelTanora');
var evesOraSorszamNaplozas = $('#EvesOraSorszamLabelNaplozas');
var evesOraSorszam = parseInt(evesOraSorszamTanora.text());
if (sorszamozando.prop('checked')) {
evesOraSorszamTanora.text(evesOraSorszam + 1);
evesOraSorszamNaplozas.text(evesOraSorszam + 1);
}
else {
evesOraSorszamTanora.text(evesOraSorszam - 1);
evesOraSorszamNaplozas.text(evesOraSorszam - 1);
}
}
$('#Sorszamozando').on('change', setVisibilityEvesOraSorszam, updateEvesOraSorszamLabel);
});
</script>
<div id="NapozasValidator">
@Html.KretaValidationSummary()
</div>
<div id="tabTemplate">
@Html.Partial(@"EditorTemplates\TabStrip", Model.TabList)
</div>
@Html.KretaTabStrip("tabTemplate").Animation(false).Events(e => e.Select("Naplozashelper.OnSelect")).RenderOnModal()

View file

@ -0,0 +1,33 @@
@using Kreta.Framework;
@using Kreta.Web.Areas.Orarend.Models;
@using Kreta.Web.Helpers
@using Kreta.Web.Classes
@model TanoraNaplozasInfoTabok
@{
Layout = null;
}
<script>
var Naplozashelper = (function () {
var naplozashelper = function () { };
$("#" + Tanorak.tanoraMuveletWindow).data("kendoWindow").bind("refresh", function () { $("#" + Tanorak.tanoraMuveletWindow).data("kendoWindow").title("@Model.Fejlec"); });
naplozashelper.OnSelect = function (tab) {
if (tab.item.id == "Info_HaziFeladat_Tab" && typeof (HazifeladatHelper) !== "undefined" && document.getElementById("HaziFeladat")) {
HazifeladatHelper.onTabActiv();
}
if (tab.item.id == "2" && typeof (ErtekelesHelper) !== "undefined") {
ErtekelesHelper.onTabActiv();
}
}
return naplozashelper;
})();
</script>
<div id="tabTemplate">
@Html.Partial(@"EditorTemplates\TabStrip", Model.TabList)
</div>
@Html.KretaTabStrip("tabTemplate").Animation(false).Events(e => e.Select("Naplozashelper.OnSelect")).RenderOnModal()

View file

@ -0,0 +1,22 @@
@using Kreta.Web.Areas.Orarend.Models
@model WizardModel
@{ Layout = null; }
<div style="padding-top: 15px;">
<div class="row">
@if (!Model.IsNapirend)
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.Datum.Value.Date.ToString() + "&hanyadikOra=" + Model.HanyadikOra, "Text", "Value", useGroup: true).Events(e => e.Change("TanariOrarend.changeTeremByOsztaly")).AutoBind(true).RenderWithName(3, 9)
}
else
{
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetNapirendOsztalyCsoportListByEvfolyam" }) + "?isForOrarend=true&datum=" + Model.Datum.Value.Date.ToString() + "&hanyadikOra=" + Model.HanyadikOra, "Text", "Value", useGroup: true).Events(e => e.Change("TanariOrarend.changeTeremByOsztaly")).AutoBind(true).RenderWithName(3, 9)
}
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTantargyak", filterNincsBeloleOra = true }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(3, 9)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(3, 9)
</div>
</div>

View file

@ -0,0 +1,50 @@
@using Kreta.Resources;
@using Kreta.Web.Areas.Orarend.Models;
@model WizardElovalasztoModel
@{
Layout = null;
}
<div style="padding-top: 15px;">
@if (Model.TanarVehetFelOratMaganak)
{
<div class="row" style="text-align: center;">
@Html.KretaButton("naploTTFBtn", 4596, true, htmlAttributes: new Dictionary<string, object>() { { "style", "width: 65%;margin-bottom: 15px;" } })
</div>
}
@if (Model.LehetOratFelvenniTTFNelkul)
{
<div class="row" style="text-align: center;">
@Html.KretaButton("naploEgyediBtn", 4597, true, htmlAttributes: new Dictionary<string, object>() { { "style", "width: 65%;margin-bottom: 15px;" } })
</div>
}
@if (Model.TanarKezelhetHelyettesitest)
{
<div class="row" style="text-align: center;">
@Html.KretaButton("helyettesitesBtn", 1499, true, htmlAttributes: new Dictionary<string, object>() { { "style", "width: 65%" } })
</div>
}
@if (!Model.TanarVehetFelOratMaganak && !Model.LehetOratFelvenniTTFNelkul && !Model.TanarKezelhetHelyettesitest)
{
var szoveg = string.Empty;
if (Model.HelyettesitendoTanarnakNincsOttOraja)
{
szoveg = OrarendResource.HelyettesitendoTanarnakNincsOttOraja;
}
else if (Model.HelyettesitendoTanarOrajatMarNaploztak)
{
szoveg = OrarendResource.HelyettesitendoTanarOrajatMarNaploztak;
}
else
{
szoveg = ErrorResource.AJelenlegiRendszerbeallitasokNemTeszikLehetoveAFunkciokHasznalatat;
}
<div class="row hibaRow" style="text-align: center;">
<h4>@szoveg</h4>
</div>
}
</div>

View file

@ -0,0 +1,19 @@
@using Kreta.Web.Areas.Orarend.Models
@model WizardModel
@{ Layout = null; }
<div style="padding-top: 15px;">
<div class="row">
@if (!Model.IsNapirend)
{
@Html.KretaComboBoxFor(x => x.FoglalkozasId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetTanoranKivuliFoglalkozasok", filterId = Model.FoglalkozasFilterId, filterNincsBeloleOra = true, datum = Model.Datum, isForOrarend = true, hanyadikOra = Model.HanyadikOra }), "Text", "Value", useGroup: true).Events(e => e.Change("TanariOrarend.changeTeremByFoglalkozas")).AutoBind(true).RenderWithName(3, 9)
}
else
{
@Html.KretaComboBoxFor(x => x.FoglalkozasId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNapirendTanoranKivuliFoglalkozasok", filterId = Model.FoglalkozasFilterId, filterNincsBeloleOra = true, datum = Model.Datum, isForOrarend = true, hanyadikOra = Model.HanyadikOra }), "Text", "Value", useGroup: true).Events(e => e.Change("TanariOrarend.changeTeremByFoglalkozas")).AutoBind(true).RenderWithName(3, 9)
}
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.TeremId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderWithName(3, 9)
</div>
</div>

View file

@ -0,0 +1,41 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@model WizardModel
@{ Layout = null; }
<script type="text/javascript">
function ChangeHelyettesitettTanar() {
var data = window.CalendarModel;
if (!isNaN($("#HelyettesitettId").val())) {
data.helyettesitettId = $("#HelyettesitettId").val();
AjaxHelper.DoPost("@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "IsHelyettesitesTulora" })", data, changeHelyettesitettTanarSuccess);
}
}
function changeHelyettesitettTanarSuccess(data) {
$("#IsKeziTulora").prop('checked', data);
window.EgyediHelyettesitesTuloraDefault = data;
}
$("#IsKeziTulora").change(function () {
window.EgyediHelyettesitesTuloraDefault = $(this).prop('checked');
});
</script>
<div style="padding-top: 15px;">
<div class="row">
@Html.KretaComboBoxFor(m => m.HelyettesitettId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetHelyettesitoTanarok" })).AutoBind(true).Events(e => e.Change("ChangeHelyettesitettTanar")).RenderWithName()
</div>
<div class="row">
@Html.KretaComboBoxFor(m => m.HelyettesitesTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetHelyettesitesTipus" })).AutoBind(true).RenderWithName()
</div>
<div class="row">
@Html.KretaTextAreaFor(m => m.HelyettesitesOka).RenderWithName()
</div>
<div class="row">
@Html.KretaCheckBoxFor(m => m.IsKeziTulora).RenderWithName()
</div>
@Html.HiddenFor(m => m.IsEgyediHelyettesites)
@Html.HiddenFor(m => m.WizardOrarendMegtartott)
</div>

View file

@ -0,0 +1,14 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Classes
@using Kreta.Web.Areas.Orarend.Models
@model WizardModel
@{ Layout = null; }
<div style="padding-top: 15px;">
<div class="row">
@Html.KretaComboBoxFor(m => m.HelyettesitettId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetHelyettesitoTanarok" })).AutoBind(true).RenderWithName(3, 9)
</div>
<div class="row">
@Html.KretaTextAreaFor(m => m.HelyettesitesOka).RenderWithName(3, 9)
</div>
</div>

View file

@ -0,0 +1,12 @@
@using Kreta.Web.Helpers
@using Kreta.Web.Classes
@using Kreta.Web.Areas.Orarend.Models
@model WizardModel
@{ Layout = null; }
<div style="padding-top: 15px;">
<div class="row">
@Html.KretaComboBoxFor(m => m.WizardOrarendId, Model.WizardOraLista).RenderWithName()
</div>
@Html.HiddenFor(m => m.WizardOrarendMegtartott)
</div>

View file

@ -0,0 +1,117 @@
@*TANÁR*@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums;
@model OrarendKeresoModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "OrarendKereso.FormSearch"))
{
@Html.KretaComboBoxFor(x => x.Tanar, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTanar" })).AutoBind(true).RenderSearchPanelSideBar()
}
}
@section AddJs {
@Scripts.Render("~/bundles/Calendar")
<script type="text/javascript">
var CalendarHelper = (function () {
var calendarHelper = function () { };
var calendarName = "FullCalendarTanar";
calendarHelper.RefreshCalendar = function () {
var currentCalendarView = $("#" + calendarName).fullCalendar('getView');
var startDate = currentCalendarView.intervalStart._d;
$("#" + calendarName).fullCalendar('destroy');
createCalendar(startDate);
};
function createCalendar(startDate) {
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendarStartDate = startDate;
pram.calendar = calendarName;
pram.minTime = '@Model.CalendarMinTime';
pram.maxTime = '@Model.CalendarMaxTime';
pram.hetirendek = '@Model.HetirendJson';
pram.naptariHetekHetirend = '@Model.NaptariHetekHetirendJson';
pram.naptariHetekUrl = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetTanevHetek" })';
pram.serviceURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetOrarendKereso" })';
pram.kellTanevRendje = true;
pram.minTime = '@ViewBag.napirendStart';
pram.maxTime = '@ViewBag.napirendEnd';
pram.mouseoverEvent = showTemaTooltip;
pram.mouseoutEvent = hideTemaTooltip;
var tanarId = $("#Tanar").data('kendoComboBox').value();
if (CommonUtils.isNullOrWhiteSpace(tanarId)) {
tanarId = -1;
}
pram.tanarId = tanarId;
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);
}
}
$(document).ready(function () {
createCalendar("@DateTime.Now.ToString("yyyy-MM-dd")");
});
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 );
}
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)){
var kendoTooltipElement = $(element).data('kendoTooltip');
if (!CommonUtils.isUndefined(kendoTooltipElement) && !CommonUtils.isNullOrEmpty(kendoTooltipElement) && CommonUtils.isFunction(kendoTooltipElement.hide)){
kendoTooltipElement.destroy();
}
}
}
return calendarHelper;
})();
</script>
<script type="text/javascript">
var OrarendKereso = (function () {
var orarendKereso = function () { };
orarendKereso.FormSearch = function (formId) {
CalendarHelper.RefreshCalendar();
}
return orarendKereso;
})();
</script>
}
<div id="FullCalendarTanar"></div>

View file

@ -0,0 +1,251 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Web.Helpers.Grid
@model TanitasiOraSearchModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "TanitasiOraGrid"))
{
if (ClaimData.IsVegyes)
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.DatumTol, x => x.DatumIg)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportok).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.CsoportTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanoraKeresoApi", action = "GetCsoportTipusList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FoglalkozasId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanoraKeresoApi", action = "GetFoglalkozasList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanoraKeresoApi", action = "GetTantargyList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TanarId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetPedagogusListByTanev" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TeremId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), "Text", "Value", useGroup: false).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.Elmaradt, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Sorszamozando, Model.CheckBoxValueList).RenderSearchPanelSideBar();
/* --- ÁLTALÁNOS --- */
<h5 style="border-bottom:1px solid #d4d4d4">@OrarendResource.Altalanos</h5>
@Html.KretaComboBoxFor(x => x.Tulora, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.IKTTanora, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.IPRTanora, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Meres, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Bontott, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.NemzetisegiOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Differencialt, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Drama, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.ParhuzamosOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.MindennaposTestneveles, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Kooperativ, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.MultikulturalisOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.NemSzakrendszeruOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.IsFelnottoktatasiSzerzodes, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.OnlineOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.HFRogzitve, Model.CheckBoxValueList).RenderSearchPanelSideBar();
/* --- EFOP-3.1.11-19 PROJEKT --- */
<h5 style="border-bottom:1px solid #d4d4d4">@OrarendResource.Efop311119Projekt</h5>
@Html.KretaComboBoxFor(x => x.TanevTananyaganakIsmetlese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanevTananyaganakKiegeszitese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokDigitalisKeszsegfejlesztese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Projektmunka, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokKompenzaciosIraskeszsegFejlesztese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokKompenzaciosOlvasasiKepessegFejlesztese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokMatematikaiGondolkodasiKepessegenekKompenzaciosFejlesztese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokNyelviKepessegenekKompenzaciosFejlesztese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokOnmegismeresenekSegitese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokOnallosagraNevelese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokTanulasszervezesiKompenzaciosTechnikajanakErositese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokOrientaciosTamogatasa, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokSzocialitasanakFejlesztese, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanulokTovabbhaladasatElokeszitoTevekenysegek, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.PedagogusAltalJelzettEgyeniEsetkezeles, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.ProjektmunkaTamogatasa, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.DigitalisKeszsegfejlesztes, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.KozossegiMunkaTamogatasa, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanoraElokeszitesenekTamogatasa, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TanoraLebonyolitasanakTamogatasa, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.NapkozisTevekenysegKeretebenEgyeniFejlesztes, Model.CheckBoxValueList).RenderSearchPanelSideBar();
/* --- KOMPLEX ALAPPROGRAM --- */
<h5 style="border-bottom:1px solid #d4d4d4">@OrarendResource.KomplexAlapProgram</h5>
@Html.KretaComboBoxFor(x => x.KAPOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.DFHTOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Rahangolodas, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TestmozgasAlapuAlprogram, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.MuveszetAlapuAlprogram, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.KIPOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.KomplexOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.EletgyakorlatAlapuAlprogram, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.LogikaAlapuAlprogram, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TeOrad, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.DigitalisAlapuAlprogram, Model.CheckBoxValueList).RenderSearchPanelSideBar();
/* --- EGYÉB PÁLYÁZAT--- */
<h5 style="border-bottom:1px solid #d4d4d4">@OrarendResource.EgyebPalyazat</h5>
@Html.KretaComboBoxFor(x => x.TAMOPOra, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.Tiop, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.EFOP32317, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.EFOP33717, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.VEKOP73317, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.TIOP11112120120001, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.EFOP31716EselyteremtesAKoznevelesben, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.GINOP623, Model.CheckBoxValueList).RenderSearchPanelSideBar();
@Html.KretaComboBoxFor(x => x.EFOP23517201700038Miapalya, Model.CheckBoxValueList).RenderSearchPanelSideBar();
//END
@Html.KretaComboBoxFor(x => x.Helyetesitett, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperEnumApi", action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
/* --- DIGITÁLIS OKTATÁS --- */
<h5 style="border-bottom:1px solid #d4d4d4">@OrarendResource.NaplozasDigitalisOktatas.ToUpper()</h5>
@Html.KretaComboBoxFor(m => m.DigEszkozTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDigEszkozTipusList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(m => m.DigPlatformTipusId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDigPlatformTipusList" }), "Text", "Value", useGroup: false).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaMultiSelectFor(model => model.DigTamEszkozTipus, Model.DigTamEszkozTipusList).AutoBind(true).RenderSearchPanelSideBar(allButtons: true)
}
}
<div>
@(
Html.KretaGrid<TanitasiOraGridModel>(
name: "TanitasiOraGrid",
getUrl: new GridApiUrl("TanoraKeresoApi", "GetTanitasiOraGrid"),
useToolBar: true,
dataParameterFunction: "searchForm",
allowScrolling: true,
sort: sort =>
{
sort.Add(m => m.Datum).Ascending();
sort.Add(m => m.Ora).Ascending();
},
postRead: true
)
.Columns(columns =>
{
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Ora).Width("10%");
columns.Bound(c => c.OraSorsz).SetDisplayProperty("OraSorszTxt").Width("10%");
columns.Bound(c => c.TanarNevElotagNelkul).SetDisplayProperty("TanarNev");
columns.Bound(c => c.Megjegyzes);
columns.Bound(c => c.OsztCsopNev);
columns.Bound(c => c.TargyNev);
columns.Bound(c => c.Tema);
columns.Bound(c => c.NaplozasDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.HFRogzitve);
})
.RowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Adatok, ClientAction= "TanoraKeresoHelper.openTanoraInfoWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
new RowFunction { Name = CommonResource.Torles, ClientAction= "TanoraKeresoHelper.deleteTanoraConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
})
.FunctionCommand(Html, new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), NestedCommands = new List<FunctionCommand> {
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "TanoraKeresoHelper.getExport"},
new FunctionCommand { Name = OrarendResource.HelyettesitettTanorak, ClientAction = "TanoraKeresoHelper.exportHelyettesitettTanorak" },
new FunctionCommand { Name = OrarendResource.ElmaradtTanorak, ClientAction = "TanoraKeresoHelper.exportElmaradtTanorak" },
new FunctionCommand { Name = OrarendResource.MegtartottTanorak, ClientAction = "TanoraKeresoHelper.exportMegtartottTanorak" },
}
}
})
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.AutoBind(true)
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyID").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyID").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var TanoraKeresoHelper = (function () {
var tanoraKeresoHelper = function () { };
var searchFormName = "searchForm";
var gridName = "TanitasiOraGrid";
var url = {
OpenTanitasiOraInfoPopUp: "@Url.Action("OpenTanitasiOraInfoPopUp", "TanoraKereso", new { area = "Orarend" })",
ExportHelyettesitettTanorak: "@Url.Action("ExportHelyettesitettTanorak", "TanoraKereso", new {area = "Orarend" })",
ExportElmaradtTanorak: "@Url.Action("ExportElmaradtTanorak", "TanoraKereso", new {area = "Orarend" })",
ExportMegtartottTanorak: "@Url.Action("ExportMegtartottTanorak", "TanoraKereso", new {area = "Orarend" })",
DeleteTanora: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanoraKeresoApi", action = "DeleteTanora" })",
NemNaplozottTanorakCount: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanariOrarendApi", action = "GetNemNaplozottTanorakCount" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "TanoraKeresoApi", action = "GetExport" })",
}
tanoraKeresoHelper.openTanoraInfoWindow = function (rowData) {
var postData = { TanitasiOraId: rowData.ID, Datum: rowData.Datum };
AjaxHelper.DoPost(url.OpenTanitasiOraInfoPopUp, postData, popUpInfoWindow);
}
tanoraKeresoHelper.tanitasiOraInfoCancel = function () {
KretaWindowHelper.destroyWindow("tanitasiOraInfoWindow");
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@OrarendResource.TanoraAdatai";
config.maxWidth = "960px";
config.height = "620px";
config.content = data;
var modal = KretaWindowHelper.createWindow("tanitasiOraInfoWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
tanoraKeresoHelper.exportHelyettesitettTanorak = function () {
var data = KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName);
AjaxHelper.DownloadFile(url.ExportHelyettesitettTanorak, data);
}
tanoraKeresoHelper.exportElmaradtTanorak = function () {
var data = KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName);
AjaxHelper.DownloadFile(url.ExportElmaradtTanorak, data);
}
tanoraKeresoHelper.exportMegtartottTanorak = function () {
var data = KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName);
AjaxHelper.DownloadFile(url.ExportMegtartottTanorak, data);
}
tanoraKeresoHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
tanoraKeresoHelper.deleteTanoraConfirmWindow = function (rowData)
{
var postData = { tanoraId: rowData.ID };
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.BiztosanTorliATanitasiOrat)", deleteTanoraDoublePrompt, postData, KretaWindowHelper.destroyAllWindow);
}
function deleteTanoraDoublePrompt (postData) {
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(OrarendResource.TanoraTorlesConfirm)", deleteTanora, postData, KretaWindowHelper.destroyAllWindow, "@(CommonResource.Tovabb)","@(CommonResource.Megse)");
}
function deleteTanora(postData) {
AjaxHelper.DoPostQuery(url.DeleteTanora, null, postData, deleteFeedback);
}
function deleteFeedback(data) {
if (data == "true") {
KretaWindowHelper.feedbackWindow(data.Title, data.Text, true, KretaWindowHelper.destroyAllWindow);
} else {
KretaWindowHelper.destroyAllWindow();
}
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.DoGet(url.NemNaplozottTanorakCount, {}, tanoraKeresoHelper.updateNemNapolzottTanorakCount);
}
tanoraKeresoHelper.updateNemNapolzottTanorakCount = function (data) {
$("#NemNaplozottTanorakCount").attr('data-badge',data);
}
return tanoraKeresoHelper;
})();
</script>

View file

@ -0,0 +1,49 @@
@using Kreta.Web.Areas.Orarend.Models
@model TanitasiOraInfoModel
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.Datum, 3, 3)
@Html.KretaLabelFor(x => x.Oraszam, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HetNapja, 3, 3)
@Html.KretaLabelFor(x => x.Hetirend, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Foglalkozas, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OsztalyCsoport, 3, 3)
@Html.KretaLabelFor(x => x.Tantargy, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Tanar, 3, 3)
@Html.KretaLabelFor(x => x.Terem, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Megtartott, 3, 3)
@Html.KretaLabelFor(x => x.Sorszamozando, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.OraKezdete, 3, 3)
@Html.KretaLabelFor(x => x.OraVege, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Tema, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.Megjegyzes, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HelyettesitoTanar, 3, 3)
@Html.KretaLabelFor(x => x.HelyettesitesTipusa, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.HelyettesitesOka, 3, 3)
@Html.KretaLabelFor(x => x.NaplozasIdopontja, 3, 3)
</div>
<div class="row">
@Html.KretaLabelFor(x => x.LegutobbiModositasIdopontja, 3, 3)
</div>
</div>

View file

@ -0,0 +1,117 @@
@*TEREM*@
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.Orarend.Models
@using Kreta.Enums.ManualEnums;
@model OrarendKeresoModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", null, postSubmitFunction: "OrarendKereso.FormSearch"))
{
@Html.KretaComboBoxFor(x => x.Terem, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTeremList" }), useGroup: false).AutoBind(true).RenderSearchPanelSideBar()
}
}
@section AddJs {
@Scripts.Render("~/bundles/Calendar")
<script type="text/javascript">
var CalendarHelper = (function () {
var calendarHelper = function () { };
var calendarName = "FullCalendarTerem";
calendarHelper.RefreshCalendar = function () {
var currentCalendarView = $("#" + calendarName).fullCalendar('getView');
var startDate = currentCalendarView.intervalStart._d;
$("#" + calendarName).fullCalendar('destroy');
createCalendar(startDate);
};
function createCalendar(startDate) {
var calendar = new SDAFullCalendar();
var pram = calendar.getParameters();
pram.calendarStartDate = startDate;
pram.calendar = calendarName;
pram.minTime = '@Model.CalendarMinTime';
pram.maxTime = '@Model.CalendarMaxTime';
pram.hetirendek = '@Model.HetirendJson';
pram.naptariHetekHetirend = '@Model.NaptariHetekHetirendJson';
pram.naptariHetekUrl = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetTanevHetek" })';
pram.serviceURL = '@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "CalendarApi", action = "GetOrarendKereso" })';
pram.kellTanevRendje = true;
pram.minTime = '@ViewBag.napirendStart';
pram.maxTime = '@ViewBag.napirendEnd';
pram.mouseoverEvent = showTemaTooltip;
pram.mouseoutEvent = hideTemaTooltip;
var teremId = $("#Terem").data('kendoComboBox').value();
if (CommonUtils.isNullOrWhiteSpace(teremId)) {
teremId = -1;
}
pram.teremId = teremId;
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);
}
}
$(document).ready(function () {
createCalendar("@DateTime.Now.ToString("yyyy-MM-dd")");
});
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 );
}
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)){
var kendoTooltipElement = $(element).data('kendoTooltip');
if (!CommonUtils.isUndefined(kendoTooltipElement) && !CommonUtils.isNullOrEmpty(kendoTooltipElement) && CommonUtils.isFunction(kendoTooltipElement.hide)){
kendoTooltipElement.destroy();
}
}
}
return calendarHelper;
})();
</script>
<script type="text/javascript">
var OrarendKereso = (function () {
var orarendKereso = function () { };
orarendKereso.FormSearch = function (formId) {
CalendarHelper.RefreshCalendar();
}
return orarendKereso;
})();
</script>
}
<div id="FullCalendarTerem"></div>

View file

@ -0,0 +1,3 @@
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}

View file

@ -0,0 +1,39 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.Optimization" />
<add namespace="Kreta.Web" />
<add namespace="Kreta.BusinessLogic.Utils" />
<add namespace="Kendo.Mvc.UI" />
<add namespace="Kreta.Web.Helpers" />
<add namespace="Kreta.Resources" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>