This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,95 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.Resources
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
string gridName = KozossegiSzolgalatokController.GridName;
}
@model AdminKozossegiSzolgalatokSearchModel
@section AddSearchPanel {
@using (Html.SearchPanelSideBar("searchForm", gridName))
{
@Html.KretaRangeDatePickerSideBar(x => x.IntervallumKezdete, x => x.IntervallumVege)
@Html.KretaTextBoxFor(x => x.TanuloNev).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.OsztalyNev, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyListForCascadeCB", isOsztalyNevValue = true })).AutoBind(true).RenderSearchPanelSideBar()
@Html.KretaTextBoxFor(x => x.TeljesitesiHelye).RenderSearchPanelSideBar()
@Html.KretaNumericFor(x => x.Oraszam).Min(1).Max(50).RenderSearchPanelSideBar()
@Html.KretaComboBoxFor(x => x.KozossegiSzolgalatTipusa, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetKozossegiSzolgalatTipusList" })).RenderSearchPanelSideBar()
}
}
@{
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
{
new FunctionCommand {Name = FeljegyzesekResource.TanulokKozossegiSzolgalataiExport, ClientAction = "KozossegiSzolgalatHelper.exportKzossegiSzolgalat"},
};
List<FunctionCommand> functions = new List<FunctionCommand>
{
new FunctionCommand { Name = FeljegyzesekResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
};
}
<div>
@(
Html.KretaGrid<KozossegiSzolgalatokReszletekGridModel>(
gridName,
new GridApiUrl("AdminTanuloKozossegiSzolgalataiApi", "GetTanuloKozossegiSzolgalataiGrid"),
useToolBar: true,
dataParameterFunction: "searchForm",
dataBoundAdditionalFunction: "KozossegiSzolgalatHelper.setAthuzas(this)",
sort: sort => sort.Add(s => s.IntervallumKezdete).Descending(),
allowSorting: true,
allowScrolling: true,
allowPaging: true
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.TanuloId).Hidden();
columns.Bound(c => c.TanuloNev).Width("10%");
columns.Bound(c => c.OsztalyNev).Width("8%");
columns.Bound(c => c.IntervallumKezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.IntervallumVege).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.TeljesitesiHelye).Width("15%").SetDisplayPropertyWithToolip("TeljesitesiHelye").Width("10%");
columns.Bound(c => c.Oraszam).Width("5%");
columns.Bound(c => c.KozossegiSzolgalatTipusa_DNAME).Width("20%").SetDisplayPropertyWithToolip("KozossegiSzolgalatTipusa_DNAME");
columns.Bound(c => c.Megjegyzes).Width("30").SetDisplayPropertyWithToolip("Megjegyzes");
columns.Bound(c => c.RogzitesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
})
.FunctionCommand(Html, functions)
)
</div>
<script>
var KozossegiSzolgalatHelper = (function () {
var kozossegiSzolgalatHelper = function () { };
var searchFormName = "searchForm";
var url = {
ExportKzossegiSzolgalat: "@Url.Action("ExportKozossegiSzolgalat", "AdminTanuloKozossegiSzolgalatai", new {area = "Feljegyzes" })"
}
kozossegiSzolgalatHelper.exportKzossegiSzolgalat = function () {
window.location = url.ExportKzossegiSzolgalat + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
kozossegiSzolgalatHelper.setAthuzas = function (sender) {
var toroltUids = sender.dataSource.data().filter(function (e) { return e.Torolt_BOOL }).map(function (e) { return e.uid });
$.each(sender.items(), function () {
if (($.inArray(($(this).attr("data-uid")), toroltUids)) !== -1) $(this).addClass("kretaStrikedGridRow disabledItem");
})
}
return kozossegiSzolgalatHelper;
})();
</script>

View file

@ -0,0 +1,66 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@model BeirasokGridModel
<script>
var DetailGridHelper = (function () {
var detailGridHelper = function () { };
detailGridHelper.setAthuzas = function () {
var gridName = "BeirasokReszletekGrid_" + "@Model.TanuloId";
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.Torolt_BOOL) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
}
});
}
detailGridHelper.setRowEditing = function (rowData) {
return !rowData.Torolt_BOOL && rowData.Modosithato_BOOL;
}
return detailGridHelper;
})();
</script>
<div id="partialDetailGrid_@Model.TanuloId">
@{
var rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Modositas, ClientAction = "BeirasokHelper.openEditorPopupByTipus", IconEnum = GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = CommonResource.Torles, ClientAction = "BeirasokHelper.deleteConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
};
}
@(
Html.KretaGrid<BeirasokReszletekGridModel>(
"BeirasokReszletekGrid_" + Model.TanuloId,
new GridApiUrl(Model.ApiControllerName, "GetBeirasokReszletekGrid", new Dictionary<string, string> { { "tanuloId", Model.TanuloId } }),
useToolBar: false,
allowPaging: false,
allowScrolling:false,
pageSizes: null,
dataBoundAdditionalFunction: "DetailGridHelper.setAthuzas();",
sort: sort => sort.Add(s => s.EsemenyDatuma).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.TanuloId).Hidden();
columns.Bound(c => c.EsemenyDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.FeljegyzoNeve).Width("15%");
columns.Bound(c => c.Tipus_DNAME).Width("25%");
columns.Bound(c => c.Targy).Width("20%").SetDisplayPropertyWithToolip("Targy");
columns.Bound(c => c.Tartalom).Width("30%").SetDisplayPropertyWithToolip("Tartalom");
})
.ConditionalRowFunction(Html, rowFunctionList, "DetailGridHelper.setRowEditing")
)
</div>

View file

@ -0,0 +1,345 @@
@using Kreta.Enums
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model FeljegyzesekSearchModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
string startPopupFormName = BaseBeirasokController.StartPopupFormName;
string startPopupId = BaseBeirasokController.StartPopupId;
string gridName = BaseBeirasokController.GridName;
string newModifyPopupName = BaseBeirasokController.NewModifyPopupName;
string newModifyFormName = BaseBeirasokController.NewModifyFormName;
}
@using (Html.KretaForm("searchForm", new Dictionary<string, object> { { "style", "display:none;" } }))
{
@Html.HiddenFor(m => m.CsoportIdSearch)
}
@{
var clientTemplateUrl = Url.Action("BeirasokReszletekGrid", Model.ControllerName, new { area = "Feljegyzes" });
var rowFunctionList = new List<RowFunction>
{
new RowFunction {Name = CommonResource.Uj, ClientAction = "BeirasokHelper.openNewWindow", IconEnum = GridRowFunctionIconEnum.Uj},
};
var functionCommandList = new List<FunctionCommand>();
if (!Model.IsNaploFeljegyzes)
{
functionCommandList.Add(new FunctionCommand { Name = CommonResource.Elolrol, ClientAction = "BeirasokHelper.openStartWindow", Classes = "kendo-gridFunctionKommandRed" });
}
functionCommandList.Add(new FunctionCommand { Classes = "beirasokInfoText clearFunctionCommand" });
var grid = Html.KretaGrid<BeirasokGridModel>
(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetBeirasokGrid"),
dataBoundAdditionalFunction: "BeirasokHelper.dataBoundAdditionalFunction();",
clientTemplate: "beirasokDetailGrid-template",
clientTemplateUrl: clientTemplateUrl,
clientTemplateWholeDataRow: true,
allowFilterable: false,
dataParameterFunction: "searchForm",
allowPaging: false,
pageSizes: null,
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.TableHtmlAttributes( new { @class = "BeirasokGrid" })
.Columns(columns =>
{
columns.Bound(m => m.TanuloNev).HeaderHtmlAttributes(new { @class = "nevWidth" }).ClientTemplate(@"
<a class='kendoTooltip beirasokTanuloNevKendoTooltip gridLinkButton'
data-tanuloid='#: TanuloId #'
data-tanulonev='#: TanuloNev #'
data-osztaly='#: OsztalyNev #'
data-anyjaneve='#: AnyjaNeve #'
data-szuletesiido='#: SzuletesiIdoFormatted #'
>#: TanuloNev #</a>");
columns.Bound(m => m.Szeptember).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Oktober).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.November).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.December).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.JanuarI).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.JanuarII).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Februar).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Marcius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Aprilis).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Majus).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Junius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Julius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Augusztus).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
})
.RowFunction(Html, rowFunctionList)
.FunctionCommand(Html, functionCommandList)
.AutoBind(true);
}
<div>
@(grid)
</div>
@Html.KretaGridTemplate("beirasokDetailGrid-template")
@Html.KretaTooltipTemplate("kendoTooltip-feljegyzesTemplate",
@"<div class='kendoTooltip' style='#=target.data('szinezes')#'>
<table>
<tr>
<td style='padding-right: 5px'><b>Dátum:</b></td>
<td style='color: initial'>#:target.data('datum')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Típus:</b></td>
<td style='color: initial'>#:target.data('tipus')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Tanár:</b></td>
<td style='color: initial'>#:target.data('feljegyzoneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Cím:</b></td>
<td style='color: initial'>#:target.data('targy')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Tartalom:</b></td>
<td style='color: initial'>#=target.data('tartalom')#</td>
</tr>
</table>
</div>")
@Html.KretaTooltipTemplate("kendoTooltip-beirasokTanuloNevTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Osztály:</b></td>
<td>#:target.data('osztaly')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Anyja neve:</b></td>
<td>#:target.data('anyjaneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Születési idő:</b></td>
<td>#:target.data('szuletesiido')#</td>
</tr>
</table>
</div>")
<script type="text/javascript">
var BeirasokHelper = (function () {
var beirasokHelper = function () { };
var startPopupFormName = "@startPopupFormName";
var startPopupId = "@startPopupId";
var startModel = null;
var gridName = "@gridName";
var newModifyPopupName = "@newModifyPopupName";
var newModifyFormName = "@newModifyFormName";
var currentOsztalyId = 0;
var currentTanuloNev;
var url = {
OpenStartPopup: "@Url.Action("OpenStartPopup", Model.ControllerName, new {area = "Feljegyzes" })",
OpenNewModifyPopup: "@Url.Action("OpenNewModifyPopup", Model.ControllerName, new {area = "Feljegyzes" })",
Save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "SaveBeiras"})",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "DeleteBeiras" })"
};
beirasokHelper.openStartWindow = function () {
if (!CommonUtils.isNull(startModel)) {
startModel = null;
KretaGridHelper.clearGridData(gridName);
}
$(".beirasokInfoText").html("");
AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FeljegyzesekResource.Beirasok)";
config.width = "500px";
config.content = data;
config.actions = ['Close'];
var modal = KretaWindowHelper.createWindow(startPopupId, config);
modal.setOptions({ height: 120 });
KretaWindowHelper.openWindow(modal, true);
}
beirasokHelper.startTovabb = function () {
var form = $("#" + startPopupFormName);
if (form.valid()) {
startModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
var osztalyText = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").text();
currentOsztalyId = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").value();
if (!CommonUtils.isNullOrEmpty(osztalyText)) {
$(".beirasokInfoText").html(kendo.htmlEncode(osztalyText) + " @(FeljegyzesekResource.Beirasok)".toLowerCase());
}
$("#CsoportIdSearch").val(startModel.OsztalyCsoportId);
KretaGridHelper.refreshGrid(gridName);
KretaWindowHelper.destroyWindow(startPopupId);
}
}
beirasokHelper.dataBoundAdditionalFunction = function () {
var feljegyzesKendoTooltip = $(".feljegyzesKendoTooltip");
feljegyzesKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(feljegyzesKendoTooltip, "#kendoTooltip-feljegyzesTemplate");
feljegyzesKendoTooltip.each(function () {
var modosithato = $(this).attr("data-modosithato");
if (CommonUtils.parseBool(modosithato)) {
setKendoTooltipClick($(this));
}
});
var tanuloNevKendoTooltip = $(".beirasokTanuloNevKendoTooltip");
tanuloNevKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-beirasokTanuloNevTemplate");
setKendoTooltipClick(tanuloNevKendoTooltip);
}
function setKendoTooltipClick(kendoTooltip) {
kendoTooltip.click(function () {
var tanuloId = $(this).attr("data-tanuloid");
var tanuloNev = $(this).attr("data-tanulonev");
var tipusId = parseInt($(this).attr("data-tipusId"));
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
var data = {
TanuloId: tanuloId,
TanuloNev: tanuloNev,
TipusId: tipusId
};
var feljegyzesId = $(this).attr("data-feljegyzesid");
if (!CommonUtils.isNullOrEmpty(feljegyzesId)) {
data.ID = feljegyzesId;
} else {
data.ID = null;
}
beirasokHelper.openEditorPopupByTipus(data);
}
});
}
beirasokHelper.openNewWindow = function (data) {
data.ID = null;
beirasokHelper.openEditorPopupByTipus(data);
}
beirasokHelper.openEditorPopupByTipus = function (data) {
var tipusId = data.TipusId;
if (tipusId === parseInt("@((int)EsemenyTipusEnum.ElektronikusUzenet)")) {
alert("not implemented elektronikus üzenet popup hívás");
} else if (tipusId === parseInt("@((int)EsemenyTipusEnum.FaliujsagBejegyzes)")) {
alert("not implemented faliújság bejegyzés üzenet popup hívás");
} else {
var osztalyCsoportId = $("#CsoportIdSearch").val();
var postData = {
id: data.ID,
tanuloId: data.TanuloId,
osztalyCsoportId: osztalyCsoportId
};
currentTanuloNev = data.TanuloNev;
AjaxHelper.DoPost(url.OpenNewModifyPopup, postData, popNewModifyWindow);
}
}
function popNewModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = kendo.htmlEncode(currentTanuloNev);
config.content = data;
config.width = "1060px";
config.height = "615px";
var modal = KretaWindowHelper.createWindow(newModifyPopupName, config);
KretaWindowHelper.openWindow(modal, true);
}
beirasokHelper.newModifyPopupDelete = function () {
var data = $("#" + newModifyFormName).toObject();
deleteConfirm(data.Id, data.TanuloId);
}
beirasokHelper.deleteConfirmWindow = function (data) {
deleteConfirm(data.ID, data.TanuloId);
}
function deleteConfirm(id, tanuloId) {
var data = {
id: id,
tanuloId: tanuloId
}
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
deleteFeljegyzes,
data
);
}
function deleteFeljegyzes(data) {
AjaxHelper.DoValidationPost(
url.Delete,
newModifyFormName,
data,
refreshGrid,
feedbackError
);
}
beirasokHelper.newModifyPopupSave = function () {
var form = $('#' + newModifyFormName);
if (form.valid()) {
var data = form.toObject();
AjaxHelper.DoValidationPost(
url.Save,
newModifyFormName,
data,
refreshGrid);
}
}
beirasokHelper.newModifyPopupCancel = function () {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
function feedbackError() {
var message = "@(CommonResource.Hiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true, KretaWindowHelper.destroyAllWindow);
}
function refreshGrid() {
if (!CommonUtils.parseBool("@(Model.IsNaploFeljegyzes)")) {
KretaWindowHelper.destroyAllWindow();
} else {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
KretaGridHelper.refreshGrid(gridName);
}
return beirasokHelper;
})();
$(document).ready(function () {
@if (!Model.IsNaploFeljegyzes)
{
<text>BeirasokHelper.openStartWindow();</text>
}
});
</script>

