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

177 lines
No EOL
8.3 KiB
Text

@using Kreta.Web.Helpers;
@using Kreta.BusinessLogic.Classes
@using Kreta.Resources
@using Kreta.Enums.ManualEnums
@using Kreta.Web.Helpers.Grid
@using Kreta.Web.Areas.DualisKepzes.Models
<div>
<div class="container-fluid">
<div class="row" style="padding:0px; margin:0px; min-height: auto;">
<label>Maximálisan megengedett fájlméret feltöltésenként: 15 MB</label>
</div>
<div class="row" style="padding:0px; margin:0px; min-height: auto;">
<label>Feltölthető fájlformátumok: .pdf, .png, .bmp, .jpeg, .jpg</label>
</div>
</div>
@(
Html.KretaGrid<DualisSzerzodesGridModel>(
name: "DualisSzerzodesGrid",
getUrl: new GridApiUrl(Constants.ApiControllers.DualisSzerzodesApi, "GetDualisSzerzodesGrid", new Dictionary<string, string> { }),
sort: sort => sort.Add(c => c.Statusz).Ascending(),
allowScrolling: true
)
.Columns(columns =>
{
columns.Bound(c => c.TanuloNev).Width("20%");
columns.Bound(c => c.AnyaNev).Width("20%");
columns.Bound(c => c.SzuletesiHelye).Width("15%");
columns.Bound(c => c.SzuletesiDatum).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.OktatasiAzonosito).Width("10%");
columns.Bound(c => c.Statusz).Template(@<text></text>).ClientTemplate(@" # if (Statusz == 1) { # <i class='fa fa-check-circle' style='color:green;'></i> # } else { # <i class='fa fa-times' style='color:red;'></i> # } #").Width("5%");
columns.Bound(c => c.FeltoltesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
})
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Letoltes, ClientAction= "DualisSzerzodesHelper.downloadDokumentum", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Letoltes }
}, "DualisSzerzodesHelper.isLetoltheto")
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Torles, ClientAction= "DualisSzerzodesHelper.deleteConfirm", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
}, "DualisSzerzodesHelper.isTorolheto")
.ConditionalRowFunction(Html, new List<RowFunction> {
new RowFunction { Name = CommonResource.Feltoltes, ClientAction= "DualisSzerzodesHelper.maskedClick", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Feltoltes }
}, "DualisSzerzodesHelper.isFeltoltheto")
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.AutoBind(true)
)
</div>
@using (Html.KretaForm("DownloadFile", "DualisSzerzodes", FormMethod.Post, "dokumentumLetolteseForm"))
{
<div style="float:right;display:none;">
@Html.KretaButton("kretaDownloadSubmit", NyomtatvanyokResource.Letoltes, "submit")
<div style="float:right;">
@Html.Hidden("FileIdHiddenField");
</div>
</div>
}
<div id="FileInputContainer" class="fileInputContainer" style="display:none;">
@Html.KretaAsyncFileUpload("DualisSzerzodesDokumentum",
onSelectEvent: "function(e){ DualisSzerzodesHelper.onSelect(e); }",
onUploadEvent: "function(e) { DualisSzerzodesHelper.uploadDokumentum(e);}",
onErrorEvent: "function(e) { DualisSzerzodesHelper.onError(e); }",
onCompleteEvent: "function(e) { DualisSzerzodesHelper.onComplete(e); }",
allowMultiple: false,
selectText: "Feltöltés",
htmlAttributes: new Dictionary<string, object> { { "accept", ".pdf,.png,.bmp,.jpeg,.jpg" } })
</div>
<script type="text/javascript">
var DualisSzerzodesHelper = (function () {
var gridName = "DualisSzerzodesGrid";
var dualisSzerzodesHelper = function () { };
var url = {
saveDokumentum: "@Url.Action("UploadFile", "DualisSzerzodes", new { area = "DualisKepzes" })",
deleteDokumentum: "@Url.Action("DeleteFile", "DualisSzerzodes", new { area = "DualisKepzes" })"
};
dualisSzerzodesHelper.isFeltoltheto = function (rowData) {
return true;@*rowData.Statusz == "@((int)FileStatuszEnum.NincsFeltoltve)";*@
}
dualisSzerzodesHelper.isTorolheto = function (rowData) {
return rowData.Statusz == "@((int)FileStatuszEnum.Feltoltve)";
}
dualisSzerzodesHelper.isLetoltheto = function (rowData) {
return rowData.Statusz == "@((int)FileStatuszEnum.Feltoltve)";
}
dualisSzerzodesHelper.onSelect = function (e) {
KretaFileUpload.StopAnimation();
var allowedFileExtensionArray = [".pdf", ".png", ".bmp", ".jpeg", ".jpg"];
const megaByte = 1024 * 1024;
var attachmentMaxFileSizeInBytes = 15 * megaByte;
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);
break;
}
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray)===-1){
e.preventDefault();
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba","@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
break;
}
}
}
dualisSzerzodesHelper.uploadDokumentum = function (e) {
var tanuloId = $(".fileInputContainer").attr('data-tanuloId');
var token = $("input[name='__RequestVerificationToken']").val();
e.sender.options.async.saveUrl = url.saveDokumentum;
e.data = { TanuloId: tanuloId };
var xhr = e.XMLHttpRequest;
if (xhr) {
xhr.addEventListener("readystatechange", function (e) {
if (xhr.readyState == 1 /* OPENED */) {
xhr.setRequestHeader("X-Request-Verification-Token", token);
}
});
}
}
dualisSzerzodesHelper.onComplete = function (e) {
$(".fileInputContainer").attr('data-tanuloId','0');
successCallBack();
}
dualisSzerzodesHelper.onError = function (e) {
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.SikertelenFeltoltesKotelezoDokumentumon", true);
}
dualisSzerzodesHelper.downloadDokumentum = function (rowData) {
var fileId = rowData.FileId;
$("#FileIdHiddenField").val(fileId);
$("#kretaDownloadSubmit").click();
}
dualisSzerzodesHelper.maskedClick = function (rowData) {
if (rowData.Statusz == "@FileStatuszEnum.Feltoltve") {
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.FeltoltesFigyelmeztetes)", function () { uploadDualisSzerzodes(rowData); });
}
else {
uploadDualisSzerzodes(rowData);
}
}
dualisSzerzodesHelper.deleteConfirm = function (rowData) {
var postData = { id: rowData.SzerzodesFileId };
KretaWindowHelper.confirmWindow("@(CommonResource.BiztosanTorli)", "@(CommonResource.FajlTorlesFigyelmeztetes)", deleteDualisSzerzodes, postData);
}
function deleteDualisSzerzodes(postData) {
AjaxHelper.DoPostQuery(url.deleteDokumentum, null, postData, successCallBack, deleteErrorCallBack);
}
function uploadDualisSzerzodes(rowData) {
var tanuloId = rowData.ID;
$(".fileInputContainer").attr('data-tanuloId', tanuloId.toString());
$("#DualisSzerzodesDokumentum").click();
}
function deleteErrorCallBack() {
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.SikertelenTorles", true);
}
function successCallBack() {
KretaGridHelper.refreshGrid(gridName);
}
return dualisSzerzodesHelper;
})();
</script>