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,38 @@
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminTanuloKozossegiSzolgalataiApiController : ApiController
{
public DataSourceResult GetTanuloKozossegiSzolgalataiGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
int felhasznalo = ClaimData.IsAdministrator ? -1 : ClaimData.FelhasznaloId;
bool toroltElemek = !ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue);
bool hasTeljesTorlesJog = toroltElemek && ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue);
var model = JsonConvert.DeserializeObject<AdminKozossegiSzolgalatokSearchModel>(data);
var co = model.ConvertModelToCo();
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetKozossegiSzolgalatokReszletekForGrid(-1, co, felhasznalo, toroltElemek, hasTeljesTorlesJog);
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
}
}

View file

@ -0,0 +1,114 @@
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Exceptions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public class BaseBeirasokApiController : ApiController
{
[NonAction]
public DataSourceResult GetBeirasokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, SzervezetTipusEnum? szervezetTipus)
{
var model = JsonConvert.DeserializeObject<FeljegyzesekSearchModel>(data);
if (model?.CsoportIdSearch == null)
{
return new DataSourceResult();
}
var helper = new TanevHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var tanevCo = helper.GetTanevInfo();
var elsoTanitasiNap = tanevCo.OraFelvetelKezdete.Date;
var feljegyzesHelper = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = feljegyzesHelper.GetBeirasokGrid(model.CsoportIdSearch.Value, elsoTanitasiNap, (int?)szervezetTipus);
var result = ds.ToDataSourceResult();
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public DataSourceResult GetBeirasokReszletekGrid(int tanuloId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, SzervezetTipusEnum? szervezetTipus)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetBeirasokReszletekForGrid(tanuloId, (int?)szervezetTipus, true);
var result = ds.ToDataSourceResult();
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveBeiras(BeirasModel model)
{
var allowedTags = new List<string> {
"span", "#text", "b", "blockquote",
"code", "del", "dd", "dl", "dt",
"em", "h1", "h2", "h3", "i", "kbd",
"li", "ol", "p", "pre", "s", "sup",
"sub", "strong", "strike", "ul", "br", "hr", "a", "div"
};
model.Tartalom = CommonUtils.RemoveNotAllowedHtmlTags(WebUtility.HtmlDecode(model.Tartalom), allowedTags);
ModelState.Merge(model.Validate());
var co = model.ToCo();
var feljegyzesHelper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var isTanuloTagjaOsztalynakByEsemenyDatumError = feljegyzesHelper.IsTanuloTagjaOsztalyCsoportnakByEsemenyDatum(co);
if (!string.IsNullOrWhiteSpace(isTanuloTagjaOsztalynakByEsemenyDatumError))
{
ModelState.AddModelError("EsemenyDatuma", isTanuloTagjaOsztalynakByEsemenyDatumError);
}
if (ModelState.IsValid)
{
_ = feljegyzesHelper.SaveFeljegyzes(co, isBeiras: true);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteBeiras(FeljegyzesTorlesModel model)
{
try
{
new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteBeiras(model.Id, model.TanuloId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,211 @@
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Exceptions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class BaseElektronikusUzenetekApiController : ApiController
{
[NonAction]
public DataSourceResult GetElektronikusUzenetekNaploNezetGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, SzervezetTipusEnum? szervezetTipus)
{
var model = JsonConvert.DeserializeObject<ElektronikusUzenetSearchModel>(data);
if (model?.CsoportIdSearch == null)
{
return new DataSourceResult();
}
TanevCO tanevCo;
var connectionType = ConnectionTypeExtensions.GetSessionConnectionType();
var helper = new TanevHelper(connectionType);
tanevCo = helper.GetTanevInfo();
var elsoTanitasiNap = tanevCo.OraFelvetelKezdete.Date;
var feljegyzesHelper = new FeljegyzesHelper(connectionType)
{
GridParameters = Converter.GridParameter(request),
};
var ds = feljegyzesHelper.GetElektronikusUzenetekNaploNezetGrid(model.CsoportIdSearch.Value, elsoTanitasiNap, (int?)szervezetTipus);
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
foreach (var row in ds.Tables[0].AsEnumerable())
{
row[nameof(FaliujsagBejegyzesekGridModel.Tartalom)] = CommonUtils.RemoveAllHtmlTags(row.Field<string>(nameof(FaliujsagBejegyzesekGridModel.Tartalom)));
}
}
var result = ds.ToDataSourceResult();
return result;
}
[NonAction]
public DataSourceResult GetElektronikusUzenetekNaploNezetReszletekGrid(int tanuloId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, SzervezetTipusEnum? szervezetTipus)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetElektronikusUzenetekNaploNezetReszletekGrid(tanuloId, (int?)szervezetTipus, true);
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
foreach (var row in ds.Tables[0].AsEnumerable())
{
row[nameof(FaliujsagBejegyzesekGridModel.Tartalom)] = WebUtility.HtmlDecode(CommonUtils.RemoveAllHtmlTags(row.Field<string>(nameof(FaliujsagBejegyzesekGridModel.Tartalom))));
}
}
var result = ds.ToDataSourceResult();
return result;
}
public DataSourceResult GetElektronikusUzenetekListaNezetGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, SzervezetTipusEnum? szervezetTipus)
{
var model = JsonConvert.DeserializeObject<FeljegyzesekModel>(data);
if (model?.OsztalyCsoportId == null)
{
return new DataSourceResult();
}
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request),
};
var ds = helper.GetElektronikusUzenetekListaNezetGrid(model.OsztalyCsoportId.Value, (int?)szervezetTipus);
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
foreach (var row in ds.Tables[0].AsEnumerable())
{
row[nameof(FaliujsagBejegyzesekGridModel.Tartalom)] = WebUtility.HtmlDecode(CommonUtils.RemoveAllHtmlTags(row.Field<string>(nameof(FaliujsagBejegyzesekGridModel.Tartalom))));
}
}
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
public DataSourceResult GetElektronikusUzenetekModifyPopupGrid(int osztalycsoportId)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var ds = helper.GetElektronikusUzenetekModifyPopupGrid(osztalycsoportId);
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveElektronikusUzenetPopup(ElektronikusUzenetPopupModel popupModel)
{
var model = popupModel.ToSaveModel();
var result = SaveElektronikusUzenet(model);
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveElektronikusUzenet(ElektronikusUzenetModel model)
{
var allowedTags = new List<string> {
"span", "#text", "b", "blockquote",
"code", "del", "dd", "dl", "dt",
"em", "h1", "h2", "h3", "i", "kbd",
"li", "ol", "p", "pre", "s", "sup",
"sub", "strong", "strike", "ul", "br", "hr", "a", "div"
};
model.Tartalom = RichTextLogic.GetLegalHtmlString(model.Tartalom, allowedTags);
ModelState.Merge(model.Validate());
if (ModelState.IsValid)
{
Dictionary<int, List<string>> validationMessageDictionary = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).ValidateElektronikusUzenetTanuloListOsztalybaTartozikDatumAlapjan(model.TanuloIdList, model.OsztalyCsoportId.Value, model.EsemenyDatuma.Value, model.Vege, model.IsFaliujsagMegjelenes);
var responseMessageDictionary = new Dictionary<string, List<string>>();
if (validationMessageDictionary.Any())
{
model.IsMindenkinek = false;
foreach (var validationMessageDictionaryKeyValuePair in validationMessageDictionary)
{
var validationMessage = string.Join(Core.Constants.General.Sortores, validationMessageDictionaryKeyValuePair.Value);
if (!responseMessageDictionary.ContainsKey("ValidationMessage"))
{
responseMessageDictionary.Add("ValidationMessage", new List<string> { validationMessage });
}
else
{
responseMessageDictionary["ValidationMessage"].Add(validationMessage);
}
model.TanuloIdList.Remove(validationMessageDictionaryKeyValuePair.Key);
}
}
_ = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveFeljegyzes(model.ToCo());
return Request.CreateResponse(HttpStatusCode.OK, responseMessageDictionary);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteElektronikusUzenet(FeljegyzesTorlesModel model)
{
try
{
new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteElektronikusUzenetOrFaliujsagBejegyzes(model.Id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteElektronikusUzenetForTanulo(FeljegyzesTorlesModel model)
{
try
{
new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteElektronikusUzenetForTanulo(model.Id, model.TanuloId);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,17 @@
using Kendo.Mvc.UI;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
public class BeirasokApiController : BaseBeirasokApiController
{
public DataSourceResult GetBeirasokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetBeirasokGrid(data, request, null);
}
public DataSourceResult GetBeirasokReszletekGrid(int tanuloId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetBeirasokReszletekGrid(tanuloId, request, null);
}
}
}

View file

@ -0,0 +1,20 @@
using Kendo.Mvc.UI;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[KretaGlobalLanguageChangeApiActionFilter(LanguageCode = "hu-Dualis")]
public class DualisBeirasokApiController : BaseBeirasokApiController
{
public DataSourceResult GetBeirasokGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetBeirasokGrid(data, request, SzervezetTipusEnum.Dualis);
}
public DataSourceResult GetBeirasokReszletekGrid(int tanuloId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetBeirasokReszletekGrid(tanuloId, request, SzervezetTipusEnum.Dualis);
}
}
}

View file

@ -0,0 +1,25 @@
using Kendo.Mvc.UI;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Attributes;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[KretaGlobalLanguageChangeApiActionFilter(LanguageCode = "hu-Dualis")]
public class DualisElektronikusUzenetekApiController : BaseElektronikusUzenetekApiController
{
public DataSourceResult GetElektronikusUzenetekNaploNezetGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetElektronikusUzenetekNaploNezetGrid(data, request, SzervezetTipusEnum.Dualis);
}
public DataSourceResult GetElektronikusUzenetekNaploNezetReszletekGrid(int tanuloId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetElektronikusUzenetekNaploNezetReszletekGrid(tanuloId, request, SzervezetTipusEnum.Dualis);
}
public DataSourceResult GetElektronikusUzenetekListaNezetGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetElektronikusUzenetekListaNezetGrid(data, request, SzervezetTipusEnum.Dualis);
}
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Kendo.Mvc.UI;
using Kreta.Enums.ManualEnums;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
public class ElektronikusUzenetekApiController : BaseElektronikusUzenetekApiController
{
public DataSourceResult GetElektronikusUzenetekNaploNezetGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetElektronikusUzenetekNaploNezetGrid(data, request, null);
}
public DataSourceResult GetElektronikusUzenetekNaploNezetReszletekGrid(int tanuloId, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetElektronikusUzenetekNaploNezetReszletekGrid(tanuloId, request, null);
}
public DataSourceResult GetElektronikusUzenetekListaNezetGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
return GetElektronikusUzenetekListaNezetGrid(data, request, null);
}
}
}

View file