View file

@ -0,0 +1,93 @@
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Enums
@model BeirasModel
@{
var formName = BaseBeirasokController.NewModifyFormName;
}
@using (Html.KretaForm(formName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.TanuloId)
@Html.HiddenFor(x => x.OsztalyCsoportId)
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.FeljegyzoNev, 2, 10, true)
</div>
<div class="row">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegKezdete és a Model.MaximumErvenyessegKezdete, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.EsemenyDatuma).Min(Model.MinimumErvenyessegKezdete.Value).Max(Model.MaximumErvenyessegKezdete.Value).RenderWithName(2, 2, true)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.Tipus, Model.TipusList).RenderWithName(2, 6, true)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Targy).RenderWithName(2, 6, true)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Megjegyzes).RenderWithName(2, 10, true)
</div>
<div class="row">
@Html.KretaTextAreaFor(x => x.Tartalom, 7).RenderWithName(2, 10, true).
</div>
<div id="TartaloNyelvDiv">
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.horvat).ToString()))
{
<div class="row">
@Html.KretaTextAreaFor(x => x.TartalomHorvat, 7).RenderWithName(2, 10, true).
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.nemet).ToString()))
{
<div class="row">
@Html.KretaTextAreaFor(x => x.TartalomNemet, 7).RenderWithName(2, 10, true).
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.roman).ToString()))
{
<div class="row">
@Html.KretaTextAreaFor(x => x.TartalomRoman, 7).RenderWithName(2, 10, true).
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.szerb).ToString()))
{
<div class="row">
@Html.KretaTextAreaFor(x => x.TartalomSzerb, 7).RenderWithName(2, 10, true).
</div>
}
</div>
</div>
}
<script>
var BeirasNyelvHelper = (function() {
var beirasNyelvHelper = function() {};
beirasNyelvHelper.setTartalomNyelv = function () {
var list = [];
@foreach (var item in Model.NyelvesitendoEsemenyTipuslist)
{
@:list.push("@item");
}
if (list.indexOf($("#Tipus").data("kendoComboBox").value()) > -1) {
$('#TartaloNyelvDiv').show();
} else {
$('#TartaloNyelvDiv').hide();
}
}
return beirasNyelvHelper;
})();
$(document).ready(function () {
BeirasNyelvHelper.setTartalomNyelv();
$("#Tipus").change(function () {
BeirasNyelvHelper.setTartalomNyelv();
})
});
</script>

View file

@ -0,0 +1,35 @@
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Security
@model FeljegyzesekModel
@{
var startPopupFormName = BaseBeirasokController.StartPopupFormName;
}
@using (Html.KretaForm(startPopupFormName))
{
@Html.HiddenFor(x => x.ElsoTanitasiNap)
<div class="container-fluid details">
<div>
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListForBeirasok", isDualisKepzohelyiCsoport = Model.IsDualisKepzohelyiCsoport, szervezetAdatokHalmaza = (int)SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek }), "Text", "Value", useGroup: true, htmlAttributes: new Dictionary<string, object> { { "class", "enterKeyPress" } }).SelectedIndex(0).AutoBind(true).RenderWithName(4, 8, true)
</div>
<br />
<div align="center">
@Html.KretaButton("StartFeljegyzes", CommonResource.Tovabb, clickEventName: "BeirasokHelper.startTovabb")
</div>
@Html.KretaValidationSummary()
</div>
}
<script>
$(document).ready(function () {
$("span.enterKeyPress").onKeyPressEnter(BeirasokHelper.startTovabb);
});
</script>

View file

@ -0,0 +1,65 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@model ElektronikusUzenetekNaploNezetGridModel
<script>
var DetailGridHelper = (function () {
var detailGridHelper = function () { };
detailGridHelper.setAthuzas = function () {
var gridName = "ElektronikusUzenetekNaploNezetReszletekGrid_" + "@Model.TanuloId";
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.Torolt_BOOL) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
}
});
}
detailGridHelper.setRowEditing = function (rowData) {
return !rowData.Torolt_BOOL && rowData.Modosithato_BOOL;
}
return detailGridHelper;
})();
</script>
<div id="partialDetailGrid_@Model.TanuloId">
@{
var rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Modositas, ClientAction = "ElektronikusUzenetekHelper.openModifyWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = CommonResource.Torles, ClientAction = "ElektronikusUzenetekHelper.deleteForTanulo", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
};
}
@(
Html.KretaGrid<ElektronikusUzenetekNaploNezetReszletekGridModel>(
"ElektronikusUzenetekNaploNezetReszletekGrid_" + Model.TanuloId,
new GridApiUrl(Model.ApiControllerName, "GetElektronikusUzenetekNaploNezetReszletekGrid", new Dictionary<string, string> { { "tanuloId", Model.TanuloId } }),
useToolBar: false,
allowPaging: false,
allowScrolling:false,
pageSizes: null,
dataBoundAdditionalFunction: "DetailGridHelper.setAthuzas();",
sort: sort => sort.Add(s => s.EsemenyDatuma).Descending()
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.TanuloId).Hidden();
columns.Bound(c => c.EsemenyDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.FeljegyzoNeve).Width("15%");
columns.Bound(c => c.Tipus_DNAME).Width("25%");
columns.Bound(c => c.Targy).Width("20%").SetDisplayPropertyWithToolip("Targy");
columns.Bound(c => c.Tartalom).Width("30%").SetDisplayPropertyWithToolip("Tartalom");
})
.ConditionalRowFunction(Html, rowFunctionList, "DetailGridHelper.setRowEditing")
)
</div>

View file

