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