@ -0,0 +1,110 @@
using System.Collections.Generic;
using System.Data;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Exceptions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Logic;
using Kreta.BusinessLogic.Security;
using Kreta.BusinessLogic.Utils;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class FaliujsagBejegyzesekApiController : ApiController
{
public DataSourceResult GetFaliujsagBejegyzesekGrid([System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetFaliujsagBejegyzesekGrid();
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
row[nameof(FaliujsagBejegyzesekGridModel.Tartalom)] = RichTextLogic.CutHtmlTagsAndDecodeAndBR2Space(row.Field<string>(nameof(FaliujsagBejegyzesekGridModel.Tartalom)));
}
}
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public DataSourceResult GetFaliujsagBejegyzesekPopupGrid([System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetFaliujsagBejegyzesekPopupGrid();
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public HttpResponseMessage SaveFaliujsagBejegyzes(FaliujsagBejegyzesModel model)
{
if (!ClaimData.IsSzuperadmin)
{
var allowedTags = new List<string> {
"span", "#text", "b", "blockquote",
"code", "del", "dd", "dl", "dt",
"em", "h1", "h2", "h3", "i", "kbd",
"li", "ol", "p", "pre", "s", "sup",
"sub", "strong", "strike", "ul", "br", "hr", "a", "div"
};
model.Tartalom = RichTextLogic.GetLegalHtmlString(model.Tartalom, allowedTags, false, true);
ModelState.Merge(model.Validate());
if (ModelState.IsValid)
{
_ = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveFeljegyzes(model.ToCo(false));
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage SaveFogadooraFaliujsagBejegyzes(FaliujsagBejegyzesModel model)
{
new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveFeljegyzes(model.ToCo(true));
return new HttpResponseMessage(HttpStatusCode.OK);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
public HttpResponseMessage DeleteFaliujsagBejegyzes(FeljegyzesTorlesModel model)
{
try
{
new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteElektronikusUzenetOrFaliujsagBejegyzes(model.Id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
}
}

View file

@ -0,0 +1,162 @@
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Exceptions;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Adminisztrator.ClaimValue
)]
public class KozossegiSzolgalatokApiController : ApiController
{
public DataSourceResult GetKozossegiSzolgalatokGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<KozossegiSzolgalatokSearchModel>(data);
if (model?.CsoportIdSearch == null)
{
return new DataSourceResult();
}
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetKozossegiSzolgalatokGrid(model.ConvertModelToCo());
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
[ApiRolePackageAuthorize(
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue,
KretaClaimPackages.IsSzirIntezmeny.ClaimValue
)]
public DataSourceResult GetKozossegiSzolgalatokReszletekGrid(int tanuloId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
bool toroltElemek = !ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue);
bool hasTeljesTorlesJog = toroltElemek && ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue);
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetKozossegiSzolgalatokReszletekForGrid(tanuloId, toroltElemek, hasTeljesTorlesJog);
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.IsSzirIntezmeny.ClaimValue
)]
public HttpResponseMessage SaveKozossegiSzolgalat(KozossegiSzolgalatModel model)
{
ModelState.Merge(model.Validate());
if (ModelState.IsValid)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.SaveKozossegiSzolgalat(model.ToCo());
return new HttpResponseMessage(HttpStatusCode.OK);
}
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Adminisztrator.ClaimValue
)]
public HttpResponseMessage DeleteKozossegiSzolgalat(int id)
{
try
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.DeleteKozossegiSzolgalat(id);
return new HttpResponseMessage(HttpStatusCode.OK);
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
[HttpPost]
[ApiValidateAjaxAntiForgeryToken]
[ApiRolePackageAuthorize(
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue,
KretaClaimPackages.IsSzirIntezmeny.ClaimValue
)]
public double GetKozossegiSzolgalatOsszesOraszam(int tanuloId)
{
try
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
double result = helper.GetKozossegiSzolgalatOsszesOraszam(tanuloId);
return result;
}
catch (CannotBeDeletedException ex)
{
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
}
}
public List<System.Web.Mvc.SelectListItem> GetKozossegiSzolgalatOsztalyList([DataSourceRequest] DataSourceRequest request)
{
List<System.Web.Mvc.SelectListItem> osztalyList = new List<System.Web.Mvc.SelectListItem>();
if (ClaimManager.HasPackage(
KretaClaimPackages.Adminisztrator.ClaimValue
, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue
, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue))
{
osztalyList = new OsztalyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyokForDDL().ToSelectListItemList();
}
else
{
osztalyList = new OsztalyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyokForDDL("", ClaimData.FelhasznaloId, ClaimData.IsSzuperOsztalyfonok).ToSelectListItemList();
}
return osztalyList;
}
}
}

View file

@ -0,0 +1,56 @@
using System.Collections.Generic;
using System.Data;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
using Newtonsoft.Json;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class OsszefuggoSzakGyakApiController : ApiController
{
public DataSourceResult GetOsszefuggoSzakGyakGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))]
DataSourceRequest request)
{
var model = JsonConvert.DeserializeObject<OsszefuggoSzakGyakSearchModel>(data);
if (model.CsoportIdSearch == null || model.TantargyIdSearch == null)
{
return new DataSourceResult();
}
var helper = new OsszefuggoSzakGyakHelper(ConnectionTypeExtensions.GetSessionConnectionType())
{
GridParameters = Converter.GridParameter(request)
};
DataSet dataSet = helper.GetOsszefuggoSzakGyakGrid(model.CsoportIdSearch.Value, model.TantargyIdSearch.Value);
return dataSet.ToDataSourceResult();
}
[HttpPost]
public HttpResponseMessage Save(List<OsszefuggoSzakGyakGridModel> modelList)
{
var coList = new List<OsszefuggoSzakGyakGridCo>();
foreach (var item in modelList)
{
coList.Add(item.ToCo());
}
var helper = new OsszefuggoSzakGyakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
helper.SaveOsszefuggoSzakGyakGrid(coList);
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
}

View file

@ -0,0 +1,31 @@
using System.Web.Http;
using System.Web.Http.ModelBinding;
using Kendo.Mvc.UI;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Grid;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.ApiControllers
{
[ApiRoleClaimsAuthorize(true)]
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class TanuloKozossegiSzolgalataiApiController : ApiController
{
public DataSourceResult GetTanuloKozossegiSzolgalataiGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
{
bool toroltElemek = !ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue);
bool hasTeljesTorlesJog = toroltElemek && ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue);
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
helper.GridParameters = Converter.GridParameter(request);
var ds = helper.GetKozossegiSzolgalatokReszletekForGrid(ClaimData.FelhasznaloId, toroltElemek, hasTeljesTorlesJog);
DataSourceResult result = ds.ToDataSourceResult();
return result;
}
}
}

View file

@ -0,0 +1,23 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
public abstract class AbstractFeljegyzesekController : Controller
{
protected FeljegyzesekModel GetFeljegyzesekModel()
{
FeljegyzesHelperCo feljegyzesHelperCo = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeljegyzesHelperCo();
var model = new FeljegyzesekModel
{
ElsoTanitasiNap = feljegyzesHelperCo.ElsoTanitasiNap,
DefaultEsemenyDatuma = feljegyzesHelperCo.DefaultEsemenyDatuma
};
return model;
}
}
}

View file

@ -0,0 +1,29 @@
using System.Web.Http;
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Areas.Hianyzas.Logic;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class AdminTanuloKozossegiSzolgalataiController : Controller
{
// GET: Feljegyzes/AdminTanuloKozossegiSzolgalatai
public ActionResult Index()
{
return View();
}
#region Export
public ActionResult ExportKozossegiSzolgalat([FromUri] AdminKozossegiSzolgalatokSearchModel data)
{
return AdminTanuloKozossegiSzolgalataiLLogic.ExportKozossegiSzolgalat(data);
}
#endregion
}
}

View file

@ -0,0 +1,122 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsPortas.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
public class BaseBeirasokController : AbstractFeljegyzesekController
{
#region Properties
public static string StartPopupFormName => "BeirasokStartPopupForm";
public static string StartPopupId => "BeirasokStartWindow";
public static string GridName => "BeirasokGrid";
public static string NewModifyPopupName => "New_Modify_Popup";
public static string NewModifyFormName => "BeirasNewModifyForm";
protected IKretaAuthorization Authorization { get; }
#endregion Properties
public BaseBeirasokController(IKretaAuthorization authorization)
{
Authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
}
// Sitemap-ben letiltásra került, NE töröld ki!
//[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
//public ActionResult IndexOsztalyfonoki()
//{
// return View("Index");
//}
#region Popup actions
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenNewModifyPopup(int? id, int tanuloId, int? osztalyCsoportId)
{
bool isModify = id.IsEntityId();
BeirasModel beirasModel;
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
FeljegyzesHelperCo feljegyzesHelperCo = helper.GetFeljegyzesHelperCo();
if (isModify)
{
//NOTE: Az id az IdEntityId vizsgálat miatt nem lehet null!
FeljegyzesCo co = helper.GetFeljegyzesById(id.Value);
beirasModel = new BeirasModel(co, tanuloId);
}
else
{
beirasModel = new BeirasModel
{
TanuloId = tanuloId,
FeljegyzoId = ClaimData.FelhasznaloId,
FeljegyzoNev = ClaimData.FelhasznaloNev,
EsemenyDatuma = feljegyzesHelperCo.DefaultEsemenyDatuma,
OsztalyCsoportId = osztalyCsoportId
};
}
beirasModel.MinimumErvenyessegKezdete = feljegyzesHelperCo.MinimumErvenyessegKezdete;
beirasModel.MaximumErvenyessegKezdete = feljegyzesHelperCo.MaximumErvenyessegKezdete;
beirasModel.TipusList = GetTipusList();
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
beirasModel.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
beirasModel.NyelvesitendoEsemenyTipuslist = Core.Constants.NyelvesitendoEsemenyTipuslist;
var popupModel = new PopUpModel(beirasModel, $"~/Areas/Feljegyzes/Views/Beirasok/{NewModifyPopupName}.cshtml");
popupModel.AddBtn(popupModel, "BtnCancel_" + NewModifyFormName, CommonResource.Megse, "BeirasokHelper.newModifyPopupCancel");
popupModel.AddOkBtn(popupModel, "BeirasokHelper.newModifyPopupSave");
if (isModify)
{
popupModel.AddDeleteBtn(popupModel, "BeirasokHelper.newModifyPopupDelete");
}
return PartialView(Constants.General.PopupView, popupModel);
}
[NonAction]
public ActionResult OpenStartPopup(bool isFromSzervezet)
{
var model = GetFeljegyzesekModel();
model.IsDualisKepzohelyiCsoport = isFromSzervezet;
return PartialView("~/Areas/Feljegyzes/Views/Beirasok/Start_Popup.cshtml", model);
}
#endregion Popup actions
[NonAction]
public ActionResult BeirasokReszletekGrid(BeirasokGridModel model)
{
return PartialView("~/Areas/Feljegyzes/Views/Beirasok/DetailGrid.cshtml", model);
}
private static List<SelectListItem> GetTipusList()
{
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.EsemenyTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(new List<string> { ((int)EsemenyTipusEnum.ElektronikusUzenet).ToString(), ((int)EsemenyTipusEnum.FaliujsagBejegyzes).ToString() });
return result;
}
}
}