@ -0,0 +1,291 @@
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@model FeljegyzesekModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
string tabStripId = ElektronikusUzenetekController.TabStripId;
string startPopupFormName = ElektronikusUzenetekController.StartPopupFormName;
string startPopupId = ElektronikusUzenetekController.StartPopupId;
string gridNameNaploNezet = ElektronikusUzenetekController.GridNameNaploNezet;
string gridNameListaNezet = ElektronikusUzenetekController.GridNameListaNezet;
string modifyPopupName = ElektronikusUzenetekController.ModifyPopupName;
string modifyFormName = ElektronikusUzenetekController.ModifyFormName;
}
@Html.KretaTabStripAjax(tabStripId, Model.TabList)
<script type="text/javascript">
var ElektronikusUzenetekHelper = (function () {
var elektronikusUzenetekHelper = function () { };
var tabStripId = "@tabStripId";
var startPopupFormName = "@startPopupFormName";
var startPopupId = "@startPopupId";
var startModel = null;
var gridNameNaploNezet = "@gridNameNaploNezet";
var gridNameListaNezet = "@gridNameListaNezet";
var modifyPopupName = "@modifyPopupName";
var modifyFormName = "@modifyFormName";
var url = {
OpenStartPopup: "@Url.Action("OpenStartPopup", Model.ControllerName, new {area = "Feljegyzes"})",
OpenModifyPopup: "@Url.Action("OpenModifyPopup", Model.ControllerName, new {area = "Feljegyzes"})",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "DeleteElektronikusUzenet"})",
DeleteForTanulo: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "DeleteElektronikusUzenetForTanulo"})"
};
var currentTabIndex = 0;
var osztalyCsoportText;
elektronikusUzenetekHelper.onTabStripActivate = function (tabStrip) {
currentTabIndex = tabStrip.select().index();
setInfoText();
refreshTabs();
}
elektronikusUzenetekHelper.openStartWindow = function () {
if (!CommonUtils.isNull(startModel)) {
startModel = null;
setDefaultValuesNaploNezetForm();
KretaGridHelper.clearGridData(gridNameNaploNezet);
KretaGridHelper.clearGridData(gridNameListaNezet);
}
osztalyCsoportText = "";
setInfoText();
AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FeljegyzesekResource.ElektronikusUzenetek)";
config.width = "500px";
config.content = data;
config.actions = ['Close'];
var modal = KretaWindowHelper.createWindow(startPopupId, config);
modal.setOptions({ height: 120 });
KretaWindowHelper.openWindow(modal, true);
}
elektronikusUzenetekHelper.startTovabb = function () {
var tabStrip = $("#" + tabStripId).data("kendoTabStrip");
tabStrip.bind("activate",
function () {
ElektronikusUzenetekHelper.onTabStripActivate(tabStrip);
});
var form = $("#" + startPopupFormName);
if (form.valid()) {
startModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
osztalyCsoportText = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").text();
$("#CsoportIdSearch").val(startModel.OsztalyCsoportId);
setInfoText();
refreshTabs();
}
}
function setInfoText() {
var infoTextClass;
if (currentTabIndex === 0) {
infoTextClass = "infoTextNaploNezet";
} else {
infoTextClass = "infoTextListaNezet";
}
if (!CommonUtils.isNullOrEmpty(osztalyCsoportText)) {
$("." + infoTextClass).html(kendo.htmlEncode(osztalyCsoportText) + " @(FeljegyzesekResource.ElektronikusUzenetek)"
.toLowerCase());
} else {
$("." + infoTextClass).html("");
}
}
elektronikusUzenetekHelper.openModifyWindow = function (data) {
var postData = {
id: data.ID,
ocsID: $("#CsoportIdSearch").val()
};
AjaxHelper.DoPost(url.OpenModifyPopup, postData, popModifyWindow);
}
function popModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FeljegyzesekResource.ElektronikusUzenet)";
config.content = data;
config.width = "1060px";
config.height = "615px";
var modal = KretaWindowHelper.createWindow(modifyPopupName, config);
KretaWindowHelper.openWindow(modal, true);
}
elektronikusUzenetekHelper.deleteForTanulo = function (data) {
deleteConfirmForTanulo(data.ID, data.TanuloId);
}
function deleteConfirmForTanulo(id, tanuloId) {
var data = {
id: id,
tanuloId: tanuloId
}
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@Html.Raw(FeljegyzesekResource.BiztosanTorliForTanulo)",
deleteElektronikusUzenetForTanulo,
data
);
}
function deleteElektronikusUzenetForTanulo(data) {
AjaxHelper.DoValidationPost(
url.DeleteForTanulo,
modifyFormName,
data,
refreshTabs,
feedbackError
);
}
elektronikusUzenetekHelper.modifyPopupDelete = function () {
var data = $("#" + modifyFormName).toObject();
deleteConfirm(data.Id);
}
elektronikusUzenetekHelper.deleteConfirmWindow = function (data) {
deleteConfirm(data.ID);
}
function deleteConfirm(id) {
var data = {
id: id
}
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
deleteElektronikusUzenet,
data
);
}
function deleteElektronikusUzenet(data) {
AjaxHelper.DoValidationPost(
url.Delete,
modifyFormName,
data,
refreshTabs,
feedbackError
);
}
elektronikusUzenetekHelper.saveElektronikusUzenet = function (formName, gridName, saveUrl) {
var form = $("#" + formName);
if (form.valid()) {
var data = form.toObject();
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
if (selectedRows.length === 0) {
KretaWindowHelper.warningWindow(
"@(CommonResource.Figyelmeztetes)",
"@(FeljegyzesekResource.ValasszonKiLegalabbEgyTanulot)"
);
} else {
var selectedIdList = [];
$.each(selectedRows,
function (index, value) {
selectedIdList.push(value.ID);
});
data.TanuloIdList = selectedIdList;
data.OsztalyCsoportId = parseInt(startModel.OsztalyCsoportId);
var responseFunction = function (response) {
ElektronikusUzenetekHelper.modifyPopupCancel();
refreshTabs(response, form);
};
AjaxHelper.DoValidationPost(
saveUrl,
formName,
data,
responseFunction
);
}
}
}
elektronikusUzenetekHelper.modifyPopupCancel = function () {
KretaWindowHelper.destroyWindow(modifyPopupName);
}
function feedbackError() {
var message = "@(CommonResource.Hiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)",
message,
true,
KretaWindowHelper.destroyAllWindow);
}
function refreshTabs(response, element) {
if (!CommonUtils.isUndefined(response) && !CommonUtils.isNullOrEmpty(response) &&
!CommonUtils.isUndefined(element) && !CommonUtils.isNullOrEmpty(element)) {
AjaxHelper.RemoteErrors(element, response);
KretaWindowHelper.feedbackWindow("@(CommonResource.Siker)", "@(CommonResource.AMentesSikeresenMegtortent)", false);
} else {
KretaWindowHelper.destroyAllWindow();
}
elektronikusUzenetekHelper.refreshNaploNezet();
elektronikusUzenetekHelper.refreshListaNezet();
}
elektronikusUzenetekHelper.refreshNaploNezet = function () {
setDefaultValuesNaploNezetForm();
elektronikusUzenetekHelper.refreshGrid(gridNameNaploNezet);
}
elektronikusUzenetekHelper.refreshListaNezet = function () {
elektronikusUzenetekHelper.refreshGrid(gridNameListaNezet);
}
elektronikusUzenetekHelper.getStartModelData = function () {
return KretaGridHelper.getSearchParameterData(startModel);
}
elektronikusUzenetekHelper.refreshGrid = function (gridName) {
KretaGridHelper.refreshGrid(gridName);
}
function setDefaultValuesNaploNezetForm() {
KretaCheckBoxHelper.setValue("IsFaliujsagMegjelenes", true);
KretaCheckBoxHelper.setValue("IsMindenkinek", true);
@if (Model.DefaultEsemenyDatuma.HasValue)
{
<text>
KretaDateTimeHelper.setDate("EsemenyDatuma", "@Model.DefaultEsemenyDatuma.Value.ToString("yyyy. MM. dd.")");
</text>
}
$("#Vege").val("");
$("#ervenyessegVege").show();
$("#Targy").val("");
$("#Megjegyzes").val("");
$("#Tartalom").data("kendoEditor").value("");
}
return elektronikusUzenetekHelper;
})();
$(document).ready(function () {
ElektronikusUzenetekHelper.openStartWindow();
});
</script>

View file

@ -0,0 +1,53 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model FeljegyzesekModel
@{
string gridName = ElektronikusUzenetekController.GridNameListaNezet;
}
@{
var functionList = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Elolrol, ClientAction = "ElektronikusUzenetekHelper.openStartWindow", Classes = "kendo-gridFunctionKommandRed" },
new FunctionCommand { Classes = "infoTextListaNezet clearFunctionCommand" }
};
var rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Modositas, ClientAction = "ElektronikusUzenetekHelper.openModifyWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = CommonResource.Torles, ClientAction = "ElektronikusUzenetekHelper.deleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
};
var grid = Html.KretaGrid<ElektronikusUzenetekListaNezetGridModel>
(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetElektronikusUzenetekListaNezetGrid"),
readDataFunction: "ElektronikusUzenetekHelper.getStartModelData",
allowFilterable: false,
allowPaging: false,
pageSizes: null,
sort: sort => sort.Add(s => s.EsemenyDatuma).Descending()
)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.EsemenyDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.FeljegyzoNeve).Width("20%");
columns.Bound(c => c.IsFaliujsagMegjelenes_BNAME).Width("20%");
columns.Bound(c => c.Targy).Width("20%").SetDisplayPropertyWithToolip("Targy");
columns.Bound(c => c.Tartalom).Width("30%").SetDisplayPropertyWithToolip("Tartalom");
})
.FunctionCommand(Html, functionList)
.RowFunction(Html, rowFunctionList);
}
<div>
@(grid)
</div>

View file

