135 lines
No EOL
6.5 KiB
Text
135 lines
No EOL
6.5 KiB
Text
@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> |