View file

@ -0,0 +1,137 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class BaseElektronikusUzenetekController : AbstractFeljegyzesekController
{
#region Properties
public static string TabStripId => "ElektronikusUzenetekTabStrip";
public static string StartPopupFormName => "ElektronikusUzenetekStartPopupForm";
public static string StartPopupId => "ElektronikusUzenetekStartWindow";
public static string GridNameNaploNezet => "ElektronikusUzenetNaploNezetGrid";
public static string GridNameListaNezet => "ElektronikusUzenetListaNezetGrid";
public static string NewFormName => "ElektronikusUzenetNewForm";
public static string ModifyPopupName => "Modify_Popup";
public static string ModifyFormName => "ElektronikusUzenetModifyForm";
public static string ModifyPopupGridName => "ElektronikusUzenetModifyPopupGrid";
protected IKretaAuthorization Authorization { get; set; }
#endregion Properties
public BaseElektronikusUzenetekController(IKretaAuthorization authorization)
{
Authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
}
[NonAction]
public ActionResult GetNaploNezetTab(string controllerName, string apiControllerName)
{
var feljegyzesHelperCo = new FeljegyzesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFeljegyzesHelperCo();
var model = new ElektronikusUzenetSearchModel
{
IsFaliujsagMegjelenes = true,
IsMindenkinek = true,
EsemenyDatuma = feljegyzesHelperCo.DefaultEsemenyDatuma,
MinimumErvenyessegKezdete = feljegyzesHelperCo.MinimumErvenyessegKezdete,
MaximumErvenyessegKezdete = feljegyzesHelperCo.MaximumErvenyessegKezdete,
MinimumErvenyessegVege = feljegyzesHelperCo.MinimumErvenyessegVege,
MaximumErvenyessegVege = feljegyzesHelperCo.MaximumErvenyessegVege,
ApiControllerName = apiControllerName,
ControllerName = controllerName,
};
return PartialView("~/Areas/Feljegyzes/Views/ElektronikusUzenetek/NaploNezet_Tab.cshtml", model);
}
[NonAction]
public ActionResult GetListaNezetTab(FeljegyzesekModel model)
{
return PartialView("~/Areas/Feljegyzes/Views/ElektronikusUzenetek/ListaNezet_Tab.cshtml", model);
}
[NonAction]
public ActionResult NaploNezetReszletekGrid(ElektronikusUzenetekNaploNezetGridModel model)
{
return PartialView("~/Areas/Feljegyzes/Views/ElektronikusUzenetek/DetailGrid.cshtml", model);
}
protected List<TabStripItemModel> GetTabs(string controllerName)
{
var list = new List<TabStripItemModel>
{
new TabStripItemModel
{
ItemId = "0",
ItemName = FeljegyzesekResource.NaploNezet,
Area = "Feljegyzes",
Controller = controllerName,
Action = "GetNaploNezetTab"
},
new TabStripItemModel
{
ItemId = "1",
ItemName = FeljegyzesekResource.ListaNezet,
Area = "Feljegyzes",
Controller = controllerName,
Action = "GetListaNezetTab"
}
};
return list;
}
#region Popup actions
[NonAction]
public ActionResult OpenModifyPopup(int? id, int ocsID, string apiControllerName)
{
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var co = helper.GetFeljegyzesById(id.Value);
var feljegyzesHelperCo = helper.GetFeljegyzesHelperCo();
var model = new ElektronikusUzenetPopupModel(co, ocsID)
{
MinimumErvenyessegKezdetePopup = feljegyzesHelperCo.MinimumErvenyessegKezdete,
MaximumErvenyessegKezdetePopup = feljegyzesHelperCo.MaximumErvenyessegKezdete,
MinimumErvenyessegVegePopup = feljegyzesHelperCo.MinimumErvenyessegVege,
MaximumErvenyessegVegePopup = feljegyzesHelperCo.MaximumErvenyessegVege,
ApiControllerName = apiControllerName,
};
var popupModel = new PopUpModel(model, $"~/Areas/Feljegyzes/Views/ElektronikusUzenetek/{ModifyPopupName}.cshtml");
popupModel.AddCancelBtn(popupModel, "ElektronikusUzenetekHelper.modifyPopupCancel");
popupModel.AddOkBtn(popupModel, "ModifyPopupHelper.saveElektronikusUzenetPopup");
popupModel.AddDeleteBtn(popupModel, "ElektronikusUzenetekHelper.modifyPopupDelete");
return PartialView(Constants.General.PopupView, popupModel);
}
[NonAction]
public ActionResult OpenStartPopup(bool isFromSzervezet)
{
var model = GetFeljegyzesekModel();
model.IsDualisKepzohelyiCsoport = isFromSzervezet;
return PartialView($"~/Areas/Feljegyzes/Views/ElektronikusUzenetek/Start_Popup.cshtml", model);
}
#endregion Popup actions
}
}

View file

@ -0,0 +1,42 @@
using System.Web.Mvc;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
public class BeirasokController : BaseBeirasokController
{
public BeirasokController(IKretaAuthorization authorization) : base(authorization)
{
}
public ActionResult Index()
{
if (Authorization.IsValidDualisBeirasok())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new FeljegyzesekSearchModel
{
ControllerName = Constants.Controllers.Beirasok,
ApiControllerName = Constants.ApiControllers.BeirasokApi,
};
return View("Index", model);
}
public new ActionResult BeirasokReszletekGrid(BeirasokGridModel model)
{
model.ApiControllerName = Constants.ApiControllers.BeirasokApi;
return base.BeirasokReszletekGrid(model);
}
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenStartPopup()
{
return OpenStartPopup(false);
}
}
}

View file

@ -0,0 +1,43 @@
using System.Web.Mvc;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Attributes;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisBeirasokController : BaseBeirasokController
{
public DualisBeirasokController(IKretaAuthorization authorization) : base(authorization)
{
}
public ActionResult Index()
{
if (!Authorization.IsValidDualisBeirasok())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new FeljegyzesekSearchModel
{
ControllerName = Constants.Controllers.DualisBeirasok,
ApiControllerName = Constants.ApiControllers.DualisBeirasokApi,
};
return View("~/Areas/Feljegyzes/Views/Beirasok/Index.cshtml", model);
}
public new ActionResult BeirasokReszletekGrid(BeirasokGridModel model)
{
model.ApiControllerName = Constants.ApiControllers.DualisBeirasokApi;
return base.BeirasokReszletekGrid(model);
}
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenStartPopup()
{
return OpenStartPopup(true);
}
}
}

View file

@ -0,0 +1,74 @@
using System.Web.Mvc;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Attributes;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisElektronikusUzenetekController : BaseElektronikusUzenetekController
{
public DualisElektronikusUzenetekController(IKretaAuthorization authorization) : base(authorization)
{
}
public ActionResult Index()
{
if (!Authorization.IsValidDualisElektronikusUzenetek())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new
{
area = string.Empty
}));
}
var model = new FeljegyzesekModel
{
TabList = GetTabs(Constants.Controllers.DualisElektronikusUzenetek),
ControllerName = Constants.Controllers.DualisElektronikusUzenetek,
ApiControllerName = Constants.ApiControllers.DualisElektronikusUzenetekApi,
IsDualisKepzohelyiCsoport = true,
};
return View("~/Areas/Feljegyzes/Views/ElektronikusUzenetek/Index.cshtml", model);
}
public ActionResult GetNaploNezetTab()
{
return GetNaploNezetTab(Constants.Controllers.DualisElektronikusUzenetek, Constants.ApiControllers.DualisElektronikusUzenetekApi);
}
public ActionResult GetListaNezetTab()
{
var model = new FeljegyzesekModel
{
ApiControllerName = Constants.ApiControllers.DualisElektronikusUzenetekApi,
};
return GetListaNezetTab(model);
}
public new ActionResult NaploNezetReszletekGrid(ElektronikusUzenetekNaploNezetGridModel model)
{
model.ApiControllerName = Constants.ApiControllers.DualisElektronikusUzenetekApi;
return base.NaploNezetReszletekGrid(model);
}
#region Popup actions
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenStartPopup()
{
return OpenStartPopup(true);
}
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenModifyPopup(int? id, int ocsID)
{
return OpenModifyPopup(id, ocsID, Constants.ApiControllers.DualisElektronikusUzenetekApi);
}
#endregion
}
}

View file

@ -0,0 +1,94 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class ElektronikusUzenetekController : BaseElektronikusUzenetekController
{
#region Properties
public static string TabStripId => "ElektronikusUzenetekTabStrip";
public static string StartPopupFormName => "ElektronikusUzenetekStartPopupForm";
public static string StartPopupId => "ElektronikusUzenetekStartWindow";
public static string GridNameNaploNezet => "ElektronikusUzenetNaploNezetGrid";
public static string GridNameListaNezet => "ElektronikusUzenetListaNezetGrid";
public static string NewFormName => "ElektronikusUzenetNewForm";
public static string ModifyPopupName => "Modify_Popup";
public static string ModifyFormName => "ElektronikusUzenetModifyForm";
public static string ModifyPopupGridName => "ElektronikusUzenetModifyPopupGrid";
#endregion Properties
public ElektronikusUzenetekController(IKretaAuthorization authorization) : base(authorization)
{
}
public ActionResult Index()
{
if (Authorization.IsValidDualisElektronikusUzenetek())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new
{
area = string.Empty
}));
}
var model = new FeljegyzesekModel
{
TabList = GetTabs(Constants.Controllers.ElektronikusUzenetek),
ControllerName = Constants.Controllers.ElektronikusUzenetek,
ApiControllerName = Constants.ApiControllers.ElektronikusUzenetekApi,
IsDualisKepzohelyiCsoport = false,
};
return View("Index", model);
}
public ActionResult GetNaploNezetTab()
{
return GetNaploNezetTab(Constants.Controllers.ElektronikusUzenetek, Constants.ApiControllers.ElektronikusUzenetekApi);
}
public ActionResult GetListaNezetTab()
{
var model = new FeljegyzesekModel
{
ApiControllerName = Constants.ApiControllers.ElektronikusUzenetekApi,
};
return GetListaNezetTab(model);
}
public new ActionResult NaploNezetReszletekGrid(ElektronikusUzenetekNaploNezetGridModel model)
{
model.ApiControllerName = Constants.ApiControllers.ElektronikusUzenetekApi;
return base.NaploNezetReszletekGrid(model);
}
#region Popup actions
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenStartPopup()
{
return OpenStartPopup(false);
}
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenModifyPopup(int? id, int ocsID)
{
return OpenModifyPopup(id, ocsID, Constants.ApiControllers.ElektronikusUzenetekApi);
}
#endregion Popup actions
}
}

View file