@ -0,0 +1,184 @@
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model ElektronikusUzenetPopupModel
@{
var formName = ElektronikusUzenetekController.ModifyFormName;
var gridName = ElektronikusUzenetekController.ModifyPopupGridName;
}
@{
var grid = Html.KretaGrid<ElektronikusUzenetPopupGridModel>
(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetElektronikusUzenetekModifyPopupGrid", new Dictionary<string, string> { { "osztalycsoportId", Model.OsztalyCsoportId.ToString() } }),
dataBoundAdditionalFunction: "ModifyPopupHelper.dataBoundAdditionalFunction();",
allowFilterable: false,
allowSorting: false,
allowPaging: false,
pageSizes: null,
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.SelectBoxColumn(Html, 0)
.Columns(columns =>
{
columns.Bound(m => m.TanuloNev).ClientTemplate(@"
<a class='kendoTooltip modifyPopupTanuloNevKendoTooltip gridLinkButton defaultCursor'
data-osztaly='#: OsztalyNev #'
data-anyjaneve='#: AnyjaNeve #'
data-szuletesiido='#: SzuletesiIdoFormatted #'
>#: TanuloNev #</a>");
});
}
@Html.KretaTooltipTemplate("kendoTooltip-modifyPopupTanuloNevTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Osztály:</b></td>
<td>#:target.data('osztaly')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Anyja neve:</b></td>
<td>#:target.data('anyjaneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Születési idő:</b></td>
<td>#:target.data('szuletesiido')#</td>
</tr>
</table>
</div>")
@using (Html.KretaForm(formName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.FeljegyzoNevPopup, 3, 9, true)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IsFaliujsagMegjelenesPopup).RenderWithName(3, 2)
@Html.KretaCheckBoxFor(x => x.IsMindenkinekPopup).RenderWithName(3, 3)
</div>
<div class="row">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegKezdete és a Model.MaximumErvenyessegKezdete, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.EsemenyDatumaPopup).Min(Model.MinimumErvenyessegKezdetePopup.Value).Max(Model.MaximumErvenyessegKezdetePopup.Value).RenderWithName(3, 2)
<div id="ervenyessegVegePopup">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegVegePopup és a Model.MaximumErvenyessegVegePopup, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.VegePopup).Min(Model.MinimumErvenyessegVegePopup.Value).Max(Model.MaximumErvenyessegVegePopup.Value).RenderWithName(3, 2)
</div>
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.TargyPopup).RenderWithName(3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.MegjegyzesPopup).RenderWithName(3, 9)
</div>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.LabelFor(x => x.TartalomPopup, htmlAttributes: new Dictionary<string, object> { { "class", "windowInputLabel" } })
</div>
<div class="@BootsrapHelper.GetSizeClasses(9)">
@(Html.KretaHtmlEditorFor(x => x.TartalomPopup, encode: false)
.Tools(t => t.Clear()
.Bold()
.Italic()
.Underline()
.SubScript()
.SuperScript()
.InsertOrderedList()
.InsertUnorderedList()
.JustifyLeft()
.JustifyCenter()
.JustifyRight()
.JustifyFull()
.FontColor()
)
.PasteCleanup(p => p.All(true))
)
</div>
</div>
</div>
}
<div>
@(grid)
</div>
<script type="text/javascript">
var ModifyPopupHelper = (function () {
var modifyPopupHelper = function () { };
var gridName = "@gridName";
var formName = "@formName";
var url = {
SaveElektronikusUzenetPopup: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "SaveElektronikusUzenetPopup" })"
};
modifyPopupHelper.dataBoundAdditionalFunction = function () {
//NOTE: Tooltip beállítások
var tanuloNevKendoTooltip = $(".modifyPopupTanuloNevKendoTooltip");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-modifyPopupTanuloNevTemplate");
//NOTE: CheckBox beállítások
var rowSelectHeaderCheckBox = $("#" + gridName + "_chk");
var rowSelectCheckBoxList = $("td input[id^='" + gridName + "_chk_'");
var isMindenkinekCheckBox = $("#IsMindenkinekPopup");
var isFaliujsagMegjelenesCheckBox = $("#IsFaliujsagMegjelenesPopup");
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, true);
rowSelectHeaderCheckBox.off("change");
rowSelectHeaderCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
rowSelectCheckBoxList.off("change");
rowSelectCheckBoxList.on("change", function () {
var result = rowSelectCheckBoxList.not(":checked").length === 0;
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
isMindenkinekCheckBox.off("change");
isMindenkinekCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(rowSelectCheckBoxList, result);
});
isFaliujsagMegjelenesCheckBox.off("change");
isFaliujsagMegjelenesCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
if (result) {
$("#ervenyessegVegePopup").show();
} else {
$("#ervenyessegVegePopup").hide();
}
});
isFaliujsagMegjelenesCheckBox.trigger("change");
var tanuloIdListString = "@(Html.Raw(Json.Encode(Model.TanuloIdList)))";
var tanuloIdList = CommonUtils.JSONparse(tanuloIdListString);
if (tanuloIdList.length > 0) {
$.each(tanuloIdList, function (index, value) {
KretaCheckBoxHelper.setValue(gridName + "_chk_" + value, true);
var result = rowSelectCheckBoxList.not(":checked").length === 0;
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
});
}
}
modifyPopupHelper.saveElektronikusUzenetPopup = function () {
ElektronikusUzenetekHelper.saveElektronikusUzenet(formName, gridName, url.SaveElektronikusUzenetPopup);
}
return modifyPopupHelper;
})();
</script>

View file

@ -0,0 +1,250 @@
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model ElektronikusUzenetSearchModel
@{
string gridName = ElektronikusUzenetekController.GridNameNaploNezet;
string formName = ElektronikusUzenetekController.NewFormName;
}
@using (Html.KretaForm("searchForm", new Dictionary<string, object> { { "style", "display:none;" } }))
{
@Html.HiddenFor(m => m.CsoportIdSearch)
}
@{
var clientTemplateUrl = Url.Action("NaploNezetReszletekGrid", Model.ControllerName, new { area = "Feljegyzes" });
var functionCommandList = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Mentes, ClientAction = "NaploNezetHelper.saveElektronikusUzenet" },
new FunctionCommand { Name = CommonResource.Elolrol, ClientAction = "ElektronikusUzenetekHelper.openStartWindow", Classes = "kendo-gridFunctionKommandRed" },
new FunctionCommand { Classes = "infoTextNaploNezet clearFunctionCommand" }
};
var grid = Html.KretaGrid<ElektronikusUzenetekNaploNezetGridModel>
(
gridName,
new GridApiUrl(Model.ApiControllerName, "GetElektronikusUzenetekNaploNezetGrid"),
dataBoundAdditionalFunction: "NaploNezetHelper.dataBoundAdditionalFunction();",
clientTemplate: "naploNezetDetailGrid-template",
clientTemplateUrl: clientTemplateUrl,
clientTemplateWholeDataRow: true,
allowFilterable: false,
dataParameterFunction: "searchForm",
allowPaging: false,
allowScrolling:false,
pageSizes: null,
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.SelectBoxColumn(Html, 0, true)
.Columns(columns =>
{
columns.Bound(m => m.TanuloNev).HeaderHtmlAttributes(new { @class = "nevWidth" }).ClientTemplate(@"
<a class='kendoTooltip naploNezetTanuloNevKendoTooltip gridLinkButton defaultCursor'
data-osztaly='#: OsztalyNev #'
data-anyjaneve='#: AnyjaNeve #'
data-szuletesiido='#: SzuletesiIdoFormatted #'
>#: TanuloNev #</a>");
columns.Bound(m => m.Szeptember).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Oktober).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.November).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.December).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.JanuarI).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.JanuarII).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Februar).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Marcius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Aprilis).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Majus).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Junius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Julius).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
columns.Bound(m => m.Augusztus).Encoded(false).HeaderHtmlAttributes(new { @class = "honap" }).HtmlAttributes(new { @class = "honap" }).Sortable(false);
})
.FunctionCommand(Html, functionCommandList);
}
@Html.KretaGridTemplate("naploNezetDetailGrid-template")
@Html.KretaTooltipTemplate("kendoTooltip-feljegyzesTemplate",
@"<div class='kendoTooltip' style='#=target.data('szinezes')#'>
<table>
<tr>
<td style='padding-right: 5px'><b>Dátum:</b></td>
<td style='color: initial'>#:target.data('datum')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Típus:</b></td>
<td style='color: initial'>#:target.data('tipus')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Tanár:</b></td>
<td style='color: initial'>#:target.data('feljegyzoneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Cím:</b></td>
<td style='color: initial'>#:target.data('targy')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Tartalom:</b></td>
<td style='color: initial'>#=target.data('tartalom')#</td>
</tr>
</table>
</div>")
@Html.KretaTooltipTemplate("kendoTooltip-naploNezetTanuloNevTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Osztály:</b></td>
<td>#:target.data('osztaly')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Anyja neve:</b></td>
<td>#:target.data('anyjaneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Születési idő:</b></td>
<td>#:target.data('szuletesiido')#</td>
</tr>
</table>
</div>")
<div>
@using (Html.KretaForm(formName))
{
@Html.KretaValidationSummary()
<div class="container-fluid details NaploNezetEdit">
<div class="row">
@Html.KretaCheckBoxFor(x => x.IsFaliujsagMegjelenes).RenderWithName(3, 2)
@Html.KretaCheckBoxFor(x => x.IsMindenkinek).RenderWithName(3, 3)
</div>
<div class="row">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegKezdete és a Model.MaximumErvenyessegKezdete, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.EsemenyDatuma).Min(Model.MinimumErvenyessegKezdete.Value).Max(Model.MaximumErvenyessegKezdete.Value).RenderWithName(3, 2)
<div id="ervenyessegVege">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegVege és a Model.MaximumErvenyessegVege, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.Vege).Min(Model.MinimumErvenyessegVege.Value).Max(Model.MaximumErvenyessegVege.Value).RenderWithName(3, 2)
</div>
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Targy).RenderWithName(3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Megjegyzes).RenderWithName(3, 9)
</div>
<div class="row">
<div class="@BootsrapHelper.GetSizeClasses(3)">
@Html.KretaInputLabelFor(x => x.Tartalom, htmlAttributes: new Dictionary<string, object> { { "class", "windowInputLabel" } })
</div>
<div class="@BootsrapHelper.GetSizeClasses(9)">
@(Html.KretaHtmlEditorFor(x => x.Tartalom, encode: false)
.Tools(t => t.Clear()
.Bold()
.Italic()
.Underline()
.SubScript()
.SuperScript()
.InsertOrderedList()
.InsertUnorderedList()
.JustifyLeft()
.JustifyCenter()
.JustifyRight()
.JustifyFull()
.FontColor()
)
.PasteCleanup(p => p.All(true))
)
</div>
</div>
</div>
}
</div>
<div>
@(grid)
</div>
<script type="text/javascript">
var NaploNezetHelper = (function () {
var naploNezetHelper = function () { };
var gridName = "@gridName";
var formName = "@formName";
var url = {
SaveElektronikusUzenet: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Model.ApiControllerName, action = "SaveElektronikusUzenet" })"
};
naploNezetHelper.dataBoundAdditionalFunction = function () {
//NOTE: Tooltip beállítások
var feljegyzesKendoTooltip = $(".feljegyzesKendoTooltip");
feljegyzesKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(feljegyzesKendoTooltip, "#kendoTooltip-feljegyzesTemplate");
feljegyzesKendoTooltip.each(function () {
var modosithato = $(this).attr("data-modosithato");
if (CommonUtils.parseBool(modosithato)) {
$(this).click(function () {
var feljegyzesId = $(this).attr("data-feljegyzesid");
var data = {
ID: feljegyzesId
};
ElektronikusUzenetekHelper.openModifyWindow(data);
});
}
});
var tanuloNevKendoTooltip = $(".naploNezetTanuloNevKendoTooltip");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-naploNezetTanuloNevTemplate");
//NOTE: CheckBox beállítások
var rowSelectHeaderCheckBox = $("#" + gridName + "_chk");
var rowSelectCheckBoxList = $("td input[id^='" + gridName + "_chk_'");
var isMindenkinekCheckBox = $("#IsMindenkinek");
var isFaliujsagMegjelenesCheckBox = $("#IsFaliujsagMegjelenes");
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, true);
rowSelectHeaderCheckBox.off("change");
rowSelectHeaderCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
rowSelectCheckBoxList.off("change");
rowSelectCheckBoxList.on("change", function () {
var result = rowSelectCheckBoxList.not(":checked").length === 0;
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
isMindenkinekCheckBox.off("change");
isMindenkinekCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(rowSelectCheckBoxList, result);
});
isFaliujsagMegjelenesCheckBox.off("change");
isFaliujsagMegjelenesCheckBox.on("change", function () {
var result = KretaCheckBoxHelper.getValue(this.id);
if (result) {
$("#ervenyessegVege").show();
} else {
$("#ervenyessegVege").hide();
}
});
}
naploNezetHelper.saveElektronikusUzenet = function () {
ElektronikusUzenetekHelper.saveElektronikusUzenet(formName, gridName, url.SaveElektronikusUzenet);
}
return naploNezetHelper;
})();
</script>

