@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(); 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(); 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(); 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( gridName, new GridApiUrl(Model.ApiControllerName, "GetMulasztasokDatumNezetDetailGrid", new Dictionary()), 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(@" #: TanuloNev #"); 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(), 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(), 97, m => m.Megjegyzes); grid.FunctionCommand(Html, functionCommandList); grid.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".removeFirstRowDeleteButton"); }
@(grid)