@ -0,0 +1,81 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class FaliujsagBejegyzesekController : AbstractFeljegyzesekController
{
public static string GridName => "FaliujsagBejegyzesekGrid";
public static string NewModifyPopupName => "New_Modify_Popup";
public static string NewModifyFormName => "FaliujsagBejegyzesekNewModifyForm";
public static string NewModifyPopupGridName => "FaliujsagBejegyzesekNewModifyPopupGrid";
public ActionResult Index()
{
return View();
}
#region Popup actions
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.Szuperadmin.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public ActionResult OpenNewModifyPopup(int? id)
{
bool isModify = id.IsEntityId();
FaliujsagBejegyzesModel faliujsagModel;
var helper = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var hasAdminJogosultsag = ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue);
FeljegyzesHelperCo feljegyzesHelperCo = helper.GetFeljegyzesHelperCo();
if (isModify)
{
//NOTE: Az id az IdEntityId vizsgálat miatt nem lehet null!
FeljegyzesCo co = helper.GetFeljegyzesById(id.Value);
co.HasAdminJogosultsag = hasAdminJogosultsag;
faliujsagModel = new FaliujsagBejegyzesModel(co);
}
else
{
faliujsagModel = new FaliujsagBejegyzesModel
{
IsMindenkinek = true,
FeljegyzoId = ClaimData.FelhasznaloId,
FeljegyzoNev = ClaimData.FelhasznaloNev,
HasAdminJogosultsag = hasAdminJogosultsag,
EsemenyDatuma = feljegyzesHelperCo.DefaultEsemenyDatuma
};
}
faliujsagModel.MinimumErvenyessegKezdete = feljegyzesHelperCo.MinimumErvenyessegKezdete;
faliujsagModel.MaximumErvenyessegKezdete = feljegyzesHelperCo.MaximumErvenyessegKezdete;
faliujsagModel.MinimumErvenyessegVege = feljegyzesHelperCo.MinimumErvenyessegVege;
faliujsagModel.MaximumErvenyessegVege = feljegyzesHelperCo.MaximumErvenyessegVege;
var javascriptHelper = hasAdminJogosultsag ? "FeljegyzesKeresoHelper" : "FaliujsagBejegyzesekHelper";
var popupModel = new PopUpModel(faliujsagModel, NewModifyPopupName);
popupModel.AddCancelBtn(popupModel, $"{javascriptHelper}.newModifyPopupCancel");
popupModel.AddOkBtn(popupModel, "ModifyPopupHelper.saveFaliujsagPopup");
if (isModify)
{
popupModel.AddDeleteBtn(popupModel, $"{javascriptHelper}.newModifyPopupDelete");
}
return PartialView(Constants.General.PopupView, popupModel);
}
#endregion Popup actions
}
}

View file

@ -0,0 +1,185 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes.ExcelHelpers;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Areas.Nyomtatvanyok.Logic;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue
)]
public class KozossegiSzolgalatokController : Controller
{
#region Properties
public static string StartPopupFormName => "KozossegiSzolgalatokStartPopupForm";
public static string StartPopupId => "KozossegiSzolgalatokStartWindow";
public static string GridName => "KozossegiSzolgalatokGrid";
public static string DetailGridNamePrefix => "KozossegiSzolgalatokReszletekGrid_";
public static string NewModifyPopupName => "New_Modify_Popup";
public static string NewModifyFormName => "KozossegiSzolgalatNewModifyForm";
#endregion Properties
public ActionResult Index()
{
var helper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var model = new KozossegiSzolgalatokSearchModel();
List<SelectListItem> osztalyList = new List<SelectListItem>();
if (ClaimManager.HasPackage(
KretaClaimPackages.Adminisztrator.ClaimValue
, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue
, KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue))
{
osztalyList = new OsztalyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyokForDDL().ToSelectListItemList();
}
else
{
osztalyList = new OsztalyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyokForDDL("", ClaimData.FelhasznaloId).ToSelectListItemList();
}
model.OsztalyCsoportList = osztalyList;
if (osztalyList.Count == 1)
{
var csoportId = Convert.ToInt32(osztalyList.Single().Value);
model.CsoportIdSearch = csoportId;
model.OsztalyCsoportId = csoportId;
model.OsztalyCsoportNev = osztalyList.Single().Text;
}
else
{
model.OsztalyCsoportId = null;
model.OsztalyCsoportNev = string.Empty;
}
return View(model);
}
#region Popup actions
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenStartPopup()
{
var model = new KozossegiSzolgalatokModel();
return PartialView("Start_Popup", model);
}
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
[MvcRolePackageAuthorize(Enums.ManualEnums.TanevEnum.Mind,
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.IsSzirIntezmeny.ClaimValue
)]
public ActionResult OpenNewModifyPopup(int? id, int tanuloId)
{
bool isModify = id.IsEntityId();
KozossegiSzolgalatModel kozossegiSzolgalatModel;
if (isModify)
{
//NOTE: Az id az IdEntityId vizsgálat miatt nem lehet null!
KozossegiSzolgalatCo co = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetKozossegiSzolgalatById(id.Value);
kozossegiSzolgalatModel = new KozossegiSzolgalatModel(co);
}
else
{
kozossegiSzolgalatModel = new KozossegiSzolgalatModel
{
TanuloId = tanuloId,
IntervallumKezdete = DateTime.Today,
IntervallumVege = DateTime.Today,
RogzitesDatuma = DateTime.Today,
Oraszam = 1
};
}
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
kozossegiSzolgalatModel.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
kozossegiSzolgalatModel.KozossegiSzolgalatTipusList = GetKozossegiSzolgalatTipusList();
var popupModel = new PopUpModel(kozossegiSzolgalatModel, NewModifyPopupName);
popupModel.AddBtn(popupModel, "KozsossegiSzolgalatBtnCancel", CommonResource.Megse, "KozossegiSzolgalatokHelper.newModifyPopupCancel", "BtnCancel");
popupModel.AddBtn(popupModel, "KozsossegiSzolgalatBtnOk", CommonResource.Mentes, "KozossegiSzolgalatokHelper.newModifyPopupSave", "BtnOk");
if (isModify)
{
popupModel.AddBtn(popupModel, "KozsossegiSzolgalatBtnDelete", CommonResource.Torles, "KozossegiSzolgalatokHelper.newModifyPopupDelete", "BtnDelete");
}
return PartialView(Constants.General.PopupView, popupModel);
}
#endregion Popup actions
[MvcRolePackageAuthorize(
KretaClaimPackages.IsKozossegiSzolgalatKezelo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
KretaClaimPackages.Adminisztrator.ClaimValue
)]
public ActionResult KozossegiSzolgalatokReszletekGrid(KozossegiSzolgalatokGridModel model)
{
return PartialView("DetailGrid", model);
}
private static List<SelectListItem> GetKozossegiSzolgalatTipusList()
{
//NOTE: Az Na a korábban migrált és/vagy létrehozott közösségi szolgálatokhoz kell, mivel korábban még nem lehetett kiválasztani közösségi szolgálat típust/tevékenységet.
var result = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.KozossegiSzolgalatTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(new List<string> { ((int)KozossegiSzolgalatTipusEnum.Na).ToString() });
return result;
}
public ActionResult KozossegiSzolgalatokExportGrid([System.Web.Http.FromUri] KozossegiSzolgalatokSearchModel kozossegiSzolgalatokSearchModel)
{
try
{
var helper = new NyomtatvanyokHelper(ConnectionTypeExtensions.GetSessionConnectionType());
KozossegiSzolgalatokSearchCo co = new KozossegiSzolgalatokSearchCo();
co.OsztalyCsoportIdList = kozossegiSzolgalatokSearchModel.CsoportIdSearch.HasValue ? new List<int> { kozossegiSzolgalatokSearchModel.CsoportIdSearch.Value } : null;
co.TanuloIdList = new List<int>();
co.TanuloNev = kozossegiSzolgalatokSearchModel.TanuloNeve;
co.IntervallumKezdete = kozossegiSzolgalatokSearchModel.IdoszakKezdete;
co.IntervallumVege = kozossegiSzolgalatokSearchModel.IdoszakVege;
co.OsszesOraszamKezdete = kozossegiSzolgalatokSearchModel.OsszesOraszamKezdete;
co.OsszesOraszamVege = kozossegiSzolgalatokSearchModel.OsszesOraszamVege;
co.AnyjaNeve = kozossegiSzolgalatokSearchModel.AnyjaNeve;
DataSet dataSet = helper.GetKozossegiSzolgalatokExcelExport(co);
var data = FeljegyzesHelper.GetExcelData(dataSet);
var excel = new ExcelExportManager();
var stream = excel.CreateExcelExport(data, fejlec: false);
return File(stream, Kreta.Core.Constants.ContentTypes.Xlsx, $"{FeljegyzesekResource.KozossegiSzolgalatokExportFileName}.xlsx");
}
catch (Exception ex)
{
throw NyomtatvanyokLogic.NyomtatvanyError(ex);
}
}
}
}

View file

@ -0,0 +1,62 @@
using System.IO;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Areas.TanuloErtekeles.Controllers;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Tanar.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
public class OsszefuggoSzakGyakController : Controller
{
public static string StartPopupFormName => "OsszefuggoSzakGyakStartPopupForm";
public static string StartPopupId => "OsszefuggoSzakGyakStartWindow";
public static string StartPopupTitle => ClaimData.IsSelectedTanev20_21OrLater ? FeljegyzesekResource.EgybefuggoSzakmaiGyakorlat : FeljegyzesekResource.OsszefuggoSzakmaiGyakorlat;
public static string GridName => "OsszefuggoSzakGyakGrid";
private IKretaAuthorization Authorization { get; }
public OsszefuggoSzakGyakController(IKretaAuthorization authorization)
{
Authorization = authorization;
}
public ActionResult Index()
{
var model = new OsszefuggoSzakGyakSearchModel
{
OsztalyzatList = new ErtekelesController(Authorization).GetOsztalyzatList(true)
};
return View("Index", model);
}
public ActionResult EgybefuggoSzakGyakIndex() => Index();
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenStartPopup()
{
var model = new OsszefuggoSzakGyakModel
{
OsztalyzatList = new ErtekelesController(Authorization).GetOsztalyzatList(true)
};
return PartialView("Start_Popup", model);
}
public ActionResult Export(int csoportId, int tantargyId)
{
var helper = new OsszefuggoSzakGyakHelper(ConnectionTypeExtensions.GetSessionConnectionType());
MemoryStream memoryStream = helper.Export(csoportId, tantargyId);
var fileStreamResult = new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = FeljegyzesekResource.OsszefuggoSzakmaiGyakorlatExport };
return fileStreamResult;
}
}
}

View file

@ -0,0 +1,18 @@
using System.Web.Mvc;
using Kreta.BusinessLogic.Security;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
public class TanuloKozossegiSzolgalataiController : Controller
{
// GET: Feljegyzes/TanuloKozossegiSzolgalatai
public ActionResult Index()
{
return View();
}
}
}

View file