View file

@ -0,0 +1,35 @@
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Security
@model FeljegyzesekModel
@{
string startPopupFormName = BaseElektronikusUzenetekController.StartPopupFormName;
}
@using (Html.KretaForm(startPopupFormName))
{
@Html.HiddenFor(x => x.ElsoTanitasiNap)
@Html.HiddenFor(x => x.DefaultEsemenyDatuma)
<div class="container-fluid details">
<div>
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyCsoportListByEvfolyam", isDualisKepzohelyiCsoport = Model.IsDualisKepzohelyiCsoport, tanarId = ClaimData.FelhasznaloId, szervezetAdatokHalmaza = (int)Kreta.Enums.ManualEnums.SzervezetAdatokHalmazaEnum.SzervezetEsAlSzervezetek }), "Text", "Value", useGroup: true, htmlAttributes: new Dictionary<string, object> { { "class", "enterKeyPress" } }).SelectedIndex(0).AutoBind(true).RenderWithName(4, 8, true)
</div>
<br />
<div align="center">
@Html.KretaButton("StartFeljegyzes", CommonResource.Tovabb, clickEventName: "ElektronikusUzenetekHelper.startTovabb")
</div>
@Html.KretaValidationSummary()
</div>
}
<script>
$(document).ready(function () {
$("span.enterKeyPress").onKeyPressEnter(ElektronikusUzenetekHelper.startTovabb);
});
</script>

View file

@ -0,0 +1,173 @@
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@using Kreta.BusinessLogic.Classes
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
string gridName = FaliujsagBejegyzesekController.GridName;
string newModifyPopupName = FaliujsagBejegyzesekController.NewModifyPopupName;
string newModifyFormName = FaliujsagBejegyzesekController.NewModifyFormName;
}
@{
var functionList = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Uj, ClientAction = "FaliujsagBejegyzesekHelper.openNewWindow" },
};
var rowFunctionList = new List<RowFunction>
{
new RowFunction { Name = CommonResource.Modositas, ClientAction = "FaliujsagBejegyzesekHelper.openModifyWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
new RowFunction { Name = CommonResource.Torles, ClientAction = "FaliujsagBejegyzesekHelper.deleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
};
var grid = Html.KretaGrid<FaliujsagBejegyzesekGridModel>
(
gridName,
new GridApiUrl("FaliujsagBejegyzesekApi", "GetFaliujsagBejegyzesekGrid"),
allowFilterable: false,
allowPaging: false,
pageSizes: null,
allowScrolling: true,
sort: sort => sort.Add(s => s.Kezdete).Descending()
)
.Sortable(sortable => sortable
.AllowUnsort(true)
.SortMode(GridSortMode.MultipleColumn))
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.Kezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("8%");
columns.Bound(c => c.Vege).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("8%");
columns.Bound(c => c.FeljegyzoNeve).Width("20%");
columns.Bound(c => c.Targy).Width("20%").SetDisplayPropertyWithToolip("Targy");
columns.Bound(c => c.Tartalom).Width("24%").SetDisplayPropertyWithToolip("Tartalom");
columns.Bound(c => c.Cimzettek).SetDisplayPropertyWithToolip("Cimzettek");
})
.RowFunction(Html, rowFunctionList)
.FunctionCommand(Html, functionList);
}
<div>
@(grid)
</div>
<script type="text/javascript">
var FaliujsagBejegyzesekHelper = (function () {
var faliujsagBejegyzesekHelper = function () { }
var gridName = "@gridName";
var newModifyPopupName = "@newModifyPopupName";
var newModifyFormName = "@newModifyFormName";
var url = {
OpenNewModifyPopup: "@Url.Action("OpenNewModifyPopup", "FaliujsagBejegyzesek", new {area = "Feljegyzes" })",
Save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FaliujsagBejegyzesekApi", action = "SaveFaliujsagBejegyzes" })",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "FaliujsagBejegyzesekApi", action = "DeleteFaliujsagBejegyzes" })"
};
faliujsagBejegyzesekHelper.openNewWindow = function () {
AjaxHelper.DoPost(url.OpenNewModifyPopup, null, popNewModifyWindow);
}
faliujsagBejegyzesekHelper.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 = "1060px";
config.height = "800px";
var modal = KretaWindowHelper.createWindow(newModifyPopupName, config);
KretaWindowHelper.openWindow(modal, true);
}
faliujsagBejegyzesekHelper.newModifyPopupDelete = function () {
var data = $("#" + newModifyFormName).toObject();
deleteConfirm(data.Id);
}
faliujsagBejegyzesekHelper.deleteConfirmWindow = function (data) {
deleteConfirm(data.ID);
}
function deleteConfirm(id) {
var data = {
id: id
}
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
deleteFeljegyzes,
data
);
}
function deleteFeljegyzes(data) {
AjaxHelper.DoValidationPost(
url.Delete,
newModifyFormName,
data,
refreshGrid,
feedbackError
);
}
faliujsagBejegyzesekHelper.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);
}
}
}
faliujsagBejegyzesekHelper.newModifyPopupCancel = function () {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
function feedbackError() {
var message = "@(CommonResource.Hiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true, KretaWindowHelper.destroyAllWindow);
}
function refreshGrid() {
KretaWindowHelper.destroyAllWindow();
KretaGridHelper.refreshGrid(gridName);
}
return faliujsagBejegyzesekHelper;
})();
</script>

View file

@ -0,0 +1,156 @@
@using Kreta.Core
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model FaliujsagBejegyzesModel
@{
var formName = FaliujsagBejegyzesekController.NewModifyFormName;
var gridName = FaliujsagBejegyzesekController.NewModifyPopupGridName;
var newModifyPopupName = FaliujsagBejegyzesekController.NewModifyPopupName;
}
@{
var grid = Html.KretaGrid<FaliujsagBejegyzesPopupGridModel>
(
gridName,
new GridApiUrl("FaliujsagBejegyzesekApi", "GetFaliujsagBejegyzesekPopupGrid"),
dataBoundAdditionalFunction: "ModifyPopupHelper.dataBoundAdditionalFunction();",
allowFilterable: false,
sort: sort => sort.Add(s => s.OsztalyCsoportNeve).Ascending(),
allowSorting: false,
allowPaging: false,
pageSizes: null
)
.SelectBoxColumn(Html, 0)
.Columns(columns =>
{
columns.Bound(m => m.ID).Hidden();
columns.Bound(m => m.OsztalyCsoportNeve);
});
}
@using (Html.KretaForm(formName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
<div class="container-fluid details">
<div class="row">
@Html.KretaLabelFor(x => x.FeljegyzoNev, 3, 9, true)
</div>
<div class="row">
@Html.KretaCheckBoxFor(x => x.IsMindenkinek).RenderWithName(3, 3)
</div>
<div class="row">
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegKezdete és a Model.MaximumErvenyessegKezdete, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.EsemenyDatuma).Min(Model.MinimumErvenyessegKezdete.Value).Max(Model.MaximumErvenyessegKezdete.Value).RenderWithName(3, 2)
@* NOTE: Mindig kell, hogy értéket kapjon a Model.MinimumErvenyessegVege és a Model.MaximumErvenyessegVege, ha nem akkor ott hibás a működés! *@
@Html.KretaDatePickerFor(x => x.Vege).Min(Model.MinimumErvenyessegVege.Value).Max(Model.MaximumErvenyessegVege.Value).RenderWithName(3, 2)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Targy).RenderWithName(3)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Megjegyzes).RenderWithName(3, 9)
</div>
<div class="row">
@(Html.KretaHtmlEditorFor(x => x.Tartalom, encode: false)
.Tools(t => t.Clear()
.Bold()
.Italic()
.Underline()
.SubScript()
.SuperScript()
.InsertOrderedList()
.InsertUnorderedList()
.JustifyLeft()
.JustifyCenter()
.JustifyRight()
.JustifyFull()
.FontColor()
)
.PasteCleanup(p => p.All(true))
)
</div>
</div>
}
<div>
@(grid)
</div>
<script type="text/javascript">
var ModifyPopupHelper = (function () {
var modifyPopupHelper = function () { };
var gridName = "@gridName";
modifyPopupHelper.dataBoundAdditionalFunction = function () {
//NOTE: CheckBox beállítások
var rowSelectHeaderCheckBox = $("#" + gridName + "_chk");
var rowSelectCheckBoxList = $("td input[id^='" + gridName + "_chk_'");
var isMindenkinekCheckBox = $("#IsMindenkinek");
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, true);
rowSelectHeaderCheckBox.off("change");
rowSelectHeaderCheckBox.on("change",
function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
rowSelectCheckBoxList.off("change");
rowSelectCheckBoxList.on("change",
function () {
var result = rowSelectCheckBoxList.not(":checked").length === 0;
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, result);
});
isMindenkinekCheckBox.off("change");
isMindenkinekCheckBox.on("change",
function () {
var result = KretaCheckBoxHelper.getValue(this.id);
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
KretaCheckBoxHelper.setObjectValue(rowSelectCheckBoxList, result);
});
var isNew = CommonUtils.parseBool("@(!Model.Id.IsEntityId())");
if (isNew) {
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, true);
KretaCheckBoxHelper.setObjectValue(rowSelectCheckBoxList, true);
KretaCheckBoxHelper.setObjectValue(isMindenkinekCheckBox, true);
} else {
var osztalyCsoportIdListString = "@(Html.Raw(Json.Encode(Model.OsztalyCsoportIdList)))";
var osztalyCsoportIdList = CommonUtils.JSONparse(osztalyCsoportIdListString);
if (osztalyCsoportIdList.length > 0) {
$.each(osztalyCsoportIdList, function (index, value) {
KretaCheckBoxHelper.setValue(gridName + "_chk_" + value, true);
var result = rowSelectCheckBoxList.not(":checked").length === 0;
KretaCheckBoxHelper.setObjectValue(rowSelectHeaderCheckBox, result);
});
}
}
}
modifyPopupHelper.saveFaliujsagPopup = function () {
var isAdmin = "@Model.HasAdminJogosultsag";
$("#" + "@newModifyPopupName" + " .k-content").animate({ scrollTop: 0 });
if (isAdmin === "True") {
FeljegyzesKeresoHelper.newModifyPopupSave(gridName);
} else {
FaliujsagBejegyzesekHelper.newModifyPopupSave(gridName);
}
}
modifyPopupHelper.refreshGrid = function () {
KretaGridHelper.refreshGrid(gridName);
}
return modifyPopupHelper;
})();
</script>

