kreta/KretaWeb/Views/Shared/_ZaradekPartial.cshtml
2024-03-13 00:33:46 +01:00

147 lines
No EOL
7.6 KiB
Text

@using Kreta.BusinessLogic.HelperClasses.OsztalyCsoportbaSorolas
@using Kreta.Resources
@using Kreta.Web.Helpers
@using Kreta.Enums
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Security
@model SorolasZaradek
<div id="SorolasZaradek">
@{
var disabledItem = "disabledItem";
if (!Model.IsKiVagyAtsorolasiZaradek && (ClaimData.IsAdministrator || (ClaimData.IsOsztalyfonok && Model.IsOfoRogzithetEvkoziZaradekot && Model.IsOfoRogzithetKiVagyAtsorolasiZaradekot)))
{
disabledItem = string.Empty;
}
if (!Model.Id.HasValue)
{
Model.RogzitoId = ClaimData.FelhasznaloId;
Model.RogzitesDatuma = DateTime.Now.Date;
}
Model.UtolsoModositasDatuma = DateTime.Now.Date;
Model.UtolsoModositoId = ClaimData.FelhasznaloId;
Model.IsAdministrator = ClaimData.IsAdministrator;
Model.IsOsztalyfonok = ClaimData.IsOsztalyfonok;
}
<script type="text/javascript">
var ZaradekHelper = (function () {
var zaradekHelper = function () { };
var url = {
GetZaradekMegjelenese: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ZaradekApi, action = "GetZaradekMegjelenese" })"
};
zaradekHelper.zaradekBeszurasButtonClick = function () {
var zaradekComboSelectedValue = $("#ZaradekAdatszotar").data('kendoComboBox').value();
if (!CommonUtils.isNullOrEmpty(zaradekComboSelectedValue)) {
var zaradekId = CommonUtils.isNullOrEmpty("@Model.Id") ? -1 : "@Model.Id";
AjaxHelper.DoGet(url.GetZaradekMegjelenese, { adatszotarId: zaradekComboSelectedValue }, setZaradekMegjeleneseData); //TODO:ZaradekId-t átadni
}
else {
KretaWindowHelper.warningWindow("@(TanuloResource.Kivalasztas)", "@(TanuloResource.ZaradekSzovegBeszurasahozElobbKiKellValasztaniaEgyZaradekAdatszotarElemet)");
}
}
function setZaradekMegjeleneseData(result) {
var isSetChekBoxValues = CommonUtils.isNullOrEmpty($("#ZaradekSzovegTextArea_" + "@((int)AnyanyelvEnum.magyar)").val());
var magyarZaradek = result.ZaradekSzovegList.filter(item => item.NyelvId === @((int)AnyanyelvEnum.magyar));
addZaradekSzovegToZaradekDiv(magyarZaradek[0]);
var idegenNyelvuZaradekList = result.ZaradekSzovegList.filter(item => item.NyelvId !== @((int)AnyanyelvEnum.magyar));
idegenNyelvuZaradekList.forEach(function (idegenNyelvuZaradekData) {
addZaradekSzovegToZaradekDiv(idegenNyelvuZaradekData);
});
if (isSetChekBoxValues) {
setZaradekChekBoxValues(result);
}
}
function addZaradekSzovegToZaradekDiv(zaradekData) {
var zaradekSzovegTextAreaName = "ZaradekSzovegTextArea_" + zaradekData.NyelvId;
var zaradekSzovegTextArea = $("#" + zaradekSzovegTextAreaName);
if (CommonUtils.isNullOrEmpty(zaradekSzovegTextArea.val())) {
zaradekSzovegTextArea.val(zaradekData.Szoveg);
}
else {
zaradekSzovegTextArea.val(zaradekSzovegTextArea.val() +"\n" + zaradekData.Szoveg);
}
}
function setZaradekChekBoxValues(result) {
$('#IsBizonyitvanybanMegjelenik').prop('checked', result.IsBizonyitvanMegjelenes);
$('#IsTorzslaponMegjelenik').prop('checked', result.IsTorzslapMegjelenes );
$('#IsOsztalynaplobanMegjelenik').prop('checked', result.IsNaploMegjelenes);
}
return zaradekHelper;
})();
</script>
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.TanuloCsoportId)
@Html.HiddenFor(x => x.RogzitoId)
@Html.HiddenFor(x => x.RogzitesDatumaStr)
@Html.HiddenFor(x => x.UtolsoModositasDatumaStr)
@Html.HiddenFor(x => x.UtolsoModositoId)
@Html.HiddenFor(x => x.IsAdministrator)
@Html.HiddenFor(x => x.IsOsztalyfonok)
@Html.HiddenFor(x => x.IsZaradekKotelezo)
<div class="row">
<div class="col-sm-3">
<label class="windowInputLabel">@OsztalyCsoportResource.ZaradekAdatszotar</label>
</div>
<div class="col-sm-9">
@Html.KretaComboBox("ZaradekAdatszotar", Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetZaradekList" }))
</div>
</div>
<div class="row">
<div class="col-sm-3"></div>
<div class="col-sm-3">
@Html.KretaButton("ZaradekAdatszotarBeszurButton", CommonResource.Beszur, clickEventName: "ZaradekHelper.zaradekBeszurasButtonClick")
</div>
<div class="col-sm-3"></div>
<div class="col-sm-3">
@Html.KretaCheckBoxFor(x => x.IsKiVagyAtsorolasiZaradek, renderLabelToRight: true).Enable(Model.IsTorolheto)
</div>
</div>
@foreach (var zaradekSzoveg in Model.ZaradekSzovegList)
{
<div class="row">
<div class="col-sm-3">
@{
var zaradekSzovegLabel = OsztalyCsoportResource.ZaradekSzovege + (zaradekSzoveg.NyelvId != (int)AnyanyelvEnum.magyar ? " (" + zaradekSzoveg.NyelvId.GetDisplayName<AnyanyelvEnum>(ClaimData.SelectedTanevID.Value) + ")" : Model.IsZaradekKotelezo ? " *" : "");
var zaradekSzovegTextAreaName = "ZaradekSzovegTextArea_" + zaradekSzoveg.NyelvId;
}
<label class="windowInputLabel" for="@zaradekSzovegTextAreaName">@zaradekSzovegLabel</label>
</div>
<div class="col-sm-9">
@Html.KretaTextArea(zaradekSzovegTextAreaName, new List<string> { zaradekSzoveg.Szoveg }, rows: 6, htmlAttributes: new Dictionary<string, object> { { "class", "k-textbox" }, { "data-nyelv-id", zaradekSzoveg.NyelvId.ToString() }, { "data-msg-required", OsztalyCsoportResource.ZaradekSzovegeKotelezo } })
</div>
</div>
}
<div class="row">
@Html.KretaTextBoxFor(x => x.KeltezesHelye, new Dictionary<string, object> { { "data-msg-required", OsztalyCsoportResource.KeltezesHelyeKotelezo } } ).RenderWithName(OsztalyCsoportResource.KeltezesHelye + (Model.IsZaradekKotelezo ? " * " : string.Empty), 3, 3)
@Html.KretaDatePickerFor(x => x.KeltezesDatuma, new Dictionary<string, object> { { "data-msg-required", OsztalyCsoportResource.KeltezesDatumaKotelezo } }).Min(new DateTime(1900,01,01)).RenderWithName(OsztalyCsoportResource.KeltezesDatuma + (Model.IsZaradekKotelezo ? " * " : string.Empty), 3, 3)
</div>
<div class="row">
<div class="col-sm-3">
<label class="windowInputLabel">@OsztalyCsoportResource.ZaradekMegjelenese</label>
</div>
<div class="col-sm-3">
@Html.KretaCheckBoxFor(x => x.IsTorzslaponMegjelenik, renderLabelToRight: true)
</div>
<div class="col-sm-3">
@Html.KretaCheckBoxFor(x => x.IsBizonyitvanybanMegjelenik, renderLabelToRight: true)
</div>
<div class="col-sm-3">
@Html.KretaCheckBoxFor(x => x.IsOsztalynaplobanMegjelenik, renderLabelToRight: true)
</div>
</div>
</div>