init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,30 @@
|
|||
@using Kreta.Web.Helpers.Grid;
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Areas.Hianyzas.Models;
|
||||
@model IgazolasDetailModel
|
||||
|
||||
<div id="partialDetailGrid_@Model.ToString()">
|
||||
@(
|
||||
Html.KretaGrid<IgazolasDetailGridModel>(
|
||||
"IgazolasDetailGrid_" + Model.TanuloId.ToString(),
|
||||
new GridApiUrl(Model.ApiControllerName, "GetDetailIgazolasok", new Dictionary<string, string> { { "tanuloId", Model.TanuloId.ToString() } }),
|
||||
useToolBar: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.Kezdete).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.Vege).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.IgazolasTipusa_DNAME);
|
||||
columns.Bound(c => c.Rogzito);
|
||||
columns.Bound(c => c.Megjegyzes);
|
||||
})
|
||||
.RowFunction(Html, new List<RowFunction> {
|
||||
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction= "IgazolasHelper.DeleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles },
|
||||
})
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
)
|
||||
</div>
|
|
@ -0,0 +1,28 @@
|
|||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
|
||||
@model MulasztasInfoModel.AlapadatModel
|
||||
|
||||
<div class="container-fluid details">
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Tanulo, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.Datum, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Oraszam, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.OsztalyCsoport, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Tantargy, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.MulasztasTipus, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.KesesPercben, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Igazolt, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.IgazolasTipus, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Megjegyzes, 3, 3)
|
||||
</div>
|
||||
</div>
|
|
@ -0,0 +1,8 @@
|
|||
@using Kreta.Web.Models.EditorTemplates
|
||||
|
||||
@model TabStripModel
|
||||
|
||||
<div id="MulasztasInfoTabStrip">@Html.Partial(@"EditorTemplates\TabStrip", Model.TabList)</div>
|
||||
|
||||
@Html.KretaTabStrip("MulasztasInfoTabStrip").Animation(false).RenderOnModal()
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
|
||||
@model MulasztasInfoModel.TanitasiOraModel
|
||||
|
||||
<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.HelyettesitesitoTanarNeve, 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>
|
|
@ -0,0 +1,135 @@
|
|||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Security
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
@model MulasztasokDatumNezetGridModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokDatumNezetDetailGrid_" + Model.MulasztasDatuma.ToString("yyyyMMdd");
|
||||
var javascriptClassName = gridName + "Helper";
|
||||
var parentGridName = "MulasztasokDatumNezetGrid";
|
||||
var parentFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
@{
|
||||
var igazoltList = new List<SelectListItem>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
if(!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
|
||||
}
|
||||
else if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet && Model.IsTanorai == false)
|
||||
{
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.CsakIgazoltraAllithatnak ||
|
||||
Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
}
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
|
||||
var functionCommandList = new List<FunctionCommand>();
|
||||
if (Model.IsMulasztasKezelheto && (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet
|
||||
&& Model.ApiControllerName == Constants.ApiControllers.DualisMulasztasokApi || ClaimManager.HasPackage("Osztalyfonok") || Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet
|
||||
&& Model.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak && Model.IsTanorai == false))
|
||||
{
|
||||
functionCommandList.Add(new FunctionCommand
|
||||
{
|
||||
Name = CommonResource.Mentes,
|
||||
ClientAction = string.Format("function() {{ MulasztasKezelesHelper.saveMulasztasList('{0}', ['{1}'], '{2}', false); }}", gridName, parentGridName, parentFormName)
|
||||
});
|
||||
}
|
||||
|
||||
var rowFunctionList = new List<RowFunction>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet && Model.ApiControllerName == Constants.ApiControllers.DualisMulasztasokApi || ClaimManager.HasPackage("Osztalyfonok"))
|
||||
{
|
||||
rowFunctionList.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles,
|
||||
ClientAction = string.Format(@"function(e) {{ MulasztasKezelesHelper.deleteConfirmWindow(e, ['{0}'], '{1}'); }}", parentGridName, parentFormName),
|
||||
IconEnum = GridRowFunctionIconEnum.Torles
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
var grid = Html.KretaGrid<MulasztasGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokDatumNezetDetailGrid", new Dictionary<string, string>()),
|
||||
dataBoundAdditionalFunction:
|
||||
string.Format(@"
|
||||
var shortDateReplaced = '{0:yyyyMMdd}';
|
||||
var igazoltDivNamePrefix = 'divMulasztasokDatumNezetDetailGrid_' + shortDateReplaced + '_Igazolt_';
|
||||
var detailGridName = '{1}';
|
||||
MulasztasKezelesHelper.setDetailControlsEvents(igazoltDivNamePrefix, detailGridName, false);
|
||||
MulasztasKezelesHelper.dataBoundAdditionalFunction();
|
||||
", Model.MulasztasDatuma, gridName),
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
//TODO: Itt azért tüntetjük el a sorszámot, mert hozzáadunk egy plusz sort amivel az összes elemet lehet módosítani, amit szintén sorszámoz a grid és ez a user-eket zavarja!
|
||||
// Vissza kell tenni a sorszámokat, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
showSorszam: false,
|
||||
readDataFunction: "function(){ return { model: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloNev).ClientTemplate(@"
|
||||
<a class='kendoTooltip tanuloNev gridLinkButton'
|
||||
data-tanuloid='#: TanuloId #'
|
||||
data-tanulonev='#: TanuloNev #'
|
||||
data-osztaly='#: OsztCsopNev #'
|
||||
data-anyjaneve='#: AnyjaNeve #'
|
||||
data-szuletesiido='#: SzuletesiIdoFormatted #'
|
||||
>#: TanuloNev #</a>");
|
||||
columns.Bound(c => c.Oraszam).Width("3%");
|
||||
columns.Bound(c => c.OsztCsopNev).Width("10%");
|
||||
columns.Bound(c => c.TargyNev).Width("10%");
|
||||
columns.Bound(c => c.MulTip_DNAME).Width("8%");
|
||||
columns.Bound(c => c.KesesPerc).Width("6%");
|
||||
|
||||
})
|
||||
.SelectForColumn(Html.For<MulasztasGridModel>(), HianyzasResource.IgazoltKerdojel, c => c.Igazolt, igazoltList)
|
||||
.EditableComboBoxColumn(Html, HianyzasResource.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList", szervezetTipusEnumId = Model.SzervezetTipusId }), m => m.IgazolasTipus, "Text", "Value", maxWidth: true);
|
||||
grid.TextAreaForColumn(Html.For<MulasztasGridModel>(), 97, m => m.Megjegyzes);
|
||||
grid.FunctionCommand(Html, functionCommandList);
|
||||
grid.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".removeFirstRowDeleteButton");
|
||||
}
|
||||
|
||||
<div id="partialDetailGrid_@Model.MulasztasDatuma.ToString("yyyyMMdd")" class="@(Model.IsMulasztasKezelheto ? "" : "disabledItem")">
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var @javascriptClassName = (function () {
|
||||
var gridDetailHelper = function () { };
|
||||
|
||||
//TODO: Ezt lehet majd törölni, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
gridDetailHelper.removeFirstRowDeleteButton = function (rowData) {
|
||||
var result = rowData.id !== "0" && CommonUtils.parseBool("@ClaimData.IsModosithatjaOsztfoMulasztasokat");
|
||||
return result;
|
||||
}
|
||||
|
||||
return gridDetailHelper;
|
||||
})();
|
||||
|
||||
</script>
|
|
@ -0,0 +1,48 @@
|
|||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
|
||||
@model MulasztasSearchModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokDatumNezetGrid";
|
||||
var searchFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<MulasztasokDatumNezetGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokDatumNezetGrid", new Dictionary<string, string>()),
|
||||
dataParameterFunction: searchFormName,
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("GetMulasztasokDatumNezetDetailGrid", Model.ControllerName, new { area = "Hianyzas" }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowPaging: false,
|
||||
pageSizes: null
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.MulasztasDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.MulasztasNapja).Width("30%");
|
||||
columns.Bound(c => c.MulasztasokSzama).Width("30%");
|
||||
})
|
||||
)
|
||||
</div>
|
||||
|
||||
@Html.KretaGridTemplate("detailGrid-template")
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var MulasztasokDatumNezetHelper = (function () {
|
||||
var mulasztasokDatumNezetHelper = function () { };
|
||||
|
||||
return mulasztasokDatumNezetHelper;
|
||||
})();
|
||||
|
||||
</script>
|
|
@ -0,0 +1,521 @@
|
|||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Security
|
||||
@using Kreta.Enums
|
||||
@using Kreta.Enums.ManualEnums;
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
|
||||
@model MulasztasSearchModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokNaploNezetGrid";
|
||||
var searchFormName = "MulasztasokSearchForm";
|
||||
var igazoltList = new List<SelectListItem>();
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
if (!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
|
||||
@Html.KretaTooltipTemplate("kendoTooltip-naploNezetOraTemplate",
|
||||
@"<div class='kendoTooltip'>
|
||||
<table>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Óra:</b></td>
|
||||
<td>#:target.data('nev')#</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Osztály/csoport:</b></td>
|
||||
<td>#:target.data('osztalycsoportnev')#</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Tanár:</b></td>
|
||||
<td>#:target.data('tanarnev')#</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Tantárgy:</b></td>
|
||||
<td>#:target.data('tantargynev')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Mulasztás típus:</b></td>
|
||||
<td>#:target.data('mulasztastipustext')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Igazolt?:</b></td>
|
||||
<td>#:target.data('isigazolttext')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Igazolás típus:</b></td>
|
||||
<td>#:target.data('igazolastipustext')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Megjegyzés:</b></td>
|
||||
<td>#:target.data('megjegyzes')#</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>")
|
||||
|
||||
<div style="float: left">
|
||||
@Html.KretaSaveButton("MulasztasMentes", "function() { MulasztasokNaploNezetHelper.saveNaploNezetMulasztasList(); }")
|
||||
</div>
|
||||
<div id="pager" class="row" style="text-align: center">
|
||||
<div class="fc-button-group">
|
||||
<button type="button" class="fc-prev-button fc-button fc-state-default fc-corner-left" style="height:25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(-7)">
|
||||
<span class="fc-icon fc-icon-left-double-arrow"></span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="fc-prev-button fc-button fc-state-default fc-corner-left" style="height: 25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(-1)">
|
||||
<span class="fc-icon fc-icon-left-single-arrow"></span>
|
||||
</button>
|
||||
|
||||
@Html.KretaDatePickerFor(x => x.NaploNezetDatum, new Dictionary<string, object> { { "onchange", "MulasztasokNaploNezetHelper.naploNezetDatumOnChange()" }, { "style", "margin-bottom: 3px;" } }).Min(Model.NaploNezetDatumMinDate).Max(Model.NaploNezetDatumMaxDate)
|
||||
|
||||
<button type="button" class="fc-next-button fc-button fc-state-default fc-corner-right" style="height:25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(1)">
|
||||
<span class="fc-icon fc-icon-right-single-arrow"></span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="fc-next-button fc-button fc-state-default fc-corner-right" style="height:25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(7)">
|
||||
<span class="fc-icon fc-icon-right-double-arrow"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@{
|
||||
var grid = Html.KretaGrid<MulasztasokNaploNezetGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokNaploNezetGrid", new Dictionary<string, string>()),
|
||||
dataParameterFunction: searchFormName,
|
||||
dataBoundAdditionalFunction: "MulasztasokNaploNezetHelper.dataBoundAdditionalFunction();",
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
mustShowPagerCount: false,
|
||||
//TODO: Itt azért tüntettjük el a sorszámot, mert hozzáadunk egy plusz sort amivel az összes elemet lehet módosítani, amit szintén sorszámoz a grid és ez a user-eket zavarja!
|
||||
// Vissza kell tenni a sorszámokat, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
showSorszam: false
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.TanuloNev)
|
||||
.ClientTemplate(@"
|
||||
<a class='kendoTooltip tanuloNev gridLinkButton'
|
||||
data-tanuloid='#: TanuloId #'
|
||||
data-tanulonev='#: TanuloNev #'
|
||||
data-osztaly='#: OsztalyNev #'
|
||||
data-anyjaneve='#: AnyjaNeve #'
|
||||
data-szuletesiido='#: SzuletesiIdoFormatted #'
|
||||
>#: TanuloNev #</a>")
|
||||
.HeaderHtmlAttributes(new { @class = "borderRight" })
|
||||
.HtmlAttributes(new { @class = "borderRight" });
|
||||
|
||||
for (int index = Kreta.Core.Constants.Mulasztas.OraSorszamMinValue; index <= Kreta.Core.Constants.Mulasztas.OraSorszamMaxValue; index++)
|
||||
{
|
||||
string oraSorszamString;
|
||||
if (index < 0)
|
||||
{
|
||||
oraSorszamString = "Minusz" + Math.Abs(index);
|
||||
}
|
||||
else
|
||||
{
|
||||
oraSorszamString = index.ToString();
|
||||
}
|
||||
|
||||
columns.Bound("Ora" + oraSorszamString + "Column")
|
||||
.ClientTemplate("#= MulasztasokNaploNezetHelper.getOraTemplate(" +
|
||||
"Ora" + oraSorszamString + "IsMegtartott, " +
|
||||
"Ora" + oraSorszamString + "MulasztasId, " +
|
||||
"Ora" + oraSorszamString + "MulasztasTipus, " +
|
||||
"Ora" + oraSorszamString + "KesesPercben, " +
|
||||
"Ora" + oraSorszamString + "IsIgazolt, " +
|
||||
"Ora" + oraSorszamString + "Nev, " +
|
||||
"Ora" + oraSorszamString + "OsztalyCsoportNev, " +
|
||||
"Ora" + oraSorszamString + "TanarNev, " +
|
||||
"Ora" + oraSorszamString + "TantargyNev, " +
|
||||
"Ora" + oraSorszamString + "TanitasiOraId, " +
|
||||
"Ora" + oraSorszamString + "IgazolasTipus, " +
|
||||
"Ora" + oraSorszamString + "Megjegyzes, " +
|
||||
"Ora" + oraSorszamString + "IgazolasTipusText, " +
|
||||
"TanuloId) #")
|
||||
.Title(index + ". óra")
|
||||
.HeaderHtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.HtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.Hidden(index >= 0 && 12 >= index ? false : true);
|
||||
}
|
||||
for (int index = 1; index <= Kreta.Core.Constants.Mulasztas.FoglalkozasCount; index++)
|
||||
{
|
||||
columns.Bound("Foglalkozas" + index + "Column")
|
||||
.ClientTemplate("#= MulasztasokNaploNezetHelper.getOraTemplate(" +
|
||||
"Foglalkozas" + index + "IsMegtartott, " +
|
||||
"Foglalkozas" + index + "MulasztasId, " +
|
||||
"Foglalkozas" + index + "MulasztasTipus, " +
|
||||
"Foglalkozas" + index + "KesesPercben, " +
|
||||
"Foglalkozas" + index + "IsIgazolt, " +
|
||||
"Foglalkozas" + index + "Nev, " +
|
||||
"Foglalkozas" + index + "OsztalyCsoportNev, " +
|
||||
"Foglalkozas" + index + "TanarNev, " +
|
||||
"Foglalkozas" + index + "TantargyNev, " +
|
||||
"Foglalkozas" + index + "TanitasiOraId, " +
|
||||
"Foglalkozas" + index + "IgazolasTipus, " +
|
||||
"Foglalkozas" + index + "Megjegyzes, " +
|
||||
"Foglalkozas" + index + "IgazolasTipusText, " +
|
||||
"TanuloId) #")
|
||||
.HeaderHtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.HtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.Hidden(true);
|
||||
}
|
||||
})
|
||||
.AutoBind(false)
|
||||
.SelectForColumn(Html.For<MulasztasokNaploNezetGridModel>(), HianyzasResource.IgazoltKerdojel, c => c.Igazolt, igazoltList)
|
||||
.EditableComboBoxColumn(Html, HianyzasResource.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList", szervezetTipusEnumId = Model.SzervezetTipusId }), m => m.IgazolasTipus, "Text", "Value", maxWidth: true);
|
||||
|
||||
grid.TextAreaForColumn(Html.For<MulasztasokNaploNezetGridModel>(), 97, m => m.Megjegyzes);
|
||||
}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
MulasztasokNaploNezetHelper = (function () {
|
||||
var mulasztasokNaploNezetHelper = function () { };
|
||||
|
||||
var url = {
|
||||
SaveNaploNezetMulasztasList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "SaveNaploNezetMulasztasList" })"
|
||||
};
|
||||
|
||||
var gridName = "@gridName";
|
||||
var searchFormName = "@searchFormName";
|
||||
|
||||
var modifiedMulasztasList = new Array();
|
||||
|
||||
mulasztasokNaploNezetHelper.getNaploNezetByDate = function (addDayCount) {
|
||||
var datum = MulasztasKezelesHelper.getNaploNezetDatum();
|
||||
datum.setDate(datum.getDate() + addDayCount);
|
||||
var kendoDatePicker = KretaDateTimeHelper.getKendoDatePickerData("NaploNezetDatum");
|
||||
var minDatum = kendoDatePicker.min();
|
||||
if (datum < minDatum) {
|
||||
datum = minDatum;
|
||||
}
|
||||
var maxDatum = kendoDatePicker.max();
|
||||
if (datum > maxDatum) {
|
||||
datum = maxDatum;
|
||||
}
|
||||
MulasztasKezelesHelper.setNaploNezetDatum(datum);
|
||||
kendoDatePicker.value(datum);
|
||||
$("#NaploNezetDatum").trigger("change");
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.naploNezetDatumOnChange = function () {
|
||||
var kendoDatePicker = KretaDateTimeHelper.getKendoDatePickerData("NaploNezetDatum");
|
||||
MulasztasKezelesHelper.setNaploNezetDatum(kendoDatePicker.value());
|
||||
MulasztasKezelesHelper.refreshNaploNezetGrid(searchFormName);;
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.setNaploNezetOraToolTip = function () {
|
||||
var kendoTooltip = $(".naploNezetOra");
|
||||
KretaTooltipHelper.setTooltip(kendoTooltip, "#kendoTooltip-naploNezetOraTemplate");
|
||||
if ("@ClaimData.IsModosithatjaOsztfoMulasztasokat" != "False") {
|
||||
kendoTooltip.off("click");
|
||||
kendoTooltip.click(function (e) {
|
||||
changeMulasztasDetails(e);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.dataBoundAdditionalFunction = function () {
|
||||
MulasztasKezelesHelper.setToolTip();
|
||||
mulasztasokNaploNezetHelper.setNaploNezetOraToolTip();
|
||||
var igazoltDivNamePrefix = "divMulasztasokNaploNezetGrid_Igazolt_";
|
||||
MulasztasKezelesHelper.setDetailControlsEvents(igazoltDivNamePrefix, gridName, false);
|
||||
var gridData = KretaGridHelper.getKendoGridData(gridName);
|
||||
var rowData = gridData.dataSource.data()[0];
|
||||
if (!CommonUtils.isUndefined(rowData)) {
|
||||
setOraColumnVisibility(gridData, rowData.OraMinusz2IsHiddenColumn, "OraMinusz2Column", rowData.OraMinusz2Nev);
|
||||
setOraColumnVisibility(gridData, rowData.OraMinusz1IsHiddenColumn, "OraMinusz1Column", rowData.OraMinusz1Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora0IsHiddenColumn, "Ora0Column", rowData.Ora0Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora1Column", rowData.Ora1Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora2Column", rowData.Ora2Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora3Column", rowData.Ora3Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora4Column", rowData.Ora4Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora5Column", rowData.Ora5Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora6Column", rowData.Ora6Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora7Column", rowData.Ora7Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora8Column", rowData.Ora8Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora9Column", rowData.Ora9Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora10Column", rowData.Ora10Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora11Column", rowData.Ora11Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora12Column", rowData.Ora12Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora13IsHiddenColumn, "Ora13Column", rowData.Ora13Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora14IsHiddenColumn, "Ora14Column", rowData.Ora14Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora15IsHiddenColumn, "Ora15Column", rowData.Ora15Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora16IsHiddenColumn, "Ora16Column", rowData.Ora16Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora17IsHiddenColumn, "Ora17Column", rowData.Ora17Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora18IsHiddenColumn, "Ora18Column", rowData.Ora18Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora19IsHiddenColumn, "Ora19Column", rowData.Ora19Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora20IsHiddenColumn, "Ora20Column", rowData.Ora20Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora21IsHiddenColumn, "Ora21Column", rowData.Ora21Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora22IsHiddenColumn, "Ora22Column", rowData.Ora22Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora23IsHiddenColumn, "Ora23Column", rowData.Ora23Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora24IsHiddenColumn, "Ora24Column", rowData.Ora24Nev);
|
||||
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas1IsHiddenColumn, "Foglalkozas1Column", rowData.Foglalkozas1Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas2IsHiddenColumn, "Foglalkozas2Column", rowData.Foglalkozas2Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas3IsHiddenColumn, "Foglalkozas3Column", rowData.Foglalkozas3Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas4IsHiddenColumn, "Foglalkozas4Column", rowData.Foglalkozas4Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas5IsHiddenColumn, "Foglalkozas5Column", rowData.Foglalkozas5Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas6IsHiddenColumn, "Foglalkozas6Column", rowData.Foglalkozas6Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas7IsHiddenColumn, "Foglalkozas7Column", rowData.Foglalkozas7Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas8IsHiddenColumn, "Foglalkozas8Column", rowData.Foglalkozas8Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas9IsHiddenColumn, "Foglalkozas9Column", rowData.Foglalkozas9Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas10IsHiddenColumn, "Foglalkozas10Column", rowData.Foglalkozas10Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas11IsHiddenColumn, "Foglalkozas11Column", rowData.Foglalkozas11Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas12IsHiddenColumn, "Foglalkozas12Column", rowData.Foglalkozas12Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas13IsHiddenColumn, "Foglalkozas13Column", rowData.Foglalkozas13Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas14IsHiddenColumn, "Foglalkozas14Column", rowData.Foglalkozas14Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas15IsHiddenColumn, "Foglalkozas15Column", rowData.Foglalkozas15Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas16IsHiddenColumn, "Foglalkozas16Column", rowData.Foglalkozas16Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas17IsHiddenColumn, "Foglalkozas17Column", rowData.Foglalkozas17Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas18IsHiddenColumn, "Foglalkozas18Column", rowData.Foglalkozas18Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas19IsHiddenColumn, "Foglalkozas19Column", rowData.Foglalkozas19Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas20IsHiddenColumn, "Foglalkozas20Column", rowData.Foglalkozas20Nev);
|
||||
}
|
||||
modifiedMulasztasList = new Array();
|
||||
}
|
||||
|
||||
function setOraColumnVisibility(gridData, isHiddenColumn, columnName, columnHeaderValue) {
|
||||
if (CommonUtils.parseBool(isHiddenColumn)) {
|
||||
gridData.hideColumn(columnName);
|
||||
} else {
|
||||
gridData.showColumn(columnName);
|
||||
$("#" + gridName + " thead th[data-field=" + columnName + "] span.k-link").html(columnHeaderValue);
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.saveNaploNezetMulasztasList = function () {
|
||||
var modRows = KretaGridHelper.getModifiedRows(gridName);
|
||||
var message = "";
|
||||
$.each(modRows, function (index, row) {
|
||||
var naploNezetOraList = $(".naploNezetOra[data-tanuloid='" + row.TanuloId + "']");
|
||||
$.each(naploNezetOraList, function (i, value) {
|
||||
var igazoltValue = "null";
|
||||
if (row.input[0].value === "0") {
|
||||
igazoltValue = "true";
|
||||
} else if (row.input[0].value === "1") {
|
||||
igazoltValue = "false";
|
||||
}
|
||||
var igazolasTipusValue = row.input[1].value;
|
||||
var megjegyzesValue = row.input[2].value;
|
||||
setMulasztas(value.dataset.tanitasioraid, value.dataset.tanuloid, value.dataset.mulasztasid, value.dataset.mulasztastipus, igazoltValue, igazolasTipusValue, megjegyzesValue);
|
||||
|
||||
if (CommonUtils.parseBool(igazoltValue) === true && igazolasTipusValue === "" && row.ID > 0) {
|
||||
if (message.length > 0) {
|
||||
message += "<br />";
|
||||
}
|
||||
message += row.TanuloNev + " esetében Igazolás típus megadása kötelező!";
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (modifiedMulasztasList.length > 0) {
|
||||
var mulasztasok = [modifiedMulasztasList.length];
|
||||
$.each(modifiedMulasztasList,
|
||||
function (index, value) {
|
||||
mulasztasok[index] = {
|
||||
ID: value.mulasztasId,
|
||||
Igazolt: value.isIgazolt,
|
||||
IgazolasTipus: value.igazolasTipus,
|
||||
MulasztasTipus: value.mulasztasTipus,
|
||||
Megjegyzes: value.megjegyzes,
|
||||
TanuloId: value.tanuloId,
|
||||
TanitasiOraId: value.tanitasiOraId
|
||||
}
|
||||
});
|
||||
|
||||
var resultData = {
|
||||
Mulasztasok: mulasztasok,
|
||||
OsztalyCsoportId: $("#OsztalyCsoportId").val(),
|
||||
NaploNezetDatum: $("#NaploNezetDatum").val()
|
||||
};
|
||||
|
||||
if (message.length > 0) {
|
||||
KretaWindowHelper.feedbackWindow("", message, true);
|
||||
} else {
|
||||
AjaxHelper.DoPost(url.SaveNaploNezetMulasztasList,
|
||||
resultData,
|
||||
mulasztasokNaploNezetHelper.saveMulasztasListFeedBackOkPostReturn,
|
||||
function (err) {
|
||||
MulasztasKezelesHelper.refreshNaploNezetGrid(searchFormName);
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Figyelmeztetes", err.responseJSON.Message, true);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.saveMulasztasListFeedBackOkPostReturn = function (data) {
|
||||
MulasztasKezelesHelper.saveMulasztasListFeedBackOk([], null, data);
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.getOraTemplate = function (isMegtartott, mulasztasId, mulasztasTipus, kesesPercben, isIgazolt, nev, osztalyCsoportNev, tanarNev, tantargyNev, tanitasiOraId, igazolasTipus, megjegyzes, igazolasTipusText, tanuloId) {
|
||||
var html = "";
|
||||
var clickableclass = "clickable";
|
||||
var mulasztasTipusText;
|
||||
var megtartottDisplayStyleText;
|
||||
var isIgazoltText;
|
||||
var imgClassText;
|
||||
|
||||
if ("@ClaimData.IsModosithatjaOsztfoMulasztasokat" == "False") {
|
||||
clickableclass = "notallowed";
|
||||
}
|
||||
|
||||
if (isMegtartott) {
|
||||
if (mulasztasTipus == "@((int)MulasztasTipusEnum.hianyzas)") {
|
||||
if (CommonUtils.isNull(isIgazolt)) {
|
||||
mulasztasTipusText = "Hiányzás";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolandó";
|
||||
imgClassText = "igazolandoHianyzas";
|
||||
} else if (CommonUtils.parseBool(isIgazolt)) {
|
||||
mulasztasTipusText = "Hiányzás";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolt";
|
||||
imgClassText = "igazoltHianyzas";
|
||||
} else {
|
||||
mulasztasTipusText = "Hiányzás";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolatlan";
|
||||
imgClassText = "igazolatlanHianyzas";
|
||||
}
|
||||
} else if (mulasztasTipus == "@((int)MulasztasTipusEnum.keses)") {
|
||||
if (CommonUtils.isNull(isIgazolt)) {
|
||||
mulasztasTipusText = "Késés (" + kesesPercben + "p)";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolandó";
|
||||
imgClassText = "igazolandoKeses";
|
||||
} else if (CommonUtils.parseBool(isIgazolt)) {
|
||||
mulasztasTipusText = "Késés (" + kesesPercben + "p)";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolt";
|
||||
imgClassText = "igazoltKeses";
|
||||
} else {
|
||||
mulasztasTipusText = "Késés (" + kesesPercben + "p)";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolatlan";
|
||||
imgClassText = "igazolatlanKeses";
|
||||
}
|
||||
} else {
|
||||
mulasztasTipusText = "";
|
||||
megtartottDisplayStyleText = "display: none";
|
||||
isIgazoltText = "";
|
||||
imgClassText = "megtartottOra";
|
||||
}
|
||||
html = "<span class='kendoTooltip " + clickableclass + " naploNezetOra'" +
|
||||
"data-nev='" + nev + "'" +
|
||||
"data-osztalycsoportnev='" + osztalyCsoportNev + "'" +
|
||||
"data-tanarnev='" + tanarNev + "'" +
|
||||
"data-tantargynev='" + tantargyNev + "'" +
|
||||
"data-tanuloid='" + tanuloId + "'" +
|
||||
"data-tanitasiOraId='" + tanitasiOraId + "'" +
|
||||
"data-mulasztasId='" + mulasztasId + "'" +
|
||||
"data-mulasztasTipus='" + mulasztasTipus + "'" +
|
||||
"data-mulasztastipustext='" + mulasztasTipusText + "'" +
|
||||
"data-megtartottdisplaystyletext='" + megtartottDisplayStyleText + "'" +
|
||||
"data-isigazolt='" + isIgazolt + "'" +
|
||||
"data-isigazolttext='" + isIgazoltText + "'" +
|
||||
"data-igazolastipus='" + igazolasTipus + "'" +
|
||||
"data-igazolastipustext='" + igazolasTipusText + "'" +
|
||||
"data-megjegyzes='" + megjegyzes + "'>" +
|
||||
"<img class='hianyzasImage " + imgClassText + "'/>" +
|
||||
"</span>";
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
||||
function changeMulasztasDetails(e) {
|
||||
var element = e.currentTarget;
|
||||
var currentMulasztasTipus = element.dataset.mulasztastipus;
|
||||
|
||||
var tipusId;
|
||||
var imgClassText;
|
||||
var mulasztasTipusJelentlet = "@((int) MulasztasTipusEnum.jelenlet)";
|
||||
if (currentMulasztasTipus == mulasztasTipusJelentlet) {
|
||||
var mulasztasTipusHianyzas = "@((int) MulasztasTipusEnum.hianyzas)";
|
||||
tipusId = mulasztasTipusHianyzas;
|
||||
element.dataset.mulasztastipus = mulasztasTipusHianyzas;
|
||||
imgClassText = "igazolandoHianyzasModified";
|
||||
} else {
|
||||
tipusId = mulasztasTipusJelentlet;
|
||||
element.dataset.mulasztastipus = mulasztasTipusJelentlet;
|
||||
imgClassText = "megtartottOraModified";
|
||||
}
|
||||
|
||||
var oraId = element.dataset.tanitasioraid;
|
||||
var tanuloId = element.dataset.tanuloid;
|
||||
var currentMulasztasId = element.dataset.mulasztasid;
|
||||
var isIgazolt = element.dataset.isigazolt;
|
||||
var igazolasTipus = element.dataset.igazolastipus;
|
||||
var megjegyzes = element.dataset.megjegyzes;
|
||||
|
||||
var parameters = { oraId, tanuloId, currentMulasztasId, tipusId, isIgazolt, igazolasTipus, megjegyzes, imgClassText };
|
||||
|
||||
mulasztasCallback(parameters);
|
||||
}
|
||||
|
||||
function mulasztasCallback(data) {
|
||||
setMulasztas(data.oraId, data.tanuloId, data.currentMulasztasId, data.tipusId, data.isIgazolt, data.igazolasTipus, data.megjegyzes);
|
||||
|
||||
$("span[data-tanitasiOraId='" + data.oraId + "'][data-tanuloid='" + data.tanuloId + "'] img:first-child").attr("class", "hianyzasImage " + data.imgClassText);
|
||||
}
|
||||
|
||||
function setMulasztas(tanitasiOraId, tanuloId, mulasztasId, mulasztasTipus, isIgazolt, igazolasTipus, megjegyzes) {
|
||||
tanitasiOraId = CommonUtils.parseNull(tanitasiOraId);
|
||||
tanuloId = CommonUtils.parseNull(tanuloId);
|
||||
mulasztasId = CommonUtils.parseNull(mulasztasId);
|
||||
mulasztasTipus = CommonUtils.parseNull(mulasztasTipus);
|
||||
isIgazolt = CommonUtils.parseNull(isIgazolt);
|
||||
igazolasTipus = CommonUtils.parseNull(igazolasTipus);
|
||||
megjegyzes = CommonUtils.parseNull(megjegyzes);
|
||||
var mulasztasListIndex = -1;
|
||||
if (modifiedMulasztasList.length > 0) {
|
||||
for (var i = 0; i < modifiedMulasztasList.length; i++) {
|
||||
if (modifiedMulasztasList[i].tanitasiOraId === tanitasiOraId && modifiedMulasztasList[i].tanuloId === tanuloId) {
|
||||
mulasztasListIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
var mulasztas = {
|
||||
tanitasiOraId: tanitasiOraId,
|
||||
tanuloId: tanuloId,
|
||||
mulasztasId: mulasztasId,
|
||||
mulasztasTipus: mulasztasTipus,
|
||||
isIgazolt: isIgazolt,
|
||||
igazolasTipus: igazolasTipus,
|
||||
megjegyzes: megjegyzes
|
||||
}
|
||||
if (mulasztasListIndex < 0) {
|
||||
modifiedMulasztasList.push(mulasztas);
|
||||
} else {
|
||||
modifiedMulasztasList[mulasztasListIndex] = mulasztas;
|
||||
}
|
||||
}
|
||||
|
||||
return mulasztasokNaploNezetHelper;
|
||||
})();
|
||||
|
||||
</script>
|
||||
|
||||
<div>
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
MulasztasKezelesHelper.setNaploNezetDatum(new Date("@Model.NaploNezetDatum"));
|
||||
$("#NaploNezetDatum").on("change", MulasztasokNaploNezetHelper.naploNezetDatumOnChange());
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,89 @@
|
|||
@using Kreta.Web.Security
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models;
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid;
|
||||
|
||||
@model MulasztasokTanuloNezetGridModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokTanuloNezetDetailGrid_" + Model.TanuloId;
|
||||
var javascriptClassName = gridName + "Helper";
|
||||
var parentGridName = "MulasztasokTanuloNezetGrid";
|
||||
var parentFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
@{
|
||||
var rowFunctionList = new List<RowFunction>();
|
||||
if ((ClaimManager.HasPackage("Osztalyfonok") || Model.SzervezetTipusId.HasValue && Model.SzervezetTipusId == (int)SzervezetTipusEnum.Dualis) && Model.GridHasDelete)
|
||||
{
|
||||
rowFunctionList.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles, ClientAction = string.Format(@"function(e) {{ MulasztasKezelesHelper.deleteConfirmWindow(e, ['{0}'], '{1}'); }}", parentGridName, parentFormName), IconEnum = GridRowFunctionIconEnum.Torles
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
<div id="partialDetailGridTanulo_@Model.TanuloId.ToString()">
|
||||
@(
|
||||
Html.KretaGrid<MulasztasGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokTanuloNezetDetailGrid", new Dictionary<string, string> { { "tanuloId", Model.TanuloId.ToString() }, { "osztalyCsoportId", Model.OsztalyCsoportId.ToString()} }),
|
||||
useToolBar: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
dataBoundAdditionalFunction: javascriptClassName + ".disableRow();",
|
||||
sort: (sort =>
|
||||
{
|
||||
sort.Add(m => m.Datum).Descending();
|
||||
sort.Add(m => m.Oraszam).Ascending();
|
||||
})
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.Datum).Width("90px").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.Oraszam).Width("5%");
|
||||
columns.Bound(c => c.OsztCsopNev).Width("15%");
|
||||
columns.Bound(c => c.TargyNev).Width("15%");
|
||||
columns.Bound(c => c.MulTip_DNAME).Width("10%");
|
||||
columns.Bound(c => c.KesesPerc).Width("8%");
|
||||
columns.Bound(c => c.Igazolt_BNAME).Width("7%");
|
||||
columns.Bound(c => c.IgazolasTipus_DNAME).Width("13%");
|
||||
columns.Bound(c => c.IgazolasMegjegyzes).SetDisplayPropertyWithToolip("IgazolasMegjegyzes");
|
||||
columns.Bound(c => c.IsMulasztasKezelheto).Hidden();
|
||||
})
|
||||
.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".removeFirstRowDeleteButton")
|
||||
)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var @javascriptClassName = (function () {
|
||||
var gridDetailHelper = function () { };
|
||||
|
||||
//TODO: Ezt lehet majd törölni, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
gridDetailHelper.removeFirstRowDeleteButton = function (rowData) {
|
||||
var result = rowData.id !== "0" && CommonUtils.parseBool("@ClaimData.IsModosithatjaOsztfoMulasztasokat");
|
||||
return result;
|
||||
}
|
||||
|
||||
gridDetailHelper.disableRow = function () {
|
||||
var grid = $('#@gridName');
|
||||
grid.find('tbody tr').each(function () {
|
||||
var dataItem = grid.data('kendoGrid').dataItem(this);
|
||||
if (dataItem.IsMulasztasKezelheto !== true) {
|
||||
$(this).addClass('disabledItem');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return gridDetailHelper;
|
||||
})();
|
||||
|
||||
</script>
|
|
@ -0,0 +1,168 @@
|
|||
@using Kreta.Framework
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Helpers
|
||||
|
||||
@model MulasztasSearchModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokTanuloNezetGrid";
|
||||
var searchFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var MulasztasokTanuloNezetHelper = (function () {
|
||||
var mulasztasokTanuloNezetHelper = function () { };
|
||||
|
||||
mulasztasokTanuloNezetHelper.getGridModelData = function () {
|
||||
if (CommonUtils.parseBool("@Model.IsCustomForm")) {
|
||||
var customFormName = "@Model.CustomFormName";
|
||||
var model = KretaGridHelper.getSearchParameterObject(customFormName);
|
||||
return KretaGridHelper.getSearchParameterData(model);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
mulasztasokTanuloNezetHelper.renameGridHeaders = function ($window) {
|
||||
var osszesThSpan = $("#MulasztasokTanuloNezetGrid.k-grid th.statisztika.osszes span");
|
||||
var igazolatlanThSpan = $("#MulasztasokTanuloNezetGrid.k-grid th.statisztika.igazolatlan span");
|
||||
var igazolandoThSpan = $("#MulasztasokTanuloNezetGrid.k-grid th.statisztika.igazolando span");
|
||||
if ($window.width() < 1440) {
|
||||
osszesThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5642 /*Össz.*/))");
|
||||
igazolatlanThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5643 /*Igazo- latlan*/))");
|
||||
igazolandoThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5644 /*Igazo- landó*/))");
|
||||
} else if ($window.width() >= 1440) {
|
||||
osszesThSpan.html("@Html.Raw(StringResourcesUtil.GetString(2672 /*Összes*/))");
|
||||
igazolatlanThSpan.html("@Html.Raw(StringResourcesUtil.GetString(2800 /*Igazolatlan*/))");
|
||||
igazolandoThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5520 /*Igazolandó*/))");
|
||||
}
|
||||
}
|
||||
|
||||
return mulasztasokTanuloNezetHelper;
|
||||
})();
|
||||
|
||||
$(document).ready(function () {
|
||||
MulasztasokTanuloNezetHelper.renameGridHeaders($(window));
|
||||
});
|
||||
|
||||
$(window).resize(function () {
|
||||
MulasztasokTanuloNezetHelper.renameGridHeaders($(this));
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<MulasztasokTanuloNezetGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokTanuloNezetGrid", new Dictionary<string, string>()),
|
||||
|
||||
dataParameterFunction: Model.IsCustomForm ? "" : searchFormName,
|
||||
dataBoundAdditionalFunction: Model.IsCustomForm ? "" : "MulasztasKezelesHelper.dataBoundAdditionalFunction();",
|
||||
readDataFunction: Model.IsCustomForm ? "MulasztasokTanuloNezetHelper.getGridModelData" : "",
|
||||
|
||||
clientTemplateUrl: Url.Action("GetMulasztasokTanuloNezetDetailGrid", Model.ControllerName, new { area = "Hianyzas", GridHasDelete = Model.ChildGridHasDelete }),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
sort: sort => sort.Add(s => s.TanuloNev).Ascending(),
|
||||
useToolBar: Model.GridUseToolBar,
|
||||
showSorszam: !Model.IsCustomForm
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.OsztalyCsoportId).Hidden(true);
|
||||
columns.Group(group =>
|
||||
group.Title("").Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(c => c.TanuloNev).ClientTemplate(@"
|
||||
<a class='kendoTooltip tanuloNev gridLinkButton'
|
||||
data-tanuloid='#: TanuloId #'
|
||||
data-tanulonev='#: TanuloNev #'
|
||||
data-osztaly='#: OsztCsopNev #'
|
||||
data-anyjaneve='#: AnyjaNeve #'
|
||||
data-szuletesiido='#: SzuletesiIdoFormatted #'
|
||||
>#: TanuloNev #</a>");
|
||||
})
|
||||
.Hidden(Model.IsCustomForm)
|
||||
);
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5638 /*Tanórai hiányzás*/)).Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasIgazolt).HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" }).Visible(!Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasIgazolatlan).HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" }).Visible(!Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.Szabadsag).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.Tappenz).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.BetegSzabadsag).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
groupColumn.Bound(x => x.Potlas).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader borderRight" })
|
||||
);
|
||||
if(!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5639 /*Tanórán kívüli hiányzás*/)).Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasIgazolt).HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasIgazolatlan).HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader borderRight" })
|
||||
);
|
||||
}
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5640 /*Tanórai késések száma (perc)*/)).Columns(groupColumn =>
|
||||
{
|
||||
|
||||
groupColumn.Bound(c => c.TanoraiKesesOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoraiKesesIgazolt).HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoraiKesesIgazolatlan).HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoraiKesesIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader borderRight" })
|
||||
|
||||
);
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5641 /*Tanórai késésekből számítható hiányzás (óra)*/)).Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(c => c.SzamitottKesesOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.SzamitottKesesIgazolt).Hidden().HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.SzamitottKesesIgazolatlan).Hidden().HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.SzamitottKesesIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader" })
|
||||
);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
|
||||
@Html.KretaGridTemplate("detailGrid-template")
|
||||
|
||||
<style type="text/css">
|
||||
#MulasztasokTanuloNezetGrid.k-grid th.kretaRowNumberHeader > span {
|
||||
padding-top: 1px;
|
||||
border-top: 1px solid #aab7c4;
|
||||
margin-bottom: -0.5em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#MulasztasokTabStrip-2 {
|
||||
height: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@@media (max-width: 1439px) {
|
||||
#MulasztasokTanuloNezetGrid.k-grid th.kretaRowNumberHeader > span {
|
||||
padding-top: 18px;
|
||||
}
|
||||
}
|
||||
@@media (max-width: 1250px) {
|
||||
#MulasztasokTanuloNezetGrid.k-grid th.kretaRowNumberHeader > span {
|
||||
padding-top: 17px;
|
||||
}
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,125 @@
|
|||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Security
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
@model TanuloMulasztasaiPopupModel
|
||||
|
||||
@{
|
||||
var visszavonhato = !Model.Kezeletlen ? "true" : "false";
|
||||
var gridName = "TanuloMulasztasaiDetailGrid_" + (Model.Kezeletlen ? "Kezeletlen" : "Kezelt") + "_" + (Model.IsTanorai ? "Tanorai" : "NemTanorai") + "_" + Model.MulasztasDatuma.ToString("yyyyMMdd");
|
||||
var javascriptClassName = gridName + "Helper";
|
||||
var kezeletlenMulasztasokGridName = "kezeletlenMulasztasokGrid";
|
||||
var kezeltMulasztasokGridName = "kezeltMulasztasokGrid";
|
||||
}
|
||||
|
||||
@{
|
||||
var igazoltList = new List<SelectListItem>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
if(!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
else if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet && Model.IsTanorai == false)
|
||||
{
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.CsakIgazoltraAllithatnak ||
|
||||
Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
}
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak && !Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
|
||||
var functionCommandList = new List<FunctionCommand>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet && ClaimManager.HasPackage("Osztalyfonok") ||
|
||||
Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet && Model.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak && Model.IsTanorai == false)
|
||||
{
|
||||
functionCommandList.Add(new FunctionCommand
|
||||
{
|
||||
Name = CommonResource.Mentes,
|
||||
ClientAction = string.Format(@"function() {{ MulasztasKezelesHelper.saveMulasztasList('{0}', ['{1}'], '{2}', {3}); }}", gridName, kezeletlenMulasztasokGridName + "', '" + kezeltMulasztasokGridName, null, visszavonhato)
|
||||
});
|
||||
}
|
||||
|
||||
var rowFunctionList = new List<RowFunction>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet && ClaimManager.HasPackage("Osztalyfonok"))
|
||||
{
|
||||
rowFunctionList.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles,
|
||||
ClientAction = string.Format(@"function(e) {{ MulasztasKezelesHelper.deleteConfirmWindow(e, ['{0}'], '{1}'); }}", kezeletlenMulasztasokGridName + "', '" + kezeltMulasztasokGridName, null),
|
||||
IconEnum = GridRowFunctionIconEnum.Torles
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
var grid = Html.KretaGrid<MulasztasGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiDetailGrid", new Dictionary<string, string>()),
|
||||
dataBoundAdditionalFunction:
|
||||
string.Format(@"
|
||||
var shortDateReplaced = '{0:yyyyMMdd}';
|
||||
var kezelesTipus = '{1}';
|
||||
var igazoltDivNamePrefix = 'divTanuloMulasztasaiDetailGrid_' + kezelesTipus + '_' + shortDateReplaced + '_Igazolt_';
|
||||
var detailGridName = '{2}';
|
||||
MulasztasKezelesHelper.setDetailControlsEvents(igazoltDivNamePrefix, detailGridName, {3});
|
||||
", Model.MulasztasDatuma, (Model.Kezeletlen ? "Kezeletlen" : "Kezelt") + "_" + (Model.IsTanorai ? "Tanorai" : "NemTanorai"), gridName, visszavonhato),
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
//TODO: Itt azért tüntetjük el a sorszámot, mert hozzáadunk egy plusz sort amivel az összes elemet lehet módosítani, amit szintén sorszámoz a grid és ez a user-eket zavarja!
|
||||
// Vissza kell tenni a sorszámokat, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
showSorszam: false,
|
||||
readDataFunction: "function(){ return { model: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.Oraszam);
|
||||
columns.Bound(c => c.OsztCsopNev).Width("14%");
|
||||
columns.Bound(c => c.TargyNev).Width("14%");
|
||||
columns.Bound(c => c.MulTip_DNAME).Width("11%");
|
||||
columns.Bound(c => c.KesesPerc).Width("8%");
|
||||
})
|
||||
.SelectForColumn(Html.For<MulasztasGridModel>(), HianyzasResource.IgazoltKerdojel, c => c.Igazolt, igazoltList)
|
||||
.EditableComboBoxColumn(Html, HianyzasResource.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList", szervezetTipusEnumId = Model.ApiControllerName.Contains("Dualis") ? (int)SzervezetTipusEnum.Dualis : (int?)null }), m => m.IgazolasTipus, "Text", "Value", maxWidth: true);
|
||||
grid.TextAreaForColumn(Html.For<MulasztasGridModel>(), 97, m => m.Megjegyzes);
|
||||
grid.FunctionCommand(Html, functionCommandList);
|
||||
grid.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".removeFirstRowDeleteButton");
|
||||
}
|
||||
|
||||
<div id="partialTanuloMulasztasaiDetailGrid_@Model.MulasztasDatuma.ToString("yyyyMMdd")">
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var @javascriptClassName = (function () {
|
||||
var gridDetailHelper = function () { };
|
||||
|
||||
//TODO: Ezt lehet majd törölni, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
gridDetailHelper.removeFirstRowDeleteButton = function (rowData) {
|
||||
var result = rowData.id !== "0" && CommonUtils.parseBool("@ClaimData.IsModosithatjaOsztfoMulasztasokat");
|
||||
return result;
|
||||
}
|
||||
|
||||
return gridDetailHelper;
|
||||
})();
|
||||
|
||||
</script>
|
|
@ -0,0 +1,142 @@
|
|||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Enums.ManualEnums
|
||||
|
||||
@model TanuloMulasztasaiPopupModel
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
<style>
|
||||
.k-header-line {
|
||||
background-color: #54a5d1;
|
||||
padding: 10px;
|
||||
}
|
||||
.k-header-line > .k-title {
|
||||
color: #ffffff;
|
||||
}
|
||||
</style>
|
||||
|
||||
@{
|
||||
var szervezetTipusId = Model.SzervezetTipusId;
|
||||
var kezeletlenMulasztasokGridName = "kezeletlenMulasztasokGrid";
|
||||
var kezeltMulasztasokGridName = "kezeltMulasztasokGrid";
|
||||
|
||||
//NOTE: Csoportvezetői nézethez kellenek!
|
||||
var kezeletlenNemTanoraiGridName = "kezeletlenNemTanoraiGrid";
|
||||
var kezeltNemTanoraiGridName = "kezeltNemTanoraiGrid";
|
||||
var controllerName = Model.SzerepkorViewType == Kreta.Enums.ManualEnums.SzerepkorViewTypeEnum.CsoportvezetoNezet ? Constants.Controllers.CsoportMulasztasok : szervezetTipusId.HasValue && szervezetTipusId == (int)SzervezetTipusEnum.Dualis ? Constants.Controllers.DualisMulasztasok : Constants.Controllers.Mulasztasok;
|
||||
}
|
||||
|
||||
<div class="container-fluid details">
|
||||
<div>
|
||||
@if (Model.SzerepkorViewType == Kreta.Enums.ManualEnums.SzerepkorViewTypeEnum.CsoportvezetoNezet)
|
||||
{
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.NemTanoraiCeluCsoportok</span></p>
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeletlenNemTanoraiGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string>{
|
||||
{ "isTanorai", bool.FalseString },
|
||||
{ "igazolandok", bool.TrueString }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeletlenMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = false, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5630)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.TanoraiCeluCsoportok</span></p>
|
||||
}
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeletlenMulasztasokGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string>{
|
||||
{ "isTanorai", bool.TrueString },
|
||||
{ "igazolandok", bool.TrueString }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeletlenMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = true, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5630)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div>
|
||||
@if (Model.SzerepkorViewType == Kreta.Enums.ManualEnums.SzerepkorViewTypeEnum.CsoportvezetoNezet)
|
||||
{
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.NemTanoraiCeluCsoportok</span></p>
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeltNemTanoraiGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string> {
|
||||
{ "isTanorai", bool.FalseString },
|
||||
{ "igazolandok", false.ToString() }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeltMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = false, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5631)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.TanoraiCeluCsoportok</span></p>
|
||||
}
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeltMulasztasokGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string> {
|
||||
{ "isTanorai", bool.TrueString },
|
||||
{ "igazolandok", false.ToString() }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeltMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = true, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5631)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
Add table
Add a link
Reference in a new issue