View file

@ -0,0 +1,79 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers
@using Kreta.Web.Helpers.Grid
@model KozossegiSzolgalatokGridModel
@{
string tdStart = "<td class=\"rowFunction\" data-rowfunctionparent=\"KozossegiSzolgalatokReszletekGrid_" + Model.TanuloId + "\" style=\"min-width: 80px;\" role=\"gridcell\">";
string rowFnModifyString = "<a title=\"Módosítás\" href=\"javascript:void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this),'KozossegiSzolgalatokReszletekGrid_" + Model.TanuloId + "',KozossegiSzolgalatokHelper.openEditorPopup);\"><i style=\"font-size: 22px;\" class=\"fa fa-pencil\" aria-hidden=\"true\"></i></a>";
string rowFnDeleteString = "<a title=\"Törlés\" href=\"javascript: void(0)\" onclick=\"KretaGridHelper.rowFunctionCall($(this), 'KozossegiSzolgalatokReszletekGrid_" + Model.TanuloId + "', KozossegiSzolgalatokHelper.deleteConfirmWindow); \" ><i style=\"font-size: 22px;\" class=\"fa fa-trash\" aria-hidden=\"true\"></i></a>";
string designFixString = "<i style=\"padding-left:22px;\" aria-hidden=\"true\"></i>";
string detailGridNamePrefix = KozossegiSzolgalatokController.DetailGridNamePrefix;
}
<script>
var DetailGridHelper = (function () {
var detailGridHelper = function () { };
detailGridHelper.setAthuzas = function () {
var gridName = "@detailGridNamePrefix" + "@Model.TanuloId";
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.Torolt_BOOL) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
}
});
}
detailGridHelper.setRowEditing = function (rowData) {
return !rowData.Torolt_BOOL && rowData.Modosithato_BOOL;
}
return detailGridHelper;
})();
</script>
<div id="partialDetailGrid_@Model.TanuloId">
@(
Html.KretaGrid<KozossegiSzolgalatokReszletekGridModel>(
detailGridNamePrefix + Model.TanuloId,
new GridApiUrl("KozossegiSzolgalatokApi", "GetKozossegiSzolgalatokReszletekGrid", new Dictionary<string, string> { { "tanuloId", Model.TanuloId } }),
useToolBar: false,
dataBoundAdditionalFunction: "DetailGridHelper.setAthuzas();",
sort: sort => sort.Add(s => s.IntervallumKezdete).Descending(),
allowPaging: false,
allowScrolling:false,
pageSizes: null
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.TanuloId).Hidden();
columns.Bound(c => c.IntervallumKezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.IntervallumVege).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.TeljesitesiHelye).Width("15%").SetDisplayPropertyWithToolip("TeljesitesiHelye");
columns.Bound(c => c.Oraszam).Width("5%");
columns.Bound(c => c.KozossegiSzolgalatTipusa_DNAME).Width("20%").SetDisplayPropertyWithToolip("KozossegiSzolgalatTipusa_DNAME");
columns.Bound(c => c.Megjegyzes).Width("30%").SetDisplayPropertyWithToolip("Megjegyzes");
columns.Bound(c => c.RogzitesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
})
.Columns(c => c.Template(t => t.ToString()).Title(" ").ClientTemplate(
tdStart + @"
#if(Modosithato_BOOL == true && Torolt_BOOL == false)
{ #" +
rowFnModifyString
+ @" # } else { # " + designFixString + @"# } #" +
@"#if (Torolheto_BOOL == true && Torolt_BOOL == false) { #" +
rowFnDeleteString
+ @" # } #" + "</td >"
))
)
</div>

View file

@ -0,0 +1,300 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Enums.ManualEnums
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model KozossegiSzolgalatokSearchModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
string startPopupFormName = KozossegiSzolgalatokController.StartPopupFormName;
string startPopupId = KozossegiSzolgalatokController.StartPopupId;
string searchFormName = "searchForm";
string gridName = KozossegiSzolgalatokController.GridName;
string newModifyPopupName = KozossegiSzolgalatokController.NewModifyPopupName;
string newModifyFormName = KozossegiSzolgalatokController.NewModifyFormName;
}
@section AddSearchPanel {
@using (Html.SearchPanelSideBar(searchFormName, gridName))
{
@Html.HiddenFor(m => m.CsoportIdSearch)
@Html.KretaTextBoxFor(x => x.TanuloNeve).RenderSearchPanelSideBar()
}
}
@{
var clientTemplateUrl = Url.Action("KozossegiSzolgalatokReszletekGrid", "KozossegiSzolgalatok", new { area = "Feljegyzes" });
var rowFunctionList = new List<RowFunction>
{
new RowFunction {Name = CommonResource.Uj, ClientAction = "KozossegiSzolgalatokHelper.openNewWindow", IconEnum = GridRowFunctionIconEnum.Uj},
};
var functionCommandList = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Elolrol, ClientAction = "KozossegiSzolgalatokHelper.openStartWindow", Classes = "kendo-gridFunctionKommandRed elolrol" },
new FunctionCommand { Classes = "kozossegiSzolgalatokInfoText clearFunctionCommand" },
new FunctionCommand
{
Name = ImportExportCommonResource.Export.ToUpper(),
NestedCommands = new List<FunctionCommand> {
new FunctionCommand { Name = FeljegyzesekResource.Export, ClientAction = "KozossegiSzolgalatokHelper.exportGrid" },
}
}
};
var grid = Html.KretaGrid<KozossegiSzolgalatokGridModel>
(
gridName,
new GridApiUrl("KozossegiSzolgalatokApi", "GetKozossegiSzolgalatokGrid"),
dataBoundAdditionalFunction: "KozossegiSzolgalatokHelper.dataBoundAdditionalFunction();",
clientTemplate: "kozossegiSzolgalatokDetailGrid-template",
clientTemplateUrl: clientTemplateUrl,
clientTemplateWholeDataRow: true,
allowFilterable: false,
dataParameterFunction: "searchForm",
allowPaging: false,
pageSizes: null,
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.Columns(columns =>
{
columns.Bound(m => m.TanuloNev).HeaderHtmlAttributes(new { @class = "nevWidth" }).ClientTemplate(@"
<a class='kendoTooltip kozossegiSzolgalatokTanuloNevKendoTooltip gridLinkButton'
data-tanuloid='#: TanuloId #'
data-tanulonev='#: TanuloNev #'
data-osztaly='#: OsztalyNev #'
data-anyjaneve='#: AnyjaNeve #'
data-szuletesiido='#: SzuletesiIdoFormatted #'
>#: TanuloNev #</a>");
columns.Bound(c => c.SzuletesiIdo).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
columns.Bound(c => c.AnyjaNeve);
columns.Bound(c => c.OsszesOraszam);
})
.RowFunction(Html, rowFunctionList)
.FunctionCommand(Html, functionCommandList);
}
<div>
@(grid)
</div>
@Html.KretaGridTemplate("kozossegiSzolgalatokDetailGrid-template")
@Html.KretaTooltipTemplate("kendoTooltip-kozossegiSzolgalatokTanuloNevTemplate",
@"<div class='kendoTooltip'>
<table>
<tr>
<td style='padding-right: 5px'><b>Osztály/Csoport:</b></td>
<td>#:target.data('osztaly')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Anyja neve:</b></td>
<td>#:target.data('anyjaneve')#</td>
</tr>
<tr>
<td style='padding-right: 5px'><b>Születési idő:</b></td>
<td>#:target.data('szuletesiido')#</td>
</tr>
</table>
</div>")
<script type="text/javascript">
var KozossegiSzolgalatokHelper = (function () {
var kozossegiSzolgalatokHelper = function () { };
var startPopupFormName = "@startPopupFormName";
var startPopupId = "@startPopupId";
kozossegiSzolgalatokHelper.startModel = null;
var searchFormName = "searchForm";
var gridName = "@gridName";
var newModifyPopupName = "@newModifyPopupName";
var newModifyFormName = "@newModifyFormName";
var osztalyCsoportId = -1;
var currentTanuloNev;
var url = {
OpenStartPopup: "@Url.Action("OpenStartPopup", "KozossegiSzolgalatok", new {area = "Feljegyzes" })",
OpenNewModifyPopup: "@Url.Action("OpenNewModifyPopup", "KozossegiSzolgalatok", new {area = "Feljegyzes" })",
Save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "KozossegiSzolgalatokApi", action = "SaveKozossegiSzolgalat" })",
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "KozossegiSzolgalatokApi", action = "DeleteKozossegiSzolgalat" })",
ExportUrl: "@Url.Action("KozossegiSzolgalatokExportGrid", "KozossegiSzolgalatok", new {area = "Feljegyzes" })",
};
kozossegiSzolgalatokHelper.openStartWindow = function () {
if (!CommonUtils.isNull(kozossegiSzolgalatokHelper.startModel)) {
kozossegiSzolgalatokHelper.startModel = null;
KretaGridHelper.clearGridData(gridName);
}
$(".kozossegiSzolgalatokInfoText").html("");
AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = "@(FeljegyzesekResource.KozossegiSzolgalatok)";
config.width = "500px";
config.content = data;
config.actions = ['Close'];
var modal = KretaWindowHelper.createWindow(startPopupId, config);
modal.setOptions({ height: 120 });
KretaWindowHelper.openWindow(modal, true);
}
kozossegiSzolgalatokHelper.exportGrid = function () {
window.location = url.ExportUrl + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
}
kozossegiSzolgalatokHelper.startTovabb = function () {
var form = $("#" + startPopupFormName);
if (form.valid()) {
kozossegiSzolgalatokHelper.startModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
var osztalyCsoportText = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").text();
osztalyCsoportId = KretaComboBoxHelper.getKendoComboBoxData("OsztalyCsoportId").value();
if (!CommonUtils.isNullOrEmpty(osztalyCsoportText)) {
$(".kozossegiSzolgalatokInfoText").html(kendo.htmlEncode(osztalyCsoportText) + " @(FeljegyzesekResource.KozossegiSzolgalatok)".toLowerCase());
}
$("#CsoportIdSearch").val(kozossegiSzolgalatokHelper.startModel.OsztalyCsoportId);
KretaGridHelper.refreshGrid(gridName);
KretaWindowHelper.destroyWindow(startPopupId);
}
}
kozossegiSzolgalatokHelper.dataBoundAdditionalFunction = function () {
var tanuloNevKendoTooltip = $(".kozossegiSzolgalatokTanuloNevKendoTooltip");
tanuloNevKendoTooltip.off("click");
KretaTooltipHelper.setTooltip(tanuloNevKendoTooltip, "#kendoTooltip-kozossegiSzolgalatokTanuloNevTemplate");
setKendoTooltipClick(tanuloNevKendoTooltip);
}
function setKendoTooltipClick(kendoTooltip) {
kendoTooltip.click(function () {
var tanuloId = $(this).attr("data-tanuloid");
var tanuloNev = $(this).attr("data-tanulonev");
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
var data = {
ID: null,
TanuloId: tanuloId,
TanuloNev: tanuloNev
};
kozossegiSzolgalatokHelper.openEditorPopup(data);
}
});
}
kozossegiSzolgalatokHelper.openNewWindow = function (data) {
data.ID = null;
kozossegiSzolgalatokHelper.openEditorPopup(data);
}
kozossegiSzolgalatokHelper.openEditorPopup = function (data) {
var postData = {
id: data.ID,
tanuloId: data.TanuloId
};
currentTanuloNev = data.TanuloNev;
AjaxHelper.DoPost(url.OpenNewModifyPopup, postData, popNewModifyWindow);
}
function popNewModifyWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = kendo.htmlEncode(currentTanuloNev);
config.content = data;
config.width = "800px";
config.height = "600px";
var modal = KretaWindowHelper.createWindow(newModifyPopupName, config);
KretaWindowHelper.openWindow(modal, true);
}
kozossegiSzolgalatokHelper.newModifyPopupDelete = function () {
var data = $("#" + newModifyFormName).toObject();
deleteConfirm(data.Id, data.TanuloId);
}
kozossegiSzolgalatokHelper.deleteConfirmWindow = function (data) {
deleteConfirm(data.ID, data.TanuloId);
}
function deleteConfirm(id, tanuloId) {
var data = {
id: id,
tanuloId: tanuloId
}
KretaWindowHelper.confirmWindow(
"@(CommonResource.Kerdes)",
"@(CommonResource.BiztosanTorli)",
deleteKozossegiSzolgalat,
data
);
}
function deleteKozossegiSzolgalat(data) {
var postData = {
id: data.id
}
AjaxHelper.DoPostQuery(
url.Delete,
null,
postData,
kozossegiSzolgalatokHelper.refreshGrid,
feedbackError
);
}
kozossegiSzolgalatokHelper.newModifyPopupSave = function () {
var form = $('#' + newModifyFormName);
if (form.valid()) {
var data = form.toObject();
data.OsztalyCsoportId = osztalyCsoportId;
AjaxHelper.DoValidationPost(
url.Save,
newModifyFormName,
data,
kozossegiSzolgalatokHelper.refreshGrid);
}
}
kozossegiSzolgalatokHelper.newModifyPopupCancel = function () {
KretaWindowHelper.destroyWindow(newModifyPopupName);
}
function feedbackError() {
var message = "@(CommonResource.Hiba)";
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true, KretaWindowHelper.destroyAllWindow);
}
kozossegiSzolgalatokHelper.refreshGrid = function () {
KretaWindowHelper.destroyAllWindow();
KretaGridHelper.refreshGrid(gridName);
}
return kozossegiSzolgalatokHelper;
})();
$(document).ready(function () {
if (!CommonUtils.parseBool("@(Model.OsztalyCsoportList.Count == 1)")) {
KozossegiSzolgalatokHelper.openStartWindow();
} else {
$("button.kendo-gridFunctionKommandRed.elolrol").hide();
KozossegiSzolgalatokHelper.startModel = {
OsztalyCsoportId: "@Model.OsztalyCsoportId"
};
var osztalyCsoportText = "@Model.OsztalyCsoportNev";
$(".kozossegiSzolgalatokInfoText").html(osztalyCsoportText + " @(FeljegyzesekResource.KozossegiSzolgalatok)".toLowerCase());
KozossegiSzolgalatokHelper.refreshGrid();
}
});
</script>

View file

@ -0,0 +1,90 @@
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Enums
@model KozossegiSzolgalatModel
@{
var formName = KozossegiSzolgalatokController.NewModifyFormName;
}
@using (Html.KretaForm(formName))
{
@Html.KretaValidationSummary()
@Html.HiddenFor(x => x.Id)
@Html.HiddenFor(x => x.TanuloId)
<div class="container-fluid details">
<div class="row">
@Html.KretaDatePickerFor(x => x.IntervallumKezdete).Max(DateTime.Today).RenderWithName(3, 3, true)
</div>
<div class="row">
@Html.KretaDatePickerFor(x => x.IntervallumVege).Max(DateTime.Today).RenderWithName(3, 3, true)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.TeljesitesiHelye).RenderWithName(3, 6, true)
</div>
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.horvat).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.TeljesitesiHelyeHorvat).RenderWithName(3, 6, true)
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.nemet).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.TeljesitesiHelyeNemet).RenderWithName(3, 6, true)
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.roman).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.TeljesitesiHelyeRoman).RenderWithName(3, 6, true)
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.szerb).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.TeljesitesiHelyeSzerb).RenderWithName(3, 6, true)
</div>
}
<div class="row">
@Html.KretaNumericFor(x => x.Oraszam).Min(1).Max(50).RenderWithName(3, 2, true)
</div>
<div class="row">
@Html.KretaComboBoxFor(x => x.KozossegiSzolgalatTipusa, Model.KozossegiSzolgalatTipusList).RenderWithName(3, 6, true)
</div>
<div class="row">
@Html.KretaTextBoxFor(x => x.Megjegyzes).RenderWithName(3, 9, true)
</div>
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.horvat).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.MegjegyzesHorvat).RenderWithName(3, 6, true)
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.nemet).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.MegjegyzesNemet).RenderWithName(3, 6, true)
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.roman).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.MegjegyzesRoman).RenderWithName(3, 6, true)
</div>
}
@if (Model.NemzetiDokumentumNyelvek.Any(x => x.ToString() == ((int)AnyanyelvEnum.szerb).ToString()))
{
<div class="row">
@Html.KretaTextBoxFor(x => x.MegjegyzesSzerb).RenderWithName(3, 6, true)
</div>
}
<div class="row">
@Html.KretaDatePickerFor(x => x.RogzitesDatuma).Max(DateTime.Today).RenderWithName(3, 3, true)
</div>
</div>
}

View file

@ -0,0 +1,31 @@
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@model KozossegiSzolgalatokModel
@{
var startPopupFormName = KozossegiSzolgalatokController.StartPopupFormName;
}
@using (Html.KretaForm(startPopupFormName))
{
<div class="container-fluid details">
<div>
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "KozossegiSzolgalatokApi", action = "GetKozossegiSzolgalatOsztalyList" }), "Text", "Value", useGroup: true, htmlAttributes: new Dictionary<string, object> { { "class", "enterKeyPress" } }).SelectedIndex(0).AutoBind(true).RenderWithName(4, 8, true)
</div>
<br />
<div align="center">
@Html.KretaButton("Start", CommonResource.Tovabb, clickEventName: "KozossegiSzolgalatokHelper.startTovabb")
</div>
@Html.KretaValidationSummary()
</div>
}
<script>
$(document).ready(function () {
$("span.enterKeyPress").onKeyPressEnter(KozossegiSzolgalatokHelper.startTovabb);
});
</script>

View file

