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

307 lines
No EOL
15 KiB
Text

@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Intezmeny.Controllers
@using Kreta.Web.Areas.Intezmeny.Models
@using Kreta.Web.Helpers.Grid
@model OktatottSzakmakSearchModel
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}
@{
var gridName = OktatottSzakmakController.GridName;
var searchFormName = OktatottSzakmakController.SearchFormName;
var downloadFileFormName = OktatottSzakmakController.DownloadFileFormName;
var multipleModifyPopUpId = OktatottSzakmakController.MultipleModifyPopUpId;
var modifyPopUpId = OktatottSzakmakController.ModifyPopUpId;
var infoPopUpId = OktatottSzakmakController.InfoPopUpId;
var modifyFormName = OktatottSzakmakController.ModifyFormName;
var multipleModifyFormName = OktatottSzakmakController.MultipleModifyFormName;
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.KretaTextBoxFor(x => x.SzakkepesitesMegnevezeseSearch).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.AgazatiBesorolasSearch).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.SzakkepesitesAzonositoszamSearch).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.JelenlegZajloKepzesSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.KepzesreFogadhatoTanulokSzamaSearch).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.JelenlegKepzettTanulokSzamaSearch).RenderSearchPanelSideBar()
}
}
@{
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "OktatottSzakmakHelper.getExport" }
};
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Modositas, ClientAction = "OktatottSzakmakHelper.openOktatottSzakmaMultipleModifyPopUp" },
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
};
List<RowFunction> rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Modositas, ClientAction = "OktatottSzakmakHelper.openOktatottSzakmaModifyPopUp", IconEnum = GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = CommonResource.Adatok, ClientAction = "OktatottSzakmakHelper.openOktatottSzakmaInfoPopUp", IconEnum = GridRowFunctionIconEnum.Adatok }
};
}
<div>
@(
Html.KretaGrid<OktatottSzakmakGridModel>(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetOktatottSzakmakGrid"),
allowScrolling: true,
dataParameterFunction: searchFormName,
sort: sort => sort.Add(m => m.SzakkepesitesMegnevezese).Ascending()
)
.SelectBoxColumn(Html, string.Empty)
.Columns(columns =>
{
columns.Bound(c => c.SzakkepesitesMegnevezese);
columns.Bound(c => c.OktatasiNevelesiFeladatNev).Width("15%");
columns.Bound(c => c.AgazatiBesorolas).Width("10%");
columns.Bound(c => c.SzakkepesitesAzonositoszam).Width("10%");
columns.Bound(c => c.JelenlegZajloKepzes).Width("10%");
columns.Bound(c => c.KepzesreFogadhatoTanulokSzama).Width("10%");
columns.Bound(c => c.JelenlegKepzettTanulokSzama).Width("10%");
})
.FunctionCommand(Html, functions)
.RowFunction(Html, rowFunctionList)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
)
</div>
@using (Html.KretaForm("DownloadFile", Model.ControllerName, FormMethod.Post, downloadFileFormName))
{
<div style="float:right;display:none;">
@Html.KretaButton("kretaDownloadSubmit", NyomtatvanyokResource.Letoltes, "submit")
<div style="float:right;">
@Html.Hidden("FileIdHiddenField");
</div>
</div>
}
<script type="text/javascript">
var OktatottSzakmakHelper = (function() {
var oktatottSzakmakHelper = function() {};
var gridName = "@gridName";
var searchFormName = "@searchFormName";
var multipleModifyPopUpId = "@multipleModifyPopUpId";
var modifyPopUpId = "@modifyPopUpId";
var infoPopUpId = "@infoPopUpId";
var modifyFormName = "@modifyFormName";
var multipleModifyFormName = "@multipleModifyFormName";
var url = {
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExport" })",
OpenOktatottSzakmaMultipleModifyPopUp: "@Url.Action("OpenOktatottSzakmaMultipleModifyPopUp", Model.ControllerName, new { area = "Intezmeny" })",
OktatottSzakmaMultipleModify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "OktatottSzakmaMultipleModify" })",
OpenOktatottSzakmaModifyPopUp: "@Url.Action("OpenOktatottSzakmaModifyPopUp", Model.ControllerName, new { area = "Intezmeny" })",
OktatottSzakmaModify: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "OktatottSzakmaModify" })",
OpenOktatottSzakmaInfoPopUp: "@Url.Action("OpenOktatottSzakmaInfoPopUp", Model.ControllerName, new { area = "Intezmeny" })"
}
oktatottSzakmakHelper.getExport = function () {
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
}
oktatottSzakmakHelper.openOktatottSzakmaMultipleModifyPopUp = function () {
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length == 0) {
KretaWindowHelper.warningWindow("@(CommonResource.Kivalasztas)", "@(CommonResource.ACsoportosModositashozLegalabbEgyElemKivalasztasaSzukseges)");
} else if (selectedRows.length == 1) {
var postData = {
Id: selectedRows[0].ID
};
AjaxHelper.DoPost(url.OpenOktatottSzakmaModifyPopUp, postData, function(data) { popUpModifyWindow(data, selectedRows[0].SzakkepesitesMegnevezese); });
} else {
var postData = [];
$.each(selectedRows,
function(index, value) {
postData.push(value.ID);
});
AjaxHelper.DoPost(url.OpenOktatottSzakmaMultipleModifyPopUp, postData, popUpMultipleModifyWindow);
}
}
oktatottSzakmakHelper.oktatottSzakmaMultipleModifyPopUpSave = function() {
KretaGridHelper.resetHeaderCheckbox(gridName);
AjaxHelper.DoPostElement(url.OktatottSzakmaMultipleModify, multipleModifyFormName, successCallBack, errorCallBack);
}
oktatottSzakmakHelper.oktatottSzakmaMultipleModifyPopUpCancel = function() {
KretaWindowHelper.destroyWindow(multipleModifyPopUpId);
}
oktatottSzakmakHelper.openOktatottSzakmaModifyPopUp = function(rowData) {
var postData = {
Id: rowData.ID
};
AjaxHelper.DoPost(url.OpenOktatottSzakmaModifyPopUp, postData, function(data) { popUpModifyWindow(data, rowData.SzakkepesitesMegnevezese); });
}
oktatottSzakmakHelper.onSelectEvent = function(e, allowedFileExtensionArray, attachmentMaxFileSizeInBytes) {
KretaFileUpload.StopAnimation();
var isValid = true;
var attachments = e.files;
for (var i = 0; i < attachments.length; i++) {
if (attachmentMaxFileSizeInBytes < attachments[i].size) {
e.preventDefault();
var errorMessage = "@ErrorResource.HibaTortentXMBNalNemLehetNagyobbAFajlMerete";
errorMessage = errorMessage.replace("{0}", attachmentMaxFileSizeInBytes / (1024 * 1024));
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
isValid = false;
break;
}
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray) === -1) {
e.preventDefault();
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
isValid = false;
break;
}
}
if (isValid) {
var isUjFile = CommonUtils.isNullOrWhiteSpace($("#FileId").val());
$("#FileId").val(null);
$("#downloadFile").removeClass("btn-primary");
$("#downloadFile").addClass("btn-default disabled");
$("#deleteFile").removeClass("btn-primary");
$("#deleteFile").addClass("btn-default disabled");
var feltoltesText;
if (isUjFile) {
feltoltesText = "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatMentesUj";
} else {
feltoltesText = "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatMentesModositas";
}
$("div.fileInfo").html('<label class="windowInputLabel">' + feltoltesText + '</label>');
}
}
oktatottSzakmakHelper.oktatottSzakmaModifyPopUpSave = function () {
var uploadedFile = $("#Nyilatkozat").data('kendoUpload').wrapper.find("input[type='file']")[0].files[0];
if (!CommonUtils.isNullOrUndefined(uploadedFile)) {
var reader = new FileReader();
reader.onloadend = function() {
var file = {
Name: uploadedFile.name,
Size: uploadedFile.size,
Type: uploadedFile.type,
ContentAsBase64EncodedString: reader.result
}
oktatottSzakmaSave(file);
}
reader.readAsDataURL(uploadedFile);
} else {
oktatottSzakmaSave(null);
}
}
oktatottSzakmakHelper.oktatottSzakmaModifyPopUpCancel = function () {
KretaWindowHelper.destroyWindow(modifyPopUpId);
}
oktatottSzakmakHelper.openOktatottSzakmaInfoPopUp = function (rowData) {
var postData = {
Id: rowData.ID
};
AjaxHelper.DoPost(url.OpenOktatottSzakmaInfoPopUp, postData, function (data) { popUpInfoWindow(data, rowData.SzakkepesitesMegnevezese); });
}
oktatottSzakmakHelper.oktatottSzakmaInfoPopUpCancel = function() {
KretaWindowHelper.destroyWindow(infoPopUpId);
}
function popUpMultipleModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@UjSzktSzakmajegyzekOsszerendelesResource.OktatottSzakmakTobbesModositasa";
config.content = data;
var modal = KretaWindowHelper.createWindow(multipleModifyPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function popUpModifyWindow(data, SzakkepesitesMegnevezese) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@UjSzktSzakmajegyzekOsszerendelesResource.OktatottSzakmaModositasa" + ": " + SzakkepesitesMegnevezese;
config.content = data;
var modal = KretaWindowHelper.createWindow(modifyPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function oktatottSzakmaSave(file) {
var modifyForm = $("#" + modifyFormName);
if (modifyForm.valid()) {
var formObject = modifyForm.toObject();
var isFajlFeltoltve = !CommonUtils.isNullOrUndefined(formObject.FileId) || !CommonUtils.isNullOrUndefined(file)
if (!formObject.IsNyilatkozott && isFajlFeltoltve) {
KretaWindowHelper.warningWindow("@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetes", "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetesTextFajlNyilatkozat");
} else if (formObject.IsNyilatkozott && !isFajlFeltoltve) {
KretaWindowHelper.warningWindow("@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetes", "@UjSzktSzakmajegyzekOsszerendelesResource.NyilatkozatFigyelmeztetesTextNyilatkozatFajl");
} else {
var data = {
Id: formObject.Id,
FileId: formObject.FileId,
FileNev: formObject.FileNev,
File: file,
SzakkepesitesMegnevezese: formObject.SzakkepesitesMegnevezese,
OktatasiNevelesiFeladatNev: formObject.OktatasiNevelesiFeladatNev,
AgazatiBesorolas: formObject.AgazatiBesorolas,
SzakkepesitesAzonositoszam: formObject.SzakkepesitesAzonositoszam,
JelenlegZajloKepzes: formObject.JelenlegZajloKepzes,
KepzesreFogadhatoTanulokSzama: formObject.KepzesreFogadhatoTanulokSzama,
JelenlegKepzettTanulokSzama: formObject.JelenlegKepzettTanulokSzama,
IsNyilatkozott: formObject.IsNyilatkozott,
ShortFileNev: formObject.ShortFileNev,
FeltoltesDatumText: formObject.FeltoltesDatumText,
EszkozallomanyAvultsaga: formObject.EszkozallomanyAvultsaga,
EszkozokDarabszama: formObject.EszkozokDarabszama,
EgyebEszkozallomanyInformacio: formObject.EgyebEszkozallomanyInformacio,
TanmuhelyekSzama: formObject.TanmuhelyekSzama
};
KretaGridHelper.resetHeaderCheckbox(gridName);
AjaxHelper.DoValidationPost(url.OktatottSzakmaModify, modifyFormName, data, successCallBack, errorCallBack);
}
}
}
function popUpInfoWindow(data, SzakkepesitesMegnevezese) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@UjSzktSzakmajegyzekOsszerendelesResource.OktatottSzakma" + ": " + SzakkepesitesMegnevezese;
config.content = data;
var modal = KretaWindowHelper.createWindow(infoPopUpId, config);
KretaWindowHelper.openWindow(modal, true);
}
function successCallBack() {
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
}
function errorCallBack() {
var message = "@(ErrorResource.EgyebVaratlanNemKezeltHiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true);
}
return oktatottSzakmakHelper;
})();
</script>