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

365 lines
15 KiB
Text

@using Kreta.Web.Security;
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Tanulo.Models
@using Kreta.Resources
@using Kreta.Enums
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Areas.Feljegyzes.Controllers
@model TanarTanitottTanulokSearchModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "TanarTanitottTanulokGrid"))
{
if (ClaimData.IsVegyes)
{
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
}
@Html.KretaComboBoxFor(x => x.FoglalkozasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanarTanitottTanulokFoglalkozasTipusList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaCascadeComboBoxFor(x => x.Foglalkozas, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTanarTanitottTanulokFoglalkozasList" }), "FoglalkozasTipus", "Text", "Value").RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.CsakBukasraAllok).RenderSearchPanelSideBar()
}
}
@{
const string TanuloController = Constants.Controllers.Tanulo;
}
@{
string startPopupFormName = BeirasokController.StartPopupFormName;
string startPopupId = BeirasokController.StartPopupId;
string gridName = BeirasokController.GridName;
string newModifyPopupName = BeirasokController.NewModifyPopupName;
string newModifyFormName = BeirasokController.NewModifyFormName;
}
@section AddCss {
@Styles.Render(Constants.General.TanuloErtekelesCSS)
}
<div>
@{
var rowFunctions = new List<RowFunction> { };
if (Model.EnableRowFunctions)
{
rowFunctions.Add(new RowFunction { Name = TanuloResource.Adatok, ClientAction = "TanarTanitottTanulokHelper.openDetailTanuloWindow", IconEnum = GridRowFunctionIconEnum.Adatok });
rowFunctions.Add(new RowFunction { Name = TanuloResource.Adatok, ClientAction = "TanarTanitottTanulokHelper.openDetailErtekelesTanuloWindow", IconEnum = GridRowFunctionIconEnum.Statisztika });
}
else
{
rowFunctions.Add(new RowFunction { Name = TanuloResource.Adatok, ClientAction = "", IconEnum = GridRowFunctionIconEnum.Adatok });
rowFunctions.Add(new RowFunction { Name = TanuloResource.Adatok, ClientAction = "", IconEnum = GridRowFunctionIconEnum.Statisztika });
}
}
@(
Html.KretaGrid<TanarTanitottTanulokGridModel>(
name: "TanarTanitottTanulokGrid",
getUrl: new GridApiUrl(Constants.ApiControllers.TanarTanitottTanulokApi, "GetTanarTanitottTanulokGrid", new Dictionary<string, string> { }),
dataParameterFunction: "searchForm",
allowScrolling: true,
dataBoundAdditionalFunction: "TanarTanitottTanulokHelper.dataBoundAdditionalFunction(" + Model.EnableRowFunctions.ToJson() + ");"
)
.Columns(columns =>
{
columns.Bound(c => c.TanuloNevElotagNelkul).SetDisplayProperty("TanuloNev");
columns.Bound(c => c.FoglalkozasNev);
columns.Bound(c => c.TantargyNev);
columns.Bound(c => c.Tipus_DNAME);
})
.RowFunction(Html, rowFunctions)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.AutoBind(false)
)
</div>
<script type="text/javascript">
$(document).ready(function () {
TanarTanitottTanulokHelper.openStartWindow();
});
var TanarTanitottTanulokHelper = (function () {
var tanarTanitottTanulokHelper = function () { };
var gridName = "TanarTanitottTanulokGrid";
var startPopupId = "startTanitottTanulokWindow";
var startPopupFormName = "startPopupFormTanitottTanulok";
var searchFormName = "searchForm";
var url = {
OpenDetailTanuloPopUp: "@Url.Action("OpenDetailTanitottTanuloPopUp", TanuloController, new { area = Constants.Areas.Tanulo })",
OpenStartPopup: "@Url.Action("OpenStartPopup", Constants.Controllers.TanarTanitottTanulok, new {area = Constants.Areas.Tanulo })"
}
tanarTanitottTanulokHelper.startTanitottTanulokTovabb = function () {
var form = $("#" + startPopupFormName);
if (form.valid()) {
var startTanitottTanulokModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
$("#FoglalkozasTipus").data("kendoComboBox").value(startTanitottTanulokModel.FoglalkozasTipusPopUp);
$("#Foglalkozas").data("kendoComboBox").value(startTanitottTanulokModel.FoglalkozasPopUp);
KretaWindowHelper.destroyWindow(startPopupId);
var gridData = KretaGridHelper.getKendoGridData(gridName);
var json = JSON.stringify({FoglalkozasTipus: startTanitottTanulokModel.FoglalkozasTipusPopUp, Foglalkozas: startTanitottTanulokModel.FoglalkozasPopUp, CsakBukasraAllok: "@Model.CsakBukasraAllok"});
var query = {
data: json,
page: 1,
pageSize: gridData.dataSource.pageSize(),
sort: gridData.dataSource.sort(),
filter: gridData.dataSource.filter()
}
};
gridData.dataSource.query(query);
gridData.refresh();
}
tanarTanitottTanulokHelper.openDetailTanuloWindow = function (data) {
var postData = { TanuloId: data.ID, ertekelesTabAktiv: false, osztalyCsoportId: data.OsztalyCsoportId };
AjaxHelper.DoPost(url.OpenDetailTanuloPopUp, postData, popUpDetailWindow);
}
tanarTanitottTanulokHelper.dataBoundAdditionalFunction = function (data) {
if (data) {
$("#TanarTanitottTanulokGrid .fa-search").parent().removeClass("disabled-grrid-icon");
$("#TanarTanitottTanulokGrid .fa-bar-chart").parent().removeClass("disabled-grrid-icon");
}
else {
$("#TanarTanitottTanulokGrid .fa-search").parent().addClass("disabled-grrid-icon");
$("#TanarTanitottTanulokGrid .fa-bar-chart").parent().addClass("disabled-grrid-icon");
}
}
tanarTanitottTanulokHelper.openDetailErtekelesTanuloWindow = function (data) {
var postData = { TanuloId: data.ID, ertekelesTabAktiv: true, osztalyCsoportId: data.OsztalyCsoportId };
AjaxHelper.DoPost(url.OpenDetailTanuloPopUp, postData, popUpDetailWindow);
}
tanarTanitottTanulokHelper.detailTanuloCancel = function () {
KretaWindowHelper.destroyWindow("detailTanuloWindow");
}
tanarTanitottTanulokHelper.openStartWindow = function () {
AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.width = "500px";
config.height = "200px";
config.title = "@(TanuloResource.TanitottTanulokKeresese)";
config.content = data;
var modal = KretaWindowHelper.createWindow(startPopupId, config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpDetailWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(TanuloResource.TanuloiAdatok)";
config.content = data;
var modal = KretaWindowHelper.createWindow("detailTanuloWindow", config);
KretaWindowHelper.openWindow(modal, true);
$("#detailTanuloWindow_wnd_title").text($("#detailTanuloWindow_wnd_title").text() + $("#TanuloModalHeader").val());
}
return tanarTanitottTanulokHelper;
})();
</script>
<script type="text/javascript">
var BeirasokHelper = (function () {
var beirasokHelper = function () { };
var startPopupFormName = "@startPopupFormName";
var startPopupId = "@startPopupId";
var startModel = null;
var gridName = "@gridName";
var newModifyPopupName = "@newModifyPopupName";
var newModifyFormName = "@newModifyFormName";
var currentOsztalyId = 0;
var currentTanuloNev;
var url = {
OpenStartPopup: "@Url.Action("OpenStartPopup", "Beirasok", new {area = "Feljegyzes" })",
OpenNewModifyPopup: "@Url.Action("OpenNewModifyPopup", "Beirasok", new {area = "Feljegyzes" })",
Save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "BeirasokApi", action = "SaveBeiras"})",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "BeirasokApi", action = "DeleteBeiras" })"
};
beirasokHelper.openStartWindow = function () {
if (!CommonUtils.isNull(startModel)) {
startModel = null;
KretaGridHelper.clearGridData(gridName);
}
$(".beirasokInfoText").html("");
//AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FeljegyzesekResource.Beirasok)";
config.width = "500px";
config.content = data;
config.actions = ['Close'];
var modal = KretaWindowHelper.createWindow(startPopupId, config);
modal.setOptions({ height: 120 });
KretaWindowHelper.openWindow(modal, true);
}
beirasokHelper.startTovabb = function () {
var form = $("#" + startPopupFormName);
if (form.valid()) {
startModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
var osztalyText = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").text();
currentOsztalyId = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").value();
if (!CommonUtils.isNullOrEmpty(osztalyText)) {
$(".beirasokInfoText").html(kendo.htmlEncode(osztalyText) + " @(FeljegyzesekResource.Beirasok)".toLowerCase());
}
KretaGridHelper.refreshGridByFormName(gridName, startPopupFormName);
KretaWindowHelper.destroyWindow(startPopupId);
}
}
beirasokHelper.dataBoundAdditionalFunction = function () {
var feljegyzesKendoTooltip = $(".feljegyzesKendoTooltip");
feljegyzesKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(feljegyzesKendoTooltip, "#kendoTooltip-feljegyzesTemplate");
feljegyzesKendoTooltip.each(function () {
var modosithato = $(this).attr("data-modosithato");
if (CommonUtils.parseBool(modosithato)) {
setKendoTooltipClick($(this));
}
});
var tanuloNevKendoTooltip = $(".beirasokTanuloNevKendoTooltip");
tanuloNevKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-beirasokTanuloNevTemplate");
setKendoTooltipClick(tanuloNevKendoTooltip);
}
function setKendoTooltipClick(kendoTooltip) {
kendoTooltip.click(function () {
var tanuloId = $(this).attr("data-tanuloid");
var tanuloNev = $(this).attr("data-tanulonev");
var tipusId = parseInt($(this).attr("data-tipusId"));
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
var data = {
TanuloId: tanuloId,
TanuloNev: tanuloNev,
TipusId: tipusId
};
var feljegyzesId = $(this).attr("data-feljegyzesid");
if (!CommonUtils.isNullOrEmpty(feljegyzesId)) {
data.ID = feljegyzesId;
} else {
data.ID = null;
}
beirasokHelper.openEditorPopupByTipus(data);
}
});
}
beirasokHelper.openNewWindow = function (data) {
data.ID = null;
beirasokHelper.openEditorPopupByTipus(data);
}
beirasokHelper.openEditorPopupByTipus = function (data) {
var tipusId = data.TipusId;
if (tipusId === parseInt("@((int)EsemenyTipusEnum.ElektronikusUzenet)")) {
alert("not implemented elektronikus üzenet popup hívás");
} else if (tipusId === parseInt("@((int)EsemenyTipusEnum.FaliujsagBejegyzes)")) {
alert("not implemented faliújság bejegyzés üzenet popup hívás");
} else {
var postData = {
id: data.ID,
tanuloId: data.TanuloId
};
currentTanuloNev = data.TanuloNev;
AjaxHelper.DoPost(url.OpenNewModifyPopup, postData, popNewModifyWindow);
}
}
function popNewModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = kendo.htmlEncode(currentTanuloNev);
config.content = data;
config.width = "1060px";
config.height = "615px";
var modal = KretaWindowHelper.createWindow(newModifyPopupName, config);
KretaWindowHelper.openWindow(modal, true);
}
beirasokHelper.newModifyPopupDelete = function () {
var data = $("#" + newModifyFormName).toObject();
deleteConfirm(data.Id, data.TanuloId);
}
beirasokHelper.deleteConfirmWindow = function (data) {
deleteConfirm(data.ID, data.TanuloId);
}
function deleteConfirm(id, tanuloId) {
var data = {
id: id,
tanuloId: tanuloId
}
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
deleteFeljegyzes,
data
);
}
function deleteFeljegyzes(data) {
AjaxHelper.DoValidationPost(
url.Delete,
newModifyFormName,
data,
refreshGrid,
feedbackError
);
}
beirasokHelper.newModifyPopupSave = function () {
var form = $('#' + newModifyFormName);
if (form.valid()) {
var data = form.toObject();
AjaxHelper.DoValidationPost(
url.Save,
newModifyFormName,
data,
refreshGrid);
}
}
beirasokHelper.newModifyPopupCancel = function () {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
function feedbackError() {
var message = "@(CommonResource.Hiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true, KretaWindowHelper.destroyAllWindow);
}
function refreshGrid() {
KretaWindowHelper.destroyAllWindow();
KretaGridHelper.refreshGridByObject(gridName, startModel);
}
return beirasokHelper;
})();
</script>