init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
|
@ -0,0 +1,391 @@
|
|||
@using Kreta.Web.Areas.Orarend.Models;
|
||||
@using Kreta.Web.Helpers.Modal;
|
||||
@using Kreta.Framework;
|
||||
@using Kreta.Web.Security;
|
||||
@using Kreta.Web.Helpers;
|
||||
@using Kreta.Web.Areas.Orarend.Models;
|
||||
@using Kreta.Resources;
|
||||
@using Kreta.Web.Helpers.Grid;
|
||||
@using Kreta.BusinessLogic.Classes;
|
||||
@using Kreta.Core;
|
||||
@using Kreta.Web.Areas.Tanar.Models;
|
||||
@using Kreta.Enums.ManualEnums;
|
||||
|
||||
@model HaziFeladatNaplozas
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
const string HaziFeladatCsatolmanyokApi = Kreta.Web.Constants.ApiControllers.HaziFeladatCsatolmanyokApi;
|
||||
const string gridName = "HFCsatolmanyGrid";
|
||||
}
|
||||
|
||||
<style>
|
||||
.uploadInfo {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.uploadInfo ul > li {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.k-upload-selected {
|
||||
display:none;
|
||||
}
|
||||
.k-button.k-clearUploadButton {
|
||||
margin-left: 5px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
var HazifeladatFileUploadHelper = (function () {
|
||||
var hazifeladatFileUploadHelper = function () { };
|
||||
|
||||
var gridName = "@gridName";
|
||||
var uploadDone = true;
|
||||
|
||||
var url = {
|
||||
DeleteCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "DeleteCsatolmany" })",
|
||||
DownloadCsatolmany: "@Url.HttpRouteUrl(Kreta.Web.Constants.RouteKey.ActionApi, new { controller = HaziFeladatCsatolmanyokApi, action = "DownloadCsatolmanyFile" })",
|
||||
}
|
||||
|
||||
var currentFilesSizeInBytes = 0;
|
||||
|
||||
hazifeladatFileUploadHelper.select = function (e) {
|
||||
KretaFileUpload.StopAnimation();
|
||||
var attachments = e.files;
|
||||
|
||||
var allowedFileExtensionArray = @Html.Raw(Json.Encode(Model.AllowedFileExtensions));
|
||||
|
||||
for (var i = 0; i < attachments.length; i++) {
|
||||
if ($.inArray(attachments[i].extension.toLowerCase(), allowedFileExtensionArray) === -1) {
|
||||
e.preventDefault();
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", "@ErrorResource.AFajlKiterjeszteseVagyTipusaNemMegfelelo", true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var usedFilesSizeInKiloBytes = parseInt("@Model.UsedFilesSizeInKiloBytes");
|
||||
var maxAllowedFilesSizeInKiloBytes = parseInt("@Model.MaxAllowedFilesSizeInKiloBytes");
|
||||
var usedFilesSizeInBytesTotal = parseInt("@Model.UsedFilesSizeInKiloBytesTotal");
|
||||
var maxAllowedFilesSizeInKiloBytesTotal = parseInt("@Model.MaxAllowedFilesSizeInKiloBytesTotal");
|
||||
|
||||
currentFilesSizeInBytes += attachments.reduce((acc, curr) => acc + curr.size, 0);
|
||||
|
||||
if (maxAllowedFilesSizeInKiloBytes < ((currentFilesSizeInBytes / 1024) + usedFilesSizeInKiloBytes)) {
|
||||
e.preventDefault();
|
||||
|
||||
var errorMessage = "@ErrorResource.AtlepteAHazifeladathozMegengedettFeltolthetoAdatmennyiseget";
|
||||
|
||||
errorMessage = errorMessage.format(
|
||||
"<br />",
|
||||
maxAllowedFilesSizeInKiloBytes,
|
||||
(usedFilesSizeInKiloBytes).toFixed(2),
|
||||
(currentFilesSizeInBytes / 1024).toFixed(2));
|
||||
|
||||
currentFilesSizeInBytes -= attachments.reduce((acc, curr) => acc + curr.size, 0);
|
||||
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (maxAllowedFilesSizeInKiloBytesTotal < ((currentFilesSizeInBytes / 1024) + (usedFilesSizeInBytesTotal / 1024))) {
|
||||
e.preventDefault();
|
||||
|
||||
var errorMessage = "@ErrorResource.AtlepteAzOsszesenMegengedettFeltolthetoAdatmennyiseget";
|
||||
|
||||
errorMessage = errorMessage.format(
|
||||
"<br />",
|
||||
maxAllowedFilesSizeInKiloBytesTotal,
|
||||
(usedFilesSizeInBytesTotal / 1024).toFixed(2),
|
||||
(currentFilesSizeInBytes / 1024).toFixed(2));
|
||||
|
||||
currentFilesSizeInBytes -= attachments.reduce((acc, curr) => acc + curr.size, 0);
|
||||
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", errorMessage, true);
|
||||
return;
|
||||
}
|
||||
|
||||
$(".k-clearUploadButton").remove();
|
||||
$(".k-upload-button").after('<button type="button" class="k-button k-clearUploadButton" onclick = "HazifeladatFileUploadHelper.ClearFileUpload()"> Törlés</button>');
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.ClearFileUpload = function () {
|
||||
$("#csatolmany").data("kendoUpload")._removeFileEntry($(".k-file"));
|
||||
$(".k-clearUploadButton").remove();
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.success = function (e) {
|
||||
var csatolmanyId = e.response;
|
||||
|
||||
if (typeof csatolmanyId === "number") {
|
||||
$("#CsatolmanyId").val(csatolmanyId);
|
||||
}
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.deleteConfirm = function (rowData) {
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Figyelmeztetes", "@(TanarResource.BiztosanToroliSzeretneCsatolmanyt)", deleteCsatolmany, rowData.ID);
|
||||
}
|
||||
|
||||
function deleteCsatolmany(data) {
|
||||
AjaxHelper.DoPost(url.DeleteCsatolmany, data, deleteResponseOk, responseError);
|
||||
}
|
||||
|
||||
function responseError(data) {
|
||||
KretaGridHelper.refreshGrid(gridName);
|
||||
AjaxHelper.ShowError(data);
|
||||
}
|
||||
|
||||
function deleteResponseOk() {
|
||||
$("#CsatolmanyId").val('');
|
||||
KretaGridHelper.refreshGrid(gridName);
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.download = function (rowData) {
|
||||
CommonUtils.formFileDownload(url.DownloadCsatolmany, rowData.ID);
|
||||
};
|
||||
|
||||
function responseError(data) {
|
||||
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
|
||||
AjaxHelper.ShowError(data);
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.upload = function (e) {
|
||||
uploadDone = false;
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.complete = function (e) {
|
||||
uploadDone = true;
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.uploadIsDone = function () {
|
||||
return uploadDone;
|
||||
}
|
||||
|
||||
hazifeladatFileUploadHelper.error = function (e) {
|
||||
//var err = $.parseJSON(e.XMLHttpRequest.responseText);
|
||||
//KretaWindowHelper.feedbackWindow(Globalization.Hiba, err.Message.replace(CommonUtils.LineBreakRegex, '<br />'), true);
|
||||
}
|
||||
|
||||
return hazifeladatFileUploadHelper;
|
||||
})();
|
||||
</script>
|
||||
|
||||
@Html.ValidationSummary()
|
||||
<div class="container-fluid">
|
||||
@Html.HiddenFor(m => m.Id)
|
||||
@Html.HiddenFor(m => m.OrarendiOraId)
|
||||
@Html.HiddenFor(m => m.NapDatuma)
|
||||
@Html.HiddenFor(m => m.HelyettesitoId)
|
||||
@Html.HiddenFor(m => m.CsatolmanyId)
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
@Html.KretaDatePickerFor(m => m.Hatarido).Min(DateTime.Today.AddDays(1)).Max(DateTime.Parse(Kreta.Core.Constants.MinMaxValues.MaxDate)).RenderWithName(isCustomRequired: true)
|
||||
</div>
|
||||
<div style="float:right; padding-left: 5px;">
|
||||
@if (Model.IsTanarVehetFelHazitNaplozasNelkul)
|
||||
{
|
||||
@Html.KretaButton(new ModalButtonModel() { Name = "haziFeladatMentes", Text = "HÁZI FELADAT MENTÉSE", Enabled = true, EventName = Model.IsHaziFeladatHelper ? "function(){ HazifeladatHelper.SaveHaziFeladat(); }" : "function(){ Naplozashelper.SaveHaziFeladat(); }" })
|
||||
}
|
||||
@if (Model.Id != null)
|
||||
{
|
||||
@Html.KretaButton(new ModalButtonModel() { Name = "haziFeladatTorles", Text = "HÁZI FELADAT TÖRLÉSE", Enabled = true, EventName = "function(){ HazifeladatHelper.DeleteHaziFeladat(); }" })
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@Html.KretaHtmlEditorFor(m => m.HaziFeladat).PasteCleanup(p => p
|
||||
.Css(false)
|
||||
.MsAllFormatting(false)
|
||||
.Span(false)
|
||||
).Events(x=>x.Paste("function(e) { HazifeladatHelper.onPasteEvent(e); }"))
|
||||
</div>
|
||||
</div>
|
||||
@{
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
@Html.KretaFileUpload(
|
||||
"csatolmany",
|
||||
Url.Action("UploadCsatolmany", "TanariOrarend"),
|
||||
uploadText: CommonResource.Feltoltes,
|
||||
onSelectEvent: "function(e) { HazifeladatFileUploadHelper.select(e); }",
|
||||
onSuccessEvent: "function(e) { HazifeladatFileUploadHelper.success(e); }",
|
||||
onUploadEvent: "function(e) { HazifeladatFileUploadHelper.upload(e); }",
|
||||
onCompleteEvent: "function(e) { HazifeladatFileUploadHelper.complete(e); }",
|
||||
onErrorEvent: "function(e) { HazifeladatFileUploadHelper.error(e); }",
|
||||
htmlAttributes: new Dictionary<string, object> { { "accept", string.Join(", ", Model.AllowedFileExtensions) } }
|
||||
)
|
||||
</div>
|
||||
<div class="col-sm-12">
|
||||
@Html.Label(string.Format(TanarResource.KorabbanMarFeltoltottAdatmennyiseg, string.Format("{0:0.00}", CommonUtils.ConvertByteToMByte(Model.UsedFilesSizeInKiloBytesTotal))))
|
||||
<br />
|
||||
@Html.Label(string.Format(TanarResource.MaximalisMegengedettAdatmennyiseg, string.Format("{0:0.00}", CommonUtils.ConvertKByteToGByte(Model.MaxAllowedFilesSizeInKiloBytes))))
|
||||
</div>
|
||||
<div class="col-sm-12 uploadInfo">
|
||||
<span>@CommonResource.MegengedettTipusok</span>
|
||||
<ul>
|
||||
<li>.txt, .pdf, .doc, .docx</li>
|
||||
<li>.xls, .xlsx</li>
|
||||
<li>.ppt, .pptx</li>
|
||||
<li>.bmp, .jpg, .jpeg, .png</li>
|
||||
<li>.rar, .zip</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
if (Model.Id.IsEntityId())
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-sm-12" id="sumHaziFeladatCsatolmanyokGridDiv">
|
||||
<a id="haziFeladatCsatolmanyokIcon" class="k-icon k-plus" href="#"></a>
|
||||
<label class="windowInputLabel">@OrarendResource.CsatoltAllomanyok:</label>
|
||||
</div>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$("#sumHaziFeladatCsatolmanyokGridDiv").click(function () {
|
||||
if ($("#haziFeladatCsatolmanyokGridDiv").hasClass("displayNone")) {
|
||||
$("#haziFeladatCsatolmanyokGridDiv").removeClass("displayNone");
|
||||
$("#haziFeladatCsatolmanyokIcon").removeClass("k-plus").addClass("k-minus");
|
||||
}
|
||||
else {
|
||||
$("#haziFeladatCsatolmanyokGridDiv").addClass("displayNone");
|
||||
$("#haziFeladatCsatolmanyokIcon").removeClass("k-minus").addClass("k-plus");
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<div class="row displayNone" id="haziFeladatCsatolmanyokGridDiv">
|
||||
<div class="col-sm-12">
|
||||
@(
|
||||
Html.KretaGrid<HFCsatolmanyGridModel>
|
||||
(
|
||||
gridName,
|
||||
new GridApiUrl(HaziFeladatCsatolmanyokApi, "GetHFCsatolmanyokGridForHazi",
|
||||
new Dictionary<string, string>
|
||||
{
|
||||
{ "haziFeladatId", Model.Id.ToString() }
|
||||
}),
|
||||
allowScrolling: true,
|
||||
showSorszam: false,
|
||||
sort: sort => sort.Add(s => s.FeltoltesDatum).Ascending()
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.FajlNev).Width("30%");
|
||||
columns.Bound(c => c.FajlMeretMB).Format("{0:n}").Width("30%");
|
||||
columns.Bound(c => c.FeltoltesDatum).Width("30%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
.RowFunction(Html, new List<RowFunction>
|
||||
{
|
||||
new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles,
|
||||
ClientAction= "HazifeladatFileUploadHelper.deleteConfirm",
|
||||
IconEnum = GridRowFunctionIconEnum.Torles
|
||||
}
|
||||
})
|
||||
.RowFunction(Html, new List<RowFunction>
|
||||
{
|
||||
new RowFunction
|
||||
{
|
||||
Name = CommonResource.Letoltes,
|
||||
ClientAction= "HazifeladatFileUploadHelper.download",
|
||||
IconEnum = GridRowFunctionIconEnum.Letoltes
|
||||
}
|
||||
})
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var HazifeladatHelper = (function () {
|
||||
var hazifeladatHelper = function () { };
|
||||
|
||||
var tanarHaziFeladatId = parseInt("@Model.Id");
|
||||
if (isNaN(tanarHaziFeladatId)) { tanarHaziFeladatId = null; }
|
||||
var saveURL = '@Url.HttpRouteUrl("ActionApi", new {controller = "TanariOrarendApi", action = "SaveHaziFeladatFromDetail" })';
|
||||
|
||||
hazifeladatHelper.getModel = function () { return getModel(); };
|
||||
hazifeladatHelper.onTabActiv = function () { refreshEditor(); };
|
||||
|
||||
hazifeladatHelper.SaveHaziFeladat = function () {
|
||||
if (!HazifeladatFileUploadHelper.uploadIsDone()) {
|
||||
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.ACsatolmanyFeltolteseNemFejezedottBeBiztosanFolytatja)", function () { saveHazi(); });
|
||||
} else {
|
||||
saveHazi();
|
||||
}
|
||||
}
|
||||
|
||||
function saveHazi() {
|
||||
var model = getModel();
|
||||
AjaxHelper.DoPost(saveURL, model, function (data) { sikeresHazifeladatMentes(data); });
|
||||
}
|
||||
|
||||
function sikeresHazifeladatMentes(data) {
|
||||
var csatolmanyElement = $("#csatolmany");
|
||||
var fileuploadbutton = $('.k-upload-selected');
|
||||
if (data.HazifeladatId > 0 && csatolmanyElement.length > 0 && fileuploadbutton.length > 0) {
|
||||
var uploader = csatolmanyElement.data("kendoUpload");
|
||||
uploader.bind("upload", function (e) { AjaxHelper.ShowIndicator(); e.data = { hfId: data.HazifeladatId } });
|
||||
uploader.bind("complete", function (e) { AjaxHelper.HideIndicator(); KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow(); });
|
||||
uploader.bind("error", function (e) { alert("Sikertelen file feltöltés!") });
|
||||
setTimeout(function () { fileuploadbutton.click(); }, 1); /*set timeout kiveszi a fuggvényt a post success ágából és így külön fel tudjuk dobni neki busy indikatort*/
|
||||
} else {
|
||||
KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow();
|
||||
}
|
||||
}
|
||||
|
||||
hazifeladatHelper.DeleteHaziFeladat = function () {
|
||||
var model = {
|
||||
"Id": $("#Id").val()
|
||||
,"OrarendiOraId": $("#OrarendiOraId").val()
|
||||
, "TanitasiOraId" : "@Model.TanitasiOraId"
|
||||
};
|
||||
AjaxHelper.DoPost(saveURL, model, function () { KretaWindowHelper.destroyAllWindow(); TanariOrarend.FormSearch("searchForm"); KretaWindowHelper.successFeedBackWindow(); });
|
||||
}
|
||||
|
||||
function getModel() {
|
||||
var hatarido = null;
|
||||
if ($("#Hatarido").data("kendoDatePicker").value() != null) {
|
||||
hatarido = moment.utc(kendo.parseDate($("#Hatarido").data("kendoDatePicker").value(), "u")).local().format();
|
||||
}
|
||||
else {
|
||||
if ($("#Hatarido").val()) {
|
||||
hatarido = new Date(($("#Hatarido").val()).replaceAll('.','-'));
|
||||
}
|
||||
}
|
||||
|
||||
var model = {
|
||||
"HaziFeladat": $("#HaziFeladat").data("kendoEditor").value(),
|
||||
"Hatarido": hatarido,
|
||||
"Id": $("#Id").val(),
|
||||
"OrarendiOraId": $("#OrarendiOraId").val(),
|
||||
"NapDatuma": $("#NapDatuma").val(),
|
||||
"HelyettesitoId": $("#HelyettesitoId").val(),
|
||||
"CsatolmanyId": $("#CsatolmanyId").val(),
|
||||
"IsElmaradt": "@Model.IsElmaradt",
|
||||
"TanitasiOraId" : "@Model.TanitasiOraId"
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
function refreshEditor() {
|
||||
$("#HaziFeladat").getKendoEditor().refresh();
|
||||
}
|
||||
|
||||
hazifeladatHelper.onPasteEvent = function (e) {
|
||||
if ((/^<img src="data:image/).test(e.html)) {
|
||||
e.html = "";
|
||||
}
|
||||
}
|
||||
|
||||
return hazifeladatHelper;
|
||||
})();
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue