kreta/KretaWeb/Areas/Hianyzas/Views/MulasztasKereso/Index.cshtml
2024-03-13 00:33:46 +01:00

215 lines
No EOL
12 KiB
Text

@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Framework
@using Kreta.Resources
@using Kreta.Web.Areas.Hianyzas.Controllers
@using Kreta.Web.Areas.Hianyzas.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Security
@model MulasztasSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var gridName = MulasztasKeresoController.GridName;
var searchFormName = MulasztasKeresoController.SearchFormName;
var infoPopUpId = MulasztasKeresoController.InfoPopUpId;
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
if (!Model.IsFromSzervezet)
{
if (ClaimData.IsVegyes)
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
}
@Html.KretaRangeDatePickerSideBar(x => x.DatumTol, x => x.DatumIg)
@Html.KretaTextBoxFor(x => x.TanuloNeve).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Model.IsFromSzervezet ? "GetOsztalyCsoportDualisListByEvfolyam" : "GetOsztalyCsoportListByEvfolyam" }), useGroup: !Model.IsFromSzervezet).RenderSearchPanelSideBar()
if (!Model.IsFromSzervezet)
{
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportok).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.CsoportTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetCsoportTipusList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FoglalkozasId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyfelosztasComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum, addMagatartasSzogalom = !Model.IsFromSzervezet })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.MulasztasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetMulasztasTipusList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.KesesPercben).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.IgazoltsagAllapota, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetIgazoltList" })).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetIgazolasTipusList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
if (!Model.IsFromSzervezet)
{
@Html.KretaComboBoxFor(x => x.IsOnlineOra, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
}
@Html.KretaCheckBoxFor(x => x.IsNemJelenlevoTanulokMegjelenitese).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.IsNemBesoroltTanulokMulasztasainakMegjelenitese).RenderSearchPanelSideBar()
if (Model.IsFromSzervezet)
{
@Html.KretaTextBoxFor(x => x.SzervezetNevSzovegSearch).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.SzervezetAzonositoSzovegSearch).RenderSearchPanelSideBar()
}
@Html.HiddenFor(x => x.SzervezetId)
}
}
@{
List<RowFunction> rowFunctionList = new List<RowFunction>
{
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "MulasztasKeresoHelper.openMulasztasKeresoInfoPopUp", IconEnum = GridRowFunctionIconEnum.Adatok },
new RowFunction { NameResourceId = 1796 /*Nem hiányzó*/, ClientAction = "MulasztasKeresoHelper.deleteMulasztasConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
};
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "MulasztasKeresoHelper.getExport" }
};
if (!Model.IsFromSzervezet)
{
nestedExportFunctions.Add(new FunctionCommand { Name = HianyzasResource.TanulokMulasztasai, ClientAction = "MulasztasKeresoHelper.exportTanulokMulasztasai" });
nestedExportFunctions.Add(new FunctionCommand { Name = HianyzasResource.TanorakonNemJelenlevok, ClientAction = "MulasztasKeresoHelper.exportTanorakonNemJelenlevok" });
}
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.KijeloltekTorlese.ToUpper(), ClientAction = "MulasztasKeresoHelper.deleteTobbesMulasztasConfirmWindow", Classes = "kendo-gridFunctionKommandRed" },
new FunctionCommand { Name = HianyzasResource.Export.ToUpper(), NestedCommands = nestedExportFunctions },
};
}
<div>
@(
Html.KretaGrid<MulasztasGridModel>(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetMulasztasGrid"),
allowScrolling: true,
dataParameterFunction: searchFormName,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.TanuloNevElotagNelkul).SetDisplayProperty("TanuloNev");
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Oraszam).Width("5%");
columns.Bound(c => c.OsztCsopNev);
columns.Bound(c => c.TargyNev);
columns.Bound(c => c.MulTip_DNAME);
columns.Bound(c => c.KesesPerc).Width("8%");
columns.Bound(c => c.Igazolt_BNAME).Width("8%");
columns.Bound(c => c.IgazolasTipus_DNAME);
})
.RowFunction(Html, rowFunctionList)
.FunctionCommand(Html, functions)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
$(document).ready(function() {
var isFromSzervezet = CommonUtils.parseBool("@Model.IsFromSzervezet");
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") &&
!CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox")) &&
!isFromSzervezet) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var MulasztasKeresoHelper = (function() {
var mulasztasKeresoHelper = function() {};
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var infoPopUpId = "@infoPopUpId";
var url = {
OpenMulasztasInfoPopUp: "@Url.Action("OpenMulasztasInfoPopUp", Model.ControllerName, new { area = "Hianyzas" })",
ExportTanulokMulasztasai: "@Url.Action("ExportTanulokMulasztasai", Model.ControllerName, new { area = "Hianyzas" })",
ExportTanorakonNemJelenlevok: "@Url.Action("ExportTanorakonNemJelenlevok", Model.ControllerName, new { area = "Hianyzas" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExport" })",
DeleteMulasztas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteMulasztas" })",
DeleteTobbesMulasztas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteTobbesMulasztas" })"
}
mulasztasKeresoHelper.openMulasztasKeresoInfoPopUp = function(rowData) {
var postData = { MulasztasId: rowData.ID };
AjaxHelper.DoPost(url.OpenMulasztasInfoPopUp, postData, popUpInfoWindow);
}
mulasztasKeresoHelper.mulasztasKeresoInfoPopUpCancel = function() {
KretaWindowHelper.destroyWindow(infoPopUpId);
}
mulasztasKeresoHelper.deleteMulasztasConfirmWindow = function(rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteMulasztas, rowData.ID);
}
mulasztasKeresoHelper.deleteTobbesMulasztasConfirmWindow = function() {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorolniSzeretneAKijeloltElemeket)", deleteTobbesMulasztas);
}
mulasztasKeresoHelper.exportTanulokMulasztasai = function() {
window.location = url.ExportTanulokMulasztasai + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
mulasztasKeresoHelper.exportTanorakonNemJelenlevok = function() {
window.location = url.ExportTanorakonNemJelenlevok + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
mulasztasKeresoHelper.getExport = function() {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
function popUpInfoWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(1821))"; /*Mulasztás adatok*/
config.content = data;
var modal = KretaWindowHelper.createWindow(infoPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function deleteMulasztas(data) {
AjaxHelper.DoPost(url.DeleteMulasztas, data, deleteSuccessCallBack, errorCallBack);
}
function deleteTobbesMulasztas() {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length == 0) {
KretaWindowHelper.warningWindow("@(CommonResource.Kivalasztas)", "@(CommonResource.AKijeloltElemekTorlesehezJeloljonKiLegalabbEgyElemet)");
} else {
var parameters = [];
$.each(selectedRows,
function(index, value) {
parameters.push(value.ID);
});
AjaxHelper.DoPost(url.DeleteTobbesMulasztas, parameters, deleteSuccessCallBack, errorCallBack);
}
}
function deleteSuccessCallBack() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function errorCallBack() {
var content = "@(StringResourcesUtil.GetString(367 /*Hiba*/))";
KretaWindowHelper.feedbackWindow("@(StringResourcesUtil.GetString(367))" /*Hiba*/, content, true, KretaWindowHelper.destroyAllWindow);
}
return mulasztasKeresoHelper;
})();
</script>