@ -0,0 +1,221 @@
@using Kreta.Enums
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@model OsszefuggoSzakGyakSearchModel
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
@Styles.Render(Constants.General.TanuloErtekelesCSS)
}
@{
string startPopupFormName = OsszefuggoSzakGyakController.StartPopupFormName;
string startPopupId = OsszefuggoSzakGyakController.StartPopupId;
string startPopupTitle = OsszefuggoSzakGyakController.StartPopupTitle;
string gridName = OsszefuggoSzakGyakController.GridName;
}
@using (Html.KretaForm("searchForm", new Dictionary<string, object> { { "style", "display:none;" } }))
{
@Html.HiddenFor(m => m.CsoportIdSearch)
@Html.HiddenFor(m => m.TantargyIdSearch)
}
@{
var functionCommandList = new List<FunctionCommand>
{
new FunctionCommand { Name = CommonResource.Mentes, ClientAction = "OsszefuggoSzakGyakHelper.save" },
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "OsszefuggoSzakGyakHelper.export" },
new FunctionCommand { Name = CommonResource.Elolrol, ClientAction = "OsszefuggoSzakGyakHelper.openStartWindow", Classes = "kendo-gridFunctionKommandRed elolrol" }
};
var grid = Html.KretaGrid<OsszefuggoSzakGyakGridModel>
(
gridName,
new GridApiUrl("OsszefuggoSzakGyakApi", "GetOsszefuggoSzakGyakGrid"),
dataBoundAdditionalFunction: "OsszefuggoSzakGyakHelper.setkKendoMaskedDatePicker();",
allowFilterable: false,
allowPaging: false,
allowScrolling: true,
pageSizes: null,
dataParameterFunction: "searchForm",
sort: sort => sort.Add(s => s.TanuloNev).Ascending()
)
.Columns(columns =>
{
columns.Bound(c => c.TanuloNev);
})
.FunctionCommand(Html, functionCommandList);
grid.Columns(c => c.Template(t => t.ToString())
.HeaderHtmlAttributes(new { @class = "tanuloErtekelesSelectorGridColumnHeaderTh" })
.Title(@"
<div class='gridSelect'>
<div class='selectorwrapper'>
<ul class='bars weeks'>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllTeljesitettValue(""T"");'>" + FeljegyzesekResource.Teljesitve + @"</li>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllTeljesitettValue(""F"");'>" + FeljegyzesekResource.NemTeljesitve + @"</li>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllTeljesitettValue();' title='" + TanuloErtekelesResource.VisszaallitasAlapallapotba + @"'>" + TanuloErtekelesResource.X + @"</li>
</ul>
</div>
</div>")
.ClientTemplate(grid.SelectForColumnTemplate(Html.For<OsszefuggoSzakGyakGridModel>(), x => x.Teljesitett, Model.TeljesitettList)));
grid.Columns(c => c.Template(t => t.ToString())
.HeaderHtmlAttributes(new { @class = "tanuloErtekelesSelectorGridColumnHeaderTh" })
.Title(@"
<div class='gridSelect'>
<div class='selectorwrapper'>
<ul class='bars weeks'>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllOsztalyzatValue(" + (int)OsztalyzatTipusEnum.elegtelen_1_ + ");' title='" + TanuloErtekelesResource.ElegtelenFullText + @"'>" + TanuloErtekelesResource.ElegtelenSzammal + @"</li>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllOsztalyzatValue(" + (int)OsztalyzatTipusEnum.elegseges_2_ + ");' title='" + TanuloErtekelesResource.ElegsegesFullText + @"'>" + TanuloErtekelesResource.ElegsegesSzammal + @"</li>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllOsztalyzatValue(" + (int)OsztalyzatTipusEnum.kozepes_3_ + ");' title='" + TanuloErtekelesResource.KozepesFullText + @"'>" + TanuloErtekelesResource.KozepesSzammal + @"</li>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllOsztalyzatValue(" + (int)OsztalyzatTipusEnum.jo_4_ + ");' title='" + TanuloErtekelesResource.JoFullText + @"'>" + TanuloErtekelesResource.JoSzammal + @"</li>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllOsztalyzatValue(" + (int)OsztalyzatTipusEnum.jeles_5_ + ");' title='" + TanuloErtekelesResource.JelesFullText + @"'>" + TanuloErtekelesResource.JelesSzammal + @"</li>
<li class='kretaSelectorButton' onclick='OsszefuggoSzakGyakHelper.changeAllOsztalyzatValue();' title='" + TanuloErtekelesResource.VisszaallitasAlapallapotba + @"'>" + TanuloErtekelesResource.X + @"</li>
</ul>
</div>
</div>")
.ClientTemplate(grid.SelectForColumnTemplate(Html.For<OsszefuggoSzakGyakGridModel>(), x => x.ErtekelesOsztalyzatId, Model.OsztalyzatList, true)));
grid.TextBoxForColumn(Html.For<OsszefuggoSzakGyakGridModel>(), FeljegyzesekResource.SzovegesErtekeles, m => m.ErtekelesSzoveg);
grid.DatePickerForColumn(Html.For<OsszefuggoSzakGyakGridModel>(), FeljegyzesekResource.DatumKotelezo, m => m.TeljesitesDatumFormatted);
grid.TextBoxForColumn(Html.For<OsszefuggoSzakGyakGridModel>(), FeljegyzesekResource.Megjegyzes, m => m.Megjegyzes);
grid.Columns(columns =>
{
columns.Bound(c => c.CsoportId).Hidden(true);
columns.Bound(c => c.TantargyId).Hidden(true);
});
}
<div>
@(grid)
</div>
<script type="text/javascript">
var OsszefuggoSzakGyakHelper = (function () {
var osszefuggoSzakGyakHelper = function () { };
var startPopupFormName = "@startPopupFormName";
var startPopupId = "@startPopupId";
var startPopupTitle = "@startPopupTitle";
var gridName = "@gridName";
osszefuggoSzakGyakHelper.startModel = null;
var url = {
OpenStartPopup: "@Url.Action("OpenStartPopup", "OsszefuggoSzakGyak", new {area = "Feljegyzes" })",
Export: "@Url.Action("Export", "OsszefuggoSzakGyak", new {area = "Feljegyzes" })",
Save: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "OsszefuggoSzakGyakApi", action = "Save" })"
};
osszefuggoSzakGyakHelper.openStartWindow = function () {
KretaGridHelper.clearGridData(gridName);
AjaxHelper.DoPost(url.OpenStartPopup, null, popUpStartWindow);
}
function popUpStartWindow(data) {
var config = KretaWindowHelper.getWindowConfigContainer();
config.title = startPopupTitle;
config.width = "500px";
config.content = data;
config.actions = ['Close'];
var modal = KretaWindowHelper.createWindow(startPopupId, config);
modal.setOptions({ height: 170 });
KretaWindowHelper.openWindow(modal, true);
}
osszefuggoSzakGyakHelper.startTovabb = function () {
var form = $("#" + startPopupFormName);
if (form.valid()) {
osszefuggoSzakGyakHelper.startModel = KretaGridHelper.getSearchParameterObject(startPopupFormName);
$("#CsoportIdSearch").val(osszefuggoSzakGyakHelper.startModel.CsoportId);
$("#TantargyIdSearch").val(osszefuggoSzakGyakHelper.startModel.TantargyId);
KretaGridHelper.refreshGrid(gridName);
KretaWindowHelper.destroyWindow(startPopupId);
}
}
osszefuggoSzakGyakHelper.save = function () {
var modifiedRows = KretaGridHelper.getModifiedRows(gridName);
var json = [];
$.each(modifiedRows,
function(i, item) {
json.push({
"ID": item.ID,
"Teljesitett": item.ki_Teljesitett,
"TanuloNev": item.TanuloNev,
"ErtekelesOsztalyzatId": item.ki_ErtekelesOsztalyzatId,
"ErtekelesSzoveg": item.ki_ErtekelesSzoveg,
"Megjegyzes": item.ki_Megjegyzes,
"TeljesitesDatumFormatted": item.ki_TeljesitesDatumFormatted,
"CsoportId": item.CsoportId,
"TantargyId": item.TantargyId
});
});
AjaxHelper.DoPost(url.Save, json, saveResponseOk);
}
osszefuggoSzakGyakHelper.changeAllTeljesitettValue = function (val) {
var defaultSelector = "td div[id*='Teljesitett'] .kretaSelectorButton";
changeColumnValues(gridName, defaultSelector, val);
}
osszefuggoSzakGyakHelper.changeAllOsztalyzatValue = function (val) {
var defaultSelector = "td div[id*='ErtekelesOsztalyzatId'] .kretaSelectorButton";
changeColumnValues(gridName, defaultSelector, val);
}
osszefuggoSzakGyakHelper.setkKendoMaskedDatePicker = function () {
var datePicker = $("input[id*='TeljesitesDatumFormatted']");
datePicker.kendoMaskedDatePicker();
datePicker.change(function() {
KretaDateTimeHelper.validateDate($(this));
});
datePicker.parent().parent().css("width", "initial");
}
osszefuggoSzakGyakHelper.export = function () {
window.location = url.Export + "?csoportId=" + osszefuggoSzakGyakHelper.startModel.CsoportId + "&tantargyId=" + osszefuggoSzakGyakHelper.startModel.TantargyId;
}
function changeColumnValues(gridName, selector, val) {
if (!CommonUtils.isNullOrEmpty(val)) {
$.each($("#" + gridName).find(selector + "[val='" + val + "']"), function () {
if (!$(this).hasClass("activebar")) {
$(this).click();
}
});
} else {
$.each($("#" + gridName).find(selector), function () {
if ($(this).hasClass("activebar")) {
$(this).click();
}
});
}
}
function saveResponseOk() {
KretaWindowHelper.successFeedBackWindow();
KretaGridHelper.refreshGrid();
}
return osszefuggoSzakGyakHelper;
})();
$(document).ready(function () {
OsszefuggoSzakGyakHelper.openStartWindow();
});
</script>

View file

@ -0,0 +1,34 @@
@using Kreta.Resources
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@model OsszefuggoSzakGyakModel
@{
var startPopupFormName = OsszefuggoSzakGyakController.StartPopupFormName;
}
@using (Html.KretaForm(startPopupFormName))
{
<div class="container-fluid details">
@Html.KretaValidationSummary()
<div>
@Html.KretaComboBoxFor(x => x.CsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsszefuggoSzakGyakosCsoportok" }), "Text", "Value", useGroup: true, htmlAttributes: new Dictionary<string, object> { { "class", "enterKeyPress" } }).AutoBind(true).RenderWithName(4, 8, true)
</div>
<div>
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" }), "Text", "Value", useGroup: true, htmlAttributes: new Dictionary<string, object> { { "class", "enterKeyPress" } }).AutoBind(true).RenderWithName(4, 8, true)
</div>
<br />
<div align="center">
@Html.KretaButton("Start", CommonResource.Tovabb, clickEventName: "OsszefuggoSzakGyakHelper.startTovabb")
</div>
</div>
}
<script>
$(document).ready(function () {
$("span.enterKeyPress").onKeyPressEnter(OsszefuggoSzakGyakHelper.startTovabb);
});
</script>

View file

@ -0,0 +1,64 @@
@using Kreta.BusinessLogic.Classes
@using Kreta.Web.Areas.Feljegyzes.Controllers
@using Kreta.Web.Areas.Feljegyzes.Models
@using Kreta.Web.Helpers.Grid
@section AddCss {
@Styles.Render(Constants.General.FeljegyzesekCSS)
}
@{
string gridName = KozossegiSzolgalatokController.GridName;
}
<script>
var DetailGridHelper = (function () {
var detailGridHelper = function () { };
detailGridHelper.setAthuzas = function () {
var gridName = "@gridName";
var dataSource = KretaGridHelper.getKendoGridData(gridName).dataSource.data();
$.each(dataSource, function (index, value) {
if (value.Torolt_BOOL) {
$('#' + gridName).find('[data-uid= ' + value.uid + ']').addClass("kretaStrikedGridRow disabledItem");
}
});
}
detailGridHelper.setRowEditing = function (rowData) {
return !rowData.Torolt_BOOL && rowData.Modosithato_BOOL;
}
return detailGridHelper;
})();
</script>
<div>
@(
Html.KretaGrid<KozossegiSzolgalatokReszletekGridModel>(
gridName,
new GridApiUrl("TanuloKozossegiSzolgalataiApi", "GetTanuloKozossegiSzolgalataiGrid"),
useToolBar: false,
dataBoundAdditionalFunction: "DetailGridHelper.setAthuzas();",
sort: sort => sort.Add(s => s.IntervallumKezdete).Descending(),
allowSorting: true,
allowScrolling: true,
allowPaging: false,
pageSizes: null
)
.Columns(columns =>
{
columns.Bound(c => c.ID).Hidden();
columns.Bound(c => c.TanuloId).Hidden();
columns.Bound(c => c.IntervallumKezdete).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.IntervallumVege).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
columns.Bound(c => c.TeljesitesiHelye).Width("15%").SetDisplayPropertyWithToolip("TeljesitesiHelye");
columns.Bound(c => c.Oraszam).Width("5%");
columns.Bound(c => c.KozossegiSzolgalatTipusa_DNAME).Width("20%").SetDisplayPropertyWithToolip("KozossegiSzolgalatTipusa_DNAME");
columns.Bound(c => c.Megjegyzes).Width("30%").SetDisplayPropertyWithToolip("Megjegyzes");
columns.Bound(c => c.RogzitesDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]).Width("10%");
})
)
</div>

View file

@ -0,0 +1,3 @@
@{
Layout = "~/Views/Shared/_MasterLayout.cshtml";
}

View file

@ -0,0 +1,38 @@
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.Optimization" />
<add namespace="Kreta.Web" />
<add namespace="Kreta.BusinessLogic.Utils" />
<add namespace="Kendo.Mvc.UI" />
<add namespace="Kreta.Web.Helpers" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>