@ -0,0 +1,20 @@
using System.Web.Mvc;
namespace Kreta.Web.Areas.Feljegyzes
{
public class FeljegyzesAreaRegistration : AreaRegistration
{
public override string AreaName => "Feljegyzes";
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Feljegyzes_default",
"Feljegyzes/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
}

View file

@ -0,0 +1,23 @@
using System.IO;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.Resources;
using Kreta.Web.Areas.Feljegyzes.Models;
using Kreta.Web.Helpers;
namespace Kreta.Web.Areas.Hianyzas.Logic
{
public class AdminTanuloKozossegiSzolgalataiLLogic
{
public static ActionResult ExportKozossegiSzolgalat(AdminKozossegiSzolgalatokSearchModel model)
{
bool toroltElemek = false; // !ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue);
var co = model.ConvertModelToCo();
MemoryStream stream = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanulokKozossegiSzolgalatExcelExport(co, toroltElemek);
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = FeljegyzesekResource.KozossegiSzolgalatExport };
return result;
}
}
}

View file

@ -0,0 +1,57 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Enums;
using Kreta.Framework.Util;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class AdminKozossegiSzolgalatokSearchModel
{
public AdminKozossegiSzolgalatokSearchModel()
{
KozossegiSzolgalatTipusList = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.KozossegiSzolgalatTipus, ClaimData.SelectedTanevID.Value).ToSelectListItemList(new List<string> { ((int)KozossegiSzolgalatTipusEnum.Na).ToString() });
}
[Display(Name = nameof(FeljegyzesekResource.Intervallum), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? IntervallumKezdete { get; set; }
public DateTime? IntervallumVege { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntezmenyNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TeljesitesiHelye { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Oraszam), ResourceType = typeof(FeljegyzesekResource))]
public double? Oraszam { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.OsztalyNev), ResourceType = typeof(FeljegyzesekResource))]
public string OsztalyNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tevekenyseg), ResourceType = typeof(FeljegyzesekResource))]
public int? KozossegiSzolgalatTipusa { get; set; }
public List<SelectListItem> KozossegiSzolgalatTipusList { get; set; }
public KozossegiSzolgalatokSearchCo ConvertModelToCo()
{
return new KozossegiSzolgalatokSearchCo
{
IntervallumKezdete = this.IntervallumKezdete,
IntervallumVege = this.IntervallumVege,
TeljesitesiHelye = this.TeljesitesiHelye,
Oraszam = this.Oraszam,
TanuloNev = this.TanuloNev,
OsztalyNev = this.OsztalyNev,
KozossegiSzolgalatTipusa = this.KozossegiSzolgalatTipusa
};
}
}
}

View file

@ -0,0 +1,94 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Microsoft.Ajax.Utilities;
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class BaseFeljegyzesModel
{
public int? Id { get; set; }
public int? FeljegyzoId { get; set; }
public bool HasAdminJogosultsag { get; set; }
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
public List<int> NyelvesitendoEsemenyTipuslist { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNev { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Datum), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? EsemenyDatuma { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Cim), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string Targy { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Megjegyzes), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string Megjegyzes { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Tartalom), ResourceType = typeof(FeljegyzesekResource))]
public string Tartalom { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TartalomNemet), ResourceType = typeof(FeljegyzesekResource))]
public string TartalomNemet { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TartalomHorvat), ResourceType = typeof(FeljegyzesekResource))]
public string TartalomHorvat { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TartalomRoman), ResourceType = typeof(FeljegyzesekResource))]
public string TartalomRoman { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TartalomSzerb), ResourceType = typeof(FeljegyzesekResource))]
public string TartalomSzerb { get; set; }
public DateTime? MinimumErvenyessegKezdete { get; set; }
public DateTime? MaximumErvenyessegKezdete { get; set; }
protected ModelStateDictionary BaseValidation()
{
var modelStateDictionary = new ModelStateDictionary();
if (Tartalom.IsNullOrWhiteSpace())
{
modelStateDictionary.AddModelError(nameof(Tartalom), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.Tartalom}\""));
}
if (Megjegyzes?.Length > 255)
{
modelStateDictionary.AddModelError(nameof(Tartalom), string.Format(CommonResource.MaxLengthValidation, $"\"{FeljegyzesekResource.Megjegyzes}\"", 255));
}
if (!EsemenyDatuma.HasValue)
{
modelStateDictionary.AddModelError(nameof(EsemenyDatuma), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.Datum}\""));
}
else
{
FeljegyzesHelperCo feljegyzesHelperCo = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeljegyzesHelperCo();
var minimumErvenyessegKezdete = feljegyzesHelperCo.MinimumErvenyessegKezdete;
var maximumErvenyessegKezdete = feljegyzesHelperCo.MaximumErvenyessegKezdete;
var minOk = EsemenyDatuma >= minimumErvenyessegKezdete;
var maxOk = EsemenyDatuma <= maximumErvenyessegKezdete;
if (!minOk || !maxOk)
{
modelStateDictionary.AddModelError(nameof(EsemenyDatuma), string.Format(FeljegyzesekResource.ADatumCsakKozeEshet, minimumErvenyessegKezdete.ToString("yyyy. MM. dd."), maximumErvenyessegKezdete.ToString("yyyy. MM. dd.")));
}
}
return modelStateDictionary;
}
}
}

View file

@ -0,0 +1,76 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class BaseFeljegyzesNaploNezetGridModel : IKretaIdentity
{
public string ID { get; set; }
public string TanuloId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
public string OsztalyNev { get; set; }
public string AnyjaNeve { get; set; }
public DateTime SzuletesiIdo { get; set; }
public string SzuletesiIdoFormatted { get; set; }
public DateTime EsemenyDatuma { get; set; }
public string Tipus { get; set; }
public string FeljegyzoNeve { get; set; }
public string Targy { get; set; }
public string Tartalom { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Januar_I), ResourceType = typeof(FeljegyzesekResource))]
public string JanuarI { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Januar_II), ResourceType = typeof(FeljegyzesekResource))]
public string JanuarII { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Feb_02), ResourceType = typeof(FeljegyzesekResource))]
public string Februar { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Marc_03), ResourceType = typeof(FeljegyzesekResource))]
public string Marcius { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Apr_04), ResourceType = typeof(FeljegyzesekResource))]
public string Aprilis { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Maj_05), ResourceType = typeof(FeljegyzesekResource))]
public string Majus { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Jun_06), ResourceType = typeof(FeljegyzesekResource))]
public string Junius { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Jul_07), ResourceType = typeof(FeljegyzesekResource))]
public string Julius { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Aug_08), ResourceType = typeof(FeljegyzesekResource))]
public string Augusztus { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Szept_09), ResourceType = typeof(FeljegyzesekResource))]
public string Szeptember { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Okt_10), ResourceType = typeof(FeljegyzesekResource))]
public string Oktober { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Nov_11), ResourceType = typeof(FeljegyzesekResource))]
public string November { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Dec_12), ResourceType = typeof(FeljegyzesekResource))]
public string December { get; set; }
}
}

View file

@ -0,0 +1,37 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class BaseFeljegyzesNaploNezetReszletekGridModel : IKretaIdentity
{
public string ID { get; set; }
public int TanuloId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Datum), ResourceType = typeof(FeljegyzesekResource))]
public DateTime EsemenyDatuma { get; set; }
public int Tipus { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tipus), ResourceType = typeof(FeljegyzesekResource))]
public string Tipus_DNAME { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Targy), ResourceType = typeof(FeljegyzesekResource))]
public string Targy { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tartalom), ResourceType = typeof(FeljegyzesekResource))]
public string Tartalom { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNeve { get; set; }
public string Torolt { get; set; }
public bool Torolt_BOOL { get; set; }
}
}

View file

@ -0,0 +1,105 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Security;
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class BeirasModel : BaseFeljegyzesModel
{
#region Constructors
public BeirasModel()
{
}
public BeirasModel(FeljegyzesCo co, int tanuloId)
{
Id = co.Id;
TanuloId = tanuloId;
FeljegyzoId = co.FeljegyzoId;
FeljegyzoNev = co.FeljegyzoNev;
EsemenyDatuma = co.EsemenyDatuma;
Tipus = co.Tipus;
Targy = co.Targy;
Megjegyzes = co.Megjegyzes;
Tartalom = co.Tartalom;
TartalomNemet = co.TartalomNemet;
TartalomHorvat = co.TartalomHorvat;
TartalomRoman = co.TartalomRoman;
TartalomSzerb = co.TartalomSzerb;
OsztalyCsoportId = co.RogziteskoriOsztalyId;
}
#endregion Constructors
#region Properties
public int? TanuloId { get; set; }
public int? OsztalyCsoportId { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Tipus), ResourceType = typeof(FeljegyzesekResource))]
public int? Tipus { get; set; }
public List<SelectListItem> TipusList { get; set; }
#endregion Properties
public ModelStateDictionary Validate()
{
var modelStateDictionary = BaseValidation();
if (!TanuloId.IsEntityId())
{
modelStateDictionary.AddModelError(nameof(TanuloId), TanuloResource.TanuloKivalasztasaKotelezo);
}
if (!Tipus.IsEntityId())
{
modelStateDictionary.AddModelError(nameof(Tipus), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.Tipus}\""));
}
return modelStateDictionary;
}
public FeljegyzesCo ToCo()
{
var result = new FeljegyzesCo
{
Id = Id,
FeljegyzoId = FeljegyzoId,
FeljegyzoNev = null,
Kezdete = null,
IsFaliujsagMegjelenes = false,
IsMindenkinek = false,
Megjegyzes = Megjegyzes,
OsztalyCsoportIdList = new List<int> { },
EsemenyDatuma = EsemenyDatuma,
TanitasiOraId = null,
TantargyId = null,
//NOTE: A TanuloId nem lehet null, ha mégis, akkor ott hibás a működés!
TanuloIdList = new List<int> { TanuloId.Value },
Targy = string.IsNullOrWhiteSpace(Targy) ? Tipus.GetDisplayName<EsemenyTipusEnum>(ClaimData.SelectedTanevID.Value) : Targy,
Tartalom = Tartalom,
TartalomNemet = TartalomNemet,
TartalomHorvat = TartalomHorvat,
TartalomRoman = TartalomRoman,
TartalomSzerb = TartalomSzerb,
Tipus = Tipus,
Vege = null,
RogziteskoriOsztalyId = OsztalyCsoportId,
BeirasOsztalyCsoportId = OsztalyCsoportId
};
return result;
}
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class BeirasokGridModel : BaseFeljegyzesNaploNezetGridModel
{
public string ApiControllerName { get; set; }
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class BeirasokReszletekGridModel : BaseFeljegyzesNaploNezetReszletekGridModel
{
}
}

View file

@ -0,0 +1,108 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web.Http.ModelBinding;
using Foolproof;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class ElektronikusUzenetModel : BaseFeljegyzesModel
{
#region Properties
public List<int> TanuloIdList { get; set; } = new List<int>();
public int? OsztalyCsoportId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IsFaliujsagMegjelenes), ResourceType = typeof(FeljegyzesekResource))]
public bool? IsFaliujsagMegjelenes { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IsMindenkinek), ResourceType = typeof(FeljegyzesekResource))]
public bool? IsMindenkinek { get; set; }
[RequiredIf("IsFaliujsagMegjelenes", true, ErrorMessage = "A következő mező kitöltése kötelező: \"Érvényesség vége\".")]
[Display(Name = nameof(FeljegyzesekResource.ErvenyessegVege), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? Vege { get; set; }
public DateTime? MinimumErvenyessegVege { get; set; }
public DateTime? MaximumErvenyessegVege { get; set; }
#endregion Properties
public ModelStateDictionary Validate()
{
var modelStateDictionary = BaseValidation();
if (!OsztalyCsoportId.IsEntityId())
{
modelStateDictionary.AddModelError(nameof(OsztalyCsoportId), OsztalyCsoportResource.OsztalyCsoportKotelezo);
}
if (!TanuloIdList.Any())
{
modelStateDictionary.AddModelError(nameof(TanuloIdList), TanuloResource.LegalabbEgyTanuloKivalasztasaKotelezo);
}
if (IsFaliujsagMegjelenes.HasValue && IsFaliujsagMegjelenes.Value)
{
if (!Vege.HasValue)
{
modelStateDictionary.AddModelError(nameof(Vege), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.ErvenyessegVege}\""));
}
else
{
FeljegyzesHelperCo feljegyzesHelperCo = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeljegyzesHelperCo();
var minimumErvenyessegVege = feljegyzesHelperCo.MinimumErvenyessegVege;
var maximumErvenyessegVege = feljegyzesHelperCo.MaximumErvenyessegVege;
var minOk = Vege >= minimumErvenyessegVege;
var maxOk = Vege <= maximumErvenyessegVege;
if (!minOk || !maxOk)
{
modelStateDictionary.AddModelError(nameof(Vege), string.Format(FeljegyzesekResource.AzErvenyessegVegeCsakKozeEshet, minimumErvenyessegVege.ToString("yyyy. MM. dd."), maximumErvenyessegVege.ToString("yyyy. MM. dd.")));
}
if (EsemenyDatuma.HasValue && Vege.Value < EsemenyDatuma.Value)
{
modelStateDictionary.AddModelError(nameof(Vege), FeljegyzesekResource.AzErvenyessegVegeNemLehetKisebbADatumnal);
}
}
}
return modelStateDictionary;
}
public FeljegyzesCo ToCo()
{
var result = new FeljegyzesCo
{
Id = Id,
FeljegyzoId = FeljegyzoId,
FeljegyzoNev = null,
Kezdete = IsFaliujsagMegjelenes != null && IsFaliujsagMegjelenes.Value ? EsemenyDatuma : null,
IsFaliujsagMegjelenes = IsFaliujsagMegjelenes,
IsMindenkinek = IsMindenkinek,
Megjegyzes = Megjegyzes,
//NOTE: A OsztalyCsoportId nem lehet null, ha mégis, akkor ott hibás a működés!
OsztalyCsoportIdList = new List<int> { OsztalyCsoportId.Value },
EsemenyDatuma = EsemenyDatuma,
TanitasiOraId = null,
TantargyId = null,
TanuloIdList = TanuloIdList,
Targy = string.IsNullOrWhiteSpace(Targy) ? EsemenyTipusEnum.ElektronikusUzenet.GetDisplayName(ClaimData.SelectedTanevID.Value) : Targy,
Tartalom = Tartalom,
Tipus = (int)EsemenyTipusEnum.ElektronikusUzenet,
Vege = IsFaliujsagMegjelenes != null && IsFaliujsagMegjelenes.Value ? Vege : null
};
return result;
}
}
}

View file

@ -0,0 +1,25 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class ElektronikusUzenetPopupGridModel : IKretaIdentity
{
public string ID { get; set; }
public string OsztalyNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
public string AnyjaNeve { get; set; }
public DateTime SzuletesiIdo { get; set; }
public string SzuletesiIdoFormatted { get; set; }
}
}

View file

@ -0,0 +1,110 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Foolproof;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class ElektronikusUzenetPopupModel
{
#region Constructors
public ElektronikusUzenetPopupModel()
{
}
public ElektronikusUzenetPopupModel(FeljegyzesCo co, int ocsID)
{
Id = co.Id;
TanuloIdList = co.TanuloIdList;
FeljegyzoIdPopup = co.FeljegyzoId;
FeljegyzoNevPopup = co.FeljegyzoNev;
EsemenyDatumaPopup = co.EsemenyDatuma;
TargyPopup = co.Targy;
MegjegyzesPopup = co.Megjegyzes;
TartalomPopup = co.Tartalom;
VegePopup = co.Vege;
IsFaliujsagMegjelenesPopup = co.IsFaliujsagMegjelenes;
IsMindenkinekPopup = co.IsMindenkinek;
OsztalyCsoportId = ocsID;
}
#endregion Constructors
#region Properties
public List<int> TanuloIdList { get; set; } = new List<int>();
public int? OsztalyCsoportId { get; set; }
public int? Id { get; set; }
public int? FeljegyzoIdPopup { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNevPopup { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Datum), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? EsemenyDatumaPopup { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Cim), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string TargyPopup { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Megjegyzes), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string MegjegyzesPopup { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Tartalom), ResourceType = typeof(FeljegyzesekResource))]
public string TartalomPopup { get; set; }
public DateTime? MinimumErvenyessegKezdetePopup { get; set; }
public DateTime? MaximumErvenyessegKezdetePopup { get; set; }
public DateTime? MinimumErvenyessegVegePopup { get; set; }
public DateTime? MaximumErvenyessegVegePopup { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IsFaliujsagMegjelenes), ResourceType = typeof(FeljegyzesekResource))]
public bool? IsFaliujsagMegjelenesPopup { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IsMindenkinek), ResourceType = typeof(FeljegyzesekResource))]
public bool? IsMindenkinekPopup { get; set; }
[RequiredIf("IsFaliujsagMegjelenesPopup", true, ErrorMessage = "A következő mező kitöltése kötelező: \"Érvényesség vége\".")]
[Display(Name = nameof(FeljegyzesekResource.ErvenyessegVege), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? VegePopup { get; set; }
public string ApiControllerName { get; set; }
#endregion Properties
public ElektronikusUzenetModel ToSaveModel()
{
var result = new ElektronikusUzenetModel
{
Id = Id,
TanuloIdList = TanuloIdList,
OsztalyCsoportId = OsztalyCsoportId,
FeljegyzoId = FeljegyzoIdPopup,
FeljegyzoNev = FeljegyzoNevPopup,
EsemenyDatuma = EsemenyDatumaPopup,
Vege = IsFaliujsagMegjelenesPopup != null && IsFaliujsagMegjelenesPopup.Value ? VegePopup : null,
Targy = string.IsNullOrWhiteSpace(TargyPopup) ? EsemenyTipusEnum.ElektronikusUzenet.GetDisplayName(ClaimData.SelectedTanevID.Value) : TargyPopup,
Megjegyzes = MegjegyzesPopup,
Tartalom = TartalomPopup,
IsFaliujsagMegjelenes = IsFaliujsagMegjelenesPopup,
IsMindenkinek = IsMindenkinekPopup
};
return result;
}
}
}

View file

@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web.Http.ModelBinding;
using Foolproof;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class ElektronikusUzenetSearchModel : BaseFeljegyzesModel
{
#region Properties
public int? CsoportIdSearch { get; set; }
public List<int> TanuloIdList { get; set; } = new List<int>();
public int? OsztalyCsoportId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IsFaliujsagMegjelenes), ResourceType = typeof(FeljegyzesekResource))]
public bool? IsFaliujsagMegjelenes { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IsMindenkinek), ResourceType = typeof(FeljegyzesekResource))]
public bool? IsMindenkinek { get; set; }
[RequiredIf("IsFaliujsagMegjelenes", true, ErrorMessage = "A következő mező kitöltése kötelező: \"Érvényesség vége\".")]
[Display(Name = nameof(FeljegyzesekResource.ErvenyessegVege), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? Vege { get; set; }
public DateTime? MinimumErvenyessegVege { get; set; }
public DateTime? MaximumErvenyessegVege { get; set; }
public string ControllerName { get; set; }
public string ApiControllerName { get; set; }
#endregion Properties
public ModelStateDictionary Validate()
{
var modelStateDictionary = BaseValidation();
if (!OsztalyCsoportId.IsEntityId())
{
modelStateDictionary.AddModelError(nameof(OsztalyCsoportId), OsztalyCsoportResource.OsztalyCsoportKotelezo);
}
if (!TanuloIdList.Any())
{
modelStateDictionary.AddModelError(nameof(TanuloIdList), TanuloResource.LegalabbEgyTanuloKivalasztasaKotelezo);
}
if (IsFaliujsagMegjelenes.HasValue && IsFaliujsagMegjelenes.Value)
{
if (!Vege.HasValue)
{
modelStateDictionary.AddModelError(nameof(Vege), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.ErvenyessegVege}\""));
}
else
{
FeljegyzesHelperCo feljegyzesHelperCo = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeljegyzesHelperCo();
var minimumErvenyessegVege = feljegyzesHelperCo.MinimumErvenyessegVege;
var maximumErvenyessegVege = feljegyzesHelperCo.MaximumErvenyessegVege;
var minOk = Vege >= minimumErvenyessegVege;
var maxOk = Vege <= maximumErvenyessegVege;
if (!minOk || !maxOk)
{
modelStateDictionary.AddModelError(nameof(Vege), string.Format(FeljegyzesekResource.AzErvenyessegVegeCsakKozeEshet, minimumErvenyessegVege.ToString("yyyy. MM. dd."), maximumErvenyessegVege.ToString("yyyy. MM. dd.")));
}
if (EsemenyDatuma.HasValue && Vege.Value < EsemenyDatuma.Value)
{
modelStateDictionary.AddModelError(nameof(Vege), FeljegyzesekResource.AzErvenyessegVegeNemLehetKisebbADatumnal);
}
}
}
return modelStateDictionary;
}
public FeljegyzesCo ToCo()
{
var result = new FeljegyzesCo
{
Id = Id,
FeljegyzoId = FeljegyzoId,
FeljegyzoNev = null,
Kezdete = IsFaliujsagMegjelenes != null && IsFaliujsagMegjelenes.Value ? EsemenyDatuma : null,
IsFaliujsagMegjelenes = IsFaliujsagMegjelenes,
IsMindenkinek = IsMindenkinek,
Megjegyzes = Megjegyzes,
//NOTE: A OsztalyCsoportId nem lehet null, ha mégis, akkor ott hibás a működés!
OsztalyCsoportIdList = new List<int> { OsztalyCsoportId.Value },
EsemenyDatuma = EsemenyDatuma,
TanitasiOraId = null,
TantargyId = null,
TanuloIdList = TanuloIdList,
Targy = string.IsNullOrWhiteSpace(Targy) ? EsemenyTipusEnum.ElektronikusUzenet.GetDisplayName(ClaimData.SelectedTanevID.Value) : Targy,
Tartalom = Tartalom,
Tipus = (int)EsemenyTipusEnum.ElektronikusUzenet,
Vege = IsFaliujsagMegjelenes != null && IsFaliujsagMegjelenes.Value ? Vege : null
};
return result;
}
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class ElektronikusUzenetekListaNezetGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Datum), ResourceType = typeof(FeljegyzesekResource))]
public DateTime EsemenyDatuma { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNeve { get; set; }
public string IsFaliujsagMegjelenes { get; set; }
[Display(Name = nameof(FeljegyzesekResource.FaliujsagMegjelenes), ResourceType = typeof(FeljegyzesekResource))]
public string IsFaliujsagMegjelenes_BNAME { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Targy), ResourceType = typeof(FeljegyzesekResource))]
public string Targy { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tartalom), ResourceType = typeof(FeljegyzesekResource))]
public string Tartalom { get; set; }
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class ElektronikusUzenetekNaploNezetGridModel : BaseFeljegyzesNaploNezetGridModel
{
public string ApiControllerName { get; set; }
}
}

View file

@ -0,0 +1,7 @@
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class ElektronikusUzenetekNaploNezetReszletekGridModel : BaseFeljegyzesNaploNezetReszletekGridModel
{
}
}

View file

@ -0,0 +1,117 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Http.ModelBinding;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Enums;
using Kreta.Resources;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class FaliujsagBejegyzesModel : BaseFeljegyzesModel
{
#region Constructors
public FaliujsagBejegyzesModel()
{
}
public FaliujsagBejegyzesModel(FeljegyzesCo co)
{
Id = co.Id;
FeljegyzoId = co.FeljegyzoId;
FeljegyzoNev = co.FeljegyzoNev;
OsztalyCsoportIdList = co.OsztalyCsoportIdList;
EsemenyDatuma = co.EsemenyDatuma;
Targy = co.Targy;
Megjegyzes = co.Megjegyzes;
Tartalom = co.Tartalom;
Vege = co.Vege;
IsMindenkinek = co.IsMindenkinek;
HasAdminJogosultsag = co.HasAdminJogosultsag;
}
#endregion Constructors
#region Properties
public List<int> OsztalyCsoportIdList { get; set; } = new List<int>();
[Display(Name = nameof(FeljegyzesekResource.BejegyzesElerhetoEgeszIntezmenySzamara), ResourceType = typeof(FeljegyzesekResource))]
public bool? IsMindenkinek { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.ErvenyessegVege), ResourceType = typeof(FeljegyzesekResource))]
public DateTime? Vege { get; set; }
public DateTime? MinimumErvenyessegVege { get; set; }
public DateTime? MaximumErvenyessegVege { get; set; }
#endregion Properties
public ModelStateDictionary Validate()
{
var modelStateDictionary = BaseValidation();
if (!Vege.HasValue)
{
modelStateDictionary.AddModelError(nameof(Vege), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.ErvenyessegVege}\""));
}
else
{
FeljegyzesHelperCo feljegyzesHelperCo = new FeljegyzesHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetFeljegyzesHelperCo();
var minimumErvenyessegVege = feljegyzesHelperCo.MinimumErvenyessegVege;
var maximumErvenyessegVege = feljegyzesHelperCo.MaximumErvenyessegVege;
var minOk = Vege >= minimumErvenyessegVege;
var maxOk = Vege <= maximumErvenyessegVege;
if (!minOk || !maxOk)
{
modelStateDictionary.AddModelError(nameof(Vege), string.Format(FeljegyzesekResource.AzErvenyessegVegeCsakKozeEshet, minimumErvenyessegVege.ToString("yyyy. MM. dd."), maximumErvenyessegVege.ToString("yyyy. MM. dd.")));
}
if (EsemenyDatuma.HasValue && Vege.Value < EsemenyDatuma.Value)
{
modelStateDictionary.AddModelError(nameof(Vege), FeljegyzesekResource.AzErvenyessegVegeNemLehetKisebbADatumnal);
}
}
return modelStateDictionary;
}
public FeljegyzesCo ToCo(bool isFogadoora = false)
{
var result = new FeljegyzesCo
{
Id = Id,
FeljegyzoId = FeljegyzoId,
FeljegyzoNev = null,
Kezdete = EsemenyDatuma,
IsFaliujsagMegjelenes = true,
IsMindenkinek = IsMindenkinek,
Megjegyzes = Megjegyzes,
OsztalyCsoportIdList = OsztalyCsoportIdList,
EsemenyDatuma = EsemenyDatuma,
TanitasiOraId = null,
TantargyId = null,
TanuloIdList = new List<int>(),
Targy = string.IsNullOrWhiteSpace(Targy) ? EsemenyTipusEnum.FaliujsagBejegyzes.GetDisplayName(ClaimData.SelectedTanevID.Value) : Targy,
Tartalom = Tartalom,
Tipus = (int)EsemenyTipusEnum.FaliujsagBejegyzes,
Vege = Vege
};
if (isFogadoora)
{
var now = DateTime.Now;
var newKezdetDatum = result.Vege.Value.AddDays(-7).Date.AddHours(now.Hour).AddMinutes(now.Minute);
result.Kezdete = newKezdetDatum < now ? now : newKezdetDatum;
}
return result;
}
}
}

View file

@ -0,0 +1,15 @@
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class FaliujsagBejegyzesPopupGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.OsztalyCsoportNeve), ResourceType = typeof(FeljegyzesekResource))]
public string OsztalyCsoportNeve { get; set; }
}
}

View file

@ -0,0 +1,32 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class FaliujsagBejegyzesekGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.ErvenyessegKezdete), ResourceType = typeof(FeljegyzesekResource))]
public DateTime Kezdete { get; set; }
[Display(Name = nameof(FeljegyzesekResource.ErvenyessegVege), ResourceType = typeof(FeljegyzesekResource))]
public DateTime Vege { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Targy), ResourceType = typeof(FeljegyzesekResource))]
public string Targy { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tartalom), ResourceType = typeof(FeljegyzesekResource))]
public string Tartalom { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tanar), ResourceType = typeof(FeljegyzesekResource))]
public string FeljegyzoNeve { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Cimzettek), ResourceType = typeof(FeljegyzesekResource))]
public string Cimzettek { get; set; }
}
}

View file

@ -0,0 +1,11 @@
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class FeljegyzesTorlesModel
{
public int Id { get; set; }
public int TanuloId { get; set; }
}
}

View file

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Classes;
using Kreta.Resources;
using Kreta.Web.Helpers.TabStrip;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class FeljegyzesekModel
{
[KretaRequired]
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
public int? OsztalyCsoportId { get; set; }
public DateTime? ElsoTanitasiNap { get; set; }
public DateTime? DefaultEsemenyDatuma { get; set; }
public List<TabStripItemModel> TabList { get; set; }
public string ControllerName { get; set; }
public string ApiControllerName { get; set; }
public bool IsDualisKepzohelyiCsoport { get; set; }
}
}

View file

@ -0,0 +1,13 @@
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class FeljegyzesekSearchModel
{
public bool IsNaploFeljegyzes { get; set; }
public int? CsoportIdSearch { get; set; }
public string ControllerName { get; set; }
public string ApiControllerName { get; set; }
}
}

View file

@ -0,0 +1,7 @@

namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class FelmentesekSearchModel
{
}
}

View file

@ -0,0 +1,206 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Core;
using Kreta.Resources;
using Microsoft.Ajax.Utilities;
using ModelStateDictionary = System.Web.Http.ModelBinding.ModelStateDictionary;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class KozossegiSzolgalatModel
{
#region Constructors
public KozossegiSzolgalatModel()
{
}
public KozossegiSzolgalatModel(KozossegiSzolgalatCo co)
{
Id = co.Id;
TanuloId = co.TanuloId;
IntervallumKezdete = co.IntervallumKezdete;
IntervallumVege = co.IntervallumVege;
TeljesitesiHelye = co.TeljesitesiHelye;
TeljesitesiHelyeNemet = co.TeljesitesiHelyeNemet;
TeljesitesiHelyeHorvat = co.TeljesitesiHelyeHorvat;
TeljesitesiHelyeRoman = co.TeljesitesiHelyeRoman;
TeljesitesiHelyeSzerb = co.TeljesitesiHelyeSzerb;
Oraszam = co.Oraszam;
KozossegiSzolgalatTipusa = co.KozossegiSzolgalatTipusa;
Megjegyzes = co.Megjegyzes;
MegjegyzesNemet = co.MegjegyzesNemet;
MegjegyzesHorvat = co.MegjegyzesHorvat;
MegjegyzesRoman = co.MegjegyzesRoman;
MegjegyzesSzerb = co.MegjegyzesSzerb;
RogzitesDatuma = co.RogzitesDatuma;
}
#endregion Constructors
#region Properties
public int? Id { get; set; }
public int FeljegyzoId { get; set; }
public int TanuloId { get; set; }
public int OsztalyCsoportId { get; set; }
public List<int> NemzetiDokumentumNyelvek { get; set; } = new List<int>();
[KretaRequired]
[DateRange(ErrorMessageResourceName = nameof(ErrorResource.IntervallumKezdeteNemErvenyes), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(FeljegyzesekResource.IntervallumKezdete), ResourceType = typeof(FeljegyzesekResource))]
public DateTime IntervallumKezdete { get; set; }
[KretaRequired]
[DateRange(ErrorMessageResourceName = nameof(ErrorResource.IntervallumVegeNemErvenyes), ErrorMessageResourceType = typeof(ErrorResource))]
[Display(Name = nameof(FeljegyzesekResource.IntervallumVege), ResourceType = typeof(FeljegyzesekResource))]
public DateTime IntervallumVege { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntezmenyNeve), ResourceType = typeof(FeljegyzesekResource))]
[KretaRequired]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string TeljesitesiHelye { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntezmenyNeveNemet), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string TeljesitesiHelyeNemet { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntezmenyNeveHorvat), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string TeljesitesiHelyeHorvat { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntezmenyNeveRoman), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string TeljesitesiHelyeRoman { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntezmenyNeveSzerb), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(255, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string TeljesitesiHelyeSzerb { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Oraszam), ResourceType = typeof(FeljegyzesekResource))]
public double? Oraszam { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Megjegyzes), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(1000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(FeljegyzesekResource.MegjegyzesNemet), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(1000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string MegjegyzesNemet { get; set; }
[Display(Name = nameof(FeljegyzesekResource.MegjegyzesHorvat), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(1000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string MegjegyzesHorvat { get; set; }
[Display(Name = nameof(FeljegyzesekResource.MegjegyzesRoman), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(1000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string MegjegyzesRoman { get; set; }
[Display(Name = nameof(FeljegyzesekResource.MegjegyzesSzerb), ResourceType = typeof(FeljegyzesekResource))]
[MaxLength(1000, ErrorMessageResourceName = nameof(CommonResource.MaxLengthValidation), ErrorMessageResourceType = typeof(CommonResource))]
public string MegjegyzesSzerb { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.RogzitesDatuma), ResourceType = typeof(FeljegyzesekResource))]
public DateTime RogzitesDatuma { get; set; }
[KretaRequired]
[Display(Name = nameof(FeljegyzesekResource.Tevekenyseg), ResourceType = typeof(FeljegyzesekResource))]
public int? KozossegiSzolgalatTipusa { get; set; }
public List<SelectListItem> KozossegiSzolgalatTipusList { get; set; }
#endregion Properties
public ModelStateDictionary Validate()
{
var modelStateDictionary = new ModelStateDictionary();
var now = DateTime.Today;
if (Oraszam > 50)
{
modelStateDictionary.AddModelError(nameof(Oraszam), ErrorResource.OraszamEgyes50Koze);
}
if (IntervallumVege > now)
{
modelStateDictionary.AddModelError(nameof(IntervallumVege), FeljegyzesekResource.IntervallumVegeNagyobbMintAMaiNap);
}
if (IntervallumKezdete > IntervallumVege)
{
modelStateDictionary.AddModelError(nameof(IntervallumKezdete), FeljegyzesekResource.IntervallumKezdeteNagyobbMintAVege);
}
if (TeljesitesiHelye.IsNullOrWhiteSpace())
{
modelStateDictionary.AddModelError(nameof(TeljesitesiHelye), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.IntezmenyNeve}\""));
}
if (!Oraszam.HasValue)
{
modelStateDictionary.AddModelError(nameof(Oraszam), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.Oraszam}\""));
}
else
{
var oraszam = Oraszam.Value;
if (oraszam < 1)
{
modelStateDictionary.AddModelError(nameof(Oraszam), FeljegyzesekResource.AzOraszamNemLehetKisebb1);
}
}
if (!KozossegiSzolgalatTipusa.IsEntityId())
{
modelStateDictionary.AddModelError(nameof(KozossegiSzolgalatTipusa), string.Format(CommonResource.Required, $"\"{FeljegyzesekResource.Tevekenyseg}\""));
}
if (RogzitesDatuma < IntervallumKezdete)
{
modelStateDictionary.AddModelError(nameof(RogzitesDatuma), FeljegyzesekResource.RogzitesDatumaNemLehetNagyobbMintAzIntervallumKedete);
}
return modelStateDictionary;
}
public KozossegiSzolgalatCo ToCo()
{
var result = new KozossegiSzolgalatCo
{
Id = Id,
TanuloId = TanuloId,
IntervallumKezdete = IntervallumKezdete,
IntervallumVege = IntervallumVege,
Megjegyzes = Megjegyzes,
MegjegyzesNemet = MegjegyzesNemet,
MegjegyzesHorvat = MegjegyzesHorvat,
MegjegyzesRoman = MegjegyzesRoman,
MegjegyzesSzerb = MegjegyzesSzerb,
//NOTE: Validáció miatt nem lehet null az Oraszam!!!
Oraszam = Oraszam.Value,
TeljesitesiHelye = TeljesitesiHelye,
TeljesitesiHelyeNemet = TeljesitesiHelyeNemet,
TeljesitesiHelyeHorvat = TeljesitesiHelyeHorvat,
TeljesitesiHelyeRoman = TeljesitesiHelyeRoman,
TeljesitesiHelyeSzerb = TeljesitesiHelyeSzerb,
FeljegyzoId = FeljegyzoId,
//NOTE: Validáció miatt nem lehet null a KozossegiSzolgalatTipusa!!!
KozossegiSzolgalatTipusa = KozossegiSzolgalatTipusa.Value,
RogzitesDatuma = RogzitesDatuma
};
return result;
}
}
}

View file

@ -0,0 +1,28 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class KozossegiSzolgalatokGridModel : IKretaIdentity
{
public string ID { get; set; }
public string TanuloId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.SzuletesiIdo), ResourceType = typeof(FeljegyzesekResource))]
public DateTime SzuletesiIdo { get; set; }
[Display(Name = nameof(FeljegyzesekResource.AnyjaNeve), ResourceType = typeof(FeljegyzesekResource))]
public string AnyjaNeve { get; set; }
[Display(Name = nameof(FeljegyzesekResource.OsszesOraszam), ResourceType = typeof(FeljegyzesekResource))]
public double OsszesOraszam { get; set; }
}
}

View file

@ -0,0 +1,18 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class KozossegiSzolgalatokModel
{
[Display(Name = nameof(CommonResource.OsztalyCsoport), ResourceType = typeof(CommonResource))]
public int? OsztalyCsoportId { get; set; }
public string OsztalyCsoportNev { get; set; }
public List<SelectListItem> OsztalyCsoportList { get; set; }
}
}

View file

@ -0,0 +1,56 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class KozossegiSzolgalatokReszletekGridModel : IKretaIdentity
{
public string ID { get; set; }
public int TanuloId { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntervallumKezdete), ResourceType = typeof(FeljegyzesekResource))]
public DateTime IntervallumKezdete { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntervallumVege), ResourceType = typeof(FeljegyzesekResource))]
public DateTime IntervallumVege { get; set; }
[Display(Name = nameof(FeljegyzesekResource.IntezmenyNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TeljesitesiHelye { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Oraszam), ResourceType = typeof(FeljegyzesekResource))]
public double Oraszam { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.OsztalyNev), ResourceType = typeof(FeljegyzesekResource))]
public string OsztalyNev { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Tevekenyseg), ResourceType = typeof(FeljegyzesekResource))]
public string KozossegiSzolgalatTipusa_DNAME { get; set; }
[Display(Name = nameof(FeljegyzesekResource.Megjegyzes), ResourceType = typeof(FeljegyzesekResource))]
public string Megjegyzes { get; set; }
[Display(Name = nameof(FeljegyzesekResource.RogzitesDatuma), ResourceType = typeof(FeljegyzesekResource))]
public DateTime RogzitesDatuma { get; set; }
[Display(Name = nameof(CommonResource.Ugyiratszam), ResourceType = typeof(CommonResource))]
public string Ugyiratszam { get; set; }
public string Modosithato { get; set; }
public bool Modosithato_BOOL { get; set; }
public string Torolt { get; set; }
public bool Torolt_BOOL { get; set; }
public bool Torolheto_BOOL { get; set; }
}
}

View file

@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class KozossegiSzolgalatokSearchModel
{
[Display(Name = nameof(TanuloResource.IntervallumKezdete), ResourceType = typeof(TanuloResource))]
public DateTime? IdoszakKezdete { get; set; }
public DateTime? IdoszakVege { get; set; }
[Display(Name = nameof(FelhasznalokResource.TanuloNeve), ResourceType = typeof(FelhasznalokResource))]
public string TanuloNeve { get; set; }
[Display(Name = nameof(AdminisztracioResource.AnyjaNeve), ResourceType = typeof(AdminisztracioResource))]
public string AnyjaNeve { get; set; }
[Display(Name = nameof(FeljegyzesekResource.OsszesOraszam), ResourceType = typeof(FeljegyzesekResource))]
public double OsszesOraszamKezdete { get; set; }
public double OsszesOraszamVege { get; set; }
public int? CsoportIdSearch { get; set; }
public int? OsztalyCsoportId { get; set; }
public string OsztalyCsoportNev { get; set; }
public List<SelectListItem> OsztalyCsoportList { get; set; }
public KozossegiSzolgalatokSearchCo ConvertModelToCo()
{
var co = new KozossegiSzolgalatokSearchCo
{
IntervallumKezdete = this.IdoszakKezdete,
IntervallumVege = this.IdoszakVege,
TanuloNev = this.TanuloNeve,
AnyjaNeve = this.AnyjaNeve,
OsszesOraszamKezdete = this.OsszesOraszamKezdete,
OsszesOraszamVege = this.OsszesOraszamVege,
OsztalyCsoportIdList = this.CsoportIdSearch.HasValue ? new List<int> { CsoportIdSearch.Value } : null
};
return co;
}
}
}

View file

@ -0,0 +1,51 @@
using System;
using System.ComponentModel.DataAnnotations;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Interfaces;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class OsszefuggoSzakGyakGridModel : IKretaIdentity
{
public string ID { get; set; }
[Display(Name = nameof(FeljegyzesekResource.TanuloNeve), ResourceType = typeof(FeljegyzesekResource))]
public string TanuloNev { get; set; }
public string Teljesitett { get; set; }
public string ErtekelesOsztalyzatId { get; set; }
public string ErtekelesSzoveg { get; set; }
public string Megjegyzes { get; set; }
public DateTime? TeljesitesDatum => !string.IsNullOrWhiteSpace(TeljesitesDatumFormatted) ? DateTime.Parse(TeljesitesDatumFormatted) : (DateTime?)null;
public string TeljesitesDatumFormatted { get; set; }
public int CsoportId { get; set; }
public int TantargyId { get; set; }
public OsszefuggoSzakGyakGridCo ToCo()
{
var co = new OsszefuggoSzakGyakGridCo
{
ID = int.Parse(ID),
TanuloNev = TanuloNev,
Teljesitett = !string.IsNullOrWhiteSpace(Teljesitett) ? Teljesitett == "T" : (bool?)null,
ErtekelesOsztalyzatId = !string.IsNullOrWhiteSpace(ErtekelesOsztalyzatId) ? int.Parse(ErtekelesOsztalyzatId) : (int?)null,
ErtekelesSzoveg = ErtekelesSzoveg,
Megjegyzes = Megjegyzes,
TeljesitesDatum = TeljesitesDatum,
CsoportId = CsoportId,
TantargyId = TantargyId
};
return co;
}
}
}

View file

@ -0,0 +1,28 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class OsszefuggoSzakGyakModel
{
public OsszefuggoSzakGyakModel()
{
TeljesitettList = new List<SelectListItem>
{
new SelectListItem { Value = "T", Text = FeljegyzesekResource.Teljesitve },
new SelectListItem { Value = "F", Text = FeljegyzesekResource.NemTeljesitve }
};
}
[Display(Name = nameof(CommonResource.Csoport), ResourceType = typeof(CommonResource))]
public int? CsoportId { get; set; }
[Display(Name = nameof(CommonResource.Tantargy), ResourceType = typeof(CommonResource))]
public int? TantargyId { get; set; }
public List<SelectListItem> OsztalyzatList { get; set; }
public List<SelectListItem> TeljesitettList { get; set; }
}
}

View file

@ -0,0 +1,26 @@
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.Resources;
namespace Kreta.Web.Areas.Feljegyzes.Models
{
public class OsszefuggoSzakGyakSearchModel
{
public OsszefuggoSzakGyakSearchModel()
{
TeljesitettList = new List<SelectListItem>
{
new SelectListItem { Value = "T", Text = FeljegyzesekResource.Teljesitve },
new SelectListItem { Value = "F", Text = FeljegyzesekResource.NemTeljesitve }
};
}
public int? CsoportIdSearch { get; set; }
public int? TantargyIdSearch { get; set; }
public List<SelectListItem> OsztalyzatList { get; set; }
public List<SelectListItem> TeljesitettList { get; set; }
}
}

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>