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

381 lines
No EOL
21 KiB
Text

@using Kreta.Framework;
@using Kreta.Web.Helpers.Grid;
@using Kreta.Web.Helpers
@using Kreta.Web.Areas.OsztalyCsoport.Models
@using Kreta.Resources;
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Security;
@using Kreta.Enums
@model OsztalySearchModel
@{
const string OsztalyController = Constants.Controllers.OsztalyAmi;
const string OsztalyApiController = Constants.ApiControllers.OsztalyAmiApi;
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "OsztalyGrid"))
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Model.AmiFeladatKategoriaIdItem, htmlAttributes: new Dictionary<string, object>() { { "class", "disabledItem" } }).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.SearchMuveszetiAgId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetMuveszetiAgList" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(model => model.OsztalyNev).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.EvfolyamID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetAmiEvfolyamList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.OsztalyfonokID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyFonokList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.OsztalyfonokHelyettesID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyFonokList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TeremID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTeremList" }), "Text", "Value", useGroup: false).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.KepzesID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetKepzesListS" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.TantervID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantervList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(model => model.NaploMegnyitasDatum, model => model.NaploLezarasDatum)
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetAmiFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.HiddenFor(x => x.UresOsztaly)
@Html.HiddenFor(x => x.NincsOsztalyfonok)
@Html.HiddenFor(x => x.NincsEvfolyamJellmezo)
}
}
@section AddTip {
<ul id="tipList" style="display: none;">
<li>@(StringResourcesUtil.GetString(4136)) @(StringResourcesUtil.GetString(4144))</li>
</ul>
}
@{
List<RowFunction> OsztalyRowFunctionList = new List<RowFunction>();
if (ClaimManager.HasPackage("Adminisztrator"))
{
OsztalyRowFunctionList.Add(new RowFunction { NameResourceId = 116 /*Módosítás*/, ClientAction = "OsztalyHelper.openOsztalyModify", IconEnum = GridRowFunctionIconEnum.Modositas });
};
OsztalyRowFunctionList.Add(new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "OsztalyHelper.openOsztalyProperties", IconEnum = GridRowFunctionIconEnum.Adatok });
List<FunctionCommand> OsztalyFunctionCommandList = new List<FunctionCommand>();
if (ClaimManager.HasPackage("Adminisztrator"))
{
OsztalyRowFunctionList.Add(new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction = "OsztalyHelper.deleteOsztalyConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles });
OsztalyFunctionCommandList.Add(new FunctionCommand { NameResourceId = 115 /*Új*/, ClientAction = "OsztalyHelper.openOsztalyAdd" });
OsztalyFunctionCommandList.Add(new FunctionCommand { NameResourceId = 116 /*Módosítás*/, ClientAction = "OsztalyHelper.openSelectModWindow" });
OsztalyFunctionCommandList.Add(new FunctionCommand { NameResourceId = 4750 /*Kijelöltek törlése*/, ClientAction = "OsztalyHelper.deleteKijeloltOsztalyokConfirmWindow", Classes = "kendo-gridFunctionKommandRed" });
}
OsztalyFunctionCommandList.Add(new FunctionCommand
{
Enabled = false,
Name = ImportExportCommonResource.Export.ToUpper(),
NestedCommands = new List<FunctionCommand> {
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "OsztalyHelper.getExport" },
new FunctionCommand { Enabled = true,Name = OsztalyCsoportResource.EvfolyamAktualisLetszamadatai, ClientAction = "OsztalyHelper.exportEvfolyamAktualisLetszamadatai" },
new FunctionCommand { Enabled = true,Name = OsztalyCsoportResource.OsztalyokMindenAdata, ClientAction = "OsztalyHelper.exportOsztalyokMindenAdata" },
new FunctionCommand { Enabled = true,Name = OsztalyCsoportResource.OsztalybaJaroNovendekek, ClientAction = "OsztalyHelper.exportOsztalybaJaroTanulok" },
new FunctionCommand { Enabled = true,Name = OsztalyCsoportResource.OsztalyokAktualisLetszamadatai, ClientAction = "OsztalyHelper.exportOsztalyokAktualisLetszamadatai" }
}
});
}
<div>
@(
Html.KretaGrid<OsztalyGridModel>
(
name: "OsztalyGrid",
getUrl: new GridApiUrl(OsztalyApiController, "GetOsztalyGrid", new Dictionary<string, string> { }),
dataParameterFunction: "searchForm",
allowScrolling: true,
sort: sort => sort.Add(m => m.EvfolyamNev)
)
.SelectBoxColumn(Html, 0)
.Columns(columns =>
{
columns.Bound(c => c.TanevNev).Width("10%");
})
.LinkButtonColumn("", c => c.OsztalyNev, ClaimManager.HasPackage("Fenntarto") ? "OsztalyHelper.openOsztalyProperties" : "OsztalyHelper.openOsztalyModify", GridButtonsEnum.Modositas)
.Columns(columns =>
{
columns.Bound(c => c.EvfolyamNev);
columns.Bound(c => c.OsztalyFonokElotagNelkul).SetDisplayProperty("OsztalyFonok");
columns.Bound(c => c.TeremNev).Width("20%");
columns.Bound(c => c.MuveszetiAgNev);
columns.Bound(c => c.TanulokSzamaOrder).SetDisplayProperty("TanulokSzama").Width("12%").Title(TanuloResource.NovendekekSzama).HtmlAttributes(new { @title = OsztalyCsoportResource.AzOsztalybaCsoportbaJaroNovendekekSzamaAzOsztalybaCsoportbaATanevSoranJartNovendekekSzama });
})
.RowFunction(Html, OsztalyRowFunctionList)
.FunctionCommand(Html, OsztalyFunctionCommandList)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if ($("#menucaption").text().trim() == "") {
$("#menucaption").text("@(Html.Raw(OsztalyCsoportResource.Osztalyok))");
}
});
var OsztalyHelper = (function () {
var osztalyHelper = function () { };
var osztalyFormName = "OsztalyForm";
var gridName = "OsztalyGrid";
var searchFormName = "searchForm";
var osztalyIds = [];
var url = {
OpenOsztalyProperties: "@Url.Action("OpenOsztalyPropertiesTab", OsztalyController , new { area = "OsztalyCsoport" })",
OpenOsztalyAddPopup: "@Url.Action("OpenOsztalyAddPopup", OsztalyController, new { area = "OsztalyCsoport" })",
OpenOsztalyModifyPopup: "@Url.Action("OpenOsztalyModifyPopup", OsztalyController, new { area = "OsztalyCsoport" })",
OpenOsztalyDeletePopup: "@Url.Action("OpenDeleteOsztalyPopup", OsztalyController, new { area = "OsztalyCsoport" })",
SaveOsztaly: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = OsztalyApiController, action = "SaveOsztaly" })",
DeleteOsztalyok: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = OsztalyApiController, action = "DeleteOsztalyok" })",
OpenModPopUp: "@Url.Action("OpenModPopUp", OsztalyController, new { area = "OsztalyCsoport" })",
SaveModifiedOsztalyGroup: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = OsztalyApiController, action = "SaveModifiedOsztalyGroup" })",
ExportEvfolyamAktualisLetszamadatai: "@Url.Action("ExportEvfolyamAktualisLetszamadatai", OsztalyController, new {area = "OsztalyCsoport" })",
ExportOsztalyokMindenAdata: "@Url.Action("ExportOsztalyokMindenAdata", OsztalyController, new {area = "OsztalyCsoport" })",
ExportOsztalybaJaroTanulok: "@Url.Action("ExportOsztalybaJaroTanulok", OsztalyController, new {area = "OsztalyCsoport" })",
ExportOsztalyokAktualisLetszamadatai: "@Url.Action("ExportOsztalyokAktualisLetszamadatai", OsztalyController, new {area = "OsztalyCsoport"})",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = OsztalyApiController, action = "GetExport" })",
}
osztalyHelper.openOsztalyProperties = function (rowData) {
AjaxHelper.DoGet(url.OpenOsztalyProperties, { osztalyID: rowData.ID }, function (data) { popUpOsztalyProperties(data, rowData.OsztalyNev); });
}
osztalyHelper.openOsztalyModify = function (rowData) {
AjaxHelper.DoGet(url.OpenOsztalyModifyPopup, { OsztalyID: rowData.ID }, function (data) { popUpOsztalyModify(data, rowData.OsztalyNev); });
}
osztalyHelper.openOsztalyAdd = function () {
AjaxHelper.DoGet(url.OpenOsztalyAddPopup, {}, popUpOsztalyAdd);
}
osztalyHelper.openSelectModWindow = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length == 0) {
KretaWindowHelper.warningWindow("@(CommonResource.Kivalasztas)", "@(CommonResource.ACsoportosModositashozLegalabbEgyElemKivalasztasaSzukseges)");
}
else if (selectedRows.length == 1) {
AjaxHelper.DoGet(url.OpenOsztalyModifyPopup, { OsztalyID: selectedRows[0].ID }, function (data) { popUpOsztalyModify(data, selectedRows[0].OsztalyNev); });
}
else {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push({ ID: value.ID, Nev: value.OsztalyNev });
});
AjaxHelper.DoPost(url.OpenModPopUp, parameters, openModPopUp);
}
}
osztalyHelper.cancel = function () {
KretaWindowHelper.destroyWindow("OsztalyWindow");
}
osztalyHelper.deleteCancel = function () {
KretaWindowHelper.destroyWindow("DeleteOsztalyWindow");
}
osztalyHelper.propertiesCancel = function () {
KretaWindowHelper.destroyWindow("OsztalyPropertiesWindow");
}
osztalyHelper.save = function () {
var form = $('#' + osztalyFormName);
if (form.valid()) {
var amiOsztalyModel = KretaGridHelper.getSearchParameterObject(osztalyFormName);
var naplosorszamEsTorzslapszamBeallitasaiGrid = KretaGridHelper.getKendoGridData("NaplosorszamEsTorzslapszamBeallitasaiGrid");
if (!CommonUtils.isNullOrUndefined(naplosorszamEsTorzslapszamBeallitasaiGrid)) {
var modifiedRowList = KretaGridHelper.getModifiedRows("NaplosorszamEsTorzslapszamBeallitasaiGrid");
if (modifiedRowList.length > 0) {
amiOsztalyModel.NaplosorszamEsTorzslapszamBeallitasaiModelList = [];
$.each(modifiedRowList, function() {
var naplosorszamEsTorzslapszamBeallitasaiModel = {
Id: this.ID,
Nev: this.Nev,
BelepesDatum: this.BelepesDatum,
KilepesDatum: this.KilepesDatum,
TanuloTanugyiAdatokId: this.TanuloTanugyiAdatokId,
Naplosorszam: this.ki_Naplosorszam,
Torzslapszam: this.ki_Torzslapszam
}
amiOsztalyModel.NaplosorszamEsTorzslapszamBeallitasaiModelList.push(naplosorszamEsTorzslapszamBeallitasaiModel);
});
}
}
AjaxHelper.DoValidationPost(url.SaveOsztaly, osztalyFormName, amiOsztalyModel, saveFeedBackOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
}
osztalyHelper.modSave = function () {
KretaGridHelper.resetHeaderCheckbox(gridName);
AjaxHelper.DoPostElement(url.SaveModifiedOsztalyGroup, "modifyOsztalyForm", saveFeedBackOk);
}
osztalyHelper.confirmCsopModWindow = function () {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanModositaniSzeretneAKijeloltElemeket)", osztalyHelper.modSave);
}
osztalyHelper.deleteOsztalyConfirmWindow = function (rowData) {
osztalyIds = [];
osztalyIds.push(parseInt(rowData.ID));
if (rowData.CsoportokSzama > 0) {
AjaxHelper.DoPost(url.OpenOsztalyDeletePopup, { osztalyIdLista: osztalyIds }, popUpDeleteOsztalyConfirmWindow);
}
else {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(OsztalyCsoportResource.OsztalyTorles)", deleteKijeloltOsztalyok, osztalyIds);
}
}
osztalyHelper.modCancel = function () {
KretaWindowHelper.destroyWindow("OsztalyModWindow");
}
osztalyHelper.deleteKijeloltOsztalyokConfirmWindow = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
var parameters = [];
$.each(selectedRows, function (index, value) {
parameters.push(value.ID);
});
osztalyIds = parameters;
var vanCsoportja = false;
$.each(selectedRows, function (index, value) {
if (value.CsoportokSzama > 0) {
vanCsoportja = true;
};
})
if (vanCsoportja) {
AjaxHelper.DoPost(url.OpenOsztalyDeletePopup, { osztalyIdLista: parameters }, popUpDeleteOsztalyConfirmWindow);
}
else {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(OsztalyCsoportResource.OsztalyTorles)", deleteKijeloltOsztalyok, parameters);
}
}
else {
KretaWindowHelper.feedbackWindow("@(CommonResource.Figyelmeztetes)", "@(CommonResource.AKijeloltElemekTorlesehezJeloljonKiLegalabbEgyElemet)", true, KretaWindowHelper.destroyAllWindow);
}
}
osztalyHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
osztalyHelper.exportEvfolyamAktualisLetszamadatai = function () {
window.location = url.ExportEvfolyamAktualisLetszamadatai + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
osztalyHelper.exportOsztalyokMindenAdata = function () {
window.location = url.ExportOsztalyokMindenAdata + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
osztalyHelper.exportOsztalybaJaroTanulok = function () {
window.location = url.ExportOsztalybaJaroTanulok + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
osztalyHelper.exportOsztalyokAktualisLetszamadatai = function () {
window.location = url.ExportOsztalyokAktualisLetszamadatai + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
osztalyHelper.deleteOsztalyCsoportokNelkul = function () {
AjaxHelper.DoPost(url.DeleteOsztalyok, { OsztalyIdLista: osztalyIds, CsoportokTorlese: false }, deleteFeedbackOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
OsztalyHelper.deleteCancel();
}
osztalyHelper.deleteOsztalyCsoportokkal = function () {
AjaxHelper.DoPost(url.DeleteOsztalyok, { OsztalyIdLista: osztalyIds, CsoportokTorlese: true }, deleteFeedbackOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
OsztalyHelper.deleteCancel();
}
function deleteKijeloltOsztalyok(data) {
AjaxHelper.DoPost(url.DeleteOsztalyok, { OsztalyIdLista: data, CsoportokTorlese: false }, deleteKijeloltOsztalyokFeedbackOK, deleteKijeloltOsztalyokFeedbackError);
}
function deleteKijeloltOsztalyokFeedbackOK(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteKijeloltOsztalyokFeedbackError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function popUpDeleteOsztalyConfirmWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.width = "550";
config.height = "50px";
config.title = "@(CommonResource.Kerdes)";
config.content = data;
var modal = KretaWindowHelper.createWindow("DeleteOsztalyWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpOsztalyProperties(data, osztalyNev) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OsztalyCsoportResource.OsztalyAdatai) - " + osztalyNev;
config.content = data;
var modal = KretaWindowHelper.createWindow("OsztalyPropertiesWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpOsztalyModify(data, osztalyNev) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OsztalyCsoportResource.OsztalyAdatainakModositasa) - " + osztalyNev;
config.content = data;
var modal = KretaWindowHelper.createWindow("OsztalyWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpOsztalyAdd(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(OsztalyCsoportResource.UjOsztalyFelvetele)";
config.content = data;
var modal = KretaWindowHelper.createWindow("OsztalyWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function saveFeedBackOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
if (typeof (data) !== "undefined" && data != "") {
KretaWindowHelper.feedbackWindow("@CommonResource.Figyelmeztetes", data, true);
}
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteFeedbackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function openModPopUp(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(string.Format(OsztalyCsoportResource.OCS0NovendekAdatok, "Osztály"))";
config.content = data;
var modal = KretaWindowHelper.createWindow("OsztalyModWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
function setNaploNyitasDatum(data) {
var naploPicker = $('#OsztalynaploMegnyitasa').data("kendoDatePicker");
var minDate = new Date(data.ElsoTanitasiNap);
var maxDate = new Date(data.UtolsoTanitasiNap);
if (data != "") {
naploPicker.min(minDate);
naploPicker.max(maxDate);
naploPicker.value(minDate);
$('#OsztalynaploMegnyitasa').kendoMaskedDatePicker();
}
}
return osztalyHelper;
})();
</script>