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

270 lines
13 KiB
Text

@using Kreta.BusinessLogic.Classes;
@using Kreta.Web.Security;
@using Kreta.Framework;
@using Kreta.Resources
@using Kreta.Web.Areas.TanuloErtekeles.Models
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.Feljegyzes.Controllers
@model FeljegyzesKeresoModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", "FaliujsagKeresoGrid"))
{
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.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
@Html.KretaRangeDatePickerSideBar(x => x.DatumTOL, x => x.DatumIG)
@Html.KretaComboBoxFor(x => x.OsztalyCsoportID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam" }), useGroup: true).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaCheckBoxFor(x => x.IsKellKapcsolodoCsoportok).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.FeljegyzoID, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "FeljegyzesekApi", action = "GetFeljegyzoList" }), "Text", "Value").RenderSearchPanelSideBar()
@Html.HiddenFor(x => x.TipusID)
}
}
@{
string newModifyPopupName = FaliujsagBejegyzesekController.NewModifyPopupName;
string newModifyFormName = FaliujsagBejegyzesekController.NewModifyFormName;
int functionInsertPosition = 0;
List<RowFunction> multipleRowFunctions = new List<RowFunction>();
if (ClaimManager.HasPackage("Adminisztrator"))
{
multipleRowFunctions.Add(new RowFunction { Name = CommonResource.Modositas, ClientAction = "FeljegyzesKeresoHelper.openModifyWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas, IsConditional = true, IsMultipleConditionalColumn = true, IsVisibleRowFunctionJsFunctionName = "FeljegyzesKeresoHelper.setRowEditing" });
}
multipleRowFunctions.Add(new RowFunction { Name = CommonResource.Adatok, ClientAction = "FeljegyzesKeresoHelper.openFeljegyzesAdatok", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok });
if (ClaimManager.HasPackage("Adminisztrator"))
{
multipleRowFunctions.Add(new RowFunction { Name = CommonResource.Torles, ClientAction = "FeljegyzesKeresoHelper.deleteFeljegyzesConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles, IsConditional = true, IsMultipleConditionalColumn = true, IsVisibleRowFunctionJsFunctionName = "FeljegyzesKeresoHelper.setDeleteRowEditing" });
}
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand {Name = ImportExportCommonResource.Export.ToUpper(), ClientAction = "FeljegyzesKeresoHelper.getExport"}
};
if (!ClaimData.IsSzuperadmin)
{
functions.Insert(functionInsertPosition++, new FunctionCommand { Name = CommonResource.Uj, ClientAction = "FeljegyzesKeresoHelper.openNewWindow" });
}
if (ClaimData.IsAdministrator)
{
functions.Insert(functionInsertPosition++, new FunctionCommand {Name = TanuloResource.KijeloltekTorlese, ClientAction = "FeljegyzesKeresoHelper.deleteSelectedOsztalyCsoport", Classes = "kendo-gridFunctionKommandRed" });
}
}
<div>
@(
Html.KretaGrid<FeljegyzesKeresoGridModel>(
name: "FaliujsagKeresoGrid",
getUrl: new GridApiUrl("FeljegyzesekApi", "GetFaliujsagKeresoGrid", new Dictionary<string, string> { }),
dataParameterFunction: "searchForm",
allowScrolling: true,
sort: sort => sort.Add(m => m.Datum).Descending()
)
.SelectBoxColumnByUID(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.OsztalyCsoport).Width("15%").SetDisplayProperty("OsztalyCsoport");
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.Tartalom).SetDisplayPropertyWithToolip("Tartalom").Sortable(false);
columns.Bound(c => c.FeljegyzoNevElotagNelkul).Width("15%").SetDisplayProperty("FeljegyzoNev");
})
.RowFunction(Html, multipleRowFunctions)
.FunctionCommand(Html, functions)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
<script type="text/javascript">
$(document).ready(function () {
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
}
});
var FeljegyzesKeresoHelper = (function () {
var feljegyzesKeresoHelper = function () { };
var gridName = "FaliujsagKeresoGrid";
var newModifyPopupName = "@newModifyPopupName";
var newModifyFormName = "@newModifyFormName";
var searchFormName = "searchForm";
var url = {
openNewModifyPopup: "@Url.Action("OpenNewModifyPopup", "FaliujsagBejegyzesek", new {area = "Feljegyzes" })",
openFeljegyzesAdatok: "@Url.Action("OpenFeljegyzesAdatok", "FaliujsagKereso", new { area = "TanuloErtekeles" })",
deleteFeljegyzes: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.FeljegyzesekApi, action = "DeleteFeljegyzes" })",
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.FeljegyzesekApi, action = "GetExportFaliujsagKereso" })",
save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FaliujsagBejegyzesekApi", action = "SaveFaliujsagBejegyzes" })",
deleteOsztalyCsoport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.FeljegyzesekApi, action = "DeleteOsztalyCsoport" })"
}
feljegyzesKeresoHelper.openNewWindow = function () {
AjaxHelper.DoPost(url.openNewModifyPopup, null, popNewModifyWindow);
}
feljegyzesKeresoHelper.openModifyWindow = function (data) {
var postData = {
id: data.ID
};
AjaxHelper.DoPost(url.openNewModifyPopup, postData, popNewModifyWindow);
}
function popNewModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@FeljegyzesekResource.FaliujsagBejegyzes";
config.content = data;
config.width = "60%";
config.height = "60%";
var modal = KretaWindowHelper.createWindow(newModifyPopupName, config);
KretaWindowHelper.openWindow(modal, true);
}
feljegyzesKeresoHelper.newModifyPopupSave = function (popupGridName) {
var form = $('#' + newModifyFormName);
if (form.valid()) {
var data = form.toObject();
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(popupGridName);
if (selectedRows.length === 0) {
KretaWindowHelper.warningWindow(
"@(CommonResource.Figyelmeztetes)",
"@(FeljegyzesekResource.ValasszonKiLegalabbEgyOsztalytCsoportot)"
);
} else {
var selectedIdList = [];
$.each(selectedRows,
function (index, value) {
selectedIdList.push(value.ID);
});
data.OsztalyCsoportIdList = selectedIdList;
AjaxHelper.DoValidationPost(
url.save,
newModifyFormName,
data,
refreshGrid);
}
}
}
function refreshGrid() {
KretaWindowHelper.destroyAllWindow();
KretaGridHelper.refreshGrid(gridName);
}
feljegyzesKeresoHelper.setRowEditing = function (rowData) {
if (rowData.FeljegyzoId === @ClaimData.FelhasznaloId) {
return true;
}
}
feljegyzesKeresoHelper.setDeleteRowEditing = function (rowData) {
return rowData.FeljegyzoNev != "@Html.Raw(Kreta.Core.Constants.SpecialUserName.Rendszeruzenet)";
}
feljegyzesKeresoHelper.openFeljegyzesAdatok = function (rowData) {
AjaxHelper.DoGet(url.openFeljegyzesAdatok, { feljegyzesId: rowData.ID }, popUpFeljegyzesAdatok);
}
feljegyzesKeresoHelper.newModifyPopupDelete = function () {
var data = $("#" + newModifyFormName).toObject();
deleteConfirm(data.Id);
}
function deleteConfirm(id) {
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
deleteFeljegyzes,
id
);
}
feljegyzesKeresoHelper.newModifyPopupCancel = function () {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
function popUpFeljegyzesAdatok(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(StringResourcesUtil.GetString(1733))"; /*Feljegyzés adatai*/
config.content = data;
var modal = KretaWindowHelper.createWindow("FeljegyzesAdatokWindow", config);
KretaWindowHelper.openWindow(modal, true);
}
feljegyzesKeresoHelper.adatokCancel = function () {
KretaWindowHelper.destroyWindow("FeljegyzesAdatokWindow");
}
feljegyzesKeresoHelper.deleteFeljegyzesConfirmWindow = function (rowData) {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteOsztalyCsoport, rowData);
}
feljegyzesKeresoHelper.deleteSelectedOsztalyCsoport = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length > 0) {
KretaWindowHelper.confirmWindow("@(IntezmenyResource.Figyelmeztetes)", "@(IntezmenyResource.ARendszerCsakAzonSorokatTorliAmelyeknekNincsenekKapcsolataiARendszerbenBiztosanTorliAzAdatokat)", function () { deleteSelectedOsztalyCsoport(selectedRows); });
}
else {
KretaWindowHelper.feedbackWindow("@(IntezmenyResource.Figyelmeztetes)", "@(IntezmenyResource.AKijeloltElemekTorlesehezJeloljonKiLegalabbEgyElemet)", true, KretaWindowHelper.destroyAllWindow);
}
}
function deleteSelectedOsztalyCsoport(selectedRows) {
var jsonData = [];
$.each(selectedRows, function (index, rowData) {
jsonData.push({
FeljegyzesId: parseInt(rowData.ID),
OsztalyCsoportId: rowData.OsztalyCsoportId
});
});
AjaxHelper.DoPost(url.deleteOsztalyCsoport, jsonData, deleteSelectedOsztalyCsoportResponseOk, deleteSelectedOsztalyCsoportResponseError);
}
function deleteSelectedOsztalyCsoportResponseOk(data) {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow, data.Message);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteSelectedOsztalyCsoportResponseError(data) {
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
AjaxHelper.ShowError(data);
}
function deleteFeljegyzes(data) {
AjaxHelper.DoPost(url.deleteFeljegyzes, data, deleteFeedbackOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteOsztalyCsoport(rowData) {
var jsonData = [];
jsonData.push({
FeljegyzesId: parseInt(rowData.ID),
OsztalyCsoportId: rowData.OsztalyCsoportId
});
AjaxHelper.DoPost(url.deleteOsztalyCsoport, jsonData, deleteFeedbackOk);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function deleteFeedbackOk() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
feljegyzesKeresoHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName);
}
return feljegyzesKeresoHelper;
})();
</script>