125 lines
No EOL
6.4 KiB
Text
125 lines
No EOL
6.4 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 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> |