init
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.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.Hianyzas.ApiControllers
|
||||
{
|
||||
public class BaseIgazolasokApiController : ApiController
|
||||
{
|
||||
[NonAction]
|
||||
public DataSourceResult GetDetailIgazolasok(int tanuloId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, int? szervezetTipusId = null)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidTanulo(tanuloId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
var helper = new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds = helper.IgazolasDetailKereses(tanuloId, szervezetTipusId);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public DataSourceResult GetIgazolasGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request, int? szervezetTipusId = null)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<IgazolasKeresoModel>(data);
|
||||
|
||||
if (!model.OsztCsopId.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztalyCsoport(model.OsztCsopId.Value))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
IgazolasHelper helper = new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
DataSet ds = helper.IgazolasKereses(model.OsztCsopId, szervezetTipusId);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,125 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Utils;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.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.Hianyzas.ApiControllers
|
||||
{
|
||||
public class BaseMulasztasKeresoApiController : ApiController
|
||||
{
|
||||
[NonAction]
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request, SzervezetTipusEnum? szervezetTipus = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, szervezetTipus);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<MulasztasGridModel>(MulasztasGridModel.MulasztasExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(MulasztasResource.ExportDefaultSheetname, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), MulasztasResource.ExportFileName);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
public (GridParameters gridParameter, List<MulasztasGridModel> modelList) GetGridData(string data, DataSourceRequest request, SzervezetTipusEnum? szervezetTipus = null)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MulasztasSearchModel>(data);
|
||||
|
||||
if (szervezetTipus.HasValue)
|
||||
{
|
||||
model.SzervezetTipusId = (int)szervezetTipus;
|
||||
}
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new MulasztasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMulasztasCoList(model.ConvertModelToCo(), true);
|
||||
|
||||
var modelList = new List<MulasztasGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new MulasztasGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteMulasztas([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
helper.DeleteMulasztasById(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloErtekelesResource.Ertekeles, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteTobbesMulasztas([FromBody] int[] ids)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
foreach (var id in ids)
|
||||
{
|
||||
helper.DeleteMulasztasById(id);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, TanuloErtekelesResource.Ertekeles, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetIgazoltList()
|
||||
{
|
||||
var items = new Dictionary<string, string>
|
||||
{
|
||||
{ "0", HianyzasResource.Igazolatlan },
|
||||
{ "1", HianyzasResource.Igazolt },
|
||||
{ "2", HianyzasResource.Igazolando }
|
||||
};
|
||||
return Json(items.ToComboBoxItemList());
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,336 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using System.Web.Http.Results;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.Helpers;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok;
|
||||
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.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class BaseMulasztasokApiController : ApiController
|
||||
{
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetTanoraList(string cascadeFilter)
|
||||
{
|
||||
DateTime? datumInput;
|
||||
DateTime temp;
|
||||
if (DateTime.TryParse(cascadeFilter, out temp))
|
||||
{
|
||||
datumInput = temp;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception();
|
||||
}
|
||||
IDictionary<string, string> tanorak;
|
||||
|
||||
var result = new List<ComboBoxListItem>();
|
||||
|
||||
var helper = new TanoraHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
tanorak = helper.GetMegtartottOraByDatumAndOsztalyFonok(datumInput.Value, ClaimData.FelhasznaloId);
|
||||
|
||||
foreach (var item in tanorak)
|
||||
{
|
||||
var sli = new ComboBoxListItem { Text = item.Value, Value = item.Key };
|
||||
result.Add(sli);
|
||||
}
|
||||
|
||||
return Json(result);
|
||||
}
|
||||
|
||||
public JsonResult<List<ComboBoxListItem>> GetIgazoltList()
|
||||
{
|
||||
var result = new List<ComboBoxListItem>
|
||||
{
|
||||
new ComboBoxListItem
|
||||
{
|
||||
Value = ((int) IgazoltSearchEnum.Igazolt).ToString(),
|
||||
Text = StringResourcesUtil.GetString(2568)
|
||||
},
|
||||
new ComboBoxListItem
|
||||
{
|
||||
Value = ((int) IgazoltSearchEnum.Igazolatlan).ToString(),
|
||||
Text = StringResourcesUtil.GetString(2800)
|
||||
},
|
||||
new ComboBoxListItem
|
||||
{
|
||||
Value = ((int) IgazoltSearchEnum.NemEllenorzott).ToString(),
|
||||
Text = StringResourcesUtil.GetString(4571)
|
||||
}
|
||||
};
|
||||
|
||||
//Igazolt
|
||||
//Igazolatlan
|
||||
//Nem ellenőrzött
|
||||
|
||||
return Json(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteMulasztas([FromBody] int id)
|
||||
{
|
||||
CheckMulasztas(id);
|
||||
|
||||
try
|
||||
{
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.DeleteMulasztasById(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest,
|
||||
string.Format(StringResourcesUtil.GetString(5490),
|
||||
StringResourcesUtil.GetString(500) /*,
|
||||
e.ConnectionErrorMessage*/)
|
||||
/*A(z) mulasztás nem törölhető, mert egy vagy több kapcsolódása van (kapcsolatok: {1})!*/);
|
||||
}
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public HttpResponseMessage SaveMulasztasList(List<MulasztasokSaveModel> list, int? szervezetTipusId = null)
|
||||
{
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
if (item.ID != 0 && (item.Visszavonhato.Value || item.Igazolt != null))
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(item.Megjegyzes) && item.Megjegyzes.Length > 255)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AMegjegyzesMax255KarakterLehet);
|
||||
}
|
||||
|
||||
if(!szervezetTipusId.HasValue)
|
||||
{
|
||||
CheckMulasztas(item.ID.Value);
|
||||
}
|
||||
|
||||
MulasztasokCo co = MulasztasokHelper.ConvertNaploNezetMulasztasokSaveModelToCo(item);
|
||||
var mulasztasNotificaton = helper.SaveOrUpdateMulasztas(co);
|
||||
}
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public HttpResponseMessage SaveNaploNezetMulasztasList(MulasztasokNaploNezetSaveModel model, int? szervezetTipusId = null)
|
||||
{
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
foreach (var mulasztas in model.Mulasztasok)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(mulasztas.Megjegyzes) && mulasztas.Megjegyzes.Length > 255)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.AMegjegyzesMax255KarakterLehet);
|
||||
}
|
||||
|
||||
if (!mulasztas.ID.HasValue)
|
||||
{
|
||||
var mulasztasDbId = helper.GetMulasztasId(mulasztas.TanuloId, mulasztas.TanitasiOraId);
|
||||
|
||||
if (mulasztasDbId.IsEntityId())
|
||||
{
|
||||
mulasztas.ID = mulasztasDbId;
|
||||
}
|
||||
}
|
||||
|
||||
if (mulasztas.ID.HasValue)
|
||||
{
|
||||
CheckMulasztas(mulasztas.ID.Value);
|
||||
}
|
||||
|
||||
CheckTanulo(mulasztas.TanuloId);
|
||||
}
|
||||
|
||||
CheckUtkozes(helper, model, szervezetTipusId);
|
||||
|
||||
var sikertelenMulasztasMentesek = new List<string>();
|
||||
foreach (var mulasztas in model.Mulasztasok)
|
||||
{
|
||||
var co = MulasztasokHelper.ConvertNaploNezetMulasztasokSaveModelToCo(mulasztas);
|
||||
try
|
||||
{
|
||||
_ = helper.SaveOrUpdateNaplonezetMulasztas(co);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
sikertelenMulasztasMentesek.Add(ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
if (sikertelenMulasztasMentesek.Count > 0)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Join("<br/>", sikertelenMulasztasMentesek.Distinct()));
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
private void CheckUtkozes(MulasztasHelper mulasztasHelper, MulasztasokNaploNezetSaveModel model, int? szervezetTipusId = null)
|
||||
{
|
||||
if (!model.Mulasztasok.Any(m => m.MulasztasTipus == (int)Enums.MulasztasTipusEnum.hianyzas))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var naploNezetGridDs = mulasztasHelper.GetMulasztasokNaploNezetGrid(model.OsztalyCsoportId, model.NaploNezetDatum, IsCsoportVezeto(), szervezetTipusId);
|
||||
|
||||
var oraColumnPrefixes = Enumerable.Range(Core.Constants.Mulasztas.OraSorszamMinValue, Core.Constants.Mulasztas.OraSorszamMaxValue - Core.Constants.Mulasztas.OraSorszamMinValue + 1)
|
||||
.Select(i => "Ora" + (i < 0 ? "Minusz" + Math.Abs(i) : i.ToString()));
|
||||
var foglalkozasColumnPrefixes = Enumerable.Range(1, Core.Constants.Mulasztas.FoglalkozasCount)
|
||||
.Select(i => "Foglalkozas" + i.ToString());
|
||||
var columnPrefixes = oraColumnPrefixes.Concat(foglalkozasColumnPrefixes);
|
||||
|
||||
var tanitasiOraIdHashSet = new HashSet<int>();
|
||||
foreach (DataRow dataRow in naploNezetGridDs.Tables[0].AsEnumerable())
|
||||
{
|
||||
foreach (var columnPrefix in columnPrefixes)
|
||||
{
|
||||
var tanitasiOraId = dataRow.Field<int?>(columnPrefix + "TanitasiOraId");
|
||||
if (tanitasiOraId.HasValue)
|
||||
{
|
||||
tanitasiOraIdHashSet.Add(tanitasiOraId.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var tanitasiOraKezdeteVegeList = mulasztasHelper.ListTanitasiOraKezdeteVege(tanitasiOraIdHashSet);
|
||||
|
||||
var errorMessages = new List<string>();
|
||||
|
||||
var mulasztasokGroupByTanulo = model.Mulasztasok.Where(m => m.MulasztasTipus == (int)Enums.MulasztasTipusEnum.hianyzas).GroupBy(x => x.TanuloId);
|
||||
foreach (var mulasztasokGroup in mulasztasokGroupByTanulo)
|
||||
{
|
||||
var tanuloRow = naploNezetGridDs.Tables[0].AsEnumerable().First(r => r.Field<int>("TanuloId") == mulasztasokGroup.Key);
|
||||
|
||||
var tanitasiOraIdListByTanuloHianyzas = mulasztasokGroup.Select(m => m.TanitasiOraId).ToList();
|
||||
foreach (var columnPrefix in columnPrefixes)
|
||||
{
|
||||
var mulasztasTipus = tanuloRow.Field<string>(columnPrefix + "MulasztasTipus");
|
||||
if (!string.IsNullOrWhiteSpace(mulasztasTipus) && int.Parse(mulasztasTipus) == (int)Enums.MulasztasTipusEnum.hianyzas)
|
||||
{
|
||||
var tanitasiOraId = tanuloRow.Field<int>(columnPrefix + "TanitasiOraId");
|
||||
tanitasiOraIdListByTanuloHianyzas.Add(tanitasiOraId);
|
||||
}
|
||||
}
|
||||
|
||||
var tanitasiOraKezdeteVegeListByTanuloHianyzas = tanitasiOraKezdeteVegeList.Where(t => tanitasiOraIdListByTanuloHianyzas.Contains(t.Id));
|
||||
var utkozoGroups = GetUtkozoGroups(tanitasiOraKezdeteVegeListByTanuloHianyzas);
|
||||
foreach (var utkozoGroup in utkozoGroups.Where(g => g.Count > 1))
|
||||
{
|
||||
var errorMessage = string.Format(MulasztasResource.HianyzasUtkozesError,
|
||||
string.Join(MulasztasResource.EsAz,
|
||||
utkozoGroup.Select(g => g.Oraszam.HasValue
|
||||
? string.Format(MulasztasResource._0Ora, g.Oraszam)
|
||||
: string.Format(MulasztasResource._0korKezdodoOra, g.OraKezdete.ToString(Core.Constants.ToStringPattern.HungarianTime)))));
|
||||
errorMessages.Add(errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
if (errorMessages.Any())
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, string.Join(Constants.General.DoubleBr, errorMessages));
|
||||
}
|
||||
}
|
||||
|
||||
private IEnumerable<IList<TanitasiOraCo>> GetUtkozoGroups(IEnumerable<TanitasiOraCo> tanitasiOraList)
|
||||
{
|
||||
var result = new List<List<TanitasiOraCo>>();
|
||||
|
||||
foreach (var tanitasiOra in tanitasiOraList)
|
||||
{
|
||||
var group = result.FirstOrDefault(r => r.Any(x => x.OraKezdete < tanitasiOra.OraVege && tanitasiOra.OraKezdete < x.OraVege));
|
||||
if (group != null)
|
||||
{
|
||||
group.Add(tanitasiOra);
|
||||
}
|
||||
else
|
||||
{
|
||||
result.Add(new List<TanitasiOraCo> { tanitasiOra });
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public JsonResult<bool> VaneMarIgazolt(int tipusId, int tanuloId, int oraId)
|
||||
{
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
return Json(helper.VaneMarIgazolt(tipusId, tanuloId, oraId));
|
||||
}
|
||||
|
||||
public void CheckOsztalyCsoport(int osztalyCsoportId)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidOsztalyCsoport(osztalyCsoportId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
}
|
||||
|
||||
public void CheckCsoport(int csoportId)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidCsoport(csoportId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
}
|
||||
|
||||
public void CheckTanulo(int tanuloId, bool lehetTTF = false)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidTanulo(tanuloId, lehetTTF))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckMulasztas(int mulasztasId)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidMulasztas(mulasztasId))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsCsoportVezeto()
|
||||
{
|
||||
return ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.CsoportVezeto.ClaimValue)
|
||||
&& !ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Osztalyfonok.ClaimValue)
|
||||
&& !ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)
|
||||
&& !ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Evfolyamfelelos.ClaimValue);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,40 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.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.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public class DualisIgazolasokApiController : BaseIgazolasokApiController
|
||||
{
|
||||
public DataSourceResult GetDetailIgazolasok(int tanuloId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return base.GetDetailIgazolasok(tanuloId, request, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public DataSourceResult GetIgazolasGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return base.GetIgazolasGrid(data, request, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
using System.Net.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class DualisMulasztasKeresoApiController : BaseMulasztasKeresoApiController
|
||||
{
|
||||
public DataSourceResult GetMulasztasGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, SzervezetTipusEnum.Dualis);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
return base.GetExport(data, request, SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,250 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public class DualisMulasztasokApiController : BaseMulasztasokApiController
|
||||
{
|
||||
#region Dátum nézet
|
||||
|
||||
//Mulasztásos napok lekérdezése a dátum nézethez
|
||||
public DataSourceResult GetMulasztasokDatumNezetGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MulasztasIndexModel>(data);
|
||||
|
||||
if (!model.OsztalyCsoportId.HasValue && !model.CsoportId.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
model.CsoportId = model.OsztalyCsoportId.Value;
|
||||
CheckCsoport(model.CsoportId.Value);
|
||||
int osztalyCsoportId = model.CsoportId.Value;
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "MulasztasDatuma DESC";
|
||||
}
|
||||
|
||||
ds = helper.GetDatumNezetDataByOsztalyCsoportId(osztalyCsoportId, false);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
//Mulasztasok lekérdezése dátum alapján
|
||||
public DataSourceResult GetMulasztasokDatumNezetDetailGrid(string model, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var mulasztasModel = JsonConvert.DeserializeObject<MulasztasokDatumNezetGridModel>(model);
|
||||
|
||||
CheckCsoport(mulasztasModel.OsztalyCsoportId);
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "Oraszam ASC";
|
||||
}
|
||||
|
||||
ds = helper.GetMulasztasokDatumNezetDetailGrid(mulasztasModel.MulasztasDatuma, mulasztasModel.OsztalyCsoportId, (IsCsoportVezeto()));
|
||||
|
||||
#region "Header helyett nulladik sor, ha"
|
||||
//NOTE: "Ideiglenesen mivel a grid headerbe nincs lehetőség az összes oszlopérték beállítására egyszerre, ezért bekerül egy nulladik sor, amivel állítani lehet..."
|
||||
|
||||
if (mulasztasModel.IsTanorai == false && mulasztasModel.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak)
|
||||
{
|
||||
DataRow dr = ds.Tables[0].NewRow();
|
||||
dr["ID"] = 0;
|
||||
dr["TanuloNev"] = "";
|
||||
ds.Tables[0].Rows.InsertAt(dr, 0);
|
||||
}
|
||||
|
||||
#endregion "Header helyett nulladik sor, ha"
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Dátum nézet
|
||||
|
||||
#region Tanuló nézet
|
||||
|
||||
public DataSourceResult GetMulasztasokTanuloNezetGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MulasztasSearchModel>(data);
|
||||
|
||||
var osztalyCsoportId = model.OsztalyCsoportId;
|
||||
var tanuloId = model.TanuloId;
|
||||
|
||||
if (!osztalyCsoportId.IsEntityId() && !tanuloId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
ds = helper.GetTanulokMulasztasaiKesesei(osztalyCsoportId, tanuloId, false, (int)SzervezetTipusEnum.Dualis);
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokTanuloNezetDetailGrid(int tanuloId, int osztalyCsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
CheckTanulo(tanuloId,true);
|
||||
|
||||
var coList = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetMulasztasokTanuloDetailGridItemCoList(new MulasztasokCo { TanuloId = tanuloId, OsztCsop = osztalyCsoportId == default ? default(int?) : osztalyCsoportId, KapcsCsop = true }, true, csoportVezetoId: (int?)null);
|
||||
var modelList = new List<MulasztasGridModel>();
|
||||
|
||||
foreach (var item in coList)
|
||||
{
|
||||
var gridModel = new MulasztasGridModel(item);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
#endregion Tanuló nézet
|
||||
|
||||
#region Napló nézet
|
||||
|
||||
public DataSourceResult GetMulasztasokNaploNezetGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MulasztasSearchModel>(data);
|
||||
|
||||
if (!model.OsztalyCsoportId.HasValue || !model.NaploNezetDatum.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
CheckOsztalyCsoport(model.OsztalyCsoportId.Value);
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "TanuloNev ASC";
|
||||
}
|
||||
|
||||
ds = helper.GetMulasztasokNaploNezetGrid(model.OsztalyCsoportId.Value, model.NaploNezetDatum.Value, false, (int)SzervezetTipusEnum.Dualis);
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Tanuló popup
|
||||
|
||||
public DataSourceResult GetTanuloMulasztasaiGrid(string data, bool igazolandok, bool isTanorai, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloMulasztasaiPopupModel>(data);
|
||||
CheckTanulo(model.TanuloId);
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "MulasztasDatuma DESC";
|
||||
}
|
||||
|
||||
ds = helper.GetTanuloMulasztasaiGrid(model.TanuloId, ClaimData.AktivTanevID.Value, igazolandok, null, (int?)null, model.OsztalyCsoportId);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
public DataSourceResult GetTanuloMulasztasaiDetailGrid(string model, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var mulasztasModel = JsonConvert.DeserializeObject<TanuloMulasztasaiPopupModel>(model);
|
||||
CheckTanulo(mulasztasModel.TanuloId);
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "Oraszam ASC";
|
||||
}
|
||||
|
||||
bool isCsoportVezeto;
|
||||
bool? isTanorai = null;
|
||||
if (mulasztasModel.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet)
|
||||
{
|
||||
isCsoportVezeto = true;
|
||||
isTanorai = mulasztasModel.IsTanorai;
|
||||
}
|
||||
else
|
||||
{
|
||||
isCsoportVezeto = IsCsoportVezeto();
|
||||
}
|
||||
var mulasztasokCo = new MulasztasokCo
|
||||
{
|
||||
Tol = mulasztasModel.MulasztasDatuma,
|
||||
Ig = mulasztasModel.MulasztasDatuma,
|
||||
OsztalyFonokId = ClaimData.FelhasznaloId,
|
||||
OsztCsop = mulasztasModel.OsztalyCsoportId,
|
||||
TanuloId = mulasztasModel.TanuloId
|
||||
};
|
||||
ds = helper.GetTanuloMulasztasaiDetailGrid(mulasztasokCo, mulasztasModel.Kezeletlen, isTanorai, isCsoportVezeto ? ClaimData.FelhasznaloId : (int?)null);
|
||||
|
||||
#region "Header helyett nulladik sor, ha"
|
||||
//NOTE: "Ideiglenesen mivel a grid headerbe nincs lehetőség az összes oszlopérték beállítására egyszerre, ezért bekerül egy nulladik sor, amivel állítani lehet..."
|
||||
if (mulasztasModel.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet
|
||||
|| (mulasztasModel.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet
|
||||
&& mulasztasModel.IsTanorai == false && mulasztasModel.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak))
|
||||
{
|
||||
DataRow dr = ds.Tables[0].NewRow();
|
||||
dr["ID"] = 0;
|
||||
dr["TargyNev"] = "";
|
||||
ds.Tables[0].Rows.InsertAt(dr, 0);
|
||||
}
|
||||
|
||||
#endregion "Header helyett nulladik sor, ha"
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Tanuló popup
|
||||
|
||||
public HttpResponseMessage SaveMulasztasList(List<MulasztasokSaveModel> list)
|
||||
{
|
||||
return base.SaveMulasztasList(list, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public HttpResponseMessage SaveNaploNezetMulasztasList(MulasztasokNaploNezetSaveModel model)
|
||||
{
|
||||
|
||||
return base.SaveNaploNezetMulasztasList(model, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,161 @@
|
||||
using System;
|
||||
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.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Areas.Tanulo.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.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class FelmentesekApiController : ApiController
|
||||
{
|
||||
|
||||
public DataSourceResult GetFelmentesekGrid(string data, [System.Web.Http.ModelBinding.ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public HttpResponseMessage SaveFelmentes(TanuloFelmentesModel model)
|
||||
{
|
||||
TanuloLogic.TanuloFelmentesCustomValidation(ModelState, model);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
var co = TanuloFelmentesModel.ConvertModelToCo(model);
|
||||
|
||||
if (co.IsKorabbiMulasztasokEllenorzese && co.Kezdete.Value < DateTime.Now && co.OraMentesites)
|
||||
{
|
||||
var mulasztasDataSet = helper.CheckModosuloKorabbiMulasztasok(co);
|
||||
|
||||
if (mulasztasDataSet.Tables[0].Rows.Count != 0)
|
||||
{
|
||||
return Request.CreateResponse(HttpStatusCode.OK, mulasztasDataSet.ToDataSourceResult(), Configuration.Formatters.JsonFormatter);
|
||||
}
|
||||
}
|
||||
|
||||
helper.TanuloFelmentesMentese(co, ClaimData.KovTanevID);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (BlException e)
|
||||
{
|
||||
var error = new StatusError(HttpStatusCode.BadRequest, e.Message);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public HttpResponseMessage DeleteFelmentes([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.TanuloFelmentesTorles(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, FelmentesResource.Felmentes, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportFelmentesekGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, isTeljesFelmentesOka: true);
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<FelmentesekGridModel>(FelmentesekGridModel.FelmentesekGridExportAttributeId);
|
||||
var memoryStream = SimpleExportLogic.GetExport(FelmentesResource.FelmentesekGridExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{FelmentesResource.FelmentesekGridExportFilename}_{DateTime.Now:yyyy_MM_dd}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportAktivFelmentesek(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, false, true);
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<FelmentesekGridModel>(FelmentesekGridModel.AktivFelmentesekGridExportAttributeId);
|
||||
var memoryStream = SimpleExportLogic.GetExport(FelmentesResource.AktivFelmentesekGridExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{FelmentesResource.AktivFelmentesekGridExportFilename}_{DateTime.Now:yyyy_MM_dd}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExportToroltFelmentesek(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request, true, true);
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<FelmentesekGridModel>(FelmentesekGridModel.ToroltFelmentesekGridExportAttributeId);
|
||||
var memoryStream = SimpleExportLogic.GetExport(FelmentesResource.ToroltFelmentesekGridExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{FelmentesResource.ToroltFelmentesekGridExportFilename}_{DateTime.Now:yyyy_MM_dd}.xlsx");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<FelmentesekGridModel> modelList) GetGridData(string data, DataSourceRequest request, bool? torolt = null, bool isTeljesFelmentesOka = false)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<FelmentesekSearchModel>(data);
|
||||
model.Torolt = torolt;
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new FelmentesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFelmentesGrid(model.ToCo());
|
||||
|
||||
var modelList = new List<FelmentesekGridModel>();
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new FelmentesekGridModel(co, isTeljesFelmentesOka);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
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.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class HianyzasokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetHianyzasGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
HianyzasokSearchModel model = JsonConvert.DeserializeObject<HianyzasokSearchModel>(data);
|
||||
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
var ds = helper.GetHallgatoMulasztasai(model.ConvertToMulasztasokCo());
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,205 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Framework.Entities;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.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.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class IgazolasokApiController : BaseIgazolasokApiController
|
||||
{
|
||||
public DataSourceResult GetIgazolasGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return base.GetIgazolasGrid(data, request);
|
||||
}
|
||||
|
||||
public DataSourceResult GetDetailIgazolasok(int tanuloId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
return base.GetDetailIgazolasok(tanuloId, request);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage ValidateIgazolasOnSave(List<IgazolasMentesModel> igazolasList)
|
||||
{
|
||||
string errorMsg = ValidateBeforeSaveIgazolasList(igazolasList);
|
||||
|
||||
if (string.IsNullOrWhiteSpace(errorMsg))
|
||||
{
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, errorMsg);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage SaveIgazolas(List<IgazolasMentesModel> igazolasList)
|
||||
{
|
||||
ValidateIgazolasList(igazolasList, ModelState);
|
||||
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
|
||||
var osztalyCsoportTanuloDict = new Dictionary<int, HashSet<int>>();
|
||||
foreach (var igazolas in igazolasList)
|
||||
{
|
||||
if (!osztalyCsoportTanuloDict.TryGetValue(igazolas.OsztalyCsoportId, out var tanuloIdSet))
|
||||
{
|
||||
tanuloIdSet = new HashSet<int>();
|
||||
osztalyCsoportTanuloDict.Add(igazolas.OsztalyCsoportId, tanuloIdSet);
|
||||
}
|
||||
tanuloIdSet.Add(igazolas.TanuloId);
|
||||
}
|
||||
|
||||
foreach (var osztalyCsoportTanulo in osztalyCsoportTanuloDict)
|
||||
{
|
||||
if (!authorization.IsValidTanulo(osztalyCsoportTanulo.Value.ToList(), osztalyCsoportTanulo.Key))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (IgazolasMentesModel igazolas in igazolasList)
|
||||
{
|
||||
var igazolasCO = new IgazolasCO()
|
||||
{
|
||||
TanuloId = igazolas.TanuloId,
|
||||
OsztCsop = igazolas.OsztalyCsoportId,
|
||||
ErvKezdete = igazolas.IgazolasElsoNap,
|
||||
ErvVege = igazolas.IgazolasUtolsoNap,
|
||||
RogzitoId = ClaimData.FelhasznaloId,
|
||||
RogzDatum = DateTime.Now,
|
||||
IgazolasTipus = igazolas.IgazolasTipus,
|
||||
Megjegyzes = igazolas.IgazolasSzovegesTartalma,
|
||||
SzervezetId = igazolas.SzervezetId
|
||||
};
|
||||
|
||||
new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).SaveOrUpdateIgazolas(igazolasCO);
|
||||
}
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
|
||||
}
|
||||
|
||||
private string ValidateBeforeSaveIgazolasList(List<IgazolasMentesModel> igazolasList)
|
||||
{
|
||||
string errorMsg = string.Empty;
|
||||
if (igazolasList.Count > 0)
|
||||
{
|
||||
int osztalyCsoportId = igazolasList[0].OsztalyCsoportId;
|
||||
|
||||
DataTable igazolasDT = new DataTable();
|
||||
igazolasDT.Columns.Add("TanuloId", typeof(int));
|
||||
igazolasDT.Columns.Add("ElsoNap", typeof(string));
|
||||
igazolasDT.Columns.Add("UtolsoNap", typeof(string));
|
||||
igazolasDT.Columns.Add("IntezmenyId", typeof(int));
|
||||
igazolasDT.Columns.Add("TanevId", typeof(int));
|
||||
igazolasDT.Columns.Add("OsztalyCsoportId", typeof(int));
|
||||
igazolasDT.Columns.Add("SzervezetId", typeof(int));
|
||||
foreach (IgazolasMentesModel igazolas in igazolasList)
|
||||
{
|
||||
var row = igazolasDT.NewRow();
|
||||
{
|
||||
row["TanuloId"] = igazolas.TanuloId;
|
||||
row["ElsoNap"] = igazolas.IgazolasElsoNap.ToConvertableDateString().Replace("-", "");
|
||||
row["UtolsoNap"] = igazolas.IgazolasUtolsoNap.ToConvertableDateString().Replace("-", "");
|
||||
row["IntezmenyId"] = ClaimData.IntezmenyId;
|
||||
row["TanevId"] = ClaimData.AktivTanevID ?? ClaimData.SelectedTanevID ?? 0;
|
||||
row["OsztalyCsoportId"] = igazolas.OsztalyCsoportId;
|
||||
row["SzervezetId"] = igazolas.SzervezetId??0;
|
||||
igazolasDT.Rows.Add(row);
|
||||
}
|
||||
}
|
||||
List<IgazolasCO> igazolasok = new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetOsztalyCsoportIgazolasokForValidate(igazolasDT).Tables[0].AsEnumerable().
|
||||
Select(x => new IgazolasCO() { TanuloId = x.Field<int>("TanuloId"), ErvKezdete = x.Field<DateTime>("ElsoNap"), ErvVege = x.Field<DateTime>("UtolsoNap"), SzervezetId = x.Field<int?>("SzervezetId")??0 }).ToList();
|
||||
foreach (IgazolasMentesModel igazolas in igazolasList)
|
||||
{
|
||||
List<IgazolasCO> invalidIgazolasok = igazolasok.Where(x => x.TanuloId == igazolas.TanuloId).ToList();
|
||||
if (invalidIgazolasok.Count > 0)
|
||||
{
|
||||
DateTime minDate = igazolas.IgazolasElsoNap >= invalidIgazolasok.Min(x => x.ErvKezdete) ? igazolas.IgazolasElsoNap : invalidIgazolasok.Min(x => x.ErvKezdete);
|
||||
DateTime maxDate = igazolas.IgazolasUtolsoNap <= invalidIgazolasok.Max(x => x.ErvVege) ? igazolas.IgazolasUtolsoNap : invalidIgazolasok.Max(x => x.ErvVege);
|
||||
errorMsg += "</ br>" + string.Format(IgazolasResource.IgazolasDatumUtkozes, igazolas.TanuloNev, minDate.ToShortDateString(), maxDate.ToShortDateString());
|
||||
}
|
||||
}
|
||||
}
|
||||
return errorMsg;
|
||||
}
|
||||
|
||||
private void ValidateIgazolasList(List<IgazolasMentesModel> igazolasList, ModelStateDictionary modelState)
|
||||
{
|
||||
if (igazolasList.Count > 0)
|
||||
{
|
||||
int osztalyCsoportId = igazolasList[0].OsztalyCsoportId;
|
||||
|
||||
IEnumerable<DataRow> osztalyTanuloi = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetOsztalyCsoportMindenkoriTanuloi(osztalyCsoportId).Tables[0].AsEnumerable();
|
||||
|
||||
foreach (IgazolasMentesModel igazolas in igazolasList)
|
||||
{
|
||||
bool isValidIgazolas = osztalyTanuloi.Any(x => x.Field<int>("ID") == igazolas.TanuloId
|
||||
&& x.Field<DateTime>("BelepesDatum").Date <= igazolas.IgazolasElsoNap.Date
|
||||
&& (!x.Field<DateTime?>("KilepesDatum").HasValue || x.Field<DateTime>("KilepesDatum").Date >= igazolas.IgazolasUtolsoNap.Date));
|
||||
if (!isValidIgazolas)
|
||||
{
|
||||
modelState.AddModelError($"igazolas_{igazolas.TanuloId}", string.Format(IgazolasResource.ErvenytelenIgazolasDatum, igazolas.TanuloNev));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
public HttpResponseMessage DeleteIgazolas([FromBody] int id)
|
||||
{
|
||||
var authorization = (IKretaAuthorization)Request.GetDependencyScope().GetService(typeof(IKretaAuthorization));
|
||||
if (!authorization.IsValidIgazolas(id))
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.Forbidden, ErrorResource.AFelhasznalonakNincsMegfeleloJogosultsagaAFunkcioHasznalatahoz);
|
||||
}
|
||||
|
||||
new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteIgazolasById(id);
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[ApiValidateAjaxAntiForgeryToken]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Tanar.ClaimValue)]
|
||||
public HttpResponseMessage DeleteIgazolasAdmin([FromBody] int id)
|
||||
{
|
||||
try
|
||||
{
|
||||
new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).DeleteIgazolasById(id);
|
||||
|
||||
return new HttpResponseMessage(HttpStatusCode.OK);
|
||||
}
|
||||
catch (EntityDeleteFailedException ex)
|
||||
{
|
||||
var uzenet = string.Format(ErrorResource.NemTorolhetoKapcsolatMiatt, IgazolasResource.Igazolas, ex.ConnectionErrorMessage);
|
||||
throw new StatusError(HttpStatusCode.BadRequest, uzenet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,74 @@
|
||||
using System;
|
||||
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.Helpers;
|
||||
using Kreta.BusinessLogic.Logic;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.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.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class IgazolasokListajaApiController : ApiController
|
||||
{
|
||||
[HttpPost]
|
||||
public DataSourceResult GetIgazolasokListajaGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] KretaGridDataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(request.data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
try
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
modelList = modelList.SortingAndPaging(gridParameter.OrderDictionary);
|
||||
|
||||
var simpleExportColumnCos = SimpleExportLogic.GetSimpleExportColumnCos<IgazolasokListajaGridModel>(IgazolasokListajaGridModel.IgazolasokExportAttributeId);
|
||||
|
||||
var memoryStream = SimpleExportLogic.GetExport(HianyzasResource.IgazolasokListajaExportSheetName, simpleExportColumnCos, modelList, ClaimData.SelectedTanevID.Value);
|
||||
|
||||
return HttpResponseExtensions.GetFileHttpResponse(memoryStream.ToArray(), $"{HianyzasResource.IgazolasokListajaExportFileName}_{DateTime.Now:yyyy_MM_dd}.{Constants.ImportExport.FileFormatXlsx}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ErrorResource.HibaTortentAFajlExportalasaKozben) { UnHandledException = ex };
|
||||
}
|
||||
}
|
||||
|
||||
private (GridParameters gridParameter, List<IgazolasokListajaGridModel> modelList) GetGridData(string data, DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<IgazolasokListajaSearchModel>(data);
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
var coList = new IgazolasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIgazolasCoList(model.ConvertToCO());
|
||||
|
||||
var modelList = new List<IgazolasokListajaGridModel>();
|
||||
|
||||
foreach (var co in coList)
|
||||
{
|
||||
var gridModel = new IgazolasokListajaGridModel(co);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
return (gridParameter, modelList);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,28 @@
|
||||
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.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class InformaciokIgazolasokApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetIgazolasGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<InformaciokIgazolasSearchModel>(data);
|
||||
var helper = new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
var ds = helper.GetInformaciokIgazolasGrid(model.ConvertToCo());
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
using System.Net.Http;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class MulasztasKeresoApiController : BaseMulasztasKeresoApiController
|
||||
{
|
||||
public DataSourceResult GetMulasztasGrid(string data, DataSourceRequest request)
|
||||
{
|
||||
var (gridParameter, modelList) = GetGridData(data, request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
public HttpResponseMessage GetExport(string data, DataSourceRequest request)
|
||||
{
|
||||
return base.GetExport(data, request);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,302 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Net.Http;
|
||||
using System.Web.Http.ModelBinding;
|
||||
using Kendo.Mvc.UI;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Core;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Grid;
|
||||
using Kreta.Web.Security;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public class MulasztasokApiController : BaseMulasztasokApiController
|
||||
{
|
||||
#region Dátum nézet
|
||||
|
||||
//Mulasztásos napok lekérdezése a dátum nézethez
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
|
||||
public DataSourceResult GetMulasztasokDatumNezetGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MulasztasIndexModel>(data);
|
||||
|
||||
if (!model.OsztalyCsoportId.HasValue && !model.CsoportId.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
bool isFromCsopvez = model.CsoportId.HasValue;
|
||||
int osztalyCsoportId;
|
||||
if (isFromCsopvez)
|
||||
{
|
||||
CheckCsoport(model.CsoportId.Value);
|
||||
osztalyCsoportId = model.CsoportId.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
CheckOsztalyCsoport(model.OsztalyCsoportId.Value);
|
||||
osztalyCsoportId = model.OsztalyCsoportId.Value;
|
||||
}
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "MulasztasDatuma DESC";
|
||||
}
|
||||
|
||||
ds = helper.GetDatumNezetDataByOsztalyCsoportId(osztalyCsoportId, isFromCsopvez || IsCsoportVezeto());
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
//Mulasztasok lekérdezése dátum alapján
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public DataSourceResult GetMulasztasokDatumNezetDetailGrid(string model, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var mulasztasModel = JsonConvert.DeserializeObject<MulasztasokDatumNezetGridModel>(model);
|
||||
|
||||
bool isFromCsopvez = mulasztasModel.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet;
|
||||
|
||||
if (isFromCsopvez)
|
||||
{
|
||||
CheckCsoport(mulasztasModel.OsztalyCsoportId);
|
||||
}
|
||||
else
|
||||
{
|
||||
CheckOsztalyCsoport(mulasztasModel.OsztalyCsoportId);
|
||||
}
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "Oraszam ASC";
|
||||
}
|
||||
|
||||
ds = helper.GetMulasztasokDatumNezetDetailGrid(mulasztasModel.MulasztasDatuma, mulasztasModel.OsztalyCsoportId, (isFromCsopvez || IsCsoportVezeto()));
|
||||
|
||||
#region "Header helyett nulladik sor, ha"
|
||||
//NOTE: "Ideiglenesen mivel a grid headerbe nincs lehetőség az összes oszlopérték beállítására egyszerre, ezért bekerül egy nulladik sor, amivel állítani lehet..."
|
||||
|
||||
if (!isFromCsopvez
|
||||
|| (mulasztasModel.IsTanorai == false && mulasztasModel.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak))
|
||||
{
|
||||
DataRow dr = ds.Tables[0].NewRow();
|
||||
dr["ID"] = 0;
|
||||
dr["TanuloNev"] = "";
|
||||
ds.Tables[0].Rows.InsertAt(dr, 0);
|
||||
}
|
||||
|
||||
#endregion "Header helyett nulladik sor, ha"
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Dátum nézet
|
||||
|
||||
#region Tanuló nézet
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public DataSourceResult GetMulasztasokTanuloNezetGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MulasztasSearchModel>(data);
|
||||
|
||||
var osztalyCsoportId = model.OsztalyCsoportId;
|
||||
var tanuloId = model.TanuloId;
|
||||
|
||||
if (!osztalyCsoportId.IsEntityId() && !tanuloId.IsEntityId())
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
if (osztalyCsoportId.IsEntityId())
|
||||
{
|
||||
CheckOsztalyCsoport(osztalyCsoportId.Value);
|
||||
}
|
||||
if (tanuloId.IsEntityId())
|
||||
{
|
||||
CheckTanulo(tanuloId.Value);
|
||||
}
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
ds = helper.GetTanulokMulasztasaiKesesei(osztalyCsoportId, tanuloId, IsCsoportVezeto());
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
return result;
|
||||
}
|
||||
|
||||
public DataSourceResult GetMulasztasokTanuloNezetDetailGrid(int tanuloId, int osztalyCsoportId, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
CheckTanulo(tanuloId);
|
||||
|
||||
var coList = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetMulasztasokTanuloDetailGridItemCoList(new MulasztasokCo { TanuloId = tanuloId, OsztCsop = osztalyCsoportId == default ? default(int?) : osztalyCsoportId, KapcsCsop = true }, true, csoportVezetoId: IsCsoportVezeto() ? ClaimData.FelhasznaloId : (int?)null);
|
||||
var modelList = new List<MulasztasGridModel>();
|
||||
|
||||
foreach (var item in coList)
|
||||
{
|
||||
var gridModel = new MulasztasGridModel(item);
|
||||
modelList.Add(gridModel);
|
||||
}
|
||||
|
||||
var gridParameter = Converter.GridParameter(request);
|
||||
|
||||
return modelList.ToDataSourceResult(gridParameter);
|
||||
}
|
||||
|
||||
#endregion Tanuló nézet
|
||||
|
||||
#region Napló nézet
|
||||
|
||||
public DataSourceResult GetMulasztasokNaploNezetGrid(string data, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<MulasztasSearchModel>(data);
|
||||
|
||||
if (!model.OsztalyCsoportId.HasValue || !model.NaploNezetDatum.HasValue)
|
||||
{
|
||||
return new DataSourceResult();
|
||||
}
|
||||
|
||||
CheckOsztalyCsoport(model.OsztalyCsoportId.Value);
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "TanuloNev ASC";
|
||||
}
|
||||
|
||||
ds = helper.GetMulasztasokNaploNezetGrid(model.OsztalyCsoportId.Value, model.NaploNezetDatum.Value, IsCsoportVezeto());
|
||||
|
||||
DataSourceResult result = ds.ToDataSourceResult();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Tanuló popup
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public DataSourceResult GetTanuloMulasztasaiGrid(string data, bool igazolandok, bool isTanorai, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var model = JsonConvert.DeserializeObject<TanuloMulasztasaiPopupModel>(data);
|
||||
CheckTanulo(model.TanuloId);
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "MulasztasDatuma DESC";
|
||||
}
|
||||
|
||||
bool isCsoportVezeto;
|
||||
bool? isTanoraiCelu = null;
|
||||
if (model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet)
|
||||
{
|
||||
isCsoportVezeto = true;
|
||||
isTanoraiCelu = isTanorai;
|
||||
}
|
||||
else
|
||||
{
|
||||
isCsoportVezeto = IsCsoportVezeto();
|
||||
}
|
||||
|
||||
ds = helper.GetTanuloMulasztasaiGrid(model.TanuloId, ClaimData.AktivTanevID.Value, igazolandok, isTanoraiCelu, isCsoportVezeto ? ClaimData.FelhasznaloId : (int?)null, model.OsztalyCsoportId);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public DataSourceResult GetTanuloMulasztasaiDetailGrid(string model, [ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var mulasztasModel = JsonConvert.DeserializeObject<TanuloMulasztasaiPopupModel>(model);
|
||||
CheckTanulo(mulasztasModel.TanuloId);
|
||||
|
||||
DataSet ds;
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
if (string.IsNullOrWhiteSpace(helper.GridParameters.OrderBy))
|
||||
{
|
||||
helper.GridParameters.OrderBy = "Oraszam ASC";
|
||||
}
|
||||
|
||||
bool isCsoportVezeto;
|
||||
bool? isTanorai = null;
|
||||
if (mulasztasModel.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet)
|
||||
{
|
||||
isCsoportVezeto = true;
|
||||
isTanorai = mulasztasModel.IsTanorai;
|
||||
}
|
||||
else
|
||||
{
|
||||
isCsoportVezeto = IsCsoportVezeto();
|
||||
}
|
||||
var mulasztasokCo = new MulasztasokCo
|
||||
{
|
||||
Tol = mulasztasModel.MulasztasDatuma,
|
||||
Ig = mulasztasModel.MulasztasDatuma,
|
||||
OsztalyFonokId = ClaimData.FelhasznaloId,
|
||||
OsztCsop = mulasztasModel.OsztalyCsoportId,
|
||||
TanuloId = mulasztasModel.TanuloId
|
||||
};
|
||||
ds = helper.GetTanuloMulasztasaiDetailGrid(mulasztasokCo, mulasztasModel.Kezeletlen, isTanorai, isCsoportVezeto ? ClaimData.FelhasznaloId : (int?)null);
|
||||
|
||||
#region "Header helyett nulladik sor, ha"
|
||||
//NOTE: "Ideiglenesen mivel a grid headerbe nincs lehetőség az összes oszlopérték beállítására egyszerre, ezért bekerül egy nulladik sor, amivel állítani lehet..."
|
||||
if (mulasztasModel.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet
|
||||
|| (mulasztasModel.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet
|
||||
&& mulasztasModel.IsTanorai == false && mulasztasModel.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak))
|
||||
{
|
||||
DataRow dr = ds.Tables[0].NewRow();
|
||||
dr["ID"] = 0;
|
||||
dr["TargyNev"] = "";
|
||||
ds.Tables[0].Rows.InsertAt(dr, 0);
|
||||
}
|
||||
|
||||
#endregion "Header helyett nulladik sor, ha"
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
|
||||
#endregion Tanuló popup
|
||||
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue, KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
public HttpResponseMessage SaveMulasztasList(List<MulasztasokSaveModel> list)
|
||||
{
|
||||
return base.SaveMulasztasList(list);
|
||||
}
|
||||
|
||||
public HttpResponseMessage SaveNaploNezetMulasztasList(MulasztasokNaploNezetSaveModel model)
|
||||
{
|
||||
|
||||
return base.SaveNaploNezetMulasztasList(model);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
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.Hianyzas.ApiControllers
|
||||
{
|
||||
[ApiRoleClaimsAuthorize(true)]
|
||||
[ApiRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class TantargyiMulasztasApiController : ApiController
|
||||
{
|
||||
public DataSourceResult GetTantargyiMulasztasGrid([ModelBinder(typeof(ModelBinder.DataSourceRequestModelBinder))] DataSourceRequest request)
|
||||
{
|
||||
var helper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
helper.GridParameters = Converter.GridParameter(request);
|
||||
var ds = helper.GetTanuloMulasztasai(ClaimData.FelhasznaloId);
|
||||
|
||||
return ds.ToDataSourceResult();
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,21 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
public class BaseIgazolasController : Controller
|
||||
{
|
||||
public ActionResult IgazolasDetailGrid(int id, string apiControllerName = null)
|
||||
{
|
||||
var model = new IgazolasDetailModel { TanuloId = id, ApiControllerName = apiControllerName };
|
||||
return PartialView(model);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,101 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Core.Exceptions;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.Logic;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Error;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
public class BaseMulasztasKeresoController : Controller
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public static string GridName => "MulasztasKeresoGrid";
|
||||
public static string SearchFormName => "MulasztasKeresoSearchForm";
|
||||
|
||||
public static string InfoPopUpId => "MulasztasKeresoInfoPopUpWindow";
|
||||
|
||||
#endregion Properties
|
||||
|
||||
public ActionResult OpenMulasztasInfoPopUp(int mulasztasId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var mulasztasCo = new MulasztasHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetMulasztasById(mulasztasId);
|
||||
var tanoraCo = new TanoraHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetTanoraByOrarendiId(mulasztasCo.OraId.Value, mulasztasCo.Datum, true, ClaimData.IsTanuloOrGondviselo);
|
||||
var alapadatModel = new MulasztasInfoModel.AlapadatModel
|
||||
{
|
||||
Tanulo = mulasztasCo.TanuloNev,
|
||||
Datum = mulasztasCo.Datum.ToShortDateString(),
|
||||
Oraszam = mulasztasCo.Oraszam,
|
||||
OsztalyCsoport = tanoraCo.OsztalyCsoportNev,
|
||||
Tantargy = mulasztasCo.TargyNev,
|
||||
MulasztasTipus = mulasztasCo.MulTipNev,
|
||||
KesesPercben = mulasztasCo.KesIdo,
|
||||
Igazolt = mulasztasCo.Igazolt.GetDisplayName(),
|
||||
IgazolasTipus = mulasztasCo.IgazolasTipusNev,
|
||||
Megjegyzes = mulasztasCo.Megjegyzes
|
||||
};
|
||||
var tanitasiOraModel = new MulasztasInfoModel.TanitasiOraModel
|
||||
{
|
||||
Datum = tanoraCo.Datum.ToShortDateString(),
|
||||
Oraszam = tanoraCo.Oraszam,
|
||||
HetNapja = tanoraCo.HetNapjaNev,
|
||||
Hetirend = tanoraCo.HetirendNev,
|
||||
Foglalkozas = tanoraCo.FoglalkozasNev,
|
||||
OsztalyCsoport = tanoraCo.OsztalyCsoportNev,
|
||||
Tantargy = tanoraCo.TantargyNev,
|
||||
Tanar = tanoraCo.TanarNev,
|
||||
HelyettesitesitoTanarNeve = tanoraCo.HelyettesitesitoTanarNeve,
|
||||
Terem = tanoraCo.TeremNev,
|
||||
Megtartott = tanoraCo.Megtartott.HasValue ? tanoraCo.Megtartott.Value.GetDisplayName() : HianyzasResource.NemNaplozott,
|
||||
Sorszamozando = tanoraCo.Sorszamozando.GetDisplayName(),
|
||||
OraKezdete = tanoraCo.OraKezd.ToString("HH:mm"),
|
||||
OraVege = tanoraCo.OraVeg.ToString("HH:mm"),
|
||||
Tema = tanoraCo.Tema,
|
||||
Megjegyzes = tanoraCo.Megjegyzes
|
||||
};
|
||||
|
||||
var popUpModel = new PopUpModel(new TabStripModel { TabList = GetInfoTabs(alapadatModel, tanitasiOraModel) }, "MulasztasKereso_Info_PopUp");
|
||||
popUpModel.AddCancelBtn(popUpModel, "MulasztasKeresoHelper.mulasztasKeresoInfoPopUpCancel");
|
||||
return PartialView(Constants.General.PopupView, popUpModel);
|
||||
}
|
||||
catch (BlException ex)
|
||||
{
|
||||
throw new StatusError(HttpStatusCode.BadRequest, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public static List<TabStripItemModel> GetInfoTabs(MulasztasInfoModel.AlapadatModel alapadatModel, MulasztasInfoModel.TanitasiOraModel tanitasiOraModel)
|
||||
{
|
||||
return new List<TabStripItemModel> {
|
||||
new TabStripItemModel { ItemId = "1", ItemName = HianyzasResource.Alapadatok, Model = alapadatModel, PartialViewName = "MulasztasKereso_Info_Alapadatok_Tab", IsActive = true },
|
||||
new TabStripItemModel { ItemId = "2", ItemName = HianyzasResource.TanitasiOraAdatai, Model = tanitasiOraModel, PartialViewName = "MulasztasKereso_Info_TanitasiOraAdatai_Tab" }
|
||||
};
|
||||
}
|
||||
|
||||
#region Export
|
||||
|
||||
public ActionResult ExportTanulokMulasztasai([FromUri] MulasztasSearchModel data)
|
||||
{
|
||||
return MulasztasKeresoLogic.ExportTanulokMulasztasai(data);
|
||||
}
|
||||
|
||||
public ActionResult ExportTanorakonNemJelenlevok([FromUri] MulasztasSearchModel data)
|
||||
{
|
||||
return MulasztasKeresoLogic.ExportTanorakonNemJelenlevok(data);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
205
KretaWeb/Areas/Hianyzas/Controllers/BaseMulasztasokController.cs
Normal file
205
KretaWeb/Areas/Hianyzas/Controllers/BaseMulasztasokController.cs
Normal file
@@ -0,0 +1,205 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
public class BaseMulasztasokController : Controller
|
||||
{
|
||||
public List<SelectListItem> GetOsztalyCsoportList(bool setFirstItem = false)
|
||||
{
|
||||
IDictionary<string, string> osztalyokEsCsoportok = OsztalyokEsCsoportokHelpers.GetOsztalyokVagyOsztalyokEsCsoportok(ClaimData.FelhasznaloId, osztalyfonokiFeladat: true);
|
||||
|
||||
var result = osztalyokEsCsoportok.Select(x => new SelectListItem
|
||||
{
|
||||
Value = x.Key,
|
||||
Text = x.Value
|
||||
}).ToList();
|
||||
|
||||
if (setFirstItem && result.Any())
|
||||
{
|
||||
if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo))
|
||||
{
|
||||
var osztCsopId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId);
|
||||
|
||||
if (osztCsopId.HasValue)
|
||||
{
|
||||
foreach (var r in result)
|
||||
{
|
||||
if (r.Value == osztCsopId.Value.ToString())
|
||||
{
|
||||
r.Selected = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result[0].Selected = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result[0].Selected = true;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public List<TabStripItemModel> GetMulasztasokTabs(string mulasztasokControllerName)
|
||||
{
|
||||
List<TabStripItemModel> list = new List<TabStripItemModel>
|
||||
{
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "0",
|
||||
ItemName = StringResourcesUtil.GetString(4332) /*Dátum nézet*/,
|
||||
Area = "Hianyzas",
|
||||
Controller = mulasztasokControllerName,
|
||||
Action = "GetMulasztasokDatumNezetTab"
|
||||
},
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "1",
|
||||
ItemName = StringResourcesUtil.GetString(4333) /*Tanuló nézet*/,
|
||||
Area = "Hianyzas",
|
||||
Controller = mulasztasokControllerName,
|
||||
Action = "GetMulasztasokTanuloNezetTab"
|
||||
},
|
||||
new TabStripItemModel
|
||||
{
|
||||
ItemId = "2",
|
||||
ItemName = StringResourcesUtil.GetString(4334) /*Napló nézet*/,
|
||||
Area = "Hianyzas",
|
||||
Controller = mulasztasokControllerName,
|
||||
Action = "GetMulasztasokNaploNezetTab"
|
||||
}
|
||||
};
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetMulasztasokDatumNezetTab(string mulasztasokControllerName = null, string mulasztasokApiControllerName = null, int? szervezetTipusId = null)
|
||||
{
|
||||
var model = new MulasztasSearchModel
|
||||
{
|
||||
OsztalyCsoportList = GetOsztalyCsoportList(true)
|
||||
};
|
||||
if(!string.IsNullOrWhiteSpace(mulasztasokControllerName))
|
||||
{
|
||||
model.ControllerName = mulasztasokControllerName;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(mulasztasokApiControllerName))
|
||||
{
|
||||
model.ApiControllerName = mulasztasokApiControllerName;
|
||||
}
|
||||
model.SzervezetTipusId = szervezetTipusId;
|
||||
return PartialView("Mulasztasok_DatumNezet_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetMulasztasokDatumNezetDetailGrid(MulasztasokDatumNezetGridModel dateModel)
|
||||
{
|
||||
dateModel.SzerepkorViewType = SzerepkorViewTypeEnum.OsztalyfonokNezet;
|
||||
return PartialView("Mulasztasok_DatumNezet_DetailGrid", dateModel);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetMulasztasokTanuloNezetTab(string mulasztasokControllerName = null, string mulasztasokApiControllerName = null, int? szervezetTipusId = null)
|
||||
{
|
||||
var model = new MulasztasSearchModel
|
||||
{
|
||||
OsztalyCsoportList = GetOsztalyCsoportList(true)
|
||||
};
|
||||
if (!string.IsNullOrWhiteSpace(mulasztasokControllerName))
|
||||
{
|
||||
model.ControllerName = mulasztasokControllerName;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(mulasztasokApiControllerName))
|
||||
{
|
||||
model.ApiControllerName = mulasztasokApiControllerName;
|
||||
}
|
||||
model.SzervezetTipusId = szervezetTipusId;
|
||||
return PartialView("Mulasztasok_TanuloNezet_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetMulasztasokTanuloNezetDetailGrid(MulasztasokTanuloNezetGridModel tanuloModel, bool GridHasDelete, int? SzervezetTipusId = null)
|
||||
{
|
||||
tanuloModel.GridHasDelete = GridHasDelete;
|
||||
tanuloModel.SzervezetTipusId = SzervezetTipusId;
|
||||
return PartialView("Mulasztasok_TanuloNezet_DetailGrid", tanuloModel);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult GetMulasztasokNaploNezetTab(string mulasztasokControllerName = null, string mulasztasokApiControllerName = null, int? szervezetTipusId = null)
|
||||
{
|
||||
var model = new MulasztasSearchModel
|
||||
{
|
||||
OsztalyCsoportList = GetOsztalyCsoportList(true)
|
||||
};
|
||||
if (!string.IsNullOrWhiteSpace(mulasztasokControllerName))
|
||||
{
|
||||
model.ControllerName = mulasztasokControllerName;
|
||||
}
|
||||
if (!string.IsNullOrWhiteSpace(mulasztasokApiControllerName))
|
||||
{
|
||||
model.ApiControllerName = mulasztasokApiControllerName;
|
||||
}
|
||||
model.SzervezetTipusId = szervezetTipusId;
|
||||
return PartialView("Mulasztasok_NaploNezet_Tab", model);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult OpenTanuloMulasztasaiPopup(int tanuloId, int osztalyCsoportId, string apiControllerName = null, int? szervezetTipusId = null)
|
||||
{
|
||||
var model = new TanuloMulasztasaiPopupModel
|
||||
{
|
||||
TanuloId = tanuloId,
|
||||
SzerepkorViewType = SzerepkorViewTypeEnum.OsztalyfonokNezet,
|
||||
OsztalyCsoportId = osztalyCsoportId,
|
||||
ApiControllerName = apiControllerName,
|
||||
SzervezetTipusId = szervezetTipusId
|
||||
};
|
||||
var popupModel = new PopUpModel(model, "TanuloMulasztasai_Popup");
|
||||
|
||||
popupModel.AddCancelBtn(popupModel, "MulasztasKezelesHelper.detailTanuloWindowCancel");
|
||||
return PartialView(Constants.General.PopupView, popupModel);
|
||||
}
|
||||
|
||||
|
||||
[NonAction]
|
||||
public ActionResult TanuloKezeletlenMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel, string apiControllerName = null, int? szervezetTipusId = null)
|
||||
{
|
||||
gridModel.SzerepkorViewType = SzerepkorViewTypeEnum.OsztalyfonokNezet;
|
||||
gridModel.Kezeletlen = true;
|
||||
gridModel.ApiControllerName = apiControllerName;
|
||||
gridModel.SzervezetTipusId = szervezetTipusId;
|
||||
return PartialView("TanuloMulasztasai_DetailGrid", gridModel);
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
public ActionResult TanuloKezeltMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel, string apiControllerName = null, int? szervezetTipusId = null)
|
||||
{
|
||||
gridModel.SzerepkorViewType = SzerepkorViewTypeEnum.OsztalyfonokNezet;
|
||||
gridModel.Kezeletlen = false;
|
||||
gridModel.ApiControllerName = apiControllerName;
|
||||
gridModel.SzervezetTipusId = szervezetTipusId;
|
||||
return PartialView("TanuloMulasztasai_DetailGrid", gridModel);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,85 @@
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue)]
|
||||
public class CsoportMulasztasokController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new MulasztasIndexModel();
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokDatumNezetDetailGrid(MulasztasokDatumNezetGridModel gridModel)
|
||||
{
|
||||
gridModel.SzerepkorViewType = SzerepkorViewTypeEnum.CsoportvezetoNezet;
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
gridModel.MulasztasJogosultsagSetting = systemSettingsHelper.GetSystemSettingValue<CsoportvezetokIgazolasiJogosultsagaEnum>(RendszerBeallitasTipusEnum.Csoportvezetok_Igazolasi_Jogosultsaga);
|
||||
gridModel.IsTanorai = (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_ == gridModel.CsoportTipusId;
|
||||
|
||||
return PartialView("Mulasztasok_DatumNezet_DetailGrid", gridModel);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanuloMulasztasaiPopup(int tanuloId, int osztalyCsoportId, string apiControllerName = null, int? szervezetTipusId = null)
|
||||
{
|
||||
var model = new TanuloMulasztasaiPopupModel
|
||||
{
|
||||
TanuloId = tanuloId,
|
||||
SzerepkorViewType = SzerepkorViewTypeEnum.CsoportvezetoNezet,
|
||||
OsztalyCsoportId = osztalyCsoportId,
|
||||
ApiControllerName = apiControllerName,
|
||||
SzervezetTipusId = szervezetTipusId
|
||||
};
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
model.MulasztasJogosultsagSetting = systemSettingsHelper.GetSystemSettingValue<CsoportvezetokIgazolasiJogosultsagaEnum>(RendszerBeallitasTipusEnum.Csoportvezetok_Igazolasi_Jogosultsaga);
|
||||
|
||||
model.IsTanorai = (int)CsoportTipusEnum.iskolai_csoport_tanorai_celu_ == model.CsoportTipusId;
|
||||
|
||||
var popupModel = new PopUpModel(model, "TanuloMulasztasai_Popup");
|
||||
|
||||
popupModel.AddCancelBtn(popupModel, "MulasztasKezelesHelper.detailTanuloWindowCancel");
|
||||
return PartialView(Constants.General.PopupView, popupModel);
|
||||
}
|
||||
|
||||
public ActionResult TanuloKezeletlenMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel)
|
||||
{
|
||||
gridModel.SzerepkorViewType = SzerepkorViewTypeEnum.CsoportvezetoNezet;
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
gridModel.MulasztasJogosultsagSetting = systemSettingsHelper.GetSystemSettingValue<CsoportvezetokIgazolasiJogosultsagaEnum>(RendszerBeallitasTipusEnum.Csoportvezetok_Igazolasi_Jogosultsaga);
|
||||
|
||||
gridModel.Kezeletlen = true;
|
||||
return PartialView("TanuloMulasztasai_DetailGrid", gridModel);
|
||||
}
|
||||
|
||||
public ActionResult TanuloKezeltMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel)
|
||||
{
|
||||
gridModel.SzerepkorViewType = SzerepkorViewTypeEnum.CsoportvezetoNezet;
|
||||
|
||||
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
||||
|
||||
gridModel.MulasztasJogosultsagSetting = systemSettingsHelper.GetSystemSettingValue<CsoportvezetokIgazolasiJogosultsagaEnum>(RendszerBeallitasTipusEnum.Csoportvezetok_Igazolasi_Jogosultsaga);
|
||||
|
||||
gridModel.Kezeletlen = false;
|
||||
return PartialView("TanuloMulasztasai_DetailGrid", gridModel);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,55 @@
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisIgazolasController : BaseIgazolasController
|
||||
{
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
public DualisIgazolasController(IKretaAuthorization authorization)
|
||||
{
|
||||
Authorization = authorization;
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
if (!Authorization.IsValidDualisMulasztasok())
|
||||
{
|
||||
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
|
||||
}
|
||||
|
||||
var model = new IgazolasKeresoModel();
|
||||
|
||||
var osztalyokEsCsoportok = OsztalyokEsCsoportokHelpers.GetOsztalyokVagyOsztalyokEsCsoportok(ClaimData.FelhasznaloId, osztalyfonokiFeladat: true);
|
||||
|
||||
if (osztalyokEsCsoportok.Count == 1)
|
||||
{
|
||||
model.OsztCsopId = int.Parse(osztalyokEsCsoportok.First().Key);
|
||||
}
|
||||
else if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo))
|
||||
{
|
||||
model.OsztCsopId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId);
|
||||
}
|
||||
model.SzervezetTipusId = (int)SzervezetTipusEnum.Dualis;
|
||||
model.ControllerName = Constants.Controllers.DualisIgazolas;
|
||||
model.ApiControllerName = Constants.ApiControllers.DualisIgazolasokApi;
|
||||
//model.IgazolasNaplozarasDatum = new SystemSettingsHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetIgazolasokNaplozarasDatuma();
|
||||
|
||||
return View("~/Areas/Hianyzas/Views/Igazolas/Index.cshtml", model);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,53 @@
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue, KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Dualis_Admin.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisMulasztasKeresoController : BaseMulasztasKeresoController
|
||||
{
|
||||
private IKretaAuthorization Authorization { get; }
|
||||
|
||||
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
|
||||
|
||||
public DualisMulasztasKeresoController(IKretaAuthorization authorization)
|
||||
{
|
||||
Authorization = authorization;
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
if (!Authorization.IsValidDualisMulasztasok())
|
||||
{
|
||||
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
|
||||
}
|
||||
|
||||
var model = new MulasztasSearchModel
|
||||
{
|
||||
FeladatEllatasiHelyId = ClaimData.FelhelySzuro,
|
||||
ControllerName = Constants.Controllers.DualisMulasztasKereso,
|
||||
ApiControllerName = Constants.ApiControllers.DualisMulasztasKeresoApi
|
||||
};
|
||||
if (IsDualisKepzesEnabled)
|
||||
{
|
||||
model.SzervezetTipusEnum = SzervezetTipusEnum.Dualis;
|
||||
}
|
||||
|
||||
if (ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator)
|
||||
{
|
||||
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
return View("~/Areas/Hianyzas/Views/MulasztasKereso/Index.cshtml", model);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,98 @@
|
||||
using System;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.CsoportVezeto.ClaimValue)]
|
||||
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
|
||||
public class DualisMulasztasokController : BaseMulasztasokController
|
||||
{
|
||||
protected IKretaAuthorization Authorization { get; }
|
||||
|
||||
public DualisMulasztasokController(IKretaAuthorization authorization)
|
||||
{
|
||||
Authorization = authorization ?? throw new ArgumentNullException(nameof(authorization));
|
||||
}
|
||||
|
||||
public ActionResult Index()
|
||||
{
|
||||
if (!Authorization.IsValidDualisOktato())
|
||||
{
|
||||
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
|
||||
}
|
||||
|
||||
var model = new MulasztasIndexModel
|
||||
{
|
||||
OsztalyCsoportList = GetOsztalyCsoportList(true),
|
||||
|
||||
TabList = GetMulasztasokTabs(Constants.Controllers.DualisMulasztasok),
|
||||
IgazolasNaploZarasDatum = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIgazolasokNaplozarasDatuma(),
|
||||
};
|
||||
|
||||
if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo))
|
||||
{
|
||||
model.OsztalyCsoportId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokDatumNezetTab()
|
||||
{
|
||||
return base.GetMulasztasokDatumNezetTab(Constants.Controllers.DualisMulasztasok, Constants.ApiControllers.DualisMulasztasokApi, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokDatumNezetDetailGrid(MulasztasokDatumNezetGridModel dateModel)
|
||||
{
|
||||
dateModel.ApiControllerName = Constants.ApiControllers.DualisMulasztasokApi;
|
||||
dateModel.SzervezetTipusId = (int)SzervezetTipusEnum.Dualis;
|
||||
dateModel.MulasztasJogosultsagSetting = CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak;
|
||||
|
||||
return base.GetMulasztasokDatumNezetDetailGrid(dateModel);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokTanuloNezetTab()
|
||||
{
|
||||
return base.GetMulasztasokTanuloNezetTab(Constants.Controllers.DualisMulasztasok, Constants.ApiControllers.DualisMulasztasokApi, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
|
||||
public ActionResult GetMulasztasokTanuloNezetDetailGrid(MulasztasokTanuloNezetGridModel tanuloModel, bool GridHasDelete)
|
||||
{
|
||||
tanuloModel.ApiControllerName = Constants.ApiControllers.DualisMulasztasokApi;
|
||||
|
||||
return base.GetMulasztasokTanuloNezetDetailGrid(tanuloModel, GridHasDelete, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokNaploNezetTab()
|
||||
{
|
||||
return base.GetMulasztasokNaploNezetTab(Constants.Controllers.DualisMulasztasok, Constants.ApiControllers.DualisMulasztasokApi, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanuloMulasztasaiPopup(int tanuloId, int osztalyCsoportId, string apiControllerName = null)
|
||||
{
|
||||
return base.OpenTanuloMulasztasaiPopup(tanuloId, osztalyCsoportId, apiControllerName, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public ActionResult TanuloKezeletlenMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel, string apiControllerName = null)
|
||||
{
|
||||
return base.TanuloKezeletlenMulasztasaiDetailGrid(gridModel, apiControllerName, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
|
||||
public ActionResult TanuloKezeltMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel, string apiControllerName = null)
|
||||
{
|
||||
return base.TanuloKezeltMulasztasaiDetailGrid(gridModel, apiControllerName, (int)SzervezetTipusEnum.Dualis);
|
||||
}
|
||||
}
|
||||
}
|
55
KretaWeb/Areas/Hianyzas/Controllers/FelmentesekController.cs
Normal file
55
KretaWeb/Areas/Hianyzas/Controllers/FelmentesekController.cs
Normal file
@@ -0,0 +1,55 @@
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Tanulo.Helper;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.Modal;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class FelmentesekController : Controller
|
||||
{
|
||||
|
||||
#region Properties
|
||||
|
||||
public static string GridName => "FelmentesekGrid";
|
||||
public static string SearchFormName => "searchForm";
|
||||
public static string NewModifyPopupName => "New_Modify_Popup";
|
||||
public static string NewModifyFormName => "FelmentesekNewModifyForm";
|
||||
|
||||
#endregion Properties
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new FelmentesekSearchModel();
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult ModFelmentes(int id)
|
||||
{
|
||||
var model = TanuloLogic.GetFelmentes(id);
|
||||
var pm = new PopUpModel(model, "_Felmentes_Bevitel");
|
||||
|
||||
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnFelmentesCancel", Text = Resources.CommonResource.Megse, EventName = "FelmentesekHelper.modFelmentesCancel" });
|
||||
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnFelmentesOk", Text = Resources.CommonResource.Mentes, EventName = "FelmentesekHelper.modFelmentesSave" });
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
public ActionResult InfoFelmentes(int id)
|
||||
{
|
||||
var model = new FelmentesekGridModel(new FelmentesHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetFelmentesById(id), true);
|
||||
var pm = new PopUpModel(model, "_Felmentes_Info");
|
||||
|
||||
pm.Buttons.Add(new ModalButtonModel() { Name = "BtnFelmentesInfoCancel", Text = Resources.CommonResource.Megse, EventName = "FelmentesekHelper.infoFelmentesCancel" });
|
||||
|
||||
return PartialView(Constants.General.PopupView, pm);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
42
KretaWeb/Areas/Hianyzas/Controllers/HianyzasokController.cs
Normal file
42
KretaWeb/Areas/Hianyzas/Controllers/HianyzasokController.cs
Normal file
@@ -0,0 +1,42 @@
|
||||
using System;
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class HianyzasokController : Controller
|
||||
{
|
||||
// GET: Hianyzas/Hianyzasok
|
||||
public ActionResult Index(int? id)
|
||||
{
|
||||
var hianyzasokSearchModel = new HianyzasokSearchModel
|
||||
{
|
||||
MulaszatasId = id,
|
||||
};
|
||||
|
||||
return View(hianyzasokSearchModel);
|
||||
}
|
||||
|
||||
public ActionResult Export([FromUri] HianyzasokSearchModel searchModel)
|
||||
{
|
||||
var mulasztasHelper = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
var stream = mulasztasHelper.ExportTanuloKesesekHianyzasok(searchModel.ConvertToMulasztasokCo());
|
||||
|
||||
var fileName = string.Format(HianyzasResource.TanuloKesesekHianyzasokExportFileName, DateTime.Now.ToString(Constants.General.ExportFileNameDateFormat));
|
||||
var result = new FileStreamResult(stream, Core.Constants.ContentTypes.Xlsx)
|
||||
{
|
||||
FileDownloadName = fileName
|
||||
};
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
40
KretaWeb/Areas/Hianyzas/Controllers/IgazolasController.cs
Normal file
40
KretaWeb/Areas/Hianyzas/Controllers/IgazolasController.cs
Normal file
@@ -0,0 +1,40 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
|
||||
public class IgazolasController : BaseIgazolasController
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new IgazolasKeresoModel();
|
||||
|
||||
IDictionary<string, string> osztalyokEsCsoportok = OsztalyokEsCsoportokHelpers.GetOsztalyokVagyOsztalyokEsCsoportok(ClaimData.FelhasznaloId, osztalyfonokiFeladat: true);
|
||||
|
||||
if (osztalyokEsCsoportok.Count == 1) /*TODO:Tobb Osztaly*//*OM-1677*/
|
||||
{
|
||||
model.OsztCsopId = int.Parse(osztalyokEsCsoportok.First().Key);
|
||||
}
|
||||
else if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo))
|
||||
{
|
||||
model.OsztCsopId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
model.IgazolasNaplozarasDatum = new SystemSettingsHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetIgazolasokNaplozarasDatuma();
|
||||
|
||||
return View(model);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,50 @@
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Controllers.Logic;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class IgazolasokListajaController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new IgazolasokListajaSearchModel() { FeladatEllatasiHelyId = ClaimData.FelhelySzuro };
|
||||
return View(model);
|
||||
}
|
||||
|
||||
public ActionResult IgazolasInfoPopUp(int igazolasId)
|
||||
{
|
||||
IgazolasCO igazolasCO = new IgazolasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetIgazolasInfo(igazolasId);
|
||||
|
||||
IgazolasModel igazolasModel = new IgazolasModel
|
||||
{
|
||||
ID = igazolasCO.ID,
|
||||
RogzitoId = igazolasCO.RogzitoId,
|
||||
RogzitoNev = igazolasCO.RogzitoNev,
|
||||
RogzDatumRoviddatum = igazolasCO.RogzDatum.ToShortDateString(),
|
||||
ErvKezdeteRoviddatum = igazolasCO.ErvKezdete.ToShortDateString(),
|
||||
ErvVegeRoviddatum = igazolasCO.ErvVege.ToShortDateString(),
|
||||
IgazolasTipus = igazolasCO.IgazolasTipus,
|
||||
Megjegyzes = igazolasCO.Megjegyzes,
|
||||
TanuloId = igazolasCO.TanuloId,
|
||||
TanuloNev = igazolasCO.TanuloNev,
|
||||
OsztCsopNev = igazolasCO.OsztCsopNev
|
||||
};
|
||||
|
||||
var model = new PopUpModel(igazolasModel, "Igazolas_Info");
|
||||
model = model.AddCancelBtn(model, "IgazolasokListajaHelper.igazolasInfoCancel");
|
||||
|
||||
return PartialView(Constants.General.PopupView, model);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
using System.Web.Http;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Controllers.Logic;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class InformaciokIgazolasokController : Controller
|
||||
{
|
||||
// GET: Hianyzas/InformaciokIgazolasok
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public ActionResult ExportIgazolasok([FromUri] InformaciokIgazolasSearchModel data)
|
||||
{
|
||||
return CommonExportLogic.ExportInformaciokIgazolas(data);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,27 @@
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue, KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
|
||||
public class MulasztasKeresoController : BaseMulasztasKeresoController
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new MulasztasSearchModel
|
||||
{
|
||||
FeladatEllatasiHelyId = ClaimData.FelhelySzuro,
|
||||
IsSzakkepzo = ClaimData.IsSzakkepzoIntezmeny
|
||||
};
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
}
|
||||
}
|
86
KretaWeb/Areas/Hianyzas/Controllers/MulasztasokController.cs
Normal file
86
KretaWeb/Areas/Hianyzas/Controllers/MulasztasokController.cs
Normal file
@@ -0,0 +1,86 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.BusinessLogic.Security;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Framework;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
using Kreta.Web.Models.EditorTemplates;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
[MvcRoleClaimsAuthorize(true)]
|
||||
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
|
||||
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.SzuperOsztalyfonok.ClaimValue,
|
||||
KretaClaimPackages.Evfolyamfelelos.ClaimValue)]
|
||||
public class MulasztasokController : BaseMulasztasokController
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
var model = new MulasztasIndexModel
|
||||
{
|
||||
OsztalyCsoportList = GetOsztalyCsoportList(true),
|
||||
|
||||
TabList = GetMulasztasokTabs(Constants.Controllers.Mulasztasok),
|
||||
IgazolasNaploZarasDatum = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIgazolasokNaplozarasDatuma(),
|
||||
};
|
||||
|
||||
if (ClaimData.FelhasznaloSzerepkorok.ContainsKey(SzerepkorTipusEnum.Naplo))
|
||||
{
|
||||
model.OsztalyCsoportId = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetOsztalyfonokElsonekMegtalaltOsztalya(ClaimData.FelhasznaloId);
|
||||
}
|
||||
|
||||
return View("Index", model);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokDatumNezetTab()
|
||||
{
|
||||
return base.GetMulasztasokDatumNezetTab(Constants.Controllers.Mulasztasok, Constants.ApiControllers.MulasztasokApi);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokDatumNezetDetailGrid(MulasztasokDatumNezetGridModel dateModel)
|
||||
{
|
||||
var igazolasNaplozarasDatuma = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIgazolasokNaplozarasDatuma();
|
||||
dateModel.IsMulasztasKezelheto = dateModel.MulasztasDatuma > igazolasNaplozarasDatuma;
|
||||
return base.GetMulasztasokDatumNezetDetailGrid(dateModel);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokTanuloNezetTab()
|
||||
{
|
||||
return base.GetMulasztasokTanuloNezetTab(Constants.Controllers.Mulasztasok, Constants.ApiControllers.MulasztasokApi);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokTanuloNezetDetailGrid(MulasztasokTanuloNezetGridModel tanuloModel, bool GridHasDelete)
|
||||
{
|
||||
return base.GetMulasztasokTanuloNezetDetailGrid(tanuloModel, GridHasDelete);
|
||||
}
|
||||
|
||||
public ActionResult GetMulasztasokNaploNezetTab()
|
||||
{
|
||||
return base.GetMulasztasokNaploNezetTab(Constants.Controllers.Mulasztasok, Constants.ApiControllers.MulasztasokApi);
|
||||
}
|
||||
|
||||
public ActionResult OpenTanuloMulasztasaiPopup(int tanuloId, int osztalyCsoportId, string apiControllerName = null)
|
||||
{
|
||||
return base.OpenTanuloMulasztasaiPopup(tanuloId, osztalyCsoportId, apiControllerName);
|
||||
}
|
||||
|
||||
public ActionResult TanuloKezeletlenMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel, string apiControllerName = null)
|
||||
{
|
||||
return base.TanuloKezeletlenMulasztasaiDetailGrid(gridModel, apiControllerName);
|
||||
}
|
||||
|
||||
public ActionResult TanuloKezeltMulasztasaiDetailGrid(TanuloMulasztasaiPopupModel gridModel, string apiControllerName = null)
|
||||
{
|
||||
return base.TanuloKezeltMulasztasaiDetailGrid(gridModel, apiControllerName);
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Controllers
|
||||
{
|
||||
//Note: kikapcsolva, mert jelenleg nincs használatban
|
||||
|
||||
//[MvcRoleClaimsAuthorize(true)]
|
||||
//[MvcRolePackageAuthorize(KretaClaimPackages.Ellenorzo.ClaimValue)]
|
||||
public class TantargyiMulasztasController : Controller
|
||||
{
|
||||
// GET: Hianyzas/TantargyiMulasztas
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
}
|
||||
}
|
105
KretaWeb/Areas/Hianyzas/Helpers/IgazolasokHelper.cs
Normal file
105
KretaWeb/Areas/Hianyzas/Helpers/IgazolasokHelper.cs
Normal file
@@ -0,0 +1,105 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Helpers
|
||||
{
|
||||
public class IgazolasokHelper
|
||||
{
|
||||
public static List<SelectListItem> GetTanuloList()
|
||||
{
|
||||
IDictionary<string, string> dictionary;
|
||||
var helper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
dictionary = helper.GetTanulokDDL();
|
||||
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetOsztCsopList()
|
||||
{
|
||||
IDictionary<string, string> dictionary;
|
||||
var helper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
|
||||
dictionary = helper.GetOsztalyCsoportForDDL(new List<string>(), null, "Osztály", "Csoport");
|
||||
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetRogzitoList()
|
||||
{
|
||||
IDictionary<string, string> dictionary;
|
||||
var helper = new TanarHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
|
||||
dictionary = helper.GetTeachersNameList();
|
||||
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
|
||||
public static List<SelectListItem> GetIgazolasTipusList()
|
||||
{
|
||||
IDictionary<string, string> dictionary = FrameworkEnumExtensions.EnumToList((int)GeneratedAdatszotarTipusEnum.IgazolasTipus, ClaimData.SelectedTanevID.Value, true);
|
||||
return dictionary.ToSelectListItemList();
|
||||
}
|
||||
|
||||
internal static IgazolasModel ConvertCoToModel(IgazolasCO co)
|
||||
{
|
||||
IgazolasModel model = new IgazolasModel()
|
||||
{
|
||||
ID = co.ID,
|
||||
TanuloId = co.TanuloId,
|
||||
OsztCsopId = co.OsztCsop,
|
||||
RogzitoId = co.RogzitoId,
|
||||
IgazolasTipus = co.IgazolasTipus,
|
||||
ErvKezdete = co.ErvKezdete,
|
||||
ErvVege = co.ErvVege,
|
||||
Megjegyzes = co.Megjegyzes,
|
||||
RogzDatum = co.RogzDatum,
|
||||
RogzitoNev = co.RogzitoNev,
|
||||
TanuloNev = co.TanuloNev,
|
||||
OsztCsopNev = co.OsztCsopNev
|
||||
};
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static IgazolasCO ConvertNewModelToCO(IgazolasModel model)
|
||||
{
|
||||
IgazolasCO co = new IgazolasCO()
|
||||
{
|
||||
TanuloId = model.TanuloId.Value,
|
||||
OsztCsop = model.OsztCsopId.Value,
|
||||
RogzitoId = ClaimData.FelhasznaloId,
|
||||
RogzDatum = DateTime.Now,
|
||||
IgazolasTipus = model.IgazolasTipus,
|
||||
Megjegyzes = model.Megjegyzes,
|
||||
ErvKezdete = model.ErvKezdete.Value,
|
||||
ErvVege = model.ErvVege.Value
|
||||
};
|
||||
return co;
|
||||
}
|
||||
|
||||
public static IgazolasCO ConvertModModelToCO(IgazolasModel model)
|
||||
{
|
||||
IgazolasCO co = new IgazolasCO()
|
||||
{
|
||||
ID = model.ID,
|
||||
TanuloId = model.TanuloId.Value,
|
||||
OsztCsop = model.OsztCsopId.Value,
|
||||
IgazolasTipus = model.IgazolasTipus,
|
||||
Megjegyzes = model.Megjegyzes,
|
||||
ErvKezdete = model.ErvKezdete.Value,
|
||||
ErvVege = model.ErvVege.Value,
|
||||
RogzitoId = model.RogzitoId.Value,
|
||||
RogzDatum = model.RogzDatum
|
||||
|
||||
};
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
31
KretaWeb/Areas/Hianyzas/Helpers/MulasztasokHelper.cs
Normal file
31
KretaWeb/Areas/Hianyzas/Helpers/MulasztasokHelper.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using System.Collections.Generic;
|
||||
using Kreta.BusinessLogic.Classes.ComboBox;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Framework.Util;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Helpers
|
||||
{
|
||||
public class MulasztasokHelper
|
||||
{
|
||||
|
||||
public static MulasztasokCo ConvertNaploNezetMulasztasokSaveModelToCo(MulasztasokSaveModel model)
|
||||
{
|
||||
MulasztasokCo co = new MulasztasokCo
|
||||
{
|
||||
ID = model.ID,
|
||||
MulTip = model.MulasztasTipus,
|
||||
TanuloId = model.TanuloId,
|
||||
OraId = model.TanitasiOraId,
|
||||
KesIdo = model.KesesIdotartama,
|
||||
Igazolt = model.Igazolt,
|
||||
IgazolasTipus = model.IgazolasTipus,
|
||||
Megjegyzes = model.Megjegyzes,
|
||||
};
|
||||
|
||||
return co;
|
||||
}
|
||||
}
|
||||
}
|
24
KretaWeb/Areas/Hianyzas/HianyzasAreaRegistration.cs
Normal file
24
KretaWeb/Areas/Hianyzas/HianyzasAreaRegistration.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas
|
||||
{
|
||||
public class HianyzasAreaRegistration : AreaRegistration
|
||||
{
|
||||
public override string AreaName
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Hianyzas";
|
||||
}
|
||||
}
|
||||
|
||||
public override void RegisterArea(AreaRegistrationContext context)
|
||||
{
|
||||
context.MapRoute(
|
||||
"Hianyzas_default",
|
||||
"Hianyzas/{controller}/{action}/{id}",
|
||||
new { action = "Index", id = UrlParameter.Optional }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
25
KretaWeb/Areas/Hianyzas/Logic/MulasztasKeresoLogic.cs
Normal file
25
KretaWeb/Areas/Hianyzas/Logic/MulasztasKeresoLogic.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Areas.Hianyzas.Models;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Logic
|
||||
{
|
||||
public class MulasztasKeresoLogic
|
||||
{
|
||||
public static ActionResult ExportTanulokMulasztasai(MulasztasSearchModel model)
|
||||
{
|
||||
var memoryStream = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanulokTantargyaiEsPedagogusaiExcelExport(model.ConvertModelToCo());
|
||||
var result = new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = HianyzasResource.TanulokMulasztasaiExportFileName };
|
||||
return result;
|
||||
}
|
||||
|
||||
public static ActionResult ExportTanorakonNemJelenlevok(MulasztasSearchModel model)
|
||||
{
|
||||
var memoryStream = new MulasztasHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanorakonNemJelenlevokExcelExport(model.ConvertModelToCo());
|
||||
var result = new FileStreamResult(memoryStream, Core.Constants.ContentTypes.Xlsx) { FileDownloadName = HianyzasResource.TanorakonNemJelenlevokExportFileName };
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,16 @@
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class CsoportMulasztasokGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
public SzerepkorViewTypeEnum SzerepkorViewType { get; set; }
|
||||
|
||||
public int? CsoportTipusId { get; set; }
|
||||
public bool IsTanorai { get; set; }
|
||||
public CsoportvezetokIgazolasiJogosultsagaEnum MulasztasJogosultsagSetting { get; set; }
|
||||
}
|
||||
}
|
7
KretaWeb/Areas/Hianyzas/Models/FelmentesTorlesModel.cs
Normal file
7
KretaWeb/Areas/Hianyzas/Models/FelmentesTorlesModel.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class FelmentesTorlesModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
}
|
||||
}
|
135
KretaWeb/Areas/Hianyzas/Models/FelmentesekGridModel.cs
Normal file
135
KretaWeb/Areas/Hianyzas/Models/FelmentesekGridModel.cs
Normal file
@@ -0,0 +1,135 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
using static Kreta.Core.Constants;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class FelmentesekGridModel : IKretaIdentity
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public const string FelmentesekGridExportAttributeId = nameof(FelmentesekGridExportAttributeId);
|
||||
public const string AktivFelmentesekGridExportAttributeId = nameof(AktivFelmentesekGridExportAttributeId);
|
||||
public const string ToroltFelmentesekGridExportAttributeId = nameof(ToroltFelmentesekGridExportAttributeId);
|
||||
|
||||
#endregion
|
||||
|
||||
public FelmentesekGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public FelmentesekGridModel(FelmentesGridItemCo itemCo, bool isTeljesFelmentesOka = false)
|
||||
{
|
||||
ID = itemCo.ID;
|
||||
TanuloNeve = itemCo.TanuloNeve;
|
||||
TanuloOsztalya = itemCo.TanuloOsztalya;
|
||||
TantargyNev = itemCo.TantargyNev;
|
||||
KezdeteDate = itemCo.KezdeteDate.HasValue ? itemCo.KezdeteDate.Value.ToString(ToStringPattern.HungarianDate) : "-";
|
||||
VegeDate = itemCo.VegeDate.HasValue ? itemCo.VegeDate.Value.ToString(ToStringPattern.HungarianDate) : "-";
|
||||
TanoraLatogatasaAloli = itemCo.IsTanoraLatogatasaAloli ? IgenNemEnum.Igen.GetDisplayName(ClaimData.SelectedTanevID.Value) : IgenNemEnum.Nem.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
ErtekelesAloli = itemCo.IsErtekelesAloli ? IgenNemEnum.Igen.GetDisplayName(ClaimData.SelectedTanevID.Value) : IgenNemEnum.Nem.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
SzovegesenErtekelheto = itemCo.IsSzovegesenErtekelheto ? IgenNemEnum.Igen.GetDisplayName(ClaimData.SelectedTanevID.Value) : IgenNemEnum.Nem.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
FelmentesOka = itemCo.FelmentesOka.Length > 16 && !isTeljesFelmentesOka ? itemCo.FelmentesOka.Substring(0, 12) + "..." : itemCo.FelmentesOka;
|
||||
RogzitesDate = itemCo.RogzitesDate.HasValue ? itemCo.RogzitesDate.Value.ToString(Kreta.Core.Constants.ToStringPattern.HungarianDate) : "-";
|
||||
RogzitoNeve = itemCo.RogzitoNeve == SpecialUserName.KretaTechnicalUserName ? AdatszolgaltatasokResource.NincsAdat : itemCo.RogzitoNeve;
|
||||
ModositasDate = itemCo.ModositasDate.HasValue ? itemCo.ModositasDate.Value.ToString(Kreta.Core.Constants.ToStringPattern.HungarianDate) : "-";
|
||||
ModositoNeve = itemCo.ModositoNeve == SpecialUserName.KretaTechnicalUserName ? AdatszolgaltatasokResource.NincsAdat : itemCo.ModositoNeve;
|
||||
Torolt = itemCo.Torolt;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 00, nameof(FelmentesResource.TanuloNeve), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 00, nameof(FelmentesResource.TanuloNeve), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 00, nameof(FelmentesResource.TanuloNeve), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.TanuloNeve), ResourceType = typeof(FelmentesResource))]
|
||||
public string TanuloNeve { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 01, nameof(FelmentesResource.TanuloOsztalya), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 01, nameof(FelmentesResource.TanuloOsztalya), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 01, nameof(FelmentesResource.TanuloOsztalya), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.TanuloOsztalya), ResourceType = typeof(FelmentesResource))]
|
||||
public string TanuloOsztalya { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 02, nameof(FelmentesResource.Tantargy), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 02, nameof(FelmentesResource.Tantargy), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 02, nameof(FelmentesResource.Tantargy), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.Tantargy), ResourceType = typeof(FelmentesResource))]
|
||||
public string TantargyNev { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 03, nameof(FelmentesResource.KezdeteDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 03, nameof(FelmentesResource.KezdeteDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 03, nameof(FelmentesResource.KezdeteDate), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.KezdeteDate), ResourceType = typeof(FelmentesResource))]
|
||||
public string KezdeteDate { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 04, nameof(FelmentesResource.VegeDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 04, nameof(FelmentesResource.VegeDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 04, nameof(FelmentesResource.VegeDate), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.VegeDate), ResourceType = typeof(FelmentesResource))]
|
||||
public string VegeDate { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 05, nameof(FelmentesResource.IsTanoraLatogatasaAloli), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 05, nameof(FelmentesResource.IsTanoraLatogatasaAloli), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 05, nameof(FelmentesResource.IsTanoraLatogatasaAloli), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.IsTanoraLatogatasaAloli), ResourceType = typeof(FelmentesResource))]
|
||||
public string TanoraLatogatasaAloli { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 06, nameof(FelmentesResource.IsErtekelesAloli), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 06, nameof(FelmentesResource.IsErtekelesAloli), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 06, nameof(FelmentesResource.IsErtekelesAloli), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.IsErtekelesAloli), ResourceType = typeof(FelmentesResource))]
|
||||
public string ErtekelesAloli { get; set; }
|
||||
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 07, nameof(FelmentesResource.IsSzovegesenErtekelheto), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 07, nameof(FelmentesResource.IsSzovegesenErtekelheto), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 07, nameof(FelmentesResource.IsSzovegesenErtekelheto), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.IsSzovegesenErtekelheto), ResourceType = typeof(FelmentesResource))]
|
||||
public string SzovegesenErtekelheto { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 08, nameof(FelmentesResource.FelmentesOka), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 08, nameof(FelmentesResource.FelmentesOka), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 08, nameof(FelmentesResource.FelmentesOka), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.FelmentesOka), ResourceType = typeof(FelmentesResource))]
|
||||
public string FelmentesOka { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 09, nameof(FelmentesResource.RogzitesDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 09, nameof(FelmentesResource.RogzitesDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 09, nameof(FelmentesResource.RogzitesDate), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.RogzitesDate), ResourceType = typeof(FelmentesResource))]
|
||||
public string RogzitesDate { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 10, nameof(FelmentesResource.RogzitoNeve), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 10, nameof(FelmentesResource.RogzitoNeve), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 10, nameof(FelmentesResource.RogzitoNeve), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.RogzitoNeve), ResourceType = typeof(FelmentesResource))]
|
||||
public string RogzitoNeve { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 11, nameof(FelmentesResource.ModositasDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 11, nameof(FelmentesResource.ModositasDate), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 11, nameof(FelmentesResource.ModositasDate), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.ModositasDate), ResourceType = typeof(FelmentesResource))]
|
||||
public string ModositasDate { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 12, nameof(FelmentesResource.ModositoNeve), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(ToroltFelmentesekGridExportAttributeId, 12, nameof(FelmentesResource.ModositoNeve), typeof(FelmentesResource))]
|
||||
[SimpleExportColumn(AktivFelmentesekGridExportAttributeId, 12, nameof(FelmentesResource.ModositoNeve), typeof(FelmentesResource))]
|
||||
[Display(Name = nameof(FelmentesResource.ModositoNeve), ResourceType = typeof(FelmentesResource))]
|
||||
public string ModositoNeve { get; set; }
|
||||
|
||||
public bool Torolt { get; set; }
|
||||
|
||||
[SimpleExportColumn(FelmentesekGridExportAttributeId, 13, nameof(FelmentesResource.ToroltStr), typeof(FelmentesResource))]
|
||||
public string Torolt_Str => Torolt ? IgenNemEnum.Igen.GetDisplayName(ClaimData.SelectedTanevID.Value) : IgenNemEnum.Nem.GetDisplayName(ClaimData.SelectedTanevID.Value);
|
||||
}
|
||||
}
|
87
KretaWeb/Areas/Hianyzas/Models/FelmentesekSearchModel.cs
Normal file
87
KretaWeb/Areas/Hianyzas/Models/FelmentesekSearchModel.cs
Normal file
@@ -0,0 +1,87 @@
|
||||
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class FelmentesekSearchModel
|
||||
{
|
||||
public int? ID { get; set; }
|
||||
public FelmentesekSearchModel() { }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.TanuloNeve), ResourceType = typeof(FelmentesResource))]
|
||||
public string TanuloNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.TanuloOsztalya), ResourceType = typeof(FelmentesResource))]
|
||||
public int? OsztalyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.Tantargy), ResourceType = typeof(FelmentesResource))]
|
||||
public int? TantargyIdSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.KezdeteDate), ResourceType = typeof(FelmentesResource))]
|
||||
public DateTime? KezdeteDateFrom { get; set; }
|
||||
public DateTime? KezdeteDateTo { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.VegeDate), ResourceType = typeof(FelmentesResource))]
|
||||
public DateTime? VegeDateFrom { get; set; }
|
||||
public DateTime? VegeDateTo { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.IsTanoraLatogatasaAloli), ResourceType = typeof(FelmentesResource))]
|
||||
public int? IsTanoraLatogatasaAloli { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.IsErtekelesAloli), ResourceType = typeof(FelmentesResource))]
|
||||
public int? IsErtekelesAloli { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.IsSzovegesenErtekelheto), ResourceType = typeof(FelmentesResource))]
|
||||
public int? IsSzovegesenErtekelheto { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.FelmentesOka), ResourceType = typeof(FelmentesResource))]
|
||||
public string FelmentesOka { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.RogzitesDate), ResourceType = typeof(FelmentesResource))]
|
||||
public DateTime? RogzitesDateFrom { get; set; }
|
||||
public DateTime? RogzitesDateTo { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.RogzitoNeve), ResourceType = typeof(FelmentesResource))]
|
||||
public string RogzitoNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.ModositasDate), ResourceType = typeof(FelmentesResource))]
|
||||
public DateTime? ModositasDateFrom { get; set; }
|
||||
public DateTime? ModositasDateTo { get; set; }
|
||||
|
||||
[Display(Name = nameof(FelmentesResource.ModositoNeve), ResourceType = typeof(FelmentesResource))]
|
||||
public string ModositoNeve { get; set; }
|
||||
|
||||
public bool? Torolt { get; set; }
|
||||
|
||||
public FelmentesSearchCo ToCo()
|
||||
{
|
||||
var felmentesSearchCo = new FelmentesSearchCo
|
||||
{
|
||||
ID = ID,
|
||||
TanuloNeve = TanuloNeve,
|
||||
TanuloOsztalyId = OsztalyId,
|
||||
TantargyId = TantargyIdSearch,
|
||||
KezdeteDateFrom = KezdeteDateFrom,
|
||||
KezdeteDateTo = KezdeteDateTo,
|
||||
VegeDateFrom = VegeDateFrom,
|
||||
VegeDateTo = VegeDateTo,
|
||||
IsTanoraLatogatasaAloli = IsTanoraLatogatasaAloli,
|
||||
IsErtekelesAloli = IsErtekelesAloli,
|
||||
IsSzovegesenErtekelheto = IsSzovegesenErtekelheto,
|
||||
FelmentesOka = FelmentesOka,
|
||||
RogzitesDateFrom = RogzitesDateFrom,
|
||||
RogzitesDateTo = RogzitesDateTo.HasValue ? RogzitesDateTo.Value.AddDays(1) : (DateTime?)null,
|
||||
RogzitoNeve = RogzitoNeve,
|
||||
ModositasDateFrom = ModositasDateFrom,
|
||||
ModositasDateTo = ModositasDateTo.HasValue ? ModositasDateTo.Value.AddDays(1) : (DateTime?)null,
|
||||
ModositoNeve = ModositoNeve,
|
||||
Torolt = Torolt
|
||||
};
|
||||
return felmentesSearchCo;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
44
KretaWeb/Areas/Hianyzas/Models/HianyzasGridModel.cs
Normal file
44
KretaWeb/Areas/Hianyzas/Models/HianyzasGridModel.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class HianyzasGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[KretaDisplayName(1842)] //Rögzítés dátuma
|
||||
public DateTime RogzitesDatum { get; set; }
|
||||
|
||||
[KretaDisplayName(1795)] /*Mulasztás dátuma*/
|
||||
public DateTime MulasztasDatum { get; set; }
|
||||
|
||||
[KretaDisplayName(219)] /*Óra*/
|
||||
public string Oraszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Targy { get; set; }
|
||||
|
||||
[KretaDisplayName(271)] /*Téma*/
|
||||
public string Tema { get; set; }
|
||||
|
||||
public int MulasztasTipus { get; set; }
|
||||
|
||||
[KretaDisplayName(1720)] /*Mulasztás típusa*/
|
||||
public string MulasztasTipus_DNAME { get; set; }
|
||||
|
||||
public bool? Igazolt_BOOL { get; set; }
|
||||
|
||||
[KretaDisplayName(1723)] /*Igazolt?*/
|
||||
public string Igazolt_BNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.TanoraiCeluMulasztas), ResourceType = typeof(HianyzasResource))]
|
||||
public string TanoraiCeluMulasztas_BNAME { get; set; }
|
||||
|
||||
[KretaDisplayName(485)] /*Igazolás típusa*/
|
||||
public string IgazolasTipus_DNAME { get; set; }
|
||||
}
|
||||
}
|
62
KretaWeb/Areas/Hianyzas/Models/HianyzasokSearchModel.cs
Normal file
62
KretaWeb/Areas/Hianyzas/Models/HianyzasokSearchModel.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Core;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class HianyzasokSearchModel
|
||||
{
|
||||
[Display(Name = nameof(HianyzasResource.MulasztasiIdoszak), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? IdoszakKezdete { get; set; }
|
||||
public DateTime? IdoszakVege { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Ora), ResourceType = typeof(HianyzasResource))]
|
||||
public int? Oraszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Tantargy), ResourceType = typeof(HianyzasResource))]
|
||||
public int? TantargyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(TantargyResource.Tema), ResourceType = typeof(TantargyResource))]
|
||||
public string Tema { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.MulasztasTipusa), ResourceType = typeof(HianyzasResource))]
|
||||
public int? MulasztasTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolt), ResourceType = typeof(HianyzasResource))]
|
||||
public int? Igazolt { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.TanoraiCeluMulasztas), ResourceType = typeof(HianyzasResource))]
|
||||
public string TanoraiCeluMulasztas { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.IgazolasTipus), ResourceType = typeof(HianyzasResource))]
|
||||
public int? IgazolasTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.RogzitesDatuma), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? RogzitesKezdete { get; set; }
|
||||
public DateTime? RogzitesVege { get; set; }
|
||||
|
||||
public int? MulaszatasId { get; set; }
|
||||
|
||||
public MulasztasokCo ConvertToMulasztasokCo()
|
||||
{
|
||||
return new MulasztasokCo
|
||||
{
|
||||
Tol = this.IdoszakKezdete,
|
||||
Ig = this.IdoszakVege,
|
||||
TanuloId = ClaimData.FelhasznaloId,
|
||||
TanoraiCeluMulasztas = this.TanoraiCeluMulasztas,
|
||||
Oraszam = this.Oraszam,
|
||||
TantargyId = this.TantargyId,
|
||||
Tema = this.Tema,
|
||||
MulTip = this.MulasztasTipus,
|
||||
Igazolt = this.Igazolt.ToNullableBoolean(),
|
||||
IgazolasTipus = this.IgazolasTipus,
|
||||
RogzitesKezdete = this.RogzitesKezdete,
|
||||
RogzitesVege = this.RogzitesVege,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
27
KretaWeb/Areas/Hianyzas/Models/IgazolasDetailGridModel.cs
Normal file
27
KretaWeb/Areas/Hianyzas/Models/IgazolasDetailGridModel.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasDetailGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(IgazolasResource.IgazolasElsoNapja), ResourceType = typeof(IgazolasResource))]
|
||||
public DateTime Kezdete { get; set; }
|
||||
|
||||
[Display(Name = nameof(IgazolasResource.IgazolasUtolsoNapja), ResourceType = typeof(IgazolasResource))]
|
||||
public DateTime Vege { get; set; }
|
||||
|
||||
[Display(Name = nameof(IgazolasResource.IgazolasTipusa), ResourceType = typeof(IgazolasResource))]
|
||||
public string IgazolasTipusa_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(IgazolasResource.IgazoloTanar), ResourceType = typeof(IgazolasResource))]
|
||||
public string Rogzito { get; set; }
|
||||
|
||||
[Display(Name = nameof(IgazolasResource.Megjegyzes), ResourceType = typeof(IgazolasResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
}
|
||||
}
|
21
KretaWeb/Areas/Hianyzas/Models/IgazolasDetailModel.cs
Normal file
21
KretaWeb/Areas/Hianyzas/Models/IgazolasDetailModel.cs
Normal file
@@ -0,0 +1,21 @@
|
||||
using Kreta.Enums.ManualEnums;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasDetailModel
|
||||
{
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
public int? SzervezetTipusId { get; set; }
|
||||
|
||||
public int? SzervezetId { get; set; }
|
||||
|
||||
public SzervezetTipusEnum? SzervezetTipusEnum { get; set; } = null;
|
||||
|
||||
public bool IsFromSzervezet => SzervezetTipusEnum.HasValue;
|
||||
|
||||
public string ControllerName { get; set; } = Constants.Controllers.MulasztasKereso;
|
||||
|
||||
public string ApiControllerName { get; set; } = Constants.ApiControllers.MulasztasKeresoApi;
|
||||
}
|
||||
}
|
27
KretaWeb/Areas/Hianyzas/Models/IgazolasGridModel.cs
Normal file
27
KretaWeb/Areas/Hianyzas/Models/IgazolasGridModel.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[KretaDisplayName(108)] //Név
|
||||
public string TanuloNev { get; set; }
|
||||
|
||||
[KretaDisplayName(108)] //Név
|
||||
public string TanuloNevElotagNelkul { get; set; }
|
||||
|
||||
public DateTime? IgazolasElsoNap { get; set; }
|
||||
|
||||
public DateTime? IgazolasUtolsoNap { get; set; }
|
||||
|
||||
public string IgazolasTipus { get; set; }
|
||||
|
||||
public string IgazolasSzovegesTartalma { get; set; }
|
||||
|
||||
public bool Valid { get; set; }
|
||||
}
|
||||
}
|
39
KretaWeb/Areas/Hianyzas/Models/IgazolasKeresoModel.cs
Normal file
39
KretaWeb/Areas/Hianyzas/Models/IgazolasKeresoModel.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Helpers;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasKeresoModel
|
||||
{
|
||||
public IgazolasKeresoModel()
|
||||
{
|
||||
var tanevCO = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanevInfo();
|
||||
KezdoNap = tanevCO.KezdoNap;
|
||||
UtolsoNap = tanevCO.UtolsoNap;
|
||||
}
|
||||
|
||||
public DateTime KezdoNap { get; set; }
|
||||
|
||||
public DateTime UtolsoNap { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Osztaly), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? OsztCsopId { get; set; }
|
||||
|
||||
public DateTime IgazolasNaplozarasDatum { get; set; }
|
||||
|
||||
public int? SzervezetTipusId { get; set; }
|
||||
|
||||
public int? SzervezetId { get; set; }
|
||||
|
||||
public bool IsFromSzervezet => SzervezetTipusId.HasValue && SzervezetTipusId.Value == (int)SzervezetTipusEnum.Dualis;
|
||||
|
||||
public string ControllerName { get; set; } = Constants.Controllers.Igazolas;
|
||||
|
||||
public string ApiControllerName { get; set; } = Constants.ApiControllers.IgazolasokApi;
|
||||
}
|
||||
}
|
23
KretaWeb/Areas/Hianyzas/Models/IgazolasMentesModel.cs
Normal file
23
KretaWeb/Areas/Hianyzas/Models/IgazolasMentesModel.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasMentesModel
|
||||
{
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
public string TanuloNev { get; set; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public DateTime IgazolasElsoNap { get; set; }
|
||||
|
||||
public DateTime IgazolasUtolsoNap { get; set; }
|
||||
|
||||
public int IgazolasTipus { get; set; }
|
||||
|
||||
public string IgazolasSzovegesTartalma { get; set; }
|
||||
|
||||
public int? SzervezetId { get; set; }
|
||||
}
|
||||
}
|
74
KretaWeb/Areas/Hianyzas/Models/IgazolasModel.cs
Normal file
74
KretaWeb/Areas/Hianyzas/Models/IgazolasModel.cs
Normal file
@@ -0,0 +1,74 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.Enums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasModel
|
||||
{
|
||||
public IgazolasModel()
|
||||
{
|
||||
OsztCsopList = new List<SelectListItem>();
|
||||
RogzitoList = new List<SelectListItem>();
|
||||
IgazolasTipusList = new List<SelectListItem>();
|
||||
}
|
||||
public int? ID { get; set; }
|
||||
public int? RogzitoId { get; set; }
|
||||
|
||||
[KretaDisplayName(4229)]
|
||||
public string RogzitoNev { get; set; }
|
||||
public DateTime RogzDatum { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 2033)] /*Az igazolás első napját kötelező megadni!*/
|
||||
[KretaDisplayName(2021)] //Igazolás első napja
|
||||
public DateTime? ErvKezdete { get; set; }
|
||||
|
||||
[KretaDisplayName(2021)] //Igazolás első napja
|
||||
public string ErvKezdeteRoviddatum { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 2034)] /*Az igazolás utolsó napját kötelező megadni!*/
|
||||
[KretaDisplayName(2022)] //Igazolás utolsó napja
|
||||
public DateTime? ErvVege { get; set; }
|
||||
|
||||
[KretaDisplayName(2022)] //Igazolás utolsó napja
|
||||
public string ErvVegeRoviddatum { get; set; }
|
||||
|
||||
[KretaDisplayName(1842)] //Rögzítés dátuma
|
||||
public string RogzDatumRoviddatum { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 2035)] /*Az igazolás típusát kötelező megadni!*/
|
||||
[KretaDisplayName(485)] //Igazolás típusa
|
||||
public int? IgazolasTipus { get; set; }
|
||||
|
||||
[KretaDisplayName(485)] //Igazolás típusa
|
||||
public string IgazolasTipusNev { get { return IgazolasTipus.HasValue ? IgazolasTipus.Value.GetDisplayName<IgazolasTipusEnum>(ClaimData.SelectedTanevID.Value) : string.Empty; } }
|
||||
|
||||
[KretaDisplayName(2023)] //Igazolás szöveges tartalma
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
[KretaRequired(StringResourcesId = 4233)] /*Tanuló kiválasztása kötelező!*/
|
||||
[KretaDisplayName(455)] //Tanuló neve
|
||||
public int? TanuloId { get; set; }
|
||||
|
||||
[KretaDisplayName(455)] //Tanuló neve
|
||||
public string TanuloNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? OsztCsopId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public string OsztCsopNev { get; set; }
|
||||
|
||||
public List<SelectListItem> OsztCsopList { get; set; }
|
||||
|
||||
public List<SelectListItem> RogzitoList { get; set; }
|
||||
|
||||
public List<SelectListItem> IgazolasTipusList { get; set; }
|
||||
}
|
||||
}
|
82
KretaWeb/Areas/Hianyzas/Models/IgazolasokListajaGridModel.cs
Normal file
82
KretaWeb/Areas/Hianyzas/Models/IgazolasokListajaGridModel.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasokListajaGridModel : IKretaIdentity
|
||||
{
|
||||
public const string IgazolasokExportAttributeId = nameof(IgazolasokExportAttributeId);
|
||||
|
||||
public IgazolasokListajaGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public IgazolasokListajaGridModel(IgazolasItemCo itemCo)
|
||||
{
|
||||
ID = itemCo.Id.ToString();
|
||||
Kezdete = itemCo.Kezdete;
|
||||
Vege = itemCo.Vege;
|
||||
OsztalyCsoport = itemCo.OsztalyCsoport;
|
||||
Nev = itemCo.Nev;
|
||||
NevElotagNelkul = itemCo.NevElotagNelkul;
|
||||
SzuletesiDatum = itemCo.SzuletesiDatum;
|
||||
OktatasiAzonosito = itemCo.OktatasiAzonosito;
|
||||
IgazolasTipusaNev = itemCo.IgazolasTipusaNev;
|
||||
RogzitesDatuma = itemCo.RogzitesDatuma;
|
||||
Rogzito = itemCo.Rogzito;
|
||||
RogzitoElotagNelkul = itemCo.RogzitoElotagNelkul;
|
||||
Megjegyzes = itemCo.Megjegyzes;
|
||||
}
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 04, nameof(HianyzasResource.ErvenyessegKezdete), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.ErvenyessegKezdete), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime Kezdete { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 05, nameof(HianyzasResource.ErvenyessegVege), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.ErvenyessegVege), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime Vege { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 01, nameof(HianyzasResource.Osztaly), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.Osztaly), ResourceType = typeof(HianyzasResource))]
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 00, nameof(HianyzasResource.TanuloNeve), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.Nev), ResourceType = typeof(HianyzasResource))]
|
||||
public string Nev { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Nev), ResourceType = typeof(HianyzasResource))]
|
||||
public string NevElotagNelkul { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 02, nameof(TanuloResource.SzuletesiDatum), typeof(TanuloResource))]
|
||||
public DateTime SzuletesiDatum { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 03, nameof(TanuloResource.OktatasiAzonosito), typeof(TanuloResource))]
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 09, nameof(HianyzasResource.IgazolasTipusa), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.IgazolasTipusa), ResourceType = typeof(HianyzasResource))]
|
||||
public string IgazolasTipusaNev { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 07, nameof(HianyzasResource.RogzitesDatuma), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.RogzitesDatuma), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime RogzitesDatuma { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 08, nameof(HianyzasResource.Rogzito), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.Rogzito), ResourceType = typeof(HianyzasResource))]
|
||||
public string Rogzito { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Rogzito), ResourceType = typeof(HianyzasResource))]
|
||||
public string RogzitoElotagNelkul { get; set; }
|
||||
|
||||
[SimpleExportColumn(IgazolasokExportAttributeId, 06, nameof(HianyzasResource.Megjegyzes), typeof(HianyzasResource))]
|
||||
[Display(Name = nameof(HianyzasResource.Megjegyzes), ResourceType = typeof(HianyzasResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,59 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class IgazolasokListajaSearchModel
|
||||
{
|
||||
[Display(Name = nameof(HianyzasResource.ErvenyessegIdeje), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? IgazolasKezdteteSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.ErvenyessegIdeje), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? IgazolasVegeSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Osztaly), ResourceType = typeof(HianyzasResource))]
|
||||
public int? OsztalySearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
|
||||
public int? FeladatEllatasiHelyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
|
||||
public bool? IsKellKapcsolodoCsoportok { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Nev), ResourceType = typeof(HianyzasResource))]
|
||||
public string NevSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.IgazolasTipusa), ResourceType = typeof(HianyzasResource))]
|
||||
public int? IgazolasTipusaSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.RogzitesDatuma), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? RogzitesDatumaTolSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.RogzitesDatuma), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? RogzitesDatumaIgSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Rogzito), ResourceType = typeof(HianyzasResource))]
|
||||
public int? RogzitoSearch { get; set; }
|
||||
|
||||
public IgazolasokListajaSearchCO ConvertToCO()
|
||||
{
|
||||
return new IgazolasokListajaSearchCO
|
||||
{
|
||||
IntezmenyId = ClaimData.IntezmenyId,
|
||||
TanevId = ClaimData.SelectedTanevID,
|
||||
FeladatEllatasiHelyId = FeladatEllatasiHelyId,
|
||||
IgazolasKezdteteSearch = this.IgazolasKezdteteSearch,
|
||||
IgazolasTipusaSearch = this.IgazolasTipusaSearch,
|
||||
IgazolasVegeSearch = this.IgazolasVegeSearch,
|
||||
NevSearch = this.NevSearch,
|
||||
OsztalyCsoportSearch = this.OsztalySearch,
|
||||
RogzitesDatumaIgSearch = this.RogzitesDatumaIgSearch,
|
||||
RogzitesDatumaTolSearch = this.RogzitesDatumaTolSearch,
|
||||
RogzitoSearch = this.RogzitoSearch
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,23 @@
|
||||
using System;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class InformaciokIgazolasGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[KretaDisplayName(667)] //Kezdete
|
||||
public DateTime Kezdete { get; set; }
|
||||
|
||||
[KretaDisplayName(668)] //Vége
|
||||
public DateTime Vege { get; set; }
|
||||
|
||||
[KretaDisplayName(485)] //Igazolás típusa
|
||||
public string IgazolasTipusa_DNAME { get; set; }
|
||||
|
||||
[KretaDisplayName(97)] //Megjegyzés
|
||||
public string Megjegyzes { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,31 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class InformaciokIgazolasSearchModel
|
||||
{
|
||||
[Display(Name = nameof(IgazolasResource.ErvenyessegIdeje), ResourceType = typeof(IgazolasResource))]
|
||||
public DateTime? IgazolasKezdeteSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(IgazolasResource.ErvenyessegIdeje), ResourceType = typeof(IgazolasResource))]
|
||||
public DateTime? IgazolasVegeSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(IgazolasResource.IgazolasTipusa), ResourceType = typeof(IgazolasResource))]
|
||||
public int? IgazolasTipusaSearch { get; set; }
|
||||
|
||||
public IgazolasSearchCo ConvertToCo()
|
||||
{
|
||||
return new IgazolasSearchCo
|
||||
{
|
||||
IgazolasKezdeteSearch = this.IgazolasKezdeteSearch,
|
||||
IgazolasVegeSearch = this.IgazolasVegeSearch,
|
||||
IgazolasTipusaSearch = this.IgazolasTipusaSearch,
|
||||
TanuloId = ClaimData.FelhasznaloId
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
122
KretaWeb/Areas/Hianyzas/Models/MulasztasGridModel.cs
Normal file
122
KretaWeb/Areas/Hianyzas/Models/MulasztasGridModel.cs
Normal file
@@ -0,0 +1,122 @@
|
||||
using System;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Core.CustomAttributes;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class MulasztasGridModel : IKretaIdentity
|
||||
{
|
||||
#region Fields
|
||||
|
||||
public const string MulasztasExportAttributeId = nameof(MulasztasExportAttributeId);
|
||||
|
||||
#endregion
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.TanuloNeve), ResourceType = typeof(MulasztasResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 00, nameof(MulasztasResource.TanuloNeve), typeof(MulasztasResource))]
|
||||
public string TanuloNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.TanuloNeve), ResourceType = typeof(MulasztasResource))]
|
||||
public string TanuloNevElotagNelkul { get; set; }
|
||||
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 01, nameof(TanuloResource.TanuloAzonositoja), typeof(TanuloResource))]
|
||||
[Display(Name = nameof(TanuloResource.TanuloAzonositoja), ResourceType = typeof(TanuloResource))]
|
||||
public string OktatasiAzonosito { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Datum), ResourceType = typeof(MulasztasResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 02, nameof(MulasztasResource.Datum), typeof(MulasztasResource))]
|
||||
public DateTime Datum { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Ora), ResourceType = typeof(MulasztasResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 03, nameof(MulasztasResource.Ora), typeof(MulasztasResource))]
|
||||
public int Oraszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 04, nameof(OsztalyCsoportResource.OsztalyCsoport), typeof(OsztalyCsoportResource))]
|
||||
public string OsztCsopNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 05, nameof(AdminisztracioResource.Tantargy), typeof(AdminisztracioResource))]
|
||||
public string TargyNev { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Tipus), ResourceType = typeof(MulasztasResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 06, nameof(MulasztasResource.Tipus), typeof(MulasztasResource))]
|
||||
public string MulTip_DNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.KesesPerc), ResourceType = typeof(MulasztasResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 07, nameof(MulasztasResource.KesesPerc), typeof(MulasztasResource))]
|
||||
public int KesesPerc { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Igazolt), ResourceType = typeof(MulasztasResource))]
|
||||
public string Igazolt { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Igazolt), ResourceType = typeof(MulasztasResource))]
|
||||
public bool? Igazolt_BOOL { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Igazolt), ResourceType = typeof(MulasztasResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 08, nameof(MulasztasResource.Igazolt), typeof(MulasztasResource))]
|
||||
public string Igazolt_BNAME { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.IgazolasTipusa), ResourceType = typeof(MulasztasResource))]
|
||||
public int? IgazolasTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.IgazolasTipusa), ResourceType = typeof(MulasztasResource))]
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 09, nameof(MulasztasResource.IgazolasTipusa), typeof(MulasztasResource))]
|
||||
public string IgazolasTipus_DNAME { get; set; }
|
||||
|
||||
public bool Valid { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Megjegyzes), ResourceType = typeof(MulasztasResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
[Display(Name = nameof(MulasztasResource.Megjegyzes), ResourceType = typeof(MulasztasResource))]
|
||||
public string IgazolasMegjegyzes { get; set; }
|
||||
|
||||
public string AnyjaNeve { get; set; }
|
||||
|
||||
public string SzuletesiIdo { get; set; }
|
||||
|
||||
public string SzuletesiIdoFormatted { get; set; }
|
||||
|
||||
public string TanitasiOraId { get; set; }
|
||||
|
||||
public bool IsMulasztasKezelheto { get; set; }
|
||||
|
||||
[SimpleExportColumn(MulasztasExportAttributeId, 10, nameof(OrarendResource.OnlineOra), typeof(OrarendResource))]
|
||||
public string IsOnlineOra_BNAME { get; set; }
|
||||
|
||||
public MulasztasGridModel()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public MulasztasGridModel(MulasztasItemCo itemCo)
|
||||
{
|
||||
ID = itemCo.ID.ToString();
|
||||
TanuloNev = itemCo.TanuloNev;
|
||||
TanuloNevElotagNelkul = itemCo.TanuloNevElotagNelkul;
|
||||
OktatasiAzonosito = itemCo.OktatasiAzonosito;
|
||||
Datum = itemCo.Datum.Value;
|
||||
Oraszam = itemCo.Oraszam;
|
||||
OsztCsopNev = itemCo.OsztCsopNev;
|
||||
TargyNev = itemCo.TargyNev;
|
||||
MulTip_DNAME = itemCo.MulTip_DNAME;
|
||||
KesesPerc = itemCo.KesesPerc;
|
||||
Igazolt = itemCo.Igazolt;
|
||||
Igazolt_BNAME = itemCo.Igazolt_BNAME;
|
||||
Igazolt_BOOL = itemCo.Igazolt_BOOL;
|
||||
IgazolasTipus = itemCo.IgazolasTipus;
|
||||
IgazolasTipus_DNAME = itemCo.IgazolasTipus_DNAME;
|
||||
IsMulasztasKezelheto = itemCo.IsMulasztasKezelheto;
|
||||
IsOnlineOra_BNAME = itemCo.IsOnlineOra_BNAME;
|
||||
IgazolasMegjegyzes = itemCo.IgazolasMegjegyzes;
|
||||
}
|
||||
}
|
||||
}
|
34
KretaWeb/Areas/Hianyzas/Models/MulasztasIndexModel.cs
Normal file
34
KretaWeb/Areas/Hianyzas/Models/MulasztasIndexModel.cs
Normal file
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
using Kreta.Web.Helpers.TabStrip;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class MulasztasIndexModel
|
||||
{
|
||||
[KretaDisplayName(1768)] /*Mulasztási időszak kezdete*/
|
||||
public DateTime? DatumTol { get; set; }
|
||||
|
||||
[KretaDisplayName(1769)] /*Mulasztási időszak vége*/
|
||||
public DateTime? DatumIg { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.Osztaly), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? OsztalyCsoportId { get; set; }
|
||||
|
||||
[Display(Name = nameof(CommonResource.Csoport), ResourceType = typeof(CommonResource))]
|
||||
public int? CsoportId { get; set; }
|
||||
|
||||
[KretaDisplayName(2568)] /*Igazolt*/
|
||||
public int? IgazoltSearch { get; set; }
|
||||
|
||||
public List<SelectListItem> OsztalyCsoportList { get; set; }
|
||||
|
||||
public List<TabStripItemModel> TabList { get; set; }
|
||||
|
||||
public DateTime IgazolasNaploZarasDatum { get; set; }
|
||||
}
|
||||
}
|
92
KretaWeb/Areas/Hianyzas/Models/MulasztasInfoModel.cs
Normal file
92
KretaWeb/Areas/Hianyzas/Models/MulasztasInfoModel.cs
Normal file
@@ -0,0 +1,92 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.Resources;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class MulasztasInfoModel
|
||||
{
|
||||
public class AlapadatModel
|
||||
{
|
||||
[Display(Name = nameof(HianyzasResource.TanuloNeve), ResourceType = typeof(HianyzasResource))]
|
||||
public string Tanulo { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.MulasztasDatuma), ResourceType = typeof(HianyzasResource))]
|
||||
public string Datum { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Ora), ResourceType = typeof(HianyzasResource))]
|
||||
public int? Oraszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Osztalycsoport), ResourceType = typeof(HianyzasResource))]
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Tantargy), ResourceType = typeof(HianyzasResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.MulasztasTipusa), ResourceType = typeof(HianyzasResource))]
|
||||
public string MulasztasTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Kesesperc), ResourceType = typeof(HianyzasResource))]
|
||||
public int? KesesPercben { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.IgazoltKerdojel), ResourceType = typeof(HianyzasResource))]
|
||||
public string Igazolt { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.IgazolasTipusa), ResourceType = typeof(HianyzasResource))]
|
||||
public string IgazolasTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Megjegyzes), ResourceType = typeof(HianyzasResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
}
|
||||
|
||||
public class TanitasiOraModel
|
||||
{
|
||||
[Display(Name = nameof(HianyzasResource.Datum), ResourceType = typeof(HianyzasResource))]
|
||||
public string Datum { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Oraszamidopont), ResourceType = typeof(HianyzasResource))]
|
||||
public int? Oraszam { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.HetNapja), ResourceType = typeof(HianyzasResource))]
|
||||
public string HetNapja { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.OrarendiNapHetirendje), ResourceType = typeof(HianyzasResource))]
|
||||
public string Hetirend { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Foglalkozas), ResourceType = typeof(HianyzasResource))]
|
||||
public string Foglalkozas { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Osztalycsoport), ResourceType = typeof(HianyzasResource))]
|
||||
public string OsztalyCsoport { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Tantargy), ResourceType = typeof(HianyzasResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Alkalmazott), ResourceType = typeof(HianyzasResource))]
|
||||
public string Tanar { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.HelyettesitesitoTanarNeve), ResourceType = typeof(HianyzasResource))]
|
||||
public string HelyettesitesitoTanarNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Helyiseg), ResourceType = typeof(HianyzasResource))]
|
||||
public string Terem { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Megtartott), ResourceType = typeof(HianyzasResource))]
|
||||
public string Megtartott { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Sorszamozott), ResourceType = typeof(HianyzasResource))]
|
||||
public string Sorszamozando { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.TanitasiOraKezdete), ResourceType = typeof(HianyzasResource))]
|
||||
public string OraKezdete { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.TanitasiOraVege), ResourceType = typeof(HianyzasResource))]
|
||||
public string OraVege { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.TanitasiOraTemaja), ResourceType = typeof(HianyzasResource))]
|
||||
public string Tema { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Megjegyzes), ResourceType = typeof(HianyzasResource))]
|
||||
public string Megjegyzes { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
163
KretaWeb/Areas/Hianyzas/Models/MulasztasSearchModel.cs
Normal file
163
KretaWeb/Areas/Hianyzas/Models/MulasztasSearchModel.cs
Normal file
@@ -0,0 +1,163 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Web.Mvc;
|
||||
using Kreta.BusinessLogic.Classes;
|
||||
using Kreta.BusinessLogic.HelperClasses;
|
||||
using Kreta.BusinessLogic.Helpers;
|
||||
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
||||
using Kreta.Enums.ManualEnums;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Helpers;
|
||||
using Kreta.Web.Security;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class MulasztasSearchModel
|
||||
{
|
||||
public MulasztasSearchModel()
|
||||
{
|
||||
if (ClaimData.IsVegyes)
|
||||
{
|
||||
FeladatKategoriaId = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetSystemSettingValue<int>(Enums.RendszerBeallitasTipusEnum.Default_Feladat_Kategoria);
|
||||
}
|
||||
|
||||
var naploNezetDatum = DateTime.Today;
|
||||
var tanev = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetTanevInfo();
|
||||
var tanevKezdoNap = tanev.KezdoNap;
|
||||
if (naploNezetDatum < tanevKezdoNap)
|
||||
{
|
||||
naploNezetDatum = tanevKezdoNap;
|
||||
}
|
||||
|
||||
var tanevUtolsoNap = tanev.UtolsoNap;
|
||||
if (naploNezetDatum > tanevUtolsoNap)
|
||||
{
|
||||
naploNezetDatum = tanevUtolsoNap;
|
||||
}
|
||||
|
||||
NaploNezetDatum = naploNezetDatum;
|
||||
NaploNezetDatumMinDate = tanevKezdoNap;
|
||||
NaploNezetDatumMaxDate = tanevUtolsoNap;
|
||||
}
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.MulasztasiIdoszak), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? DatumTol { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.MulasztasiIdoszak), ResourceType = typeof(HianyzasResource))]
|
||||
public DateTime? DatumIg { get; set; }
|
||||
|
||||
public DateTime? NaploNezetDatum { get; set; }
|
||||
|
||||
public DateTime NaploNezetDatumMinDate { get; set; }
|
||||
|
||||
public DateTime NaploNezetDatumMaxDate { get; set; }
|
||||
|
||||
[Display(Name = nameof(TanuloResource.TanuloNeve), ResourceType = typeof(TanuloResource))]
|
||||
public string TanuloNeve { get; set; }
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.OsztalyCsoport), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? OsztalyCsoportId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.KapcsolodoCsoportok), ResourceType = typeof(OrarendResource))]
|
||||
public bool KellKapcsolodoCsoportok { get; set; }
|
||||
|
||||
public int? TanuloId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.CsoportTipusa), ResourceType = typeof(OrarendResource))]
|
||||
public int? CsoportTipus { get; set; }
|
||||
|
||||
[Display(Name = nameof(TantargyfelosztasResource.Foglalkozas), ResourceType = typeof(TantargyfelosztasResource))]
|
||||
public int? FoglalkozasId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tantargy), ResourceType = typeof(OrarendResource))]
|
||||
public int? TantargyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.MulasztasTipusa), ResourceType = typeof(HianyzasResource))]
|
||||
public int? MulasztasTipus { get; set; }
|
||||
|
||||
[KretaRange(1, 99999)]
|
||||
[Display(Name = nameof(HianyzasResource.KesesIdotartama), ResourceType = typeof(HianyzasResource))]
|
||||
public int? KesesPercben { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.IgazoltsagAllapota), ResourceType = typeof(HianyzasResource))]
|
||||
public int? IgazoltsagAllapota { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.IgazolasTipusa), ResourceType = typeof(HianyzasResource))]
|
||||
public int? IgazolasTipus { get; set; }
|
||||
|
||||
public int? IgazoltSearch { get; set; }
|
||||
|
||||
public bool IsCustomForm { get; set; } = false;
|
||||
|
||||
public string CustomFormName { get; set; } = null;
|
||||
|
||||
public bool GridUseToolBar { get; set; } = true;
|
||||
public bool ChildGridHasDelete { get; set; } = true;
|
||||
|
||||
public List<SelectListItem> OsztalyCsoportList { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.NemBesoroltTanulokMulasztasainakMegjelenitese), ResourceType = typeof(HianyzasResource))]
|
||||
public bool IsNemBesoroltTanulokMulasztasainakMegjelenitese { get; set; } = false;
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.NemJelenlevoTanulokMegjelenitese), ResourceType = typeof(HianyzasResource))]
|
||||
public bool IsNemJelenlevoTanulokMegjelenitese { get; set; } = false;
|
||||
|
||||
[Display(Name = nameof(OsztalyCsoportResource.EllatottKoznevelesiFeladatTipus), ResourceType = typeof(OsztalyCsoportResource))]
|
||||
public int? FeladatKategoriaId { get; set; }
|
||||
|
||||
[Display(Name = nameof(CommonResource.Feladatellatasihely), ResourceType = typeof(CommonResource))]
|
||||
public int? FeladatEllatasiHelyId { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.OnlineOra), ResourceType = typeof(OrarendResource))]
|
||||
public int? IsOnlineOra { get; set; }
|
||||
|
||||
[Display(Name = nameof(DualisResource.KepzohelyNeve), ResourceType = typeof(DualisResource))]
|
||||
public string SzervezetNevSzovegSearch { get; set; }
|
||||
|
||||
[Display(Name = nameof(DualisResource.KepzohelyAdoszama), ResourceType = typeof(DualisResource))]
|
||||
public string SzervezetAzonositoSzovegSearch { get; set; }
|
||||
|
||||
public int? SzervezetTipusId { get; set; }
|
||||
|
||||
public int? SzervezetId { get; set; }
|
||||
|
||||
public SzervezetTipusEnum? SzervezetTipusEnum { get; set; } = null;
|
||||
|
||||
public bool IsFromSzervezet => SzervezetTipusEnum.HasValue;
|
||||
|
||||
public string ControllerName { get; set; } = Constants.Controllers.MulasztasKereso;
|
||||
|
||||
public string ApiControllerName { get; set; } = Constants.ApiControllers.MulasztasKeresoApi;
|
||||
|
||||
public bool IsSzakkepzo { get; set; }
|
||||
|
||||
public MulasztasokCo ConvertModelToCo()
|
||||
{
|
||||
return new MulasztasokCo
|
||||
{
|
||||
Tol = DatumTol,
|
||||
Ig = DatumIg,
|
||||
TanuloNev = TanuloNeve,
|
||||
OsztCsop = OsztalyCsoportId,
|
||||
KapcsCsop = KellKapcsolodoCsoportok,
|
||||
CsopTip = CsoportTipus,
|
||||
Fogl = FoglalkozasId,
|
||||
TantargyId = TantargyId,
|
||||
MulTip = MulasztasTipus,
|
||||
KesIdo = KesesPercben ?? 0,
|
||||
IgazoltsagAllapota = IgazoltsagAllapota,
|
||||
IgazolasTipus = IgazolasTipus,
|
||||
IsNemBesoroltTanulokMulasztasainakMegjelenitese = IsNemBesoroltTanulokMulasztasainakMegjelenitese,
|
||||
IsNemJelenlevoTanulokMegjelenitese = IsNemJelenlevoTanulokMegjelenitese,
|
||||
FeladatKategoriaId = FeladatKategoriaId,
|
||||
FeladatEllatasiHelyId = FeladatEllatasiHelyId,
|
||||
IsOnlineOra = IsOnlineOra,
|
||||
SzervezetNev = SzervezetNevSzovegSearch,
|
||||
SzervezetAzonosito = SzervezetAzonositoSzovegSearch,
|
||||
SzervezetTipusId = SzervezetTipusId,
|
||||
SzervezetId = SzervezetId
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
@@ -0,0 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
{
|
||||
public class MulasztasNaploNezetModel
|
||||
{
|
||||
public DateTime Datum { get; set; }
|
||||
|
||||
public int PagerValue { get; set; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public List<SelectListItem> OsztalyCsoportList { get; set; }
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,27 @@
|
||||
using System;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
{
|
||||
public class MulasztasokDatumNezetGridModel : CsoportMulasztasokGridModel
|
||||
{
|
||||
[KretaDisplayName(5632)] /*Mulasztás dátuma*/
|
||||
public DateTime MulasztasDatuma { get; set; }
|
||||
|
||||
[KretaDisplayName(5633)] /*Mulasztás napja*/
|
||||
public string MulasztasNapja { get; set; }
|
||||
|
||||
[KretaDisplayName(5634)] /*Mulasztások száma*/
|
||||
public int MulasztasokSzama { get; set; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public int? TanuloId { get; set; }
|
||||
|
||||
public bool IsMulasztasKezelheto { get; set; } = true;
|
||||
|
||||
public string ApiControllerName { get; set; } = Constants.ApiControllers.MulasztasokApi;
|
||||
|
||||
public int? SzervezetTipusId { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,135 @@
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
{
|
||||
public class MulasztasokNaploNezetGridModel : IKretaIdentity
|
||||
{
|
||||
|
||||
public string ID { get; set; }
|
||||
|
||||
#region TanuloNev + Tooltip
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
[KretaDisplayName(455)] /*Tanuló neve*/
|
||||
public string TanuloNev { get; set; }
|
||||
|
||||
public string OsztalyNev { get; set; }
|
||||
|
||||
public string AnyjaNeve { get; set; }
|
||||
|
||||
public string SzuletesiIdoFormatted { get; set; }
|
||||
|
||||
#endregion TanuloNev + Tooltip
|
||||
|
||||
#region Mulasztások
|
||||
|
||||
[KretaDisplayName(1723)] /*Igazolt?*/
|
||||
public string Igazolt { get; set; }
|
||||
|
||||
[KretaDisplayName(1723)] /*Igazolt?*/
|
||||
public bool? Igazolt_BOOL { get; set; }
|
||||
|
||||
[KretaDisplayName(1723)] /*Igazolt?*/
|
||||
public string Igazolt_BNAME { get; set; }
|
||||
|
||||
[KretaDisplayName(485)] /*Igazolás típusa*/
|
||||
public int? IgazolasTipus { get; set; }
|
||||
|
||||
[KretaDisplayName(485)] /*Igazolás típusa*/
|
||||
public string IgazolasTipus_DNAME { get; set; }
|
||||
|
||||
public bool Valid { get; set; }
|
||||
|
||||
[KretaDisplayName(97)] /*Megjegyzés*/
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
#endregion Mulasztások
|
||||
|
||||
public string OraMinusz2Column { get; set; }
|
||||
|
||||
public string OraMinusz1Column { get; set; }
|
||||
|
||||
public string Ora0Column { get; set; }
|
||||
|
||||
public string Ora1Column { get; set; }
|
||||
|
||||
public string Ora2Column { get; set; }
|
||||
|
||||
public string Ora3Column { get; set; }
|
||||
|
||||
public string Ora4Column { get; set; }
|
||||
|
||||
public string Ora5Column { get; set; }
|
||||
|
||||
public string Ora6Column { get; set; }
|
||||
|
||||
public string Ora7Column { get; set; }
|
||||
|
||||
public string Ora8Column { get; set; }
|
||||
|
||||
public string Ora9Column { get; set; }
|
||||
|
||||
public string Ora10Column { get; set; }
|
||||
|
||||
public string Ora11Column { get; set; }
|
||||
|
||||
public string Ora12Column { get; set; }
|
||||
|
||||
public string Ora13Column { get; set; }
|
||||
|
||||
public string Ora14Column { get; set; }
|
||||
|
||||
public string Ora15Column { get; set; }
|
||||
|
||||
public string Ora16Column { get; set; }
|
||||
|
||||
public string Ora17Column { get; set; }
|
||||
|
||||
public string Ora18Column { get; set; }
|
||||
|
||||
public string Ora19Column { get; set; }
|
||||
|
||||
public string Ora20Column { get; set; }
|
||||
|
||||
public string Ora21Column { get; set; }
|
||||
|
||||
public string Ora22Column { get; set; }
|
||||
|
||||
public string Ora23Column { get; set; }
|
||||
|
||||
public string Ora24Column { get; set; }
|
||||
|
||||
public string Foglalkozas1Column { get; set; }
|
||||
|
||||
public string Foglalkozas2Column { get; set; }
|
||||
|
||||
public string Foglalkozas3Column { get; set; }
|
||||
|
||||
public string Foglalkozas4Column { get; set; }
|
||||
|
||||
public string Foglalkozas5Column { get; set; }
|
||||
|
||||
public string Foglalkozas6Column { get; set; }
|
||||
|
||||
public string Foglalkozas7Column { get; set; }
|
||||
|
||||
public string Foglalkozas8Column { get; set; }
|
||||
|
||||
public string Foglalkozas9Column { get; set; }
|
||||
|
||||
public string Foglalkozas10Column { get; set; }
|
||||
public string Foglalkozas11Column { get; set; }
|
||||
public string Foglalkozas12Column { get; set; }
|
||||
public string Foglalkozas13Column { get; set; }
|
||||
public string Foglalkozas14Column { get; set; }
|
||||
public string Foglalkozas15Column { get; set; }
|
||||
public string Foglalkozas16Column { get; set; }
|
||||
public string Foglalkozas17Column { get; set; }
|
||||
public string Foglalkozas18Column { get; set; }
|
||||
public string Foglalkozas19Column { get; set; }
|
||||
public string Foglalkozas20Column { get; set; }
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
{
|
||||
public class MulasztasokNaploNezetOra
|
||||
{
|
||||
//NOTE: Óra sorszáma/Óra kezdete
|
||||
public string Nev { get; set; }
|
||||
|
||||
public string OsztalyCsoportNev { get; set; }
|
||||
|
||||
public string TantargyNev { get; set; }
|
||||
|
||||
public string TanarNev { get; set; }
|
||||
|
||||
public int? MulasztasTipus { get; set; }
|
||||
|
||||
public bool? IsIgazolt { get; set; }
|
||||
|
||||
}
|
||||
}
|
@@ -0,0 +1,87 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
{
|
||||
public class MulasztasokTanuloNezetGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
[KretaDisplayName(455)] /*Tanuló neve*/
|
||||
public string TanuloNev { get; set; }
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
//Tanórai hiányzás
|
||||
[Display(Name = nameof(HianyzasResource.Osszes), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoraiHianyzasOsszes { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolt), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoraiHianyzasIgazolt { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolatlan), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoraiHianyzasIgazolatlan { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolando), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoraiHianyzasIgazolando { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Potlas), ResourceType = typeof(OrarendResource))]
|
||||
public int Potlas { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Szabadsag), ResourceType = typeof(OrarendResource))]
|
||||
public int Szabadsag { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Tappenz), ResourceType = typeof(OrarendResource))]
|
||||
public int Tappenz { get; set; }
|
||||
|
||||
[Display(Name = nameof(OrarendResource.Betegszabadsag), ResourceType = typeof(OrarendResource))]
|
||||
public int BetegSzabadsag { get; set; }
|
||||
|
||||
//Tanórán kívüli
|
||||
[Display(Name = nameof(HianyzasResource.Osszes), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoranKivuliHianyzasOsszes { get; set; }
|
||||
|
||||
//Tanórán kívüli
|
||||
[Display(Name = nameof(HianyzasResource.Igazolt), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoranKivuliHianyzasIgazolt { get; set; }
|
||||
|
||||
//Tanórán kívüli
|
||||
[Display(Name = nameof(HianyzasResource.Igazolatlan), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoranKivuliHianyzasIgazolatlan { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolando), ResourceType = typeof(HianyzasResource))]
|
||||
public int TanoranKivuliHianyzasIgazolando { get; set; }
|
||||
|
||||
//Tanórai késés
|
||||
[Display(Name = nameof(HianyzasResource.Osszes), ResourceType = typeof(HianyzasResource))]
|
||||
public string TanoraiKesesOsszes { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolt), ResourceType = typeof(HianyzasResource))]
|
||||
public string TanoraiKesesIgazolt { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolatlan), ResourceType = typeof(HianyzasResource))]
|
||||
public string TanoraiKesesIgazolatlan { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolando), ResourceType = typeof(HianyzasResource))]
|
||||
public string TanoraiKesesIgazolando { get; set; }
|
||||
|
||||
//Tanórai késésekből számítandó hiányzás
|
||||
[Display(Name = nameof(HianyzasResource.Osszes), ResourceType = typeof(HianyzasResource))]
|
||||
public int SzamitottKesesOsszes { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolt), ResourceType = typeof(HianyzasResource))]
|
||||
public int SzamitottKesesIgazolt { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolatlan), ResourceType = typeof(HianyzasResource))]
|
||||
public int SzamitottKesesIgazolatlan { get; set; }
|
||||
|
||||
[Display(Name = nameof(HianyzasResource.Igazolando), ResourceType = typeof(HianyzasResource))]
|
||||
public int SzamitottKesesIgazolando { get; set; }
|
||||
public bool GridHasDelete { get; set; } = true;
|
||||
public string ApiControllerName { get; set; } = Constants.ApiControllers.MulasztasokApi;
|
||||
public int? SzervezetTipusId { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,19 @@
|
||||
using System;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
{
|
||||
public class TanuloMulasztasaiPopupModel : CsoportMulasztasokGridModel
|
||||
{
|
||||
public DateTime MulasztasDatuma { get; set; }
|
||||
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
public bool Kezeletlen { get; set; }
|
||||
|
||||
public string ApiControllerName { get; set; }
|
||||
|
||||
public int? SzervezetTipusId { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class MulasztasokNaploNezetSaveModel
|
||||
{
|
||||
public int OsztalyCsoportId { get; set; }
|
||||
|
||||
public DateTime NaploNezetDatum { get; set; }
|
||||
|
||||
public List<MulasztasokSaveModel> Mulasztasok { get; set; }
|
||||
}
|
||||
}
|
23
KretaWeb/Areas/Hianyzas/Models/MulasztasokSaveModel.cs
Normal file
23
KretaWeb/Areas/Hianyzas/Models/MulasztasokSaveModel.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class MulasztasokSaveModel
|
||||
{
|
||||
public int? ID { get; set; }
|
||||
|
||||
public bool? Igazolt { get; set; }
|
||||
|
||||
public int? IgazolasTipus { get; set; }
|
||||
|
||||
public int MulasztasTipus { get; set; }
|
||||
|
||||
public int? KesesIdotartama { get; set; }
|
||||
|
||||
public string Megjegyzes { get; set; }
|
||||
|
||||
public bool? Visszavonhato { get; set; }
|
||||
|
||||
public int TanuloId { get; set; }
|
||||
|
||||
public int TanitasiOraId { get; set; }
|
||||
}
|
||||
}
|
@@ -0,0 +1,24 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using Kreta.BusinessLogic.Interfaces;
|
||||
using Kreta.Resources;
|
||||
using Kreta.Web.Attributes;
|
||||
|
||||
namespace Kreta.Web.Areas.Hianyzas.Models
|
||||
{
|
||||
public class TantargyiMulasztasGridModel : IKretaIdentity
|
||||
{
|
||||
public string ID { get; set; }
|
||||
|
||||
[Display(Name = nameof(AdminisztracioResource.Tantargy), ResourceType = typeof(AdminisztracioResource))]
|
||||
public string Tantargy { get; set; }
|
||||
|
||||
[KretaDisplayName(500)] /*Mulasztás*/
|
||||
public string Mulasztas { get; set; }
|
||||
|
||||
[KretaDisplayName(501)] /*Összes óra*/
|
||||
public string Osszes { get; set; }
|
||||
|
||||
[KretaDisplayName(502)] /*Tantárgyi mulasztás (%)*/
|
||||
public string Szazalek { get; set; }
|
||||
}
|
||||
}
|
406
KretaWeb/Areas/Hianyzas/Views/CsoportMulasztasok/Index.cshtml
Normal file
406
KretaWeb/Areas/Hianyzas/Views/CsoportMulasztasok/Index.cshtml
Normal file
@@ -0,0 +1,406 @@
|
||||
@using Kreta.Enums
|
||||
@using Kreta.Framework
|
||||
@using Kreta.Resources
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
|
||||
@model MulasztasIndexModel
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
||||
@{
|
||||
var searchFormName = "CsoportMulasztasokSearchForm";
|
||||
var gridName = "CsoportMulasztasokGrid";
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar(searchFormName, gridName))
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.CsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetCsoportVezList", showTanoraCeluCsoportok = true }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
|
||||
}
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<MulasztasokDatumNezetGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl("MulasztasokApi", "GetMulasztasokDatumNezetGrid", new Dictionary<string, string>()),
|
||||
dataParameterFunction: searchFormName,
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("GetMulasztasokDatumNezetDetailGrid", "CsoportMulasztasok", new { area = "Hianyzas" }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowPaging: false,
|
||||
allowScrolling: false,
|
||||
pageSizes: null
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.MulasztasDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.MulasztasNapja).Width("30%");
|
||||
columns.Bound(c => c.MulasztasokSzama).Width("30%");
|
||||
})
|
||||
)
|
||||
</div>
|
||||
@Html.KretaGridTemplate("detailGrid-template")
|
||||
|
||||
@Html.KretaTooltipTemplate("kendoTooltip-tanuloNevTemplate",
|
||||
@"<div class='kendoTooltip'>
|
||||
<table>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>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 naploNezetDatum;
|
||||
|
||||
var MulasztasKezelesHelper = (function () {
|
||||
var mulasztasKezelesHelper = function () { };
|
||||
|
||||
var url = {
|
||||
OpenTanuloMulasztasaiPopup: "@Url.Action("OpenTanuloMulasztasaiPopup", "CsoportMulasztasok", new { area = "Hianyzas" })",
|
||||
SaveMulasztasList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "MulasztasokApi", action = "SaveMulasztasList" })",
|
||||
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "MulasztasokApi", action = "DeleteMulasztas" })",
|
||||
VaneMarIgazolt: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "MulasztasokApi", action = "VaneMarIgazolt" })"
|
||||
};
|
||||
|
||||
var confirmMessage = "@HianyzasResource.MarVanRogzitettIgazolas";
|
||||
|
||||
var currentTanuloNev;
|
||||
var gridName = "@gridName";
|
||||
var searchFormName = "@searchFormName";
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids = function (formName) {
|
||||
KretaGridHelper.refreshGridSearchPanel(gridName, formName);
|
||||
}
|
||||
|
||||
function popUpDetailWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(StringResourcesUtil.GetString(5628) /*Tanuló mulasztásai*/) (" + kendo.htmlEncode(currentTanuloNev) + ")";
|
||||
config.content = data;
|
||||
|
||||
var modal = KretaWindowHelper.createWindow("detailTanuloWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.detailTanuloWindowCancel = function () {
|
||||
KretaWindowHelper.destroyWindow("detailTanuloWindow");
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.dataBoundAdditionalFunction = function () {
|
||||
setToolTip();
|
||||
}
|
||||
|
||||
function setToolTip() {
|
||||
var kendoTooltip = $(".tanuloNev");
|
||||
KretaTooltipHelper.setTooltip(kendoTooltip, "#kendoTooltip-tanuloNevTemplate");
|
||||
kendoTooltip.off("click");
|
||||
kendoTooltip.click(function () {
|
||||
var tanuloId = $(this).attr("data-tanuloid");
|
||||
currentTanuloNev = $(this).attr("data-tanulonev");
|
||||
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
|
||||
var { CsoportId } = KretaGridHelper.getSearchParameterObject("@searchFormName");
|
||||
var data = { TanuloId: tanuloId, OsztalyCsoportId: CsoportId, apiControllerName: "@Constants.ApiControllers.MulasztasokApi" };
|
||||
AjaxHelper.DoPost(url.OpenTanuloMulasztasaiPopup, data, popUpDetailWindow);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasList = function (detailGridName, gridToRefreshList, formName, visszavonhato) {
|
||||
var modRows = KretaGridHelper.getModifiedRows(detailGridName);
|
||||
|
||||
if (modRows.length > 0) {
|
||||
var resultData = [modRows.length];
|
||||
var message = "";
|
||||
$.each(modRows,
|
||||
function (index, value) {
|
||||
var igazoltValue = null;
|
||||
if (value.input[0].value === "0") {
|
||||
igazoltValue = true;
|
||||
} else if (value.input[0].value === "1") {
|
||||
igazoltValue = false;
|
||||
}
|
||||
var igazolasTipusValue = value.input[1].value;
|
||||
var megjegyzesValue = value.input[2].value;
|
||||
resultData[index] = {
|
||||
ID: value.ID,
|
||||
TanuloId: value.ID === "0" ? 0 : value.TanuloId,
|
||||
Igazolt: igazoltValue,
|
||||
IgazolasTipus: igazolasTipusValue,
|
||||
Megjegyzes: megjegyzesValue,
|
||||
Visszavonhato: visszavonhato
|
||||
}
|
||||
|
||||
if (igazoltValue && igazolasTipusValue === "" && value.ID > 0) {
|
||||
if (message.length > 0) {
|
||||
message += "<br />";
|
||||
}
|
||||
if (CommonUtils.isUndefined(value.TanuloNev)) {
|
||||
message += value.TargyNev + " esetében Igazolás típus megadása kötelező!";
|
||||
} else {
|
||||
message += value.TanuloNev + " esetében Igazolás típus megadása kötelező!";
|
||||
}
|
||||
}
|
||||
});
|
||||
if (message.length > 0) {
|
||||
KretaWindowHelper.feedbackWindow("", message, true);
|
||||
} else {
|
||||
AjaxHelper.DoPost(url.SaveMulasztasList,
|
||||
resultData,
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOkPostReturn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.setDetailControlsEvents = function (igazoltDivNamePrefix, detailGridName, visszavonhato) {
|
||||
var igazoltDivSelectorPrefix = "#" + igazoltDivNamePrefix;
|
||||
var detailGridSelector = "#" + detailGridName;
|
||||
|
||||
$(detailGridSelector).off("click");
|
||||
$(detailGridSelector).on("click", igazoltDivSelectorPrefix + "0", function () {
|
||||
var row = $(this).closest("tr");
|
||||
var rowId = $("tr", $(detailGridSelector)).index(row);
|
||||
|
||||
if (rowId === 1) {
|
||||
var headerValue = $(igazoltDivSelectorPrefix + "0 li.activebar").attr('val');
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
if (value.ID !== "0") {
|
||||
var liList = $(igazoltDivSelectorPrefix + value.ID + " li");
|
||||
$(detailGridSelector + "_Igazolt_" + value.ID).val(headerValue);
|
||||
value.Igazolt = headerValue;
|
||||
value.dirty = true;
|
||||
$.each(liList, function (liIndex, liValue) {
|
||||
if ($(liValue).attr('val') === headerValue) {
|
||||
$(liValue).addClass('activebar');
|
||||
}
|
||||
else {
|
||||
$(liValue).removeClass('activebar');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$(detailGridSelector).on("click", "div[id^='" + igazoltDivNamePrefix + "']", function (e) {
|
||||
//hack, hogy egértől jött-e
|
||||
if (CommonUtils.isNullOrUndefined(e.clientX)) {
|
||||
return;
|
||||
}
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
if (CommonUtils.isUndefined(kendoComboBox)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (!CommonUtils.isUndefined(igazoltVal)) {
|
||||
value.dirty = true;
|
||||
textarea.prop('disabled', false);
|
||||
var isIgazolt = igazoltVal === "0";
|
||||
if (isIgazolt) {
|
||||
|
||||
kendoComboBox.enable(true);
|
||||
if (CommonUtils.isNullOrEmpty(kendoComboBox.value())) {
|
||||
KretaComboBoxHelper.setKendoValue(kendoComboBox, "@((int)IgazolasTipusEnum.orvosi_igazolas)");
|
||||
}
|
||||
} else {
|
||||
function folytatIgazolatlan() {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
|
||||
function stopIgazolatlan() {
|
||||
value.dirty = false;
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
|
||||
var igazolasValaszto = $(igazoltDivSelectorPrefix + value.ID + " li");
|
||||
|
||||
$.each(igazolasValaszto, function (index, e) {
|
||||
e.classList.remove('activebar');
|
||||
});
|
||||
}
|
||||
|
||||
if (!CommonUtils.isNull(value.Igazolt) && value.Igazolt == 1
|
||||
&& igazoltDivSelectorPrefix !== "#divMulasztasokNaploNezetGrid_Igazolt_" && igazoltDivSelectorPrefix.indexOf("MulasztasokDatumNezetDetailGrid_") == -1
|
||||
&& igazoltDivSelectorPrefix.indexOf("TanuloMulasztasaiDetailGrid_Kezeletlen") == -1) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
if (value.Igazolt == 0) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
var elements = $(".naploNezetOra[data-tanuloId=" + value.TanuloId + "][data-isigazolt='True']");
|
||||
|
||||
if (!CommonUtils.isNullOrUndefined(elements) && elements.length > 0) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!visszavonhato) {
|
||||
value.dirty = false;
|
||||
}
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
}
|
||||
});
|
||||
|
||||
$(detailGridSelector).off("change");
|
||||
$(detailGridSelector).on("change", detailGridSelector + "_IgazolasTipus_0", function () {
|
||||
var headerValue = $(detailGridSelector + "_IgazolasTipus_0")[0].value;
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
value.dirty = true;
|
||||
var isIgazolt = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val') === "0";
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
if (value.ID !== "0" && isIgazolt) {
|
||||
kendoComboBox.value(headerValue);
|
||||
value.IgazolasTipus = headerValue;
|
||||
}
|
||||
else if (!isIgazolt) {
|
||||
kendoComboBox.value('');
|
||||
value.IgazolasTipus = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$(detailGridSelector).off("keyup");
|
||||
$(detailGridSelector).on("keyup", detailGridSelector + "_Megjegyzes_0", function () {
|
||||
var headerValue = $(detailGridSelector + "_Megjegyzes_0")[0].value;
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
value.dirty = true;
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (value.ID !== "0" && !CommonUtils.isUndefined(igazoltVal)) {
|
||||
textarea.val(headerValue);
|
||||
value.Megjegyzes = headerValue;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
if (!CommonUtils.isUndefined(kendoComboBox) && !CommonUtils.isUndefined(textarea)) {
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (!CommonUtils.isUndefined(igazoltVal)) {
|
||||
textarea.prop('disabled', false);
|
||||
var isIgazolt = igazoltVal === "0";
|
||||
if (isIgazolt) {
|
||||
kendoComboBox.enable(true);
|
||||
} else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
} else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOkPostReturn = function (data) {
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOk(gridNamesToRefreshList, currentFormName, data);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOk = function (gridToRefreshList, formName, data) {
|
||||
$.each(gridToRefreshList,
|
||||
function (index, value) {
|
||||
if (CommonUtils.isNullOrEmpty(formName)) {
|
||||
KretaGridHelper.refreshGrid(value);
|
||||
} else {
|
||||
KretaGridHelper.refreshGridByFormName(value, formName);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
|
||||
KretaWindowHelper.successFeedBackWindow();
|
||||
}
|
||||
|
||||
@*mulasztasKezelesHelper.deleteConfirmWindow = function (rowData, gridToRefreshList, formName) {
|
||||
var deleteParamters = {
|
||||
Id: rowData.ID,
|
||||
GridToRefreshList: gridToRefreshList,
|
||||
FormName: formName,
|
||||
};
|
||||
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@CommonResource.BiztosanTorli", deleteMulasztas, deleteParamters);
|
||||
}
|
||||
|
||||
function deleteMulasztas(data) {
|
||||
var deleteResponseOkFunction = function () { deleteResponseOk(data.GridToRefreshList, data.FormName); };
|
||||
AjaxHelper.DoPost(
|
||||
url.Delete,
|
||||
data.Id,
|
||||
deleteResponseOkFunction,
|
||||
feedbackError
|
||||
);
|
||||
}
|
||||
|
||||
function deleteResponseOk(gridToRefreshList, formName) {
|
||||
$.each(gridToRefreshList,
|
||||
function (index, value) {
|
||||
if (CommonUtils.isNullOrEmpty(formName)) {
|
||||
KretaGridHelper.refreshGrid(value);
|
||||
} else {
|
||||
KretaGridHelper.refreshGridByFormName(value, formName);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
|
||||
KretaWindowHelper.successFeedBackWindow();
|
||||
}
|
||||
|
||||
function feedbackError() {
|
||||
var message = "@CommonResource.Hiba";
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", message, true);
|
||||
}*@
|
||||
|
||||
return mulasztasKezelesHelper;
|
||||
})();
|
||||
|
||||
</script>
|
422
KretaWeb/Areas/Hianyzas/Views/DualisMulasztasok/Index.cshtml
Normal file
422
KretaWeb/Areas/Hianyzas/Views/DualisMulasztasok/Index.cshtml
Normal file
@@ -0,0 +1,422 @@
|
||||
@using Kreta.Enums
|
||||
@using Kreta.Framework
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Helpers
|
||||
|
||||
@model MulasztasIndexModel
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
||||
|
||||
@section AddCss {
|
||||
@Styles.Render("~/Content/Mulasztasok")
|
||||
}
|
||||
|
||||
@{
|
||||
var searchFormName = "MulasztasokSearchForm";
|
||||
var datumNezetGridName = "MulasztasokDatumNezetGrid";
|
||||
var tanuloNezetGridName = "MulasztasokTanuloNezetGrid";
|
||||
var naploNezetGridName = "MulasztasokNaploNezetGrid";
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar(searchFormName, null, postSubmitFunction: "MulasztasKezelesHelper.refreshTabGrids"))
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDualisCsopList", osztalyfonokiFeladat = true }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
|
||||
}
|
||||
}
|
||||
|
||||
@Html.KretaTabStripAjax("MulasztasokTabStrip", Model.TabList)
|
||||
|
||||
@Html.KretaTooltipTemplate("kendoTooltip-tanuloNevTemplate",
|
||||
@"<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 naploNezetDatum;
|
||||
var igazolasNaplozarasDatum = new Date(@Model.IgazolasNaploZarasDatum.Year, @(Model.IgazolasNaploZarasDatum.Month - 1), @Model.IgazolasNaploZarasDatum.Day);
|
||||
|
||||
var MulasztasKezelesHelper = (function () {
|
||||
var mulasztasKezelesHelper = function () { };
|
||||
|
||||
var url = {
|
||||
OpenTanuloMulasztasaiPopup: "@Url.Action("OpenTanuloMulasztasaiPopup", Constants.Controllers.DualisMulasztasok, new { area = "Hianyzas" })",
|
||||
SaveMulasztasList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.DualisMulasztasokApi, action = "SaveMulasztasList" })",
|
||||
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Constants.ApiControllers.DualisMulasztasokApi, action = "DeleteMulasztas" })",
|
||||
VaneMarIgazolt: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.DualisMulasztasokApi, action = "VaneMarIgazolt" })"
|
||||
};
|
||||
|
||||
var confirmMessage = "@HianyzasResource.MarVanRogzitettIgazolas";
|
||||
|
||||
var currentTanuloNev;
|
||||
var searchFormName = "@searchFormName";
|
||||
|
||||
mulasztasKezelesHelper.onTabStripActivate = function () {
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
}
|
||||
|
||||
function popUpDetailWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(StringResourcesUtil.GetString(5628) /*Tanuló mulasztásai*/) (" + kendo.htmlEncode(currentTanuloNev) + ")";
|
||||
config.content = data;
|
||||
|
||||
var modal = KretaWindowHelper.createWindow("detailTanuloWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.detailTanuloWindowCancel = function () {
|
||||
KretaWindowHelper.destroyWindow("detailTanuloWindow");
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.dataBoundAdditionalFunction = function () {
|
||||
mulasztasKezelesHelper.setToolTip();
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.setToolTip = function () {
|
||||
var kendoTooltip = $(".tanuloNev");
|
||||
KretaTooltipHelper.setTooltip(kendoTooltip, "#kendoTooltip-tanuloNevTemplate");
|
||||
kendoTooltip.off("click");
|
||||
kendoTooltip.click(function () {
|
||||
var tanuloId = $(this).attr("data-tanuloid");
|
||||
currentTanuloNev = $(this).attr("data-tanulonev");
|
||||
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
|
||||
var { OsztalyCsoportId } = KretaGridHelper.getSearchParameterObject("@searchFormName");
|
||||
var data = { TanuloId: tanuloId, osztalyCsoportId: OsztalyCsoportId, apiControllerName: "@Constants.ApiControllers.DualisMulasztasokApi" };
|
||||
AjaxHelper.DoPost(url.OpenTanuloMulasztasaiPopup, data, popUpDetailWindow);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasList = function (detailGridName, gridToRefreshList, formName, visszavonhato) {
|
||||
var modRows = KretaGridHelper.getModifiedRows(detailGridName);
|
||||
|
||||
if (modRows.length > 0) {
|
||||
var resultData = [modRows.length];
|
||||
var message = "";
|
||||
$.each(modRows, function (index, value) {
|
||||
var igazoltValue = null;
|
||||
if (value.input[0].value === "0") {
|
||||
igazoltValue = true;
|
||||
} else if (value.input[0].value === "1") {
|
||||
igazoltValue = false;
|
||||
}
|
||||
var igazolasTipusValue = value.input[1].value;
|
||||
var megjegyzesValue = value.input[2].value;
|
||||
var tanuloId;
|
||||
if (value.ID === "0") {
|
||||
tanuloId = 0;
|
||||
} else {
|
||||
tanuloId = value.TanuloId;
|
||||
}
|
||||
resultData[index] = {
|
||||
ID: value.ID,
|
||||
TanuloId: tanuloId,
|
||||
Igazolt: igazoltValue,
|
||||
IgazolasTipus: igazolasTipusValue,
|
||||
Megjegyzes: megjegyzesValue,
|
||||
Visszavonhato: visszavonhato
|
||||
}
|
||||
|
||||
if (igazoltValue && igazolasTipusValue === "" && value.ID > 0) {
|
||||
if (message.length > 0) {
|
||||
message += "<br />";
|
||||
}
|
||||
if (CommonUtils.isUndefined(value.TanuloNev)) {
|
||||
message += value.TargyNev + " esetében Igazolás típus megadása kötelező!";
|
||||
} else {
|
||||
message += value.TanuloNev + " esetében Igazolás típus megadása kötelező!";
|
||||
}
|
||||
}
|
||||
});
|
||||
if (message.length > 0) {
|
||||
KretaWindowHelper.feedbackWindow("", message, true);
|
||||
} else {
|
||||
AjaxHelper.DoPost(url.SaveMulasztasList,
|
||||
resultData,
|
||||
function () { mulasztasKezelesHelper.saveMulasztasListFeedBackOk(gridToRefreshList, formName); });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.setDetailControlsEvents = function (igazoltDivNamePrefix, detailGridName, visszavonhato) {
|
||||
var igazoltDivSelectorPrefix = "#" + igazoltDivNamePrefix;
|
||||
var detailGridSelector = "#" + detailGridName;
|
||||
|
||||
$(detailGridSelector).off("click");
|
||||
$(detailGridSelector).on("click", igazoltDivSelectorPrefix + "0", function () {
|
||||
var row = $(this).closest("tr");
|
||||
var rowId = $("tr", $(detailGridSelector)).index(row);
|
||||
|
||||
if (rowId === 1) {
|
||||
var headerValue = $(igazoltDivSelectorPrefix + "0 li.activebar").attr('val');
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
if (value.ID !== "0") {
|
||||
var liList = $(igazoltDivSelectorPrefix + value.ID + " li");
|
||||
$(detailGridSelector + "_Igazolt_" + value.ID).val(headerValue);
|
||||
value.Igazolt = headerValue;
|
||||
value.dirty = true;
|
||||
$.each(liList, function (liIndex, liValue) {
|
||||
if ($(liValue).attr('val') === headerValue) {
|
||||
$(liValue).addClass('activebar');
|
||||
}
|
||||
else {
|
||||
$(liValue).removeClass('activebar');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$(detailGridSelector).on("click", "div[id^='" + igazoltDivNamePrefix + "']", function (e) {
|
||||
//hack, hogy egértől jött-e
|
||||
if (CommonUtils.isNullOrUndefined(e.clientX)) {
|
||||
return;
|
||||
}
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
if (CommonUtils.isUndefined(kendoComboBox)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (!CommonUtils.isUndefined(igazoltVal)) {
|
||||
value.dirty = true;
|
||||
textarea.prop('disabled', false);
|
||||
var isIgazolt = igazoltVal === "0";
|
||||
if (isIgazolt) {
|
||||
|
||||
kendoComboBox.enable(true);
|
||||
if (CommonUtils.isNullOrEmpty(kendoComboBox.value())) {
|
||||
KretaComboBoxHelper.setKendoValue(kendoComboBox, "@((int)IgazolasTipusEnum.szabadsag)");
|
||||
}
|
||||
} else {
|
||||
function folytatIgazolatlan() {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
|
||||
function stopIgazolatlan() {
|
||||
value.dirty = false;
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
|
||||
var igazolasValaszto = $(igazoltDivSelectorPrefix + value.ID + " li");
|
||||
|
||||
$.each(igazolasValaszto, function (index, e) {
|
||||
e.classList.remove('activebar');
|
||||
});
|
||||
}
|
||||
|
||||
if (!CommonUtils.isNull(value.Igazolt) && value.Igazolt == 1
|
||||
&& igazoltDivSelectorPrefix !== "#divMulasztasokNaploNezetGrid_Igazolt_" && igazoltDivSelectorPrefix.indexOf("MulasztasokDatumNezetDetailGrid_") == -1
|
||||
&& igazoltDivSelectorPrefix.indexOf("TanuloMulasztasaiDetailGrid_Kezeletlen") == -1) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
if (value.Igazolt == 0) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
var elements = $(".naploNezetOra[data-tanuloId=" + value.TanuloId + "][data-isigazolt='True']");
|
||||
|
||||
if (!CommonUtils.isNullOrUndefined(elements) && elements.length > 0) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!visszavonhato) {
|
||||
value.dirty = false;
|
||||
}
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
}
|
||||
});
|
||||
|
||||
$(detailGridSelector).off("change");
|
||||
$(detailGridSelector).on("change", detailGridSelector + "_IgazolasTipus_0", function () {
|
||||
var headerValue = $(detailGridSelector + "_IgazolasTipus_0")[0].value;
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
value.dirty = true;
|
||||
var isIgazolt = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val') === "0";
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
if (value.ID !== "0" && isIgazolt) {
|
||||
kendoComboBox.value(headerValue);
|
||||
value.IgazolasTipus = headerValue;
|
||||
}
|
||||
else if (!isIgazolt) {
|
||||
kendoComboBox.value('');
|
||||
value.IgazolasTipus = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$(detailGridSelector).off("keyup");
|
||||
$(detailGridSelector).on("keyup", detailGridSelector + "_Megjegyzes_0", function () {
|
||||
var headerValue = $(detailGridSelector + "_Megjegyzes_0")[0].value;
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
value.dirty = true;
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (value.ID !== "0" && !CommonUtils.isUndefined(igazoltVal)) {
|
||||
textarea.val(headerValue);
|
||||
value.Megjegyzes = headerValue;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
if (!CommonUtils.isUndefined(kendoComboBox) && !CommonUtils.isUndefined(textarea)) {
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (!CommonUtils.isUndefined(igazoltVal)) {
|
||||
textarea.prop('disabled', false);
|
||||
var isIgazolt = igazoltVal === "0";
|
||||
if (isIgazolt) {
|
||||
kendoComboBox.enable(true);
|
||||
} else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
} else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOk = function (gridToRefreshList, formName) {
|
||||
$.each(gridToRefreshList,
|
||||
function (index, value) {
|
||||
if (CommonUtils.isNullOrEmpty(formName)) {
|
||||
KretaGridHelper.refreshGrid(value);
|
||||
} else {
|
||||
KretaGridHelper.refreshGridByFormName(value, formName);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
|
||||
KretaWindowHelper.successFeedBackWindow();
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids = function (formName) {
|
||||
KretaGridHelper.refreshGridSearchPanel("@(datumNezetGridName)", formName);
|
||||
KretaGridHelper.refreshGridSearchPanel("@(tanuloNezetGridName)", formName);
|
||||
mulasztasKezelesHelper.refreshNaploNezetGrid(formName);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.refreshNaploNezetGrid = function (formName) {
|
||||
var naploNezetModel = KretaGridHelper.getSearchParameterObject(formName);
|
||||
if (!CommonUtils.isUndefined(naploNezetDatum)) {
|
||||
if (this.getNaploNezetDatum() > igazolasNaplozarasDatum) {
|
||||
$('#@(naploNezetGridName)').removeClass("disabledItem");
|
||||
$('#MulasztasMentes').show();
|
||||
}
|
||||
else {
|
||||
$('#@(naploNezetGridName)').addClass("disabledItem");
|
||||
$('#MulasztasMentes').hide();
|
||||
}
|
||||
naploNezetModel.NaploNezetDatum = naploNezetDatum;
|
||||
KretaGridHelper.refreshGridByObject("@(naploNezetGridName)", naploNezetModel);
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.setNaploNezetDatum = function (datum) {
|
||||
naploNezetDatum = datum.toDateString();
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.getNaploNezetDatum = function () {
|
||||
return new Date(naploNezetDatum);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.deleteConfirmWindow = function (rowData, gridToRefreshList, formName) {
|
||||
var deleteParamters = {
|
||||
Id: rowData.ID,
|
||||
GridToRefreshList: gridToRefreshList,
|
||||
FormName: formName,
|
||||
};
|
||||
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@CommonResource.BiztosanTorli", deleteMulasztas, deleteParamters);
|
||||
}
|
||||
|
||||
function deleteMulasztas(data) {
|
||||
var deleteResponseOkFunction = function () { deleteResponseOk(data.GridToRefreshList, data.FormName); };
|
||||
AjaxHelper.DoPost(
|
||||
url.Delete,
|
||||
data.Id,
|
||||
deleteResponseOkFunction,
|
||||
feedbackError
|
||||
);
|
||||
}
|
||||
|
||||
function deleteResponseOk(gridToRefreshList, formName) {
|
||||
$.each(gridToRefreshList,
|
||||
function (index, value) {
|
||||
if (CommonUtils.isNullOrEmpty(formName)) {
|
||||
KretaGridHelper.refreshGrid(value);
|
||||
} else {
|
||||
KretaGridHelper.refreshGridByFormName(value, formName);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
|
||||
KretaWindowHelper.successFeedBackWindow();
|
||||
}
|
||||
|
||||
function feedbackError() {
|
||||
var message = "@CommonResource.Hiba";
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", message, true);
|
||||
}
|
||||
|
||||
return mulasztasKezelesHelper;
|
||||
})();
|
||||
|
||||
$(document).ready(function () {
|
||||
var tabStrip = $("#MulasztasokTabStrip").data("kendoTabStrip");
|
||||
tabStrip.bind("activate", function () {
|
||||
MulasztasKezelesHelper.onTabStripActivate(tabStrip);
|
||||
});
|
||||
});
|
||||
</script>
|
296
KretaWeb/Areas/Hianyzas/Views/Felmentesek/Index.cshtml
Normal file
296
KretaWeb/Areas/Hianyzas/Views/Felmentesek/Index.cshtml
Normal file
@@ -0,0 +1,296 @@
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Controllers
|
||||
|
||||
@model FelmentesekSearchModel
|
||||
|
||||
@section AddCss {
|
||||
@Styles.Render(Constants.General.FeljegyzesekCSS)
|
||||
}
|
||||
|
||||
@{ string gridName = FelmentesekController.GridName;
|
||||
string searchFormName = FelmentesekController.SearchFormName;
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
|
||||
@using (Html.SearchPanelSideBar(searchFormName, gridName))
|
||||
{
|
||||
@Html.KretaTextBoxFor(x => x.TanuloNeve).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.OsztalyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetOsztalyListByEvfolyam" })).AutoBind(true).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.TantargyIdSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetTantargy" })).AutoBind(true).RenderSearchPanelSideBar()
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.KezdeteDateFrom, x => x.KezdeteDateTo)
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.VegeDateFrom, x => x.VegeDateTo)
|
||||
@Html.KretaComboBoxFor(x => x.IsTanoraLatogatasaAloli, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.IsErtekelesAloli, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.IsSzovegesenErtekelheto, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaTextBoxFor(x => x.FelmentesOka).RenderSearchPanelSideBar()
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.RogzitesDateFrom, x => x.RogzitesDateTo)
|
||||
@Html.KretaTextBoxFor(x => x.RogzitoNeve).RenderSearchPanelSideBar()
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.ModositasDateFrom, x => x.ModositasDateTo)
|
||||
@Html.KretaTextBoxFor(x => x.ModositoNeve).RenderSearchPanelSideBar()
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
|
||||
{
|
||||
new FunctionCommand {Name = ImportExportCommonResource.Export, ClientAction = "FelmentesekHelper.getExport"},
|
||||
new FunctionCommand {Name = FelmentesResource.AktivFelmentesekExport, ClientAction = "FelmentesekHelper.getExportAktiv"},
|
||||
new FunctionCommand {Name = FelmentesResource.ToroltFelmentesekExport, ClientAction = "FelmentesekHelper.getExportTorolt"}
|
||||
};
|
||||
List<FunctionCommand> functionList = new List<FunctionCommand>
|
||||
{
|
||||
new FunctionCommand {Name = TanuloResource.Export.ToUpper(), NestedCommands = nestedExportFunctions }
|
||||
};
|
||||
|
||||
var rowFunctionList = new List<RowFunction>
|
||||
{
|
||||
new RowFunction { Name = CommonResource.Modositas, ClientAction = "FelmentesekHelper.modFelmentes", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Modositas },
|
||||
new RowFunction { Name = CommonResource.Adatok, ClientAction = "FelmentesekHelper.infoFelmentes", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
|
||||
new RowFunction { Name = CommonResource.Torles, ClientAction = "FelmentesekHelper.deleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles }
|
||||
};
|
||||
|
||||
var grid = Html.KretaGrid<FelmentesekGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Constants.ApiControllers.FelmentesekApi, "GetFelmentesekGrid"),
|
||||
useToolBar: true,
|
||||
dataParameterFunction: searchFormName,
|
||||
dataBoundAdditionalFunction: "FelmentesekHelper.setAthuzas(this)",
|
||||
allowSorting: true,
|
||||
allowScrolling: true,
|
||||
allowPaging: true,
|
||||
sort: sort => sort.Add(s => s.TanuloOsztalya)
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn)
|
||||
)
|
||||
.Columns(columns => {
|
||||
columns.Bound(c => c.TanuloNeve);
|
||||
columns.Bound(c => c.TanuloOsztalya);
|
||||
columns.Bound(c => c.TantargyNev);
|
||||
columns.Bound(c => c.KezdeteDate);
|
||||
columns.Bound(c => c.VegeDate);
|
||||
columns.Bound(c => c.TanoraLatogatasaAloli);
|
||||
columns.Bound(c => c.ErtekelesAloli);
|
||||
columns.Bound(c => c.SzovegesenErtekelheto);
|
||||
columns.Bound(c => c.FelmentesOka);
|
||||
columns.Bound(c => c.RogzitoNeve);
|
||||
})
|
||||
.ConditionalRowFunction(Html, rowFunctionList, "FelmentesekHelper.isTorolt")
|
||||
.FunctionCommand(Html, functionList);
|
||||
}
|
||||
|
||||
<div>
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var FelmentesekHelper = (function () {
|
||||
var felmentesekHelper = function () { }
|
||||
|
||||
var gridName = "@gridName";
|
||||
var formName = "FelmentesForm";
|
||||
var searchFormName = "@searchFormName";
|
||||
|
||||
var url = {
|
||||
ModFelmentes: "@Url.Action("ModFelmentes", Constants.Controllers.Felmentesek, new { area = Constants.Areas.Hianyzas })",
|
||||
InfoFelmentes: "@Url.Action("InfoFelmentes", Constants.Controllers.Felmentesek, new { area = Constants.Areas.Hianyzas })",
|
||||
SaveFelmentes: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.FelmentesekApi, action = "SaveFelmentes" })",
|
||||
DeleteFelmentes: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.FelmentesekApi, action = "DeleteFelmentes" })",
|
||||
getExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Constants.ApiControllers.FelmentesekApi, action = "GetExportFelmentesekGrid" })",
|
||||
getExportAktiv: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Constants.ApiControllers.FelmentesekApi, action = "GetExportAktivFelmentesek" })",
|
||||
getExportTorolt: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = Constants.ApiControllers.FelmentesekApi, action = "GetExportToroltFelmentesek" })"
|
||||
};
|
||||
|
||||
felmentesekHelper.setAthuzas = function (sender) {
|
||||
var toroltUids = sender.dataSource.data().filter(function (e) { return e.Torolt }).map(function (e) { return e.uid });
|
||||
$.each(sender.items(), function () {
|
||||
if (($.inArray(($(this).attr("data-uid")), toroltUids)) !== -1) {
|
||||
$(this).addClass("kretaStrikedGridRow disabledItem");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
felmentesekHelper.isTorolt = function (rowData) {
|
||||
return !rowData.Torolt;
|
||||
}
|
||||
|
||||
felmentesekHelper.getExport = function () {
|
||||
KretaGridHelper.getExportBySearchForm(gridName, url.getExport, searchFormName);
|
||||
}
|
||||
|
||||
felmentesekHelper.getExportAktiv = function () {
|
||||
KretaGridHelper.getExportBySearchForm(gridName, url.getExportAktiv, searchFormName);
|
||||
}
|
||||
|
||||
felmentesekHelper.getExportTorolt = function () {
|
||||
KretaGridHelper.getExportBySearchForm(gridName, url.getExportTorolt, searchFormName);
|
||||
}
|
||||
|
||||
felmentesekHelper.infoFelmentes = function (data) {
|
||||
var postData = { Id: data.ID };
|
||||
AjaxHelper.DoValidationPost(url.InfoFelmentes, formName, postData, popUpInfoFelmentesWindow);
|
||||
}
|
||||
|
||||
felmentesekHelper.modFelmentes = function (data) {
|
||||
var postData = { Id: data.ID };
|
||||
AjaxHelper.DoValidationPost(url.ModFelmentes, formName, postData, popUpModFelmentesWindow);
|
||||
}
|
||||
|
||||
felmentesekHelper.modFelmentesCancel = function () {
|
||||
KretaWindowHelper.destroyWindow("modFelmentesWindow");
|
||||
}
|
||||
|
||||
felmentesekHelper.infoFelmentesCancel = function () {
|
||||
KretaWindowHelper.destroyWindow("infoFelmentesWindow");
|
||||
}
|
||||
|
||||
felmentesekHelper.modFelmentesSave = function () {
|
||||
var felmentesFormData = $('#' + formName);
|
||||
var felmentesData = felmentesFormData.toObject();
|
||||
felmentesData.IsKorabbiMulasztasokEllenorzese = true;
|
||||
felmentesData.IsKorabbiMulasztasokModositasa = false;
|
||||
AjaxHelper.DoValidationPost(url.SaveFelmentes, formName, felmentesData, felmentesSaveFeedBackOk);
|
||||
}
|
||||
|
||||
felmentesekHelper.deleteConfirmWindow = function (data) {
|
||||
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteFelmentes, data.ID);
|
||||
}
|
||||
|
||||
function felmentesSaveFeedBackOk(data) {
|
||||
if (data == "") {
|
||||
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
|
||||
refreshGrid(gridName);
|
||||
}
|
||||
else {
|
||||
KretaWindowHelper.confirmWindow("@(CommonResource.Figyelmeztetes)",
|
||||
"<div class ='felmentesWarrningMessage'> @(IgazolasResource.ARogzitenikivantFelmentesiAdatokKorabbiIdoszakraVonatkoznakEsATanuloOralatogatasiKotelezettsegetErintik)</div>"
|
||||
+"<div id ='MulasztasGrid' ></div>"
|
||||
+ "<div class ='felmentesWarrningMessage'> @(IgazolasResource.AFelmentesRogzitesenekFolytatasavalAFentiMulasztasiErtekekTorlesreKerulnek)</div>"
|
||||
+ "<div class ='felmentesWarrningMessage'> @(IgazolasResource.KivanjaFolytatniAMentestAFentieketFigyelembeVeve)</div>"
|
||||
, newFelmentesSaveKorabbiMulasztasokModositasa, null, null, "@(CommonResource.Folytatas)", "@(CommonResource.Megse)", null, false, false, false, null, 1000);
|
||||
|
||||
$("#MulasztasGrid").kendoGrid({
|
||||
columns: [
|
||||
{field: "Tantargyak", title: "@(IgazolasResource.TantargyakMulasztasDbPerc)",
|
||||
headerAttributes: {
|
||||
style: "text-align: left; vertical-align: top;"
|
||||
},
|
||||
attributes: {
|
||||
style: "text-align: left;"
|
||||
}},
|
||||
{
|
||||
field:
|
||||
"IgazolasraVaroKeses", title: "@(IgazolasResource.IgazolasraVaroKeses)", width: "90px",
|
||||
headerAttributes: {
|
||||
style: "text-align: center; vertical-align: top;"
|
||||
},
|
||||
attributes: {
|
||||
"class": "mulasztasGrid-table-cell"
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "IgazolasraVaroHianyzas", title: "@(IgazolasResource.IgazolasraVaroHianyzas)", width: "90px",
|
||||
headerAttributes: {
|
||||
style: "text-align: center; vertical-align: top;"
|
||||
},
|
||||
attributes: {
|
||||
"class": "mulasztasGrid-table-cell"
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "IgazoltKeses", title: "@(IgazolasResource.IgazoltKeses)", width: "90px",
|
||||
headerAttributes: {
|
||||
style: "text-align: center; vertical-align: top;"
|
||||
},
|
||||
attributes: {
|
||||
"class": "mulasztasGrid-table-cell"
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "IgazoltHianyzas", title: "@(IgazolasResource.IgazoltHianyzas)", width: "90px",
|
||||
headerAttributes: {
|
||||
style: "text-align: center; vertical-align: top;"
|
||||
},
|
||||
attributes: {
|
||||
"class": "mulasztasGrid-table-cell"
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "IgazolatlanKeses", title: "@(IgazolasResource.IgazolatlanKeses)", width: "90px",
|
||||
headerAttributes: {
|
||||
style: "text-align: center; vertical-align: top;"
|
||||
},
|
||||
attributes: {
|
||||
"class": "mulasztasGrid-table-cell"
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "IgazolatlanHianyzas", title: "@(IgazolasResource.IgazolatlanHianyzas)", width: "90px",
|
||||
headerAttributes: {
|
||||
style: "text-align: center; vertical-align: top;"
|
||||
},
|
||||
attributes: {
|
||||
"class": "mulasztasGrid-table-cell"
|
||||
}
|
||||
},],
|
||||
});
|
||||
|
||||
var dataSource = new kendo.data.DataSource({
|
||||
data:data.Data
|
||||
});
|
||||
|
||||
var grid = $("#MulasztasGrid").data("kendoGrid");
|
||||
grid.setDataSource(dataSource);
|
||||
$("#KretaGeneratedConfrimWindow").parent().css("margin-top", "-175px");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function popUpModFelmentesWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(FelmentesResource.FelmentesModositasa)";
|
||||
config.width = "650px";
|
||||
config.height = "525px";
|
||||
config.content = data;
|
||||
|
||||
var modal = KretaWindowHelper.createWindow("modFelmentesWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
function popUpInfoFelmentesWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(FelmentesResource.FelmentesMegtekintese)";
|
||||
config.width = "650px";
|
||||
config.height = "525px";
|
||||
config.content = data;
|
||||
|
||||
var modal = KretaWindowHelper.createWindow("infoFelmentesWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
function deleteFelmentes(data) {
|
||||
AjaxHelper.DoPost(url.DeleteFelmentes, data, deleteFelmentesResponseOk);
|
||||
}
|
||||
|
||||
function deleteFelmentesResponseOk() {
|
||||
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
|
||||
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
|
||||
}
|
||||
|
||||
function refreshGrid(gridName) {
|
||||
KretaGridHelper.refreshGrid(gridName);
|
||||
}
|
||||
|
||||
function feedbackError() {
|
||||
var message = "@(CommonResource.Hiba)";
|
||||
KretaWindowHelper.feedbackWindow("@(CommonResource.Hiba)", message, true, KretaWindowHelper.destroyAllWindow);
|
||||
}
|
||||
|
||||
return felmentesekHelper;
|
||||
})();
|
||||
|
||||
</script>
|
@@ -0,0 +1,63 @@
|
||||
@using Kreta.Web.Areas.Tanulo.Models
|
||||
@model TanuloFelmentesModel
|
||||
|
||||
<div class="container-fluid details">
|
||||
@using (Html.KretaForm("FelmentesForm"))
|
||||
{
|
||||
@Html.KretaValidationSummary()
|
||||
|
||||
@Html.HiddenFor(x => x.ID)
|
||||
@Html.HiddenFor(x => x.TanuloId)
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.TanuloNeve, 3, 9)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.TanuloOsztalya, 3, 9)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" })).AutoBind(true).RenderWithName(isCustomRequired: true)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaCheckBoxFor(x => x.OraMentesites).RenderWithName()
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaCheckBoxFor(x => x.ErtekelesMentesites).RenderWithName()
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaCheckBoxFor(x => x.SzovegesenErtekelheto).RenderWithName()
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaTextAreaFor(x => x.FelmentesOka).RenderWithName()
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaDatePickerFor(x => x.Kezdete).RenderWithName()
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaDatePickerFor(x => x.Vege).RenderWithName()
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
setTimeout(function () {
|
||||
if (!$('#ErtekelesMentesites').is(':checked')) {
|
||||
$('#SzovegesenErtekelheto').prop('disabled', true);
|
||||
$('#SzovegesenErtekelheto').prop('checked', false);
|
||||
}
|
||||
else {
|
||||
$('#SzovegesenErtekelheto').prop('disabled', false);
|
||||
}
|
||||
|
||||
$('#ErtekelesMentesites').click(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$('#SzovegesenErtekelheto').prop('disabled', false);
|
||||
}
|
||||
else {
|
||||
$('#SzovegesenErtekelheto').prop('disabled', true);
|
||||
$('#SzovegesenErtekelheto').prop('checked', false);
|
||||
}
|
||||
});
|
||||
}, 1);
|
||||
});
|
||||
</script>
|
@@ -0,0 +1,36 @@
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@model FelmentesekGridModel
|
||||
|
||||
<div class="container-fluid details">
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.TanuloNeve, 3, 9)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.TanuloOsztalya, 3, 9)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.TantargyNev, 3, 9)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.TanoraLatogatasaAloli, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.ErtekelesAloli, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.SzovegesenErtekelheto, 3, 9)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.FelmentesOka, 3, 9)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.KezdeteDate, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.VegeDate, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.RogzitesDate, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.RogzitoNeve, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.ModositasDate, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.ModositoNeve, 3, 3)
|
||||
</div>
|
||||
</div>
|
94
KretaWeb/Areas/Hianyzas/Views/Hianyzasok/Index.cshtml
Normal file
94
KretaWeb/Areas/Hianyzas/Views/Hianyzasok/Index.cshtml
Normal file
@@ -0,0 +1,94 @@
|
||||
@using Kreta.Enums
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Resources
|
||||
|
||||
@model HianyzasokSearchModel
|
||||
|
||||
@{
|
||||
var searchFormName = "searchForm";
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar(searchFormName, "HianyzasGrid"))
|
||||
{
|
||||
@Html.KretaRangeDatePickerSideBar(model => model.IdoszakKezdete, model => model.IdoszakVege)
|
||||
@Html.KretaNumericFor(x => x.Oraszam).Min(0).Max(24).Step(1).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaTextBoxFor(x => x.Tema).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.MulasztasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetMulasztasTipusList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.Igazolt, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.TanoraiCeluMulasztas, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetIgazolasTipusList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaRangeDatePickerSideBar(model => model.RogzitesKezdete, model => model.RogzitesVege)
|
||||
@Html.HiddenFor(x => x.MulaszatasId);
|
||||
}
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<HianyzasGridModel>
|
||||
(
|
||||
"HianyzasGrid",
|
||||
new GridApiUrl("HianyzasokApi", "GetHianyzasGrid"),
|
||||
dataParameterFunction: "searchForm",
|
||||
dataBoundAdditionalFunction: "HianyzasGridHelper.HighlightRow();",
|
||||
sort: sort => sort.Add(m => m.MulasztasDatum).Descending(),
|
||||
allowScrolling: true
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(m => m.MulasztasDatum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(m => m.Oraszam).Width("10%");
|
||||
columns.Bound(m => m.Targy);
|
||||
columns.Bound(m => m.Tema);
|
||||
columns.Bound(m => m.MulasztasTipus_DNAME).ClientTemplate("#if (MulasztasTipus == \"" + (int)@MulasztasTipusEnum.keses + "\" && Perc != null) {# #:MulasztasTipus_DNAME# (#:Perc# " + StringResourcesUtils.GetString(220) + ") #} else {# #:MulasztasTipus_DNAME# #} #");
|
||||
columns.Bound(m => m.Igazolt_BNAME).Width("10%");
|
||||
columns.Bound(m => m.TanoraiCeluMulasztas_BNAME).Width("10%");
|
||||
columns.Bound(m => m.IgazolasTipus_DNAME);
|
||||
columns.Bound(m => m.RogzitesDatum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.FunctionCommand(Html, new List<FunctionCommand>
|
||||
{
|
||||
new FunctionCommand
|
||||
{
|
||||
Name = ImportExportCommonResource.Export.ToUpper(),
|
||||
ClientAction = "HianyzasGridHelper.export"
|
||||
}
|
||||
})
|
||||
)
|
||||
</div>
|
||||
@section AddJs{
|
||||
<script type="text/javascript">
|
||||
|
||||
var HianyzasGridHelper = (function () {
|
||||
var hianyzasGridHelper = function () { };
|
||||
|
||||
var searchFormName = "@searchFormName";
|
||||
|
||||
var url = {
|
||||
Export: "@Url.Action("Export", Constants.Controllers.Hianyzasok, new { area = Constants.Areas.Hianyzas })",
|
||||
}
|
||||
|
||||
hianyzasGridHelper.HighlightRow = function () {
|
||||
KretaGridHelper.getAllRows("HianyzasGrid").forEach(val => {
|
||||
if (val.ID == "@Model.MulaszatasId") {
|
||||
document.querySelector(`tr[data-uid="${val.uid}"]`).style.backgroundColor = "#54A5D1";
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
hianyzasGridHelper.export = function () {
|
||||
window.location = url.Export + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
|
||||
}
|
||||
|
||||
return hianyzasGridHelper;
|
||||
|
||||
})();
|
||||
|
||||
</script>
|
||||
}
|
282
KretaWeb/Areas/Hianyzas/Views/Igazolas/Index.cshtml
Normal file
282
KretaWeb/Areas/Hianyzas/Views/Igazolas/Index.cshtml
Normal file
@@ -0,0 +1,282 @@
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Resources
|
||||
|
||||
@model IgazolasKeresoModel
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar("searchForm", "IgazolasokGrid"))
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.OsztCsopId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = Model.IsFromSzervezet ? "GetDualisCsopList" : "GetOsztCsopList", osztalyfonokiFeladat = true }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
|
||||
}
|
||||
}
|
||||
|
||||
<div id="IgazolasValidator">
|
||||
@Html.KretaValidationSummary()
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<IgazolasGridModel>(
|
||||
"IgazolasokGrid",
|
||||
new GridApiUrl(Model.ApiControllerName, "GetIgazolasGrid", new Dictionary<string, string> { { "OsztCsopId", Model.OsztCsopId.ToString() } }),
|
||||
dataParameterFunction: "searchForm",
|
||||
dataBoundAdditionalFunction: "IgazolasHelper.setKendoMaskedDataPicker(); IgazolasHelper.setToolTip();",
|
||||
requestEndAdditionalFunction: "IgazolasHelper.requestEndAdditionalFunction",
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: @Url.Action("IgazolasDetailGrid", Model.ControllerName, new { area = "Hianyzas", apiControllerName = Model.ApiControllerName }),
|
||||
sort: sort => sort.Add(s => s.TanuloNevElotagNelkul).Ascending(),
|
||||
allowPaging: false,
|
||||
allowScrolling: true,
|
||||
pageSizes: null
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloNevElotagNelkul).ClientTemplate(@"
|
||||
<a class='kendoTooltip tanuloNev gridLinkButton'
|
||||
data-tanuloid='#: ID #'
|
||||
data-tanulonev='#: TanuloNevElotagNelkul #'
|
||||
data-osztaly='#: OsztCsopNev #'
|
||||
data-anyjaneve='#: AnyjaNeve #'
|
||||
data-szuletesiido='#: SzuletesiIdo #'
|
||||
>#: TanuloNevElotagNelkul #</a>");
|
||||
})
|
||||
.DatePickerForColumn(Html,2021 /*Igazolás első napja*/, m => m.IgazolasElsoNap, Model.KezdoNap, Model.UtolsoNap)
|
||||
.DatePickerForColumn(Html, 2022 /*Igazolás utolsó napja*/, m => m.IgazolasUtolsoNap, Model.KezdoNap, Model.UtolsoNap)
|
||||
.EditableDropDownColumn(Html, HianyzasResource.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = Model.IsFromSzervezet ? "GetDualisIgazolasTipusList" : "GetIgazolasTipusList" }), m => m.Valid, m => m.IgazolasTipus, "Text", "Value")
|
||||
.TextBoxForColumn(Html,2023 /*Igazolás szöveges tartalma*/, m => m.IgazolasSzovegesTartalma)
|
||||
.AutoBind(true)
|
||||
.FunctionCommand(Html, new List<FunctionCommand>
|
||||
{
|
||||
new FunctionCommand { Name = "SaveIgazolas", NameResourceId = 111 /*Mentés*/, ClientAction = "IgazolasHelper.SaveIgazolas"}
|
||||
})
|
||||
.Sortable(sortable => sortable.AllowUnsort(false))
|
||||
)
|
||||
</div>
|
||||
|
||||
@Html.KretaGridTemplate("detailGrid-template")
|
||||
|
||||
@Html.KretaTooltipTemplate("kendoTooltip-tanuloNevTemplate",
|
||||
@"<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 IgazolasHelper = (function () {
|
||||
var igazolasHelper = function () { };
|
||||
|
||||
var gridName = "IgazolasokGrid";
|
||||
var searchFormName = "searchForm";
|
||||
|
||||
var validationSummaryName = "IgazolasValidator";
|
||||
var errorContainer = $("#IgazolasValidator").find(".kreta-validation-summary");
|
||||
var errorList = errorContainer.find("ul");
|
||||
|
||||
var url = {
|
||||
SaveIgazolas: "@Url.HttpRouteUrl("ActionApi", new { controller = "IgazolasokApi", action = "SaveIgazolas" })",
|
||||
ValidateIgazolasOnSave: "@Url.HttpRouteUrl("ActionApi", new { controller = "IgazolasokApi", action = "ValidateIgazolasOnSave" })",
|
||||
DeleteIgazolas: "@Url.HttpRouteUrl("ActionApi", new { controller = "IgazolasokApi", action = "DeleteIgazolas" })"
|
||||
};
|
||||
|
||||
igazolasHelper.SaveIgazolas = function () {
|
||||
clearErrors();
|
||||
|
||||
var igazolasData = [];
|
||||
|
||||
var hasError = false;
|
||||
var warningMessage = "";
|
||||
var osztalyCsoportId = $("#OsztCsopId").val();
|
||||
var modifiedRows = KretaGridHelper.getModifiedRows(gridName);
|
||||
$.each(modifiedRows, function (index, rowData) {
|
||||
if (hasValidRowData(rowData)) {
|
||||
if (!validateErrorRowData(rowData)) {
|
||||
hasError = true;
|
||||
} else {
|
||||
var rowWarningMessage = validateWarningRowData(rowData);
|
||||
if (rowWarningMessage.length > 0) {
|
||||
warningMessage += "<br/>" + rowWarningMessage;
|
||||
}
|
||||
|
||||
igazolasData.push({
|
||||
TanuloId: rowData.ID,
|
||||
TanuloNev: rowData.TanuloNev,
|
||||
OsztalyCsoportId: osztalyCsoportId,
|
||||
IgazolasElsoNap: rowData.ki_IgazolasElsoNap,
|
||||
IgazolasUtolsoNap: rowData.ki_IgazolasUtolsoNap,
|
||||
IgazolasTipus: rowData.ki_IgazolasTipus,
|
||||
IgazolasSzovegesTartalma: rowData.ki_IgazolasSzovegesTartalma,
|
||||
SzervezetId: rowData.TanuloSzervezetId
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (hasError) {
|
||||
showErrors();
|
||||
} else {
|
||||
if (igazolasData.length > 0) {
|
||||
if (warningMessage.length > 0) {
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", warningMessage, save, igazolasData, undefined, "@IgazolasResource.OsszesIgazolasMentese", "@IgazolasResource.Vissza");
|
||||
} else {
|
||||
AjaxHelper.DoValidationPost(url.ValidateIgazolasOnSave, null, igazolasData, validationsuccessCallBack,validationErrorCallBack);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function getIgazolasData() {
|
||||
var igazolasData = [];
|
||||
var osztalyCsoportId = $("#OsztCsopId").val();
|
||||
var modifiedRows = KretaGridHelper.getModifiedRows(gridName);
|
||||
$.each(modifiedRows, function (index, rowData) {
|
||||
if (hasValidRowData(rowData)) {
|
||||
if (validateErrorRowData(rowData)) {
|
||||
igazolasData.push({
|
||||
TanuloId: rowData.ID,
|
||||
TanuloNev: rowData.TanuloNev,
|
||||
OsztalyCsoportId: osztalyCsoportId,
|
||||
IgazolasElsoNap: rowData.ki_IgazolasElsoNap,
|
||||
IgazolasUtolsoNap: rowData.ki_IgazolasUtolsoNap,
|
||||
IgazolasTipus: rowData.ki_IgazolasTipus,
|
||||
IgazolasSzovegesTartalma: rowData.ki_IgazolasSzovegesTartalma,
|
||||
SzervezetId: rowData.TanuloSzervezetId
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
return igazolasData;
|
||||
}
|
||||
function validationsuccessCallBack() {
|
||||
save(getIgazolasData());
|
||||
}
|
||||
function validationErrorCallBack(data) {
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", data.responseJSON.Message, save, getIgazolasData(), undefined, "@IgazolasResource.OsszesIgazolasMentese", "@IgazolasResource.Vissza");
|
||||
}
|
||||
igazolasHelper.DeleteConfirmWindow = function (rowData) {
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@CommonResource.BiztosanTorli", deleteIgazolas, rowData.ID);
|
||||
}
|
||||
|
||||
igazolasHelper.requestEndAdditionalFunction = function (e) {
|
||||
clearErrors();
|
||||
}
|
||||
|
||||
igazolasHelper.setKendoMaskedDataPicker = function () {
|
||||
var dataPickerElsoNap = [$("input[id*='IgazolasElsoNap']"), $("input[id*='IgazolasUtolsoNap']")];
|
||||
dataPickerElsoNap.forEach(e => {
|
||||
e.kendoMaskedDatePicker();
|
||||
e.change(function () {
|
||||
KretaDateTimeHelper.validateDate($(this));
|
||||
});
|
||||
e.parent().parent().css("width", "initial");
|
||||
});
|
||||
}
|
||||
|
||||
igazolasHelper.setToolTip = function () {
|
||||
var kendoTooltip = $(".tanuloNev");
|
||||
KretaTooltipHelper.setTooltip(kendoTooltip, "#kendoTooltip-tanuloNevTemplate");
|
||||
}
|
||||
|
||||
function save(igazolasData) {
|
||||
AjaxHelper.DoValidationPost(url.SaveIgazolas, validationSummaryName, igazolasData, saveFeedBackOk);
|
||||
}
|
||||
|
||||
function saveFeedBackOk() {
|
||||
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Siker", "@CommonResource.AMentesSikeresenMegtortent", false, KretaWindowHelper.destroyAllWindow);
|
||||
}
|
||||
|
||||
function deleteIgazolas(data) {
|
||||
AjaxHelper.DoPost(url.DeleteIgazolas, data, deleteResponseOk);
|
||||
}
|
||||
|
||||
function deleteResponseOk() {
|
||||
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Siker", "@CommonResource.ATorlesSikeresenMegtortent", false, KretaWindowHelper.destroyAllWindow);
|
||||
}
|
||||
|
||||
function hasValidRowData(rowData) {
|
||||
return (rowData.ki_IgazolasElsoNap != "" || rowData.ki_IgazolasUtolsoNap != "" || rowData.ki_IgazolasSzovegesTartalma != "");
|
||||
}
|
||||
|
||||
function validateErrorRowData(rowData) {
|
||||
var isValid = true;
|
||||
|
||||
if (rowData.ki_IgazolasElsoNap != "" || rowData.ki_IgazolasUtolsoNap != "" || rowData.ki_IgazolasSzovegesTartalma != "") {
|
||||
if (rowData.ki_IgazolasElsoNap == "") {
|
||||
addError("@IgazolasResource.NemAdtaMegAzIgazolasElsoNapjat".format(rowData.TanuloNev));
|
||||
isValid = false;
|
||||
}
|
||||
if (rowData.ki_IgazolasUtolsoNap == "") {
|
||||
addError("@IgazolasResource.NemAdtaMegAzIgazolasUtolsoNapjat".format(rowData.TanuloNev));
|
||||
isValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (rowData.ki_IgazolasElsoNap != "" && rowData.ki_IgazolasUtolsoNap != "") {
|
||||
var igazolasElsoNap = kendo.parseDate(rowData.ki_IgazolasElsoNap, 'yyyy. MM. dd.');
|
||||
var igazolasUtolsoNap = kendo.parseDate(rowData.ki_IgazolasUtolsoNap, 'yyyy. MM. dd.');
|
||||
|
||||
if (igazolasUtolsoNap < igazolasElsoNap) {
|
||||
addError("@IgazolasResource.AzIgazolasUtolsoNapjaNemLehetKorabbiMintAzIgazolasElsoNapja".format(rowData.TanuloNev));
|
||||
isValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (rowData.ki_IgazolasElsoNap != "") {
|
||||
var igazolasElsoNap = kendo.parseDate(rowData.ki_IgazolasElsoNap, 'yyyy. MM. dd.');
|
||||
var igazolasNaplozaras = kendo.parseDate("@(Model.IgazolasNaplozarasDatum)", 'yyyy. MM. dd.');
|
||||
|
||||
if (igazolasElsoNap <= igazolasNaplozaras) {
|
||||
addError("@IgazolasResource.AzIgazolasKezdoNapjaNemEshetLezartIdoszakra".format(rowData.TanuloNev));
|
||||
isValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
function validateWarningRowData(rowData) {
|
||||
var warningMessage = "";
|
||||
|
||||
var oneDay = 24 * 60 * 60 * 1000;
|
||||
var igazolasElsoNap = kendo.parseDate(rowData.ki_IgazolasElsoNap, 'yyyy. MM. dd.');
|
||||
var igazolasUtolsoNap = kendo.parseDate(rowData.ki_IgazolasUtolsoNap, 'yyyy. MM. dd.');
|
||||
|
||||
if (Math.round(Math.abs((igazolasUtolsoNap.getTime() - igazolasElsoNap.getTime()) / oneDay)) > 20) {
|
||||
warningMessage = "@IgazolasResource.AzIgazolasDatumokKozottiElteresNagyobbMint20Nap".format(rowData.TanuloNev, rowData.ki_IgazolasElsoNap.bold(), rowData.ki_IgazolasUtolsoNap.bold());
|
||||
}
|
||||
|
||||
return warningMessage;
|
||||
}
|
||||
|
||||
function clearErrors() {
|
||||
errorContainer.addClass("validation-summary-valid").removeClass("validation-summary-errors");
|
||||
errorContainer.css({ 'display': 'none' });
|
||||
errorList.empty();
|
||||
}
|
||||
|
||||
function showErrors() {
|
||||
errorContainer.addClass("validation-summary-errors").removeClass("validation-summary-valid");
|
||||
errorContainer.css({ 'display': 'block' });
|
||||
}
|
||||
|
||||
function addError(errorMessage) {
|
||||
$("<li />").html("<label class='error labelError'>" + errorMessage + "</label>").appendTo(errorList);
|
||||
}
|
||||
|
||||
return igazolasHelper;
|
||||
})();
|
||||
</script>
|
@@ -0,0 +1,23 @@
|
||||
@model Kreta.Web.Areas.Hianyzas.Models.IgazolasModel
|
||||
@using Kreta.Web.Helpers
|
||||
|
||||
<div class="container-fluid details">
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.TanuloNev, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.OsztCsopNev, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.ErvKezdeteRoviddatum, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.ErvVegeRoviddatum, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.RogzitoNev, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.RogzDatumRoviddatum, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.IgazolasTipusNev, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.Megjegyzes, 3, 9, formatted: true)
|
||||
</div>
|
||||
</div>
|
125
KretaWeb/Areas/Hianyzas/Views/IgazolasokListaja/Index.cshtml
Normal file
125
KretaWeb/Areas/Hianyzas/Views/IgazolasokListaja/Index.cshtml
Normal file
@@ -0,0 +1,125 @@
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Security;
|
||||
@model IgazolasokListajaSearchModel
|
||||
|
||||
@{
|
||||
const string GridName = "IgazolasokListajaGrid";
|
||||
const string SearchForm = "searchForm";
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar(SearchForm, GridName))
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetFeladatellatasiHelyek" }), "Text", "Value").RenderSearchPanelSideBar()
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.IgazolasKezdteteSearch, x => x.IgazolasVegeSearch)
|
||||
@Html.KretaTextBoxFor(x => x.NevSearch).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.OsztalySearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztalyListByEvfolyam" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.IgazolasTipusaSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.RogzitoSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetPedagogusListByTanev" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.RogzitesDatumaTolSearch, x => x.RogzitesDatumaIgSearch)
|
||||
}
|
||||
|
||||
}
|
||||
@{
|
||||
List<FunctionCommand> functions = new List<FunctionCommand> {
|
||||
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "IgazolasokListajaHelper.getExport" }
|
||||
};
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<IgazolasokListajaGridModel>(
|
||||
name: GridName,
|
||||
getUrl: new GridApiUrl("IgazolasokListajaApi", "GetIgazolasokListajaGrid"),
|
||||
useToolBar: true,
|
||||
dataParameterFunction: SearchForm,
|
||||
allowScrolling: true,
|
||||
sort: sort =>
|
||||
{
|
||||
sort.Add(m => m.Kezdete).Descending();
|
||||
},
|
||||
postRead: true
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.Kezdete).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.Vege).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.NevElotagNelkul).Width("15%").SetDisplayProperty("Nev");
|
||||
columns.Bound(c => c.OsztalyCsoport).Width("15%").Sortable(false);
|
||||
columns.Bound(c => c.IgazolasTipusaNev).Width("10%");
|
||||
columns.Bound(c => c.RogzitesDatuma).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.RogzitoElotagNelkul).Width("10%").SetDisplayProperty("Rogzito");
|
||||
columns.Bound(c => c.Megjegyzes).Encoded(false);
|
||||
})
|
||||
.RowFunction(Html, new List<RowFunction> {
|
||||
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction= "IgazolasokListajaHelper.openIgazolasInfoWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Adatok },
|
||||
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction= "IgazolasokListajaHelper.DeleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles },
|
||||
})
|
||||
.FunctionCommand(Html, functions)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") && !CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox"))) {
|
||||
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
|
||||
}
|
||||
});
|
||||
var IgazolasokListajaHelper = (function () {
|
||||
var igazolasokListajaHelper = function () { };
|
||||
|
||||
var gridName = "@GridName";
|
||||
var searchFormName = "@SearchForm";
|
||||
|
||||
var url = {
|
||||
IgazolasInfoPopUp: "@Url.Action("IgazolasInfoPopUp", "IgazolasokListaja", new { area = "Hianyzas" })",
|
||||
DeleteIgazolas: "@Url.HttpRouteUrl("ActionApi", new { controller = "IgazolasokApi", action = "DeleteIgazolasAdmin" })",
|
||||
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.IgazolasokListajaApi, action = "GetExport" })"
|
||||
}
|
||||
|
||||
igazolasokListajaHelper.openIgazolasInfoWindow = function (rowData) {
|
||||
var postData = { igazolasId: rowData.ID };
|
||||
AjaxHelper.DoPost(url.IgazolasInfoPopUp, postData, popUpInfoWindow);
|
||||
}
|
||||
|
||||
igazolasokListajaHelper.igazolasInfoCancel = function () {
|
||||
KretaWindowHelper.destroyWindow("igazolasInfoWindow");
|
||||
}
|
||||
function popUpInfoWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(OrarendResource.IgazolasAdatai)";
|
||||
config.maxWidth = "960px";
|
||||
config.height = "600px";
|
||||
config.content = data;
|
||||
|
||||
var modal = KretaWindowHelper.createWindow("igazolasInfoWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
igazolasokListajaHelper.export = function () {
|
||||
var fileName = "@(HianyzasResource.IgazolasokExport)_@(DateTime.Now.ToString("yyyy_MM_dd")).xlsx";
|
||||
KretaGridHelper.exportGrid(IgazolasokListajaGrid, fileName, null, 170);
|
||||
}
|
||||
igazolasokListajaHelper.DeleteConfirmWindow = function (rowData) {
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@CommonResource.BiztosanTorli", deleteIgazolas, rowData.ID);
|
||||
}
|
||||
igazolasokListajaHelper.getExport = function () {
|
||||
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName);
|
||||
}
|
||||
function deleteIgazolas(data) {
|
||||
AjaxHelper.DoPost(url.DeleteIgazolas, data, deleteResponseOk);
|
||||
}
|
||||
|
||||
function deleteResponseOk() {
|
||||
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
|
||||
KretaGridHelper.refreshGrid(gridName);
|
||||
}
|
||||
|
||||
return igazolasokListajaHelper;
|
||||
})();
|
||||
</script>
|
@@ -0,0 +1,63 @@
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Resources
|
||||
|
||||
@model InformaciokIgazolasSearchModel
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar("searchForm", "IgazolasGrid"))
|
||||
{
|
||||
@Html.KretaRangeDatePickerSideBar(model => model.IgazolasKezdeteSearch, model => model.IgazolasVegeSearch)
|
||||
@Html.KretaComboBoxFor(model => model.IgazolasTipusaSearch, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList" })).RenderSearchPanelSideBar()
|
||||
}
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<InformaciokIgazolasGridModel>
|
||||
(
|
||||
"IgazolasGrid",
|
||||
new GridApiUrl("InformaciokIgazolasokApi", "GetIgazolasGrid"),
|
||||
sort: sort => sort.Add(m => m.Kezdete).Descending(),
|
||||
allowPaging: true,
|
||||
allowScrolling: true,
|
||||
pageSizes: null
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(m => m.Kezdete).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(m => m.Vege).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(m => m.IgazolasTipusa_DNAME);
|
||||
columns.Bound(m => m.Megjegyzes);
|
||||
})
|
||||
|
||||
.FunctionCommand(Html, new List<FunctionCommand>
|
||||
{
|
||||
new FunctionCommand { Name = ImportExportCommonResource.Export.ToUpper(), ClientAction = "InformaciokIgazolasHelper.exportIgazolasGrid" }
|
||||
})
|
||||
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var InformaciokIgazolasHelper = (function () {
|
||||
var informaciokIgazolasHelper = function () { };
|
||||
|
||||
var searchFormName = "searchForm";
|
||||
|
||||
var url = {
|
||||
ExportIgazolasok: "@Url.Action("ExportIgazolasok", "InformaciokIgazolasok", new {area = "Hianyzas"})",
|
||||
}
|
||||
|
||||
informaciokIgazolasHelper.exportIgazolasGrid = function () {
|
||||
window.location = url.ExportIgazolasok + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
|
||||
}
|
||||
|
||||
return informaciokIgazolasHelper;
|
||||
})();
|
||||
</script>
|
215
KretaWeb/Areas/Hianyzas/Views/MulasztasKereso/Index.cshtml
Normal file
215
KretaWeb/Areas/Hianyzas/Views/MulasztasKereso/Index.cshtml
Normal file
@@ -0,0 +1,215 @@
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Framework
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Controllers
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Security
|
||||
|
||||
@model MulasztasSearchModel
|
||||
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
||||
|
||||
@{
|
||||
var gridName = MulasztasKeresoController.GridName;
|
||||
var searchFormName = MulasztasKeresoController.SearchFormName;
|
||||
|
||||
var infoPopUpId = MulasztasKeresoController.InfoPopUpId;
|
||||
}
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar(searchFormName, gridName))
|
||||
{
|
||||
if (!Model.IsFromSzervezet)
|
||||
{
|
||||
if (ClaimData.IsVegyes)
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.FeladatKategoriaId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatKategoriaSzuro" }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()
|
||||
}
|
||||
@Html.KretaComboBoxFor(x => x.FeladatEllatasiHelyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetFeladatEllatasiHelyList" })).RenderSearchPanelSideBar()
|
||||
}
|
||||
@Html.KretaRangeDatePickerSideBar(x => x.DatumTol, x => x.DatumIg)
|
||||
@Html.KretaTextBoxFor(x => x.TanuloNeve).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = Model.IsFromSzervezet ? "GetOsztalyCsoportDualisListByEvfolyam" : "GetOsztalyCsoportListByEvfolyam" }), useGroup: !Model.IsFromSzervezet).RenderSearchPanelSideBar()
|
||||
if (!Model.IsFromSzervezet)
|
||||
{
|
||||
@Html.KretaCheckBoxFor(x => x.KellKapcsolodoCsoportok).RenderSearchPanelSideBar()
|
||||
}
|
||||
@Html.KretaComboBoxFor(x => x.CsoportTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetCsoportTipusList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.FoglalkozasId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyfelosztasComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.TantargyId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetTantargyComboBoxListItemList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum, addMagatartasSzogalom = !Model.IsFromSzervezet })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.MulasztasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetMulasztasTipusList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
|
||||
@Html.KretaNumericFor(x => x.KesesPercben).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.IgazoltsagAllapota, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetIgazoltList" })).RenderSearchPanelSideBar()
|
||||
@Html.KretaComboBoxFor(x => x.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperApi, action = "GetIgazolasTipusList", szervezetTipusEnumId = (int?)Model.SzervezetTipusEnum })).RenderSearchPanelSideBar()
|
||||
if (!Model.IsFromSzervezet)
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.IsOnlineOra, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Constants.ApiControllers.ComboBoxHelperEnumApi, action = "GetIgenNemEnumList" })).RenderSearchPanelSideBar()
|
||||
}
|
||||
@Html.KretaCheckBoxFor(x => x.IsNemJelenlevoTanulokMegjelenitese).RenderSearchPanelSideBar()
|
||||
@Html.KretaCheckBoxFor(x => x.IsNemBesoroltTanulokMulasztasainakMegjelenitese).RenderSearchPanelSideBar()
|
||||
if (Model.IsFromSzervezet)
|
||||
{
|
||||
@Html.KretaTextBoxFor(x => x.SzervezetNevSzovegSearch).RenderSearchPanelSideBar()
|
||||
@Html.KretaTextBoxFor(x => x.SzervezetAzonositoSzovegSearch).RenderSearchPanelSideBar()
|
||||
}
|
||||
@Html.HiddenFor(x => x.SzervezetId)
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
List<RowFunction> rowFunctionList = new List<RowFunction>
|
||||
{
|
||||
new RowFunction { NameResourceId = 118 /*Adatok*/, ClientAction = "MulasztasKeresoHelper.openMulasztasKeresoInfoPopUp", IconEnum = GridRowFunctionIconEnum.Adatok },
|
||||
new RowFunction { NameResourceId = 1796 /*Nem hiányzó*/, ClientAction = "MulasztasKeresoHelper.deleteMulasztasConfirmWindow", IconEnum = GridRowFunctionIconEnum.Torles }
|
||||
};
|
||||
|
||||
List<FunctionCommand> nestedExportFunctions = new List<FunctionCommand>
|
||||
{
|
||||
new FunctionCommand { Name = ImportExportCommonResource.Export, ClientAction = "MulasztasKeresoHelper.getExport" }
|
||||
};
|
||||
|
||||
if (!Model.IsFromSzervezet)
|
||||
{
|
||||
nestedExportFunctions.Add(new FunctionCommand { Name = HianyzasResource.TanulokMulasztasai, ClientAction = "MulasztasKeresoHelper.exportTanulokMulasztasai" });
|
||||
nestedExportFunctions.Add(new FunctionCommand { Name = HianyzasResource.TanorakonNemJelenlevok, ClientAction = "MulasztasKeresoHelper.exportTanorakonNemJelenlevok" });
|
||||
}
|
||||
|
||||
List<FunctionCommand> functions = new List<FunctionCommand>
|
||||
{
|
||||
new FunctionCommand { Name = CommonResource.KijeloltekTorlese.ToUpper(), ClientAction = "MulasztasKeresoHelper.deleteTobbesMulasztasConfirmWindow", Classes = "kendo-gridFunctionKommandRed" },
|
||||
new FunctionCommand { Name = HianyzasResource.Export.ToUpper(), NestedCommands = nestedExportFunctions },
|
||||
};
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<MulasztasGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasGrid"),
|
||||
allowScrolling: true,
|
||||
dataParameterFunction: searchFormName,
|
||||
sort: sort => sort.Add(m => m.Datum).Descending()
|
||||
)
|
||||
.SelectBoxColumn(Html, string.Empty)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloNevElotagNelkul).SetDisplayProperty("TanuloNev");
|
||||
columns.Bound(c => c.Datum).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.Oraszam).Width("5%");
|
||||
columns.Bound(c => c.OsztCsopNev);
|
||||
columns.Bound(c => c.TargyNev);
|
||||
columns.Bound(c => c.MulTip_DNAME);
|
||||
columns.Bound(c => c.KesesPerc).Width("8%");
|
||||
columns.Bound(c => c.Igazolt_BNAME).Width("8%");
|
||||
columns.Bound(c => c.IgazolasTipus_DNAME);
|
||||
})
|
||||
.RowFunction(Html, rowFunctionList)
|
||||
.FunctionCommand(Html, functions)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function() {
|
||||
var isFromSzervezet = CommonUtils.parseBool("@Model.IsFromSzervezet");
|
||||
|
||||
if (!CommonUtils.isNullOrUndefined("@ClaimData.FelhelySzuro") &&
|
||||
!CommonUtils.isNullOrUndefined($("#FeladatEllatasiHelyId").data("kendoComboBox")) &&
|
||||
!isFromSzervezet) {
|
||||
$("#FeladatEllatasiHelyId").data("kendoComboBox").value("@ClaimData.FelhelySzuro");
|
||||
}
|
||||
});
|
||||
|
||||
var MulasztasKeresoHelper = (function() {
|
||||
var mulasztasKeresoHelper = function() {};
|
||||
|
||||
var gridName = "@gridName";
|
||||
var searchFormName = "@searchFormName";
|
||||
var infoPopUpId = "@infoPopUpId";
|
||||
|
||||
var url = {
|
||||
OpenMulasztasInfoPopUp: "@Url.Action("OpenMulasztasInfoPopUp", Model.ControllerName, new { area = "Hianyzas" })",
|
||||
ExportTanulokMulasztasai: "@Url.Action("ExportTanulokMulasztasai", Model.ControllerName, new { area = "Hianyzas" })",
|
||||
ExportTanorakonNemJelenlevok: "@Url.Action("ExportTanorakonNemJelenlevok", Model.ControllerName, new { area = "Hianyzas" })",
|
||||
GetExport: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "GetExport" })",
|
||||
DeleteMulasztas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteMulasztas" })",
|
||||
DeleteTobbesMulasztas: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "DeleteTobbesMulasztas" })"
|
||||
}
|
||||
|
||||
mulasztasKeresoHelper.openMulasztasKeresoInfoPopUp = function(rowData) {
|
||||
var postData = { MulasztasId: rowData.ID };
|
||||
AjaxHelper.DoPost(url.OpenMulasztasInfoPopUp, postData, popUpInfoWindow);
|
||||
}
|
||||
|
||||
mulasztasKeresoHelper.mulasztasKeresoInfoPopUpCancel = function() {
|
||||
KretaWindowHelper.destroyWindow(infoPopUpId);
|
||||
}
|
||||
|
||||
mulasztasKeresoHelper.deleteMulasztasConfirmWindow = function(rowData) {
|
||||
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorli)", deleteMulasztas, rowData.ID);
|
||||
}
|
||||
|
||||
mulasztasKeresoHelper.deleteTobbesMulasztasConfirmWindow = function() {
|
||||
KretaWindowHelper.confirmWindow("@(CommonResource.Kerdes)", "@(CommonResource.BiztosanTorolniSzeretneAKijeloltElemeket)", deleteTobbesMulasztas);
|
||||
}
|
||||
|
||||
mulasztasKeresoHelper.exportTanulokMulasztasai = function() {
|
||||
window.location = url.ExportTanulokMulasztasai + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
|
||||
}
|
||||
|
||||
mulasztasKeresoHelper.exportTanorakonNemJelenlevok = function() {
|
||||
window.location = url.ExportTanorakonNemJelenlevok + "?" + $.param(KretaGridHelper.getSearchParametersWithoutInputNames(searchFormName));
|
||||
}
|
||||
|
||||
mulasztasKeresoHelper.getExport = function() {
|
||||
KretaGridHelper.getExportBySearchForm(gridName, url.GetExport, searchFormName)
|
||||
}
|
||||
|
||||
function popUpInfoWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(StringResourcesUtil.GetString(1821))"; /*Mulasztás adatok*/
|
||||
config.content = data;
|
||||
var modal = KretaWindowHelper.createWindow(infoPopUpId, config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
function deleteMulasztas(data) {
|
||||
AjaxHelper.DoPost(url.DeleteMulasztas, data, deleteSuccessCallBack, errorCallBack);
|
||||
}
|
||||
|
||||
function deleteTobbesMulasztas() {
|
||||
var selectedRows = KretaGridHelper.getSelectedRowsByGridName(gridName);
|
||||
if (selectedRows.length == 0) {
|
||||
KretaWindowHelper.warningWindow("@(CommonResource.Kivalasztas)", "@(CommonResource.AKijeloltElemekTorlesehezJeloljonKiLegalabbEgyElemet)");
|
||||
} else {
|
||||
var parameters = [];
|
||||
$.each(selectedRows,
|
||||
function(index, value) {
|
||||
parameters.push(value.ID);
|
||||
});
|
||||
|
||||
AjaxHelper.DoPost(url.DeleteTobbesMulasztas, parameters, deleteSuccessCallBack, errorCallBack);
|
||||
}
|
||||
}
|
||||
|
||||
function deleteSuccessCallBack() {
|
||||
KretaWindowHelper.successFeedBackWindow(KretaWindowHelper.destroyAllWindow);
|
||||
KretaGridHelper.refreshGridSearchPanel(gridName, searchFormName);
|
||||
}
|
||||
|
||||
function errorCallBack() {
|
||||
var content = "@(StringResourcesUtil.GetString(367 /*Hiba*/))";
|
||||
KretaWindowHelper.feedbackWindow("@(StringResourcesUtil.GetString(367))" /*Hiba*/, content, true, KretaWindowHelper.destroyAllWindow);
|
||||
}
|
||||
|
||||
return mulasztasKeresoHelper;
|
||||
})();
|
||||
|
||||
</script>
|
437
KretaWeb/Areas/Hianyzas/Views/Mulasztasok/Index.cshtml
Normal file
437
KretaWeb/Areas/Hianyzas/Views/Mulasztasok/Index.cshtml
Normal file
@@ -0,0 +1,437 @@
|
||||
@using Kreta.Enums
|
||||
@using Kreta.Framework
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Security
|
||||
|
||||
@model MulasztasIndexModel
|
||||
|
||||
@{ Layout = "~/Views/Shared/_MasterLayout.cshtml"; }
|
||||
|
||||
@section AddCss {
|
||||
@Styles.Render("~/Content/Mulasztasok")
|
||||
}
|
||||
|
||||
@{ var searchFormName = "MulasztasokSearchForm";
|
||||
var datumNezetGridName = "MulasztasokDatumNezetGrid";
|
||||
var tanuloNezetGridName = "MulasztasokTanuloNezetGrid";
|
||||
var naploNezetGridName = "MulasztasokNaploNezetGrid"; }
|
||||
|
||||
@section AddSearchPanel {
|
||||
@using (Html.SearchPanelSideBar(searchFormName, null, postSubmitFunction: "MulasztasKezelesHelper.refreshTabGrids"))
|
||||
{
|
||||
@Html.KretaComboBoxFor(x => x.OsztalyCsoportId, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetOsztCsopList", osztalyfonokiFeladat = true }), "Text", "Value").AutoBind(true).RenderSearchPanelSideBar()}
|
||||
}
|
||||
|
||||
@Html.KretaTabStripAjax("MulasztasokTabStrip", Model.TabList)
|
||||
|
||||
@Html.KretaTooltipTemplate("kendoTooltip-tanuloNevTemplate",
|
||||
@"<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 naploNezetDatum;
|
||||
var igazolasNaplozarasDatum = new Date(@Model.IgazolasNaploZarasDatum.Year, @(Model.IgazolasNaploZarasDatum.Month - 1), @Model.IgazolasNaploZarasDatum.Day);
|
||||
|
||||
var MulasztasKezelesHelper = (function () {
|
||||
var mulasztasKezelesHelper = function () { };
|
||||
|
||||
var url = {
|
||||
OpenTanuloMulasztasaiPopup: "@Url.Action("OpenTanuloMulasztasaiPopup", "Mulasztasok", new { area = "Hianyzas" })",
|
||||
SaveMulasztasList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "MulasztasokApi", action = "SaveMulasztasList" })",
|
||||
Delete: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new {controller = "MulasztasokApi", action = "DeleteMulasztas" })",
|
||||
VaneMarIgazolt: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "MulasztasokApi", action = "VaneMarIgazolt" })"
|
||||
};
|
||||
|
||||
var confirmMessage = "@HianyzasResource.MarVanRogzitettIgazolas";
|
||||
|
||||
var gridNamesToRefreshList;
|
||||
var currentFormName;
|
||||
|
||||
var currentTanuloNev;
|
||||
var searchFormName = "@searchFormName";
|
||||
|
||||
mulasztasKezelesHelper.onTabStripActivate = function () {
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
}
|
||||
|
||||
function popUpDetailWindow(data) {
|
||||
var config = KretaWindowHelper.getWindowConfigContainer();
|
||||
config.title = "@(StringResourcesUtil.GetString(5628) /*Tanuló mulasztásai*/) (" + kendo.htmlEncode(currentTanuloNev) + ")";
|
||||
config.content = data;
|
||||
|
||||
var modal = KretaWindowHelper.createWindow("detailTanuloWindow", config);
|
||||
KretaWindowHelper.openWindow(modal, true);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.detailTanuloWindowCancel = function () {
|
||||
KretaWindowHelper.destroyWindow("detailTanuloWindow");
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.dataBoundAdditionalFunction = function () {
|
||||
mulasztasKezelesHelper.setToolTip();
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.setToolTip = function () {
|
||||
var kendoTooltip = $(".tanuloNev");
|
||||
KretaTooltipHelper.setTooltip(kendoTooltip, "#kendoTooltip-tanuloNevTemplate");
|
||||
kendoTooltip.off("click");
|
||||
kendoTooltip.click(function () {
|
||||
var tanuloId = $(this).attr("data-tanuloid");
|
||||
currentTanuloNev = $(this).attr("data-tanulonev");
|
||||
if (!CommonUtils.isNullOrEmpty(tanuloId)) {
|
||||
var { OsztalyCsoportId } = KretaGridHelper.getSearchParameterObject("@searchFormName");
|
||||
var data = { TanuloId: tanuloId, OsztalyCsoportId, apiControllerName: "@Constants.ApiControllers.MulasztasokApi" };
|
||||
AjaxHelper.DoPost(url.OpenTanuloMulasztasaiPopup, data, popUpDetailWindow);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasList = function (detailGridName, gridToRefreshList, formName, visszavonhato) {
|
||||
var modRows = KretaGridHelper.getModifiedRows(detailGridName);
|
||||
|
||||
if (modRows.length > 0) {
|
||||
var resultData = [modRows.length];
|
||||
var message = "";
|
||||
$.each(modRows, function (index, value) {
|
||||
var igazoltValue = null;
|
||||
if (value.input[0].value === "0") {
|
||||
igazoltValue = true;
|
||||
} else if (value.input[0].value === "1") {
|
||||
igazoltValue = false;
|
||||
}
|
||||
var igazolasTipusValue = value.input[1].value;
|
||||
var megjegyzesValue = value.input[2].value;
|
||||
var tanuloId;
|
||||
if (value.ID === "0") {
|
||||
tanuloId = 0;
|
||||
} else {
|
||||
tanuloId = value.TanuloId;
|
||||
}
|
||||
resultData[index] = {
|
||||
ID: value.ID,
|
||||
TanuloId: tanuloId,
|
||||
Igazolt: igazoltValue,
|
||||
IgazolasTipus: igazolasTipusValue,
|
||||
Megjegyzes: megjegyzesValue,
|
||||
Visszavonhato: visszavonhato
|
||||
}
|
||||
|
||||
if (igazoltValue && igazolasTipusValue === "" && value.ID > 0) {
|
||||
if (message.length > 0) {
|
||||
message += "<br />";
|
||||
}
|
||||
if (CommonUtils.isUndefined(value.TanuloNev)) {
|
||||
message += value.TargyNev + " esetében Igazolás típus megadása kötelező!";
|
||||
} else {
|
||||
message += value.TanuloNev + " esetében Igazolás típus megadása kötelező!";
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
gridNamesToRefreshList = gridToRefreshList;
|
||||
currentFormName = formName;
|
||||
|
||||
if (message.length > 0) {
|
||||
KretaWindowHelper.feedbackWindow("", message, true);
|
||||
} else {
|
||||
AjaxHelper.DoPost(url.SaveMulasztasList,
|
||||
resultData,
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOkPostReturn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.setDetailControlsEvents = function (igazoltDivNamePrefix, detailGridName, visszavonhato) {
|
||||
var igazoltDivSelectorPrefix = "#" + igazoltDivNamePrefix;
|
||||
var detailGridSelector = "#" + detailGridName;
|
||||
|
||||
$(detailGridSelector).off("click");
|
||||
$(detailGridSelector).on("click", igazoltDivSelectorPrefix + "0", function () {
|
||||
var row = $(this).closest("tr");
|
||||
var rowId = $("tr", $(detailGridSelector)).index(row);
|
||||
|
||||
if (rowId === 1) {
|
||||
var headerValue = $(igazoltDivSelectorPrefix + "0 li.activebar").attr('val');
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
if (value.ID !== "0") {
|
||||
var liList = $(igazoltDivSelectorPrefix + value.ID + " li");
|
||||
$(detailGridSelector + "_Igazolt_" + value.ID).val(headerValue);
|
||||
value.Igazolt = headerValue;
|
||||
value.dirty = true;
|
||||
$.each(liList, function (liIndex, liValue) {
|
||||
if ($(liValue).attr('val') === headerValue) {
|
||||
$(liValue).addClass('activebar');
|
||||
}
|
||||
else {
|
||||
$(liValue).removeClass('activebar');
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$(detailGridSelector).on("click", "div[id^='" + igazoltDivNamePrefix + "']", function (e) {
|
||||
//hack, hogy egértől jött-e
|
||||
if (CommonUtils.isNullOrUndefined(e.clientX)) {
|
||||
return;
|
||||
}
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
if (CommonUtils.isUndefined(kendoComboBox)) {
|
||||
return;
|
||||
}
|
||||
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (!CommonUtils.isUndefined(igazoltVal)) {
|
||||
value.dirty = true;
|
||||
textarea.prop('disabled', false);
|
||||
var isIgazolt = igazoltVal === "0";
|
||||
if (isIgazolt) {
|
||||
|
||||
kendoComboBox.enable(true);
|
||||
if (CommonUtils.isNullOrEmpty(kendoComboBox.value())) {
|
||||
KretaComboBoxHelper.setKendoValue(kendoComboBox, "@((int)IgazolasTipusEnum.orvosi_igazolas)");
|
||||
}
|
||||
} else {
|
||||
function folytatIgazolatlan() {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
|
||||
function stopIgazolatlan() {
|
||||
value.dirty = false;
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
|
||||
var igazolasValaszto = $(igazoltDivSelectorPrefix + value.ID + " li");
|
||||
|
||||
$.each(igazolasValaszto, function (index, e) {
|
||||
e.classList.remove('activebar');
|
||||
});
|
||||
}
|
||||
|
||||
if (!CommonUtils.isNull(value.Igazolt) && value.Igazolt == 1
|
||||
&& igazoltDivSelectorPrefix !== "#divMulasztasokNaploNezetGrid_Igazolt_" && igazoltDivSelectorPrefix.indexOf("MulasztasokDatumNezetDetailGrid_") == -1
|
||||
&& igazoltDivSelectorPrefix.indexOf("TanuloMulasztasaiDetailGrid_Kezeletlen") == -1) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
if (value.Igazolt == 0) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
var elements = $(".naploNezetOra[data-tanuloId=" + value.TanuloId + "][data-isigazolt='True']");
|
||||
|
||||
if (!CommonUtils.isNullOrUndefined(elements) && elements.length > 0) {
|
||||
KretaWindowHelper.confirmWindow(Globalization.Figyelem, confirmMessage, folytatIgazolatlan, null, stopIgazolatlan, Globalization.Folytatas, Globalization.Megsem);
|
||||
}
|
||||
else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!visszavonhato) {
|
||||
value.dirty = false;
|
||||
}
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
}
|
||||
});
|
||||
|
||||
$(detailGridSelector).off("change");
|
||||
$(detailGridSelector).on("change", detailGridSelector + "_IgazolasTipus_0", function () {
|
||||
var headerValue = $(detailGridSelector + "_IgazolasTipus_0")[0].value;
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
value.dirty = true;
|
||||
var isIgazolt = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val') === "0";
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
if (value.ID !== "0" && isIgazolt) {
|
||||
kendoComboBox.value(headerValue);
|
||||
value.IgazolasTipus = headerValue;
|
||||
}
|
||||
else if (!isIgazolt) {
|
||||
kendoComboBox.value('');
|
||||
value.IgazolasTipus = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$(detailGridSelector).off("keyup");
|
||||
$(detailGridSelector).on("keyup", detailGridSelector + "_Megjegyzes_0", function () {
|
||||
var headerValue = $(detailGridSelector + "_Megjegyzes_0")[0].value;
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
value.dirty = true;
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (value.ID !== "0" && !CommonUtils.isUndefined(igazoltVal)) {
|
||||
textarea.val(headerValue);
|
||||
value.Megjegyzes = headerValue;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$.each(KretaGridHelper.getKendoGridData(detailGridName).dataSource.data(), function (index, value) {
|
||||
var kendoComboBox = KretaComboBoxHelper.getKendoComboBoxData(detailGridName + "_IgazolasTipus_" + value.ID);
|
||||
var textarea = $(detailGridSelector + "_Megjegyzes_" + value.ID);
|
||||
if (!CommonUtils.isUndefined(kendoComboBox) && !CommonUtils.isUndefined(textarea)) {
|
||||
var igazoltVal = $(igazoltDivSelectorPrefix + value.ID + " li.activebar").attr('val');
|
||||
if (!CommonUtils.isUndefined(igazoltVal)) {
|
||||
textarea.prop('disabled', false);
|
||||
var isIgazolt = igazoltVal === "0";
|
||||
if (isIgazolt) {
|
||||
kendoComboBox.enable(true);
|
||||
} else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
}
|
||||
} else {
|
||||
kendoComboBox.enable(false);
|
||||
kendoComboBox.value("");
|
||||
textarea.prop('disabled', true);
|
||||
textarea.val("");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOkPostReturn = function (data) {
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOk(gridNamesToRefreshList, currentFormName, data);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.saveMulasztasListFeedBackOk = function (gridToRefreshList, formName, data) {
|
||||
$.each(gridToRefreshList,
|
||||
function (index, value) {
|
||||
if (CommonUtils.isNullOrEmpty(formName)) {
|
||||
KretaGridHelper.refreshGrid(value);
|
||||
} else {
|
||||
KretaGridHelper.refreshGridByFormName(value, formName);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
|
||||
KretaWindowHelper.successFeedBackWindow();
|
||||
|
||||
if (!CommonUtils.isNullOrEmpty(data)) {
|
||||
mulasztasKezelesHelper.OsztondijJogosultsag7HianyzasMiattErtesito(data);
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.OsztondijJogosultsag7HianyzasMiattErtesito = function (message) {
|
||||
KretaWindowHelper.warningWindow("@(HianyzasResource.OsztondijJogosultsag7HianyzasMiattErtesitoFejlec)", message, null, null, null, Globalization.Rendben);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids = function (formName) {
|
||||
KretaGridHelper.refreshGridSearchPanel("@(datumNezetGridName)", formName);
|
||||
KretaGridHelper.refreshGridSearchPanel("@(tanuloNezetGridName)", formName);
|
||||
mulasztasKezelesHelper.refreshNaploNezetGrid(formName);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.refreshNaploNezetGrid = function (formName) {
|
||||
var naploNezetModel = KretaGridHelper.getSearchParameterObject(formName);
|
||||
if (!CommonUtils.isUndefined(naploNezetDatum)) {
|
||||
if (this.getNaploNezetDatum() > igazolasNaplozarasDatum) {
|
||||
$('#@(naploNezetGridName)').removeClass("disabledItem");
|
||||
$('#MulasztasMentes').show();
|
||||
}
|
||||
else {
|
||||
$('#@(naploNezetGridName)').addClass("disabledItem");
|
||||
$('#MulasztasMentes').hide();
|
||||
}
|
||||
naploNezetModel.NaploNezetDatum = naploNezetDatum;
|
||||
KretaGridHelper.refreshGridByObject("@(naploNezetGridName)", naploNezetModel);
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.setNaploNezetDatum = function (datum) {
|
||||
naploNezetDatum = datum.toDateString();
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.getNaploNezetDatum = function () {
|
||||
return new Date(naploNezetDatum);
|
||||
}
|
||||
|
||||
mulasztasKezelesHelper.deleteConfirmWindow = function (rowData, gridToRefreshList, formName) {
|
||||
var deleteParamters = {
|
||||
Id: rowData.ID,
|
||||
GridToRefreshList: gridToRefreshList,
|
||||
FormName: formName,
|
||||
};
|
||||
|
||||
KretaWindowHelper.confirmWindow("@CommonResource.Kerdes", "@CommonResource.BiztosanTorli", deleteMulasztas, deleteParamters);
|
||||
}
|
||||
|
||||
function deleteMulasztas(data) {
|
||||
var deleteResponseOkFunction = function () { deleteResponseOk(data.GridToRefreshList, data.FormName); };
|
||||
AjaxHelper.DoPost(
|
||||
url.Delete,
|
||||
data.Id,
|
||||
deleteResponseOkFunction,
|
||||
feedbackError
|
||||
);
|
||||
}
|
||||
|
||||
function deleteResponseOk(gridToRefreshList, formName) {
|
||||
$.each(gridToRefreshList,
|
||||
function (index, value) {
|
||||
if (CommonUtils.isNullOrEmpty(formName)) {
|
||||
KretaGridHelper.refreshGrid(value);
|
||||
} else {
|
||||
KretaGridHelper.refreshGridByFormName(value, formName);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
mulasztasKezelesHelper.refreshTabGrids(searchFormName);
|
||||
|
||||
KretaWindowHelper.successFeedBackWindow();
|
||||
}
|
||||
|
||||
function feedbackError() {
|
||||
var message = "@CommonResource.Hiba";
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Hiba", message, true);
|
||||
}
|
||||
|
||||
return mulasztasKezelesHelper;
|
||||
})();
|
||||
|
||||
$(document).ready(function () {
|
||||
var tabStrip = $("#MulasztasokTabStrip").data("kendoTabStrip");
|
||||
tabStrip.bind("activate", function () {
|
||||
MulasztasKezelesHelper.onTabStripActivate(tabStrip);
|
||||
});
|
||||
});
|
||||
</script>
|
@@ -0,0 +1,30 @@
|
||||
@using Kreta.Web.Helpers.Grid;
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Areas.Hianyzas.Models;
|
||||
@model IgazolasDetailModel
|
||||
|
||||
<div id="partialDetailGrid_@Model.ToString()">
|
||||
@(
|
||||
Html.KretaGrid<IgazolasDetailGridModel>(
|
||||
"IgazolasDetailGrid_" + Model.TanuloId.ToString(),
|
||||
new GridApiUrl(Model.ApiControllerName, "GetDetailIgazolasok", new Dictionary<string, string> { { "tanuloId", Model.TanuloId.ToString() } }),
|
||||
useToolBar: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.Kezdete).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.Vege).Width("10%").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.IgazolasTipusa_DNAME);
|
||||
columns.Bound(c => c.Rogzito);
|
||||
columns.Bound(c => c.Megjegyzes);
|
||||
})
|
||||
.RowFunction(Html, new List<RowFunction> {
|
||||
new RowFunction { NameResourceId = 117 /*Törlés*/, ClientAction= "IgazolasHelper.DeleteConfirmWindow", IconEnum = Kreta.Enums.ManualEnums.GridRowFunctionIconEnum.Torles },
|
||||
})
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
)
|
||||
</div>
|
@@ -0,0 +1,28 @@
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
|
||||
@model MulasztasInfoModel.AlapadatModel
|
||||
|
||||
<div class="container-fluid details">
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Tanulo, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.Datum, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Oraszam, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.OsztalyCsoport, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Tantargy, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.MulasztasTipus, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.KesesPercben, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Igazolt, 3, 3)
|
||||
@Html.KretaLabelFor(model => model.IgazolasTipus, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(model => model.Megjegyzes, 3, 3)
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,8 @@
|
||||
@using Kreta.Web.Models.EditorTemplates
|
||||
|
||||
@model TabStripModel
|
||||
|
||||
<div id="MulasztasInfoTabStrip">@Html.Partial(@"EditorTemplates\TabStrip", Model.TabList)</div>
|
||||
|
||||
@Html.KretaTabStrip("MulasztasInfoTabStrip").Animation(false).RenderOnModal()
|
||||
|
@@ -0,0 +1,42 @@
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
|
||||
@model MulasztasInfoModel.TanitasiOraModel
|
||||
|
||||
<div class="container-fluid details">
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.Datum, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.Oraszam, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.HetNapja, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.Hetirend, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.Foglalkozas, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.OsztalyCsoport, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.Tantargy, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.Tanar, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.Terem, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.HelyettesitesitoTanarNeve, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.Megtartott, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.Sorszamozando, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.OraKezdete, 3, 3)
|
||||
@Html.KretaLabelFor(x => x.OraVege, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.Tema, 3, 3)
|
||||
</div>
|
||||
<div class="row">
|
||||
@Html.KretaLabelFor(x => x.Megjegyzes, 3, 3)
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,135 @@
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Security
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
@model MulasztasokDatumNezetGridModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokDatumNezetDetailGrid_" + Model.MulasztasDatuma.ToString("yyyyMMdd");
|
||||
var javascriptClassName = gridName + "Helper";
|
||||
var parentGridName = "MulasztasokDatumNezetGrid";
|
||||
var parentFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
@{
|
||||
var igazoltList = new List<SelectListItem>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
if(!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
|
||||
}
|
||||
else if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet && Model.IsTanorai == false)
|
||||
{
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.CsakIgazoltraAllithatnak ||
|
||||
Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
}
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
|
||||
var functionCommandList = new List<FunctionCommand>();
|
||||
if (Model.IsMulasztasKezelheto && (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet
|
||||
&& Model.ApiControllerName == Constants.ApiControllers.DualisMulasztasokApi || ClaimManager.HasPackage("Osztalyfonok") || Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet
|
||||
&& Model.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak && Model.IsTanorai == false))
|
||||
{
|
||||
functionCommandList.Add(new FunctionCommand
|
||||
{
|
||||
Name = CommonResource.Mentes,
|
||||
ClientAction = string.Format("function() {{ MulasztasKezelesHelper.saveMulasztasList('{0}', ['{1}'], '{2}', false); }}", gridName, parentGridName, parentFormName)
|
||||
});
|
||||
}
|
||||
|
||||
var rowFunctionList = new List<RowFunction>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet && Model.ApiControllerName == Constants.ApiControllers.DualisMulasztasokApi || ClaimManager.HasPackage("Osztalyfonok"))
|
||||
{
|
||||
rowFunctionList.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles,
|
||||
ClientAction = string.Format(@"function(e) {{ MulasztasKezelesHelper.deleteConfirmWindow(e, ['{0}'], '{1}'); }}", parentGridName, parentFormName),
|
||||
IconEnum = GridRowFunctionIconEnum.Torles
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
var grid = Html.KretaGrid<MulasztasGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokDatumNezetDetailGrid", new Dictionary<string, string>()),
|
||||
dataBoundAdditionalFunction:
|
||||
string.Format(@"
|
||||
var shortDateReplaced = '{0:yyyyMMdd}';
|
||||
var igazoltDivNamePrefix = 'divMulasztasokDatumNezetDetailGrid_' + shortDateReplaced + '_Igazolt_';
|
||||
var detailGridName = '{1}';
|
||||
MulasztasKezelesHelper.setDetailControlsEvents(igazoltDivNamePrefix, detailGridName, false);
|
||||
MulasztasKezelesHelper.dataBoundAdditionalFunction();
|
||||
", Model.MulasztasDatuma, gridName),
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
//TODO: Itt azért tüntetjük el a sorszámot, mert hozzáadunk egy plusz sort amivel az összes elemet lehet módosítani, amit szintén sorszámoz a grid és ez a user-eket zavarja!
|
||||
// Vissza kell tenni a sorszámokat, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
showSorszam: false,
|
||||
readDataFunction: "function(){ return { model: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloNev).ClientTemplate(@"
|
||||
<a class='kendoTooltip tanuloNev gridLinkButton'
|
||||
data-tanuloid='#: TanuloId #'
|
||||
data-tanulonev='#: TanuloNev #'
|
||||
data-osztaly='#: OsztCsopNev #'
|
||||
data-anyjaneve='#: AnyjaNeve #'
|
||||
data-szuletesiido='#: SzuletesiIdoFormatted #'
|
||||
>#: TanuloNev #</a>");
|
||||
columns.Bound(c => c.Oraszam).Width("3%");
|
||||
columns.Bound(c => c.OsztCsopNev).Width("10%");
|
||||
columns.Bound(c => c.TargyNev).Width("10%");
|
||||
columns.Bound(c => c.MulTip_DNAME).Width("8%");
|
||||
columns.Bound(c => c.KesesPerc).Width("6%");
|
||||
|
||||
})
|
||||
.SelectForColumn(Html.For<MulasztasGridModel>(), HianyzasResource.IgazoltKerdojel, c => c.Igazolt, igazoltList)
|
||||
.EditableComboBoxColumn(Html, HianyzasResource.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList", szervezetTipusEnumId = Model.SzervezetTipusId }), m => m.IgazolasTipus, "Text", "Value", maxWidth: true);
|
||||
grid.TextAreaForColumn(Html.For<MulasztasGridModel>(), 97, m => m.Megjegyzes);
|
||||
grid.FunctionCommand(Html, functionCommandList);
|
||||
grid.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".removeFirstRowDeleteButton");
|
||||
}
|
||||
|
||||
<div id="partialDetailGrid_@Model.MulasztasDatuma.ToString("yyyyMMdd")" class="@(Model.IsMulasztasKezelheto ? "" : "disabledItem")">
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var @javascriptClassName = (function () {
|
||||
var gridDetailHelper = function () { };
|
||||
|
||||
//TODO: Ezt lehet majd törölni, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
gridDetailHelper.removeFirstRowDeleteButton = function (rowData) {
|
||||
var result = rowData.id !== "0" && CommonUtils.parseBool("@ClaimData.IsModosithatjaOsztfoMulasztasokat");
|
||||
return result;
|
||||
}
|
||||
|
||||
return gridDetailHelper;
|
||||
})();
|
||||
|
||||
</script>
|
@@ -0,0 +1,48 @@
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
|
||||
@model MulasztasSearchModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokDatumNezetGrid";
|
||||
var searchFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<MulasztasokDatumNezetGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokDatumNezetGrid", new Dictionary<string, string>()),
|
||||
dataParameterFunction: searchFormName,
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("GetMulasztasokDatumNezetDetailGrid", Model.ControllerName, new { area = "Hianyzas" }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowPaging: false,
|
||||
pageSizes: null
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.MulasztasDatuma).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.MulasztasNapja).Width("30%");
|
||||
columns.Bound(c => c.MulasztasokSzama).Width("30%");
|
||||
})
|
||||
)
|
||||
</div>
|
||||
|
||||
@Html.KretaGridTemplate("detailGrid-template")
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var MulasztasokDatumNezetHelper = (function () {
|
||||
var mulasztasokDatumNezetHelper = function () { };
|
||||
|
||||
return mulasztasokDatumNezetHelper;
|
||||
})();
|
||||
|
||||
</script>
|
@@ -0,0 +1,521 @@
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Security
|
||||
@using Kreta.Enums
|
||||
@using Kreta.Enums.ManualEnums;
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
|
||||
@model MulasztasSearchModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokNaploNezetGrid";
|
||||
var searchFormName = "MulasztasokSearchForm";
|
||||
var igazoltList = new List<SelectListItem>();
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
if (!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
|
||||
@Html.KretaTooltipTemplate("kendoTooltip-naploNezetOraTemplate",
|
||||
@"<div class='kendoTooltip'>
|
||||
<table>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Óra:</b></td>
|
||||
<td>#:target.data('nev')#</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Osztály/csoport:</b></td>
|
||||
<td>#:target.data('osztalycsoportnev')#</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Tanár:</b></td>
|
||||
<td>#:target.data('tanarnev')#</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style='padding-right: 5px'><b>Tantárgy:</b></td>
|
||||
<td>#:target.data('tantargynev')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Mulasztás típus:</b></td>
|
||||
<td>#:target.data('mulasztastipustext')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Igazolt?:</b></td>
|
||||
<td>#:target.data('isigazolttext')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Igazolás típus:</b></td>
|
||||
<td>#:target.data('igazolastipustext')#</td>
|
||||
</tr>
|
||||
<tr style='#=target.data('megtartottdisplaystyletext')#'>
|
||||
<td style='padding-right: 5px'><b>Megjegyzés:</b></td>
|
||||
<td>#:target.data('megjegyzes')#</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>")
|
||||
|
||||
<div style="float: left">
|
||||
@Html.KretaSaveButton("MulasztasMentes", "function() { MulasztasokNaploNezetHelper.saveNaploNezetMulasztasList(); }")
|
||||
</div>
|
||||
<div id="pager" class="row" style="text-align: center">
|
||||
<div class="fc-button-group">
|
||||
<button type="button" class="fc-prev-button fc-button fc-state-default fc-corner-left" style="height:25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(-7)">
|
||||
<span class="fc-icon fc-icon-left-double-arrow"></span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="fc-prev-button fc-button fc-state-default fc-corner-left" style="height: 25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(-1)">
|
||||
<span class="fc-icon fc-icon-left-single-arrow"></span>
|
||||
</button>
|
||||
|
||||
@Html.KretaDatePickerFor(x => x.NaploNezetDatum, new Dictionary<string, object> { { "onchange", "MulasztasokNaploNezetHelper.naploNezetDatumOnChange()" }, { "style", "margin-bottom: 3px;" } }).Min(Model.NaploNezetDatumMinDate).Max(Model.NaploNezetDatumMaxDate)
|
||||
|
||||
<button type="button" class="fc-next-button fc-button fc-state-default fc-corner-right" style="height:25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(1)">
|
||||
<span class="fc-icon fc-icon-right-single-arrow"></span>
|
||||
</button>
|
||||
|
||||
<button type="button" class="fc-next-button fc-button fc-state-default fc-corner-right" style="height:25px" onclick="MulasztasokNaploNezetHelper.getNaploNezetByDate(7)">
|
||||
<span class="fc-icon fc-icon-right-double-arrow"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@{
|
||||
var grid = Html.KretaGrid<MulasztasokNaploNezetGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokNaploNezetGrid", new Dictionary<string, string>()),
|
||||
dataParameterFunction: searchFormName,
|
||||
dataBoundAdditionalFunction: "MulasztasokNaploNezetHelper.dataBoundAdditionalFunction();",
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
mustShowPagerCount: false,
|
||||
//TODO: Itt azért tüntettjük el a sorszámot, mert hozzáadunk egy plusz sort amivel az összes elemet lehet módosítani, amit szintén sorszámoz a grid és ez a user-eket zavarja!
|
||||
// Vissza kell tenni a sorszámokat, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
showSorszam: false
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.TanuloNev)
|
||||
.ClientTemplate(@"
|
||||
<a class='kendoTooltip tanuloNev gridLinkButton'
|
||||
data-tanuloid='#: TanuloId #'
|
||||
data-tanulonev='#: TanuloNev #'
|
||||
data-osztaly='#: OsztalyNev #'
|
||||
data-anyjaneve='#: AnyjaNeve #'
|
||||
data-szuletesiido='#: SzuletesiIdoFormatted #'
|
||||
>#: TanuloNev #</a>")
|
||||
.HeaderHtmlAttributes(new { @class = "borderRight" })
|
||||
.HtmlAttributes(new { @class = "borderRight" });
|
||||
|
||||
for (int index = Kreta.Core.Constants.Mulasztas.OraSorszamMinValue; index <= Kreta.Core.Constants.Mulasztas.OraSorszamMaxValue; index++)
|
||||
{
|
||||
string oraSorszamString;
|
||||
if (index < 0)
|
||||
{
|
||||
oraSorszamString = "Minusz" + Math.Abs(index);
|
||||
}
|
||||
else
|
||||
{
|
||||
oraSorszamString = index.ToString();
|
||||
}
|
||||
|
||||
columns.Bound("Ora" + oraSorszamString + "Column")
|
||||
.ClientTemplate("#= MulasztasokNaploNezetHelper.getOraTemplate(" +
|
||||
"Ora" + oraSorszamString + "IsMegtartott, " +
|
||||
"Ora" + oraSorszamString + "MulasztasId, " +
|
||||
"Ora" + oraSorszamString + "MulasztasTipus, " +
|
||||
"Ora" + oraSorszamString + "KesesPercben, " +
|
||||
"Ora" + oraSorszamString + "IsIgazolt, " +
|
||||
"Ora" + oraSorszamString + "Nev, " +
|
||||
"Ora" + oraSorszamString + "OsztalyCsoportNev, " +
|
||||
"Ora" + oraSorszamString + "TanarNev, " +
|
||||
"Ora" + oraSorszamString + "TantargyNev, " +
|
||||
"Ora" + oraSorszamString + "TanitasiOraId, " +
|
||||
"Ora" + oraSorszamString + "IgazolasTipus, " +
|
||||
"Ora" + oraSorszamString + "Megjegyzes, " +
|
||||
"Ora" + oraSorszamString + "IgazolasTipusText, " +
|
||||
"TanuloId) #")
|
||||
.Title(index + ". óra")
|
||||
.HeaderHtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.HtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.Hidden(index >= 0 && 12 >= index ? false : true);
|
||||
}
|
||||
for (int index = 1; index <= Kreta.Core.Constants.Mulasztas.FoglalkozasCount; index++)
|
||||
{
|
||||
columns.Bound("Foglalkozas" + index + "Column")
|
||||
.ClientTemplate("#= MulasztasokNaploNezetHelper.getOraTemplate(" +
|
||||
"Foglalkozas" + index + "IsMegtartott, " +
|
||||
"Foglalkozas" + index + "MulasztasId, " +
|
||||
"Foglalkozas" + index + "MulasztasTipus, " +
|
||||
"Foglalkozas" + index + "KesesPercben, " +
|
||||
"Foglalkozas" + index + "IsIgazolt, " +
|
||||
"Foglalkozas" + index + "Nev, " +
|
||||
"Foglalkozas" + index + "OsztalyCsoportNev, " +
|
||||
"Foglalkozas" + index + "TanarNev, " +
|
||||
"Foglalkozas" + index + "TantargyNev, " +
|
||||
"Foglalkozas" + index + "TanitasiOraId, " +
|
||||
"Foglalkozas" + index + "IgazolasTipus, " +
|
||||
"Foglalkozas" + index + "Megjegyzes, " +
|
||||
"Foglalkozas" + index + "IgazolasTipusText, " +
|
||||
"TanuloId) #")
|
||||
.HeaderHtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.HtmlAttributes(new { @class = "borderRight kozepre" })
|
||||
.Hidden(true);
|
||||
}
|
||||
})
|
||||
.AutoBind(false)
|
||||
.SelectForColumn(Html.For<MulasztasokNaploNezetGridModel>(), HianyzasResource.IgazoltKerdojel, c => c.Igazolt, igazoltList)
|
||||
.EditableComboBoxColumn(Html, HianyzasResource.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList", szervezetTipusEnumId = Model.SzervezetTipusId }), m => m.IgazolasTipus, "Text", "Value", maxWidth: true);
|
||||
|
||||
grid.TextAreaForColumn(Html.For<MulasztasokNaploNezetGridModel>(), 97, m => m.Megjegyzes);
|
||||
}
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
MulasztasokNaploNezetHelper = (function () {
|
||||
var mulasztasokNaploNezetHelper = function () { };
|
||||
|
||||
var url = {
|
||||
SaveNaploNezetMulasztasList: "@Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = Model.ApiControllerName, action = "SaveNaploNezetMulasztasList" })"
|
||||
};
|
||||
|
||||
var gridName = "@gridName";
|
||||
var searchFormName = "@searchFormName";
|
||||
|
||||
var modifiedMulasztasList = new Array();
|
||||
|
||||
mulasztasokNaploNezetHelper.getNaploNezetByDate = function (addDayCount) {
|
||||
var datum = MulasztasKezelesHelper.getNaploNezetDatum();
|
||||
datum.setDate(datum.getDate() + addDayCount);
|
||||
var kendoDatePicker = KretaDateTimeHelper.getKendoDatePickerData("NaploNezetDatum");
|
||||
var minDatum = kendoDatePicker.min();
|
||||
if (datum < minDatum) {
|
||||
datum = minDatum;
|
||||
}
|
||||
var maxDatum = kendoDatePicker.max();
|
||||
if (datum > maxDatum) {
|
||||
datum = maxDatum;
|
||||
}
|
||||
MulasztasKezelesHelper.setNaploNezetDatum(datum);
|
||||
kendoDatePicker.value(datum);
|
||||
$("#NaploNezetDatum").trigger("change");
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.naploNezetDatumOnChange = function () {
|
||||
var kendoDatePicker = KretaDateTimeHelper.getKendoDatePickerData("NaploNezetDatum");
|
||||
MulasztasKezelesHelper.setNaploNezetDatum(kendoDatePicker.value());
|
||||
MulasztasKezelesHelper.refreshNaploNezetGrid(searchFormName);;
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.setNaploNezetOraToolTip = function () {
|
||||
var kendoTooltip = $(".naploNezetOra");
|
||||
KretaTooltipHelper.setTooltip(kendoTooltip, "#kendoTooltip-naploNezetOraTemplate");
|
||||
if ("@ClaimData.IsModosithatjaOsztfoMulasztasokat" != "False") {
|
||||
kendoTooltip.off("click");
|
||||
kendoTooltip.click(function (e) {
|
||||
changeMulasztasDetails(e);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.dataBoundAdditionalFunction = function () {
|
||||
MulasztasKezelesHelper.setToolTip();
|
||||
mulasztasokNaploNezetHelper.setNaploNezetOraToolTip();
|
||||
var igazoltDivNamePrefix = "divMulasztasokNaploNezetGrid_Igazolt_";
|
||||
MulasztasKezelesHelper.setDetailControlsEvents(igazoltDivNamePrefix, gridName, false);
|
||||
var gridData = KretaGridHelper.getKendoGridData(gridName);
|
||||
var rowData = gridData.dataSource.data()[0];
|
||||
if (!CommonUtils.isUndefined(rowData)) {
|
||||
setOraColumnVisibility(gridData, rowData.OraMinusz2IsHiddenColumn, "OraMinusz2Column", rowData.OraMinusz2Nev);
|
||||
setOraColumnVisibility(gridData, rowData.OraMinusz1IsHiddenColumn, "OraMinusz1Column", rowData.OraMinusz1Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora0IsHiddenColumn, "Ora0Column", rowData.Ora0Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora1Column", rowData.Ora1Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora2Column", rowData.Ora2Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora3Column", rowData.Ora3Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora4Column", rowData.Ora4Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora5Column", rowData.Ora5Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora6Column", rowData.Ora6Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora7Column", rowData.Ora7Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora8Column", rowData.Ora8Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora9Column", rowData.Ora9Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora10Column", rowData.Ora10Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora11Column", rowData.Ora11Nev);
|
||||
setOraColumnVisibility(gridData, false, "Ora12Column", rowData.Ora12Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora13IsHiddenColumn, "Ora13Column", rowData.Ora13Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora14IsHiddenColumn, "Ora14Column", rowData.Ora14Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora15IsHiddenColumn, "Ora15Column", rowData.Ora15Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora16IsHiddenColumn, "Ora16Column", rowData.Ora16Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora17IsHiddenColumn, "Ora17Column", rowData.Ora17Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora18IsHiddenColumn, "Ora18Column", rowData.Ora18Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora19IsHiddenColumn, "Ora19Column", rowData.Ora19Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora20IsHiddenColumn, "Ora20Column", rowData.Ora20Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora21IsHiddenColumn, "Ora21Column", rowData.Ora21Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora22IsHiddenColumn, "Ora22Column", rowData.Ora22Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora23IsHiddenColumn, "Ora23Column", rowData.Ora23Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Ora24IsHiddenColumn, "Ora24Column", rowData.Ora24Nev);
|
||||
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas1IsHiddenColumn, "Foglalkozas1Column", rowData.Foglalkozas1Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas2IsHiddenColumn, "Foglalkozas2Column", rowData.Foglalkozas2Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas3IsHiddenColumn, "Foglalkozas3Column", rowData.Foglalkozas3Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas4IsHiddenColumn, "Foglalkozas4Column", rowData.Foglalkozas4Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas5IsHiddenColumn, "Foglalkozas5Column", rowData.Foglalkozas5Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas6IsHiddenColumn, "Foglalkozas6Column", rowData.Foglalkozas6Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas7IsHiddenColumn, "Foglalkozas7Column", rowData.Foglalkozas7Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas8IsHiddenColumn, "Foglalkozas8Column", rowData.Foglalkozas8Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas9IsHiddenColumn, "Foglalkozas9Column", rowData.Foglalkozas9Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas10IsHiddenColumn, "Foglalkozas10Column", rowData.Foglalkozas10Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas11IsHiddenColumn, "Foglalkozas11Column", rowData.Foglalkozas11Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas12IsHiddenColumn, "Foglalkozas12Column", rowData.Foglalkozas12Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas13IsHiddenColumn, "Foglalkozas13Column", rowData.Foglalkozas13Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas14IsHiddenColumn, "Foglalkozas14Column", rowData.Foglalkozas14Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas15IsHiddenColumn, "Foglalkozas15Column", rowData.Foglalkozas15Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas16IsHiddenColumn, "Foglalkozas16Column", rowData.Foglalkozas16Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas17IsHiddenColumn, "Foglalkozas17Column", rowData.Foglalkozas17Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas18IsHiddenColumn, "Foglalkozas18Column", rowData.Foglalkozas18Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas19IsHiddenColumn, "Foglalkozas19Column", rowData.Foglalkozas19Nev);
|
||||
setOraColumnVisibility(gridData, rowData.Foglalkozas20IsHiddenColumn, "Foglalkozas20Column", rowData.Foglalkozas20Nev);
|
||||
}
|
||||
modifiedMulasztasList = new Array();
|
||||
}
|
||||
|
||||
function setOraColumnVisibility(gridData, isHiddenColumn, columnName, columnHeaderValue) {
|
||||
if (CommonUtils.parseBool(isHiddenColumn)) {
|
||||
gridData.hideColumn(columnName);
|
||||
} else {
|
||||
gridData.showColumn(columnName);
|
||||
$("#" + gridName + " thead th[data-field=" + columnName + "] span.k-link").html(columnHeaderValue);
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.saveNaploNezetMulasztasList = function () {
|
||||
var modRows = KretaGridHelper.getModifiedRows(gridName);
|
||||
var message = "";
|
||||
$.each(modRows, function (index, row) {
|
||||
var naploNezetOraList = $(".naploNezetOra[data-tanuloid='" + row.TanuloId + "']");
|
||||
$.each(naploNezetOraList, function (i, value) {
|
||||
var igazoltValue = "null";
|
||||
if (row.input[0].value === "0") {
|
||||
igazoltValue = "true";
|
||||
} else if (row.input[0].value === "1") {
|
||||
igazoltValue = "false";
|
||||
}
|
||||
var igazolasTipusValue = row.input[1].value;
|
||||
var megjegyzesValue = row.input[2].value;
|
||||
setMulasztas(value.dataset.tanitasioraid, value.dataset.tanuloid, value.dataset.mulasztasid, value.dataset.mulasztastipus, igazoltValue, igazolasTipusValue, megjegyzesValue);
|
||||
|
||||
if (CommonUtils.parseBool(igazoltValue) === true && igazolasTipusValue === "" && row.ID > 0) {
|
||||
if (message.length > 0) {
|
||||
message += "<br />";
|
||||
}
|
||||
message += row.TanuloNev + " esetében Igazolás típus megadása kötelező!";
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
if (modifiedMulasztasList.length > 0) {
|
||||
var mulasztasok = [modifiedMulasztasList.length];
|
||||
$.each(modifiedMulasztasList,
|
||||
function (index, value) {
|
||||
mulasztasok[index] = {
|
||||
ID: value.mulasztasId,
|
||||
Igazolt: value.isIgazolt,
|
||||
IgazolasTipus: value.igazolasTipus,
|
||||
MulasztasTipus: value.mulasztasTipus,
|
||||
Megjegyzes: value.megjegyzes,
|
||||
TanuloId: value.tanuloId,
|
||||
TanitasiOraId: value.tanitasiOraId
|
||||
}
|
||||
});
|
||||
|
||||
var resultData = {
|
||||
Mulasztasok: mulasztasok,
|
||||
OsztalyCsoportId: $("#OsztalyCsoportId").val(),
|
||||
NaploNezetDatum: $("#NaploNezetDatum").val()
|
||||
};
|
||||
|
||||
if (message.length > 0) {
|
||||
KretaWindowHelper.feedbackWindow("", message, true);
|
||||
} else {
|
||||
AjaxHelper.DoPost(url.SaveNaploNezetMulasztasList,
|
||||
resultData,
|
||||
mulasztasokNaploNezetHelper.saveMulasztasListFeedBackOkPostReturn,
|
||||
function (err) {
|
||||
MulasztasKezelesHelper.refreshNaploNezetGrid(searchFormName);
|
||||
KretaWindowHelper.feedbackWindow("@CommonResource.Figyelmeztetes", err.responseJSON.Message, true);
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.saveMulasztasListFeedBackOkPostReturn = function (data) {
|
||||
MulasztasKezelesHelper.saveMulasztasListFeedBackOk([], null, data);
|
||||
}
|
||||
|
||||
mulasztasokNaploNezetHelper.getOraTemplate = function (isMegtartott, mulasztasId, mulasztasTipus, kesesPercben, isIgazolt, nev, osztalyCsoportNev, tanarNev, tantargyNev, tanitasiOraId, igazolasTipus, megjegyzes, igazolasTipusText, tanuloId) {
|
||||
var html = "";
|
||||
var clickableclass = "clickable";
|
||||
var mulasztasTipusText;
|
||||
var megtartottDisplayStyleText;
|
||||
var isIgazoltText;
|
||||
var imgClassText;
|
||||
|
||||
if ("@ClaimData.IsModosithatjaOsztfoMulasztasokat" == "False") {
|
||||
clickableclass = "notallowed";
|
||||
}
|
||||
|
||||
if (isMegtartott) {
|
||||
if (mulasztasTipus == "@((int)MulasztasTipusEnum.hianyzas)") {
|
||||
if (CommonUtils.isNull(isIgazolt)) {
|
||||
mulasztasTipusText = "Hiányzás";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolandó";
|
||||
imgClassText = "igazolandoHianyzas";
|
||||
} else if (CommonUtils.parseBool(isIgazolt)) {
|
||||
mulasztasTipusText = "Hiányzás";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolt";
|
||||
imgClassText = "igazoltHianyzas";
|
||||
} else {
|
||||
mulasztasTipusText = "Hiányzás";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolatlan";
|
||||
imgClassText = "igazolatlanHianyzas";
|
||||
}
|
||||
} else if (mulasztasTipus == "@((int)MulasztasTipusEnum.keses)") {
|
||||
if (CommonUtils.isNull(isIgazolt)) {
|
||||
mulasztasTipusText = "Késés (" + kesesPercben + "p)";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolandó";
|
||||
imgClassText = "igazolandoKeses";
|
||||
} else if (CommonUtils.parseBool(isIgazolt)) {
|
||||
mulasztasTipusText = "Késés (" + kesesPercben + "p)";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolt";
|
||||
imgClassText = "igazoltKeses";
|
||||
} else {
|
||||
mulasztasTipusText = "Késés (" + kesesPercben + "p)";
|
||||
megtartottDisplayStyleText = "";
|
||||
isIgazoltText = "Igazolatlan";
|
||||
imgClassText = "igazolatlanKeses";
|
||||
}
|
||||
} else {
|
||||
mulasztasTipusText = "";
|
||||
megtartottDisplayStyleText = "display: none";
|
||||
isIgazoltText = "";
|
||||
imgClassText = "megtartottOra";
|
||||
}
|
||||
html = "<span class='kendoTooltip " + clickableclass + " naploNezetOra'" +
|
||||
"data-nev='" + nev + "'" +
|
||||
"data-osztalycsoportnev='" + osztalyCsoportNev + "'" +
|
||||
"data-tanarnev='" + tanarNev + "'" +
|
||||
"data-tantargynev='" + tantargyNev + "'" +
|
||||
"data-tanuloid='" + tanuloId + "'" +
|
||||
"data-tanitasiOraId='" + tanitasiOraId + "'" +
|
||||
"data-mulasztasId='" + mulasztasId + "'" +
|
||||
"data-mulasztasTipus='" + mulasztasTipus + "'" +
|
||||
"data-mulasztastipustext='" + mulasztasTipusText + "'" +
|
||||
"data-megtartottdisplaystyletext='" + megtartottDisplayStyleText + "'" +
|
||||
"data-isigazolt='" + isIgazolt + "'" +
|
||||
"data-isigazolttext='" + isIgazoltText + "'" +
|
||||
"data-igazolastipus='" + igazolasTipus + "'" +
|
||||
"data-igazolastipustext='" + igazolasTipusText + "'" +
|
||||
"data-megjegyzes='" + megjegyzes + "'>" +
|
||||
"<img class='hianyzasImage " + imgClassText + "'/>" +
|
||||
"</span>";
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
||||
function changeMulasztasDetails(e) {
|
||||
var element = e.currentTarget;
|
||||
var currentMulasztasTipus = element.dataset.mulasztastipus;
|
||||
|
||||
var tipusId;
|
||||
var imgClassText;
|
||||
var mulasztasTipusJelentlet = "@((int) MulasztasTipusEnum.jelenlet)";
|
||||
if (currentMulasztasTipus == mulasztasTipusJelentlet) {
|
||||
var mulasztasTipusHianyzas = "@((int) MulasztasTipusEnum.hianyzas)";
|
||||
tipusId = mulasztasTipusHianyzas;
|
||||
element.dataset.mulasztastipus = mulasztasTipusHianyzas;
|
||||
imgClassText = "igazolandoHianyzasModified";
|
||||
} else {
|
||||
tipusId = mulasztasTipusJelentlet;
|
||||
element.dataset.mulasztastipus = mulasztasTipusJelentlet;
|
||||
imgClassText = "megtartottOraModified";
|
||||
}
|
||||
|
||||
var oraId = element.dataset.tanitasioraid;
|
||||
var tanuloId = element.dataset.tanuloid;
|
||||
var currentMulasztasId = element.dataset.mulasztasid;
|
||||
var isIgazolt = element.dataset.isigazolt;
|
||||
var igazolasTipus = element.dataset.igazolastipus;
|
||||
var megjegyzes = element.dataset.megjegyzes;
|
||||
|
||||
var parameters = { oraId, tanuloId, currentMulasztasId, tipusId, isIgazolt, igazolasTipus, megjegyzes, imgClassText };
|
||||
|
||||
mulasztasCallback(parameters);
|
||||
}
|
||||
|
||||
function mulasztasCallback(data) {
|
||||
setMulasztas(data.oraId, data.tanuloId, data.currentMulasztasId, data.tipusId, data.isIgazolt, data.igazolasTipus, data.megjegyzes);
|
||||
|
||||
$("span[data-tanitasiOraId='" + data.oraId + "'][data-tanuloid='" + data.tanuloId + "'] img:first-child").attr("class", "hianyzasImage " + data.imgClassText);
|
||||
}
|
||||
|
||||
function setMulasztas(tanitasiOraId, tanuloId, mulasztasId, mulasztasTipus, isIgazolt, igazolasTipus, megjegyzes) {
|
||||
tanitasiOraId = CommonUtils.parseNull(tanitasiOraId);
|
||||
tanuloId = CommonUtils.parseNull(tanuloId);
|
||||
mulasztasId = CommonUtils.parseNull(mulasztasId);
|
||||
mulasztasTipus = CommonUtils.parseNull(mulasztasTipus);
|
||||
isIgazolt = CommonUtils.parseNull(isIgazolt);
|
||||
igazolasTipus = CommonUtils.parseNull(igazolasTipus);
|
||||
megjegyzes = CommonUtils.parseNull(megjegyzes);
|
||||
var mulasztasListIndex = -1;
|
||||
if (modifiedMulasztasList.length > 0) {
|
||||
for (var i = 0; i < modifiedMulasztasList.length; i++) {
|
||||
if (modifiedMulasztasList[i].tanitasiOraId === tanitasiOraId && modifiedMulasztasList[i].tanuloId === tanuloId) {
|
||||
mulasztasListIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
var mulasztas = {
|
||||
tanitasiOraId: tanitasiOraId,
|
||||
tanuloId: tanuloId,
|
||||
mulasztasId: mulasztasId,
|
||||
mulasztasTipus: mulasztasTipus,
|
||||
isIgazolt: isIgazolt,
|
||||
igazolasTipus: igazolasTipus,
|
||||
megjegyzes: megjegyzes
|
||||
}
|
||||
if (mulasztasListIndex < 0) {
|
||||
modifiedMulasztasList.push(mulasztas);
|
||||
} else {
|
||||
modifiedMulasztasList[mulasztasListIndex] = mulasztas;
|
||||
}
|
||||
}
|
||||
|
||||
return mulasztasokNaploNezetHelper;
|
||||
})();
|
||||
|
||||
</script>
|
||||
|
||||
<div>
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
MulasztasKezelesHelper.setNaploNezetDatum(new Date("@Model.NaploNezetDatum"));
|
||||
$("#NaploNezetDatum").on("change", MulasztasokNaploNezetHelper.naploNezetDatumOnChange());
|
||||
});
|
||||
</script>
|
@@ -0,0 +1,89 @@
|
||||
@using Kreta.Web.Security
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models;
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid;
|
||||
|
||||
@model MulasztasokTanuloNezetGridModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokTanuloNezetDetailGrid_" + Model.TanuloId;
|
||||
var javascriptClassName = gridName + "Helper";
|
||||
var parentGridName = "MulasztasokTanuloNezetGrid";
|
||||
var parentFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
@{
|
||||
var rowFunctionList = new List<RowFunction>();
|
||||
if ((ClaimManager.HasPackage("Osztalyfonok") || Model.SzervezetTipusId.HasValue && Model.SzervezetTipusId == (int)SzervezetTipusEnum.Dualis) && Model.GridHasDelete)
|
||||
{
|
||||
rowFunctionList.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles, ClientAction = string.Format(@"function(e) {{ MulasztasKezelesHelper.deleteConfirmWindow(e, ['{0}'], '{1}'); }}", parentGridName, parentFormName), IconEnum = GridRowFunctionIconEnum.Torles
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
<div id="partialDetailGridTanulo_@Model.TanuloId.ToString()">
|
||||
@(
|
||||
Html.KretaGrid<MulasztasGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokTanuloNezetDetailGrid", new Dictionary<string, string> { { "tanuloId", Model.TanuloId.ToString() }, { "osztalyCsoportId", Model.OsztalyCsoportId.ToString()} }),
|
||||
useToolBar: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
dataBoundAdditionalFunction: javascriptClassName + ".disableRow();",
|
||||
sort: (sort =>
|
||||
{
|
||||
sort.Add(m => m.Datum).Descending();
|
||||
sort.Add(m => m.Oraszam).Ascending();
|
||||
})
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.Datum).Width("90px").Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
columns.Bound(c => c.Oraszam).Width("5%");
|
||||
columns.Bound(c => c.OsztCsopNev).Width("15%");
|
||||
columns.Bound(c => c.TargyNev).Width("15%");
|
||||
columns.Bound(c => c.MulTip_DNAME).Width("10%");
|
||||
columns.Bound(c => c.KesesPerc).Width("8%");
|
||||
columns.Bound(c => c.Igazolt_BNAME).Width("7%");
|
||||
columns.Bound(c => c.IgazolasTipus_DNAME).Width("13%");
|
||||
columns.Bound(c => c.IgazolasMegjegyzes).SetDisplayPropertyWithToolip("IgazolasMegjegyzes");
|
||||
columns.Bound(c => c.IsMulasztasKezelheto).Hidden();
|
||||
})
|
||||
.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".removeFirstRowDeleteButton")
|
||||
)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var @javascriptClassName = (function () {
|
||||
var gridDetailHelper = function () { };
|
||||
|
||||
//TODO: Ezt lehet majd törölni, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
gridDetailHelper.removeFirstRowDeleteButton = function (rowData) {
|
||||
var result = rowData.id !== "0" && CommonUtils.parseBool("@ClaimData.IsModosithatjaOsztfoMulasztasokat");
|
||||
return result;
|
||||
}
|
||||
|
||||
gridDetailHelper.disableRow = function () {
|
||||
var grid = $('#@gridName');
|
||||
grid.find('tbody tr').each(function () {
|
||||
var dataItem = grid.data('kendoGrid').dataItem(this);
|
||||
if (dataItem.IsMulasztasKezelheto !== true) {
|
||||
$(this).addClass('disabledItem');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return gridDetailHelper;
|
||||
})();
|
||||
|
||||
</script>
|
@@ -0,0 +1,168 @@
|
||||
@using Kreta.Framework
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Helpers
|
||||
|
||||
@model MulasztasSearchModel
|
||||
|
||||
@{
|
||||
var gridName = "MulasztasokTanuloNezetGrid";
|
||||
var searchFormName = "MulasztasokSearchForm";
|
||||
}
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var MulasztasokTanuloNezetHelper = (function () {
|
||||
var mulasztasokTanuloNezetHelper = function () { };
|
||||
|
||||
mulasztasokTanuloNezetHelper.getGridModelData = function () {
|
||||
if (CommonUtils.parseBool("@Model.IsCustomForm")) {
|
||||
var customFormName = "@Model.CustomFormName";
|
||||
var model = KretaGridHelper.getSearchParameterObject(customFormName);
|
||||
return KretaGridHelper.getSearchParameterData(model);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
mulasztasokTanuloNezetHelper.renameGridHeaders = function ($window) {
|
||||
var osszesThSpan = $("#MulasztasokTanuloNezetGrid.k-grid th.statisztika.osszes span");
|
||||
var igazolatlanThSpan = $("#MulasztasokTanuloNezetGrid.k-grid th.statisztika.igazolatlan span");
|
||||
var igazolandoThSpan = $("#MulasztasokTanuloNezetGrid.k-grid th.statisztika.igazolando span");
|
||||
if ($window.width() < 1440) {
|
||||
osszesThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5642 /*Össz.*/))");
|
||||
igazolatlanThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5643 /*Igazo- latlan*/))");
|
||||
igazolandoThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5644 /*Igazo- landó*/))");
|
||||
} else if ($window.width() >= 1440) {
|
||||
osszesThSpan.html("@Html.Raw(StringResourcesUtil.GetString(2672 /*Összes*/))");
|
||||
igazolatlanThSpan.html("@Html.Raw(StringResourcesUtil.GetString(2800 /*Igazolatlan*/))");
|
||||
igazolandoThSpan.html("@Html.Raw(StringResourcesUtil.GetString(5520 /*Igazolandó*/))");
|
||||
}
|
||||
}
|
||||
|
||||
return mulasztasokTanuloNezetHelper;
|
||||
})();
|
||||
|
||||
$(document).ready(function () {
|
||||
MulasztasokTanuloNezetHelper.renameGridHeaders($(window));
|
||||
});
|
||||
|
||||
$(window).resize(function () {
|
||||
MulasztasokTanuloNezetHelper.renameGridHeaders($(this));
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<MulasztasokTanuloNezetGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetMulasztasokTanuloNezetGrid", new Dictionary<string, string>()),
|
||||
|
||||
dataParameterFunction: Model.IsCustomForm ? "" : searchFormName,
|
||||
dataBoundAdditionalFunction: Model.IsCustomForm ? "" : "MulasztasKezelesHelper.dataBoundAdditionalFunction();",
|
||||
readDataFunction: Model.IsCustomForm ? "MulasztasokTanuloNezetHelper.getGridModelData" : "",
|
||||
|
||||
clientTemplateUrl: Url.Action("GetMulasztasokTanuloNezetDetailGrid", Model.ControllerName, new { area = "Hianyzas", GridHasDelete = Model.ChildGridHasDelete }),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
sort: sort => sort.Add(s => s.TanuloNev).Ascending(),
|
||||
useToolBar: Model.GridUseToolBar,
|
||||
showSorszam: !Model.IsCustomForm
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.OsztalyCsoportId).Hidden(true);
|
||||
columns.Group(group =>
|
||||
group.Title("").Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(c => c.TanuloNev).ClientTemplate(@"
|
||||
<a class='kendoTooltip tanuloNev gridLinkButton'
|
||||
data-tanuloid='#: TanuloId #'
|
||||
data-tanulonev='#: TanuloNev #'
|
||||
data-osztaly='#: OsztCsopNev #'
|
||||
data-anyjaneve='#: AnyjaNeve #'
|
||||
data-szuletesiido='#: SzuletesiIdoFormatted #'
|
||||
>#: TanuloNev #</a>");
|
||||
})
|
||||
.Hidden(Model.IsCustomForm)
|
||||
);
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5638 /*Tanórai hiányzás*/)).Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasIgazolt).HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" }).Visible(!Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasIgazolatlan).HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" }).Visible(!Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.Szabadsag).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.Tappenz).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.BetegSzabadsag).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
groupColumn.Bound(x => x.TanoraiHianyzasIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
groupColumn.Bound(x => x.Potlas).HeaderHtmlAttributes(new { @class = "statisztika borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" }).Visible(Model.SzervezetTipusId.HasValue);
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader borderRight" })
|
||||
);
|
||||
if(!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5639 /*Tanórán kívüli hiányzás*/)).Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasIgazolt).HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasIgazolatlan).HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoranKivuliHianyzasIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader borderRight" })
|
||||
);
|
||||
}
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5640 /*Tanórai késések száma (perc)*/)).Columns(groupColumn =>
|
||||
{
|
||||
|
||||
groupColumn.Bound(c => c.TanoraiKesesOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoraiKesesIgazolt).HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoraiKesesIgazolatlan).HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.TanoraiKesesIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader borderRight" })
|
||||
|
||||
);
|
||||
columns.Group(group =>
|
||||
group.Title(StringResourcesUtil.GetString(5641 /*Tanórai késésekből számítható hiányzás (óra)*/)).Columns(groupColumn =>
|
||||
{
|
||||
groupColumn.Bound(c => c.SzamitottKesesOsszes).HeaderHtmlAttributes(new { @class = "statisztika osszes" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.SzamitottKesesIgazolt).Hidden().HeaderHtmlAttributes(new { @class = "statisztika" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.SzamitottKesesIgazolatlan).Hidden().HeaderHtmlAttributes(new { @class = "statisztika igazolatlan" }).HtmlAttributes(new { @class = "statisztika" });
|
||||
groupColumn.Bound(c => c.SzamitottKesesIgazolando).HeaderHtmlAttributes(new { @class = "statisztika igazolando borderRight" }).HtmlAttributes(new { @class = "statisztika borderRight bold" });
|
||||
}).HeaderHtmlAttributes(new { @class = "groupHeader" })
|
||||
);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
|
||||
@Html.KretaGridTemplate("detailGrid-template")
|
||||
|
||||
<style type="text/css">
|
||||
#MulasztasokTanuloNezetGrid.k-grid th.kretaRowNumberHeader > span {
|
||||
padding-top: 1px;
|
||||
border-top: 1px solid #aab7c4;
|
||||
margin-bottom: -0.5em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#MulasztasokTabStrip-2 {
|
||||
height: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
@@media (max-width: 1439px) {
|
||||
#MulasztasokTanuloNezetGrid.k-grid th.kretaRowNumberHeader > span {
|
||||
padding-top: 18px;
|
||||
}
|
||||
}
|
||||
@@media (max-width: 1250px) {
|
||||
#MulasztasokTanuloNezetGrid.k-grid th.kretaRowNumberHeader > span {
|
||||
padding-top: 17px;
|
||||
}
|
||||
}
|
||||
</style>
|
@@ -0,0 +1,125 @@
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Web.Security
|
||||
@using Kreta.Enums.ManualEnums
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
@model TanuloMulasztasaiPopupModel
|
||||
|
||||
@{
|
||||
var visszavonhato = !Model.Kezeletlen ? "true" : "false";
|
||||
var gridName = "TanuloMulasztasaiDetailGrid_" + (Model.Kezeletlen ? "Kezeletlen" : "Kezelt") + "_" + (Model.IsTanorai ? "Tanorai" : "NemTanorai") + "_" + Model.MulasztasDatuma.ToString("yyyyMMdd");
|
||||
var javascriptClassName = gridName + "Helper";
|
||||
var kezeletlenMulasztasokGridName = "kezeletlenMulasztasokGrid";
|
||||
var kezeltMulasztasokGridName = "kezeltMulasztasokGrid";
|
||||
}
|
||||
|
||||
@{
|
||||
var igazoltList = new List<SelectListItem>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
if(!Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
else if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet && Model.IsTanorai == false)
|
||||
{
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.CsakIgazoltraAllithatnak ||
|
||||
Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolt.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolt).ToString() });
|
||||
}
|
||||
if (Model.MulasztasJogosultsagSetting == CsoportvezetokIgazolasiJogosultsagaEnum.BarmitBeallithatnak && !Model.SzervezetTipusId.HasValue)
|
||||
{
|
||||
igazoltList.Add(new SelectListItem { Text = IgazolasSelectListEnum.Igazolatlan.GetDisplayName(ClaimData.SelectedTanevID.Value), Value = ((int)IgazolasSelectListEnum.Igazolatlan).ToString() });
|
||||
}
|
||||
}
|
||||
|
||||
var functionCommandList = new List<FunctionCommand>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet && ClaimManager.HasPackage("Osztalyfonok") ||
|
||||
Model.SzerepkorViewType == SzerepkorViewTypeEnum.CsoportvezetoNezet && Model.MulasztasJogosultsagSetting != CsoportvezetokIgazolasiJogosultsagaEnum.NemIgazolhatnak && Model.IsTanorai == false)
|
||||
{
|
||||
functionCommandList.Add(new FunctionCommand
|
||||
{
|
||||
Name = CommonResource.Mentes,
|
||||
ClientAction = string.Format(@"function() {{ MulasztasKezelesHelper.saveMulasztasList('{0}', ['{1}'], '{2}', {3}); }}", gridName, kezeletlenMulasztasokGridName + "', '" + kezeltMulasztasokGridName, null, visszavonhato)
|
||||
});
|
||||
}
|
||||
|
||||
var rowFunctionList = new List<RowFunction>();
|
||||
if (Model.SzerepkorViewType == SzerepkorViewTypeEnum.OsztalyfonokNezet && ClaimManager.HasPackage("Osztalyfonok"))
|
||||
{
|
||||
rowFunctionList.Add(new RowFunction
|
||||
{
|
||||
Name = CommonResource.Torles,
|
||||
ClientAction = string.Format(@"function(e) {{ MulasztasKezelesHelper.deleteConfirmWindow(e, ['{0}'], '{1}'); }}", kezeletlenMulasztasokGridName + "', '" + kezeltMulasztasokGridName, null),
|
||||
IconEnum = GridRowFunctionIconEnum.Torles
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
var grid = Html.KretaGrid<MulasztasGridModel>(
|
||||
gridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiDetailGrid", new Dictionary<string, string>()),
|
||||
dataBoundAdditionalFunction:
|
||||
string.Format(@"
|
||||
var shortDateReplaced = '{0:yyyyMMdd}';
|
||||
var kezelesTipus = '{1}';
|
||||
var igazoltDivNamePrefix = 'divTanuloMulasztasaiDetailGrid_' + kezelesTipus + '_' + shortDateReplaced + '_Igazolt_';
|
||||
var detailGridName = '{2}';
|
||||
MulasztasKezelesHelper.setDetailControlsEvents(igazoltDivNamePrefix, detailGridName, {3});
|
||||
", Model.MulasztasDatuma, (Model.Kezeletlen ? "Kezeletlen" : "Kezelt") + "_" + (Model.IsTanorai ? "Tanorai" : "NemTanorai"), gridName, visszavonhato),
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
//TODO: Itt azért tüntetjük el a sorszámot, mert hozzáadunk egy plusz sort amivel az összes elemet lehet módosítani, amit szintén sorszámoz a grid és ez a user-eket zavarja!
|
||||
// Vissza kell tenni a sorszámokat, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
showSorszam: false,
|
||||
readDataFunction: "function(){ return { model: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.Oraszam);
|
||||
columns.Bound(c => c.OsztCsopNev).Width("14%");
|
||||
columns.Bound(c => c.TargyNev).Width("14%");
|
||||
columns.Bound(c => c.MulTip_DNAME).Width("11%");
|
||||
columns.Bound(c => c.KesesPerc).Width("8%");
|
||||
})
|
||||
.SelectForColumn(Html.For<MulasztasGridModel>(), HianyzasResource.IgazoltKerdojel, c => c.Igazolt, igazoltList)
|
||||
.EditableComboBoxColumn(Html, HianyzasResource.IgazolasTipus, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetIgazolasTipusList", szervezetTipusEnumId = Model.ApiControllerName.Contains("Dualis") ? (int)SzervezetTipusEnum.Dualis : (int?)null }), m => m.IgazolasTipus, "Text", "Value", maxWidth: true);
|
||||
grid.TextAreaForColumn(Html.For<MulasztasGridModel>(), 97, m => m.Megjegyzes);
|
||||
grid.FunctionCommand(Html, functionCommandList);
|
||||
grid.ConditionalRowFunction(Html, rowFunctionList, javascriptClassName + ".removeFirstRowDeleteButton");
|
||||
}
|
||||
|
||||
<div id="partialTanuloMulasztasaiDetailGrid_@Model.MulasztasDatuma.ToString("yyyyMMdd")">
|
||||
@(grid)
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var @javascriptClassName = (function () {
|
||||
var gridDetailHelper = function () { };
|
||||
|
||||
//TODO: Ezt lehet majd törölni, ha sikerül máshogy megoldani az összes elem módosítását a gridben!
|
||||
gridDetailHelper.removeFirstRowDeleteButton = function (rowData) {
|
||||
var result = rowData.id !== "0" && CommonUtils.parseBool("@ClaimData.IsModosithatjaOsztfoMulasztasokat");
|
||||
return result;
|
||||
}
|
||||
|
||||
return gridDetailHelper;
|
||||
})();
|
||||
|
||||
</script>
|
@@ -0,0 +1,142 @@
|
||||
@using Kreta.BusinessLogic.Classes
|
||||
@using Kreta.Resources
|
||||
@using Kreta.Web.Areas.Hianyzas.Models.Mulasztasok
|
||||
@using Kreta.Web.Helpers
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Enums.ManualEnums
|
||||
|
||||
@model TanuloMulasztasaiPopupModel
|
||||
@{
|
||||
Layout = null;
|
||||
}
|
||||
|
||||
<style>
|
||||
.k-header-line {
|
||||
background-color: #54a5d1;
|
||||
padding: 10px;
|
||||
}
|
||||
.k-header-line > .k-title {
|
||||
color: #ffffff;
|
||||
}
|
||||
</style>
|
||||
|
||||
@{
|
||||
var szervezetTipusId = Model.SzervezetTipusId;
|
||||
var kezeletlenMulasztasokGridName = "kezeletlenMulasztasokGrid";
|
||||
var kezeltMulasztasokGridName = "kezeltMulasztasokGrid";
|
||||
|
||||
//NOTE: Csoportvezetői nézethez kellenek!
|
||||
var kezeletlenNemTanoraiGridName = "kezeletlenNemTanoraiGrid";
|
||||
var kezeltNemTanoraiGridName = "kezeltNemTanoraiGrid";
|
||||
var controllerName = Model.SzerepkorViewType == Kreta.Enums.ManualEnums.SzerepkorViewTypeEnum.CsoportvezetoNezet ? Constants.Controllers.CsoportMulasztasok : szervezetTipusId.HasValue && szervezetTipusId == (int)SzervezetTipusEnum.Dualis ? Constants.Controllers.DualisMulasztasok : Constants.Controllers.Mulasztasok;
|
||||
}
|
||||
|
||||
<div class="container-fluid details">
|
||||
<div>
|
||||
@if (Model.SzerepkorViewType == Kreta.Enums.ManualEnums.SzerepkorViewTypeEnum.CsoportvezetoNezet)
|
||||
{
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.NemTanoraiCeluCsoportok</span></p>
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeletlenNemTanoraiGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string>{
|
||||
{ "isTanorai", bool.FalseString },
|
||||
{ "igazolandok", bool.TrueString }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeletlenMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = false, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5630)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.TanoraiCeluCsoportok</span></p>
|
||||
}
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeletlenMulasztasokGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string>{
|
||||
{ "isTanorai", bool.TrueString },
|
||||
{ "igazolandok", bool.TrueString }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeletlenMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = true, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5630)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div>
|
||||
@if (Model.SzerepkorViewType == Kreta.Enums.ManualEnums.SzerepkorViewTypeEnum.CsoportvezetoNezet)
|
||||
{
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.NemTanoraiCeluCsoportok</span></p>
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeltNemTanoraiGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string> {
|
||||
{ "isTanorai", bool.FalseString },
|
||||
{ "igazolandok", false.ToString() }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeltMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = false, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5631)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
<p class="k-header-line"><span class="k-title">@HianyzasResource.TanoraiCeluCsoportok</span></p>
|
||||
}
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TanuloMulasztasaiPopupModel>(
|
||||
kezeltMulasztasokGridName,
|
||||
new GridApiUrl(Model.ApiControllerName, "GetTanuloMulasztasaiGrid", new Dictionary<string, string> {
|
||||
{ "isTanorai", bool.TrueString },
|
||||
{ "igazolandok", false.ToString() }
|
||||
}),
|
||||
clientTemplate: "detailGrid-template",
|
||||
clientTemplateUrl: Url.Action("TanuloKezeltMulasztasaiDetailGrid", controllerName, new { area = "Hianyzas", isTanorai = true, apiControllerName = Model.ApiControllerName }),
|
||||
clientTemplateWholeDataRow: true,
|
||||
allowSorting: false,
|
||||
allowPaging: false,
|
||||
pageSizes: null,
|
||||
readDataFunction: "function(){ return { data: '" + Model.ToJson(true) + "' }; }"
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(c => c.TanuloId).Hidden(true);
|
||||
columns.Bound(c => c.MulasztasDatuma).Title(StringResourcesUtils.GetString(5631)).Format(SDAFormat.Format[SDAFormat.FormatType.ShortDate]);
|
||||
})
|
||||
)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@@ -0,0 +1,23 @@
|
||||
@using Kreta.Web.Helpers.Grid
|
||||
@using Kreta.Web.Areas.Hianyzas.Models
|
||||
|
||||
<div>
|
||||
@(
|
||||
Html.KretaGrid<TantargyiMulasztasGridModel>
|
||||
(
|
||||
"TantargyiMulasztasGrid",
|
||||
new GridApiUrl("TantargyiMulasztasApi", "GetTantargyiMulasztasGrid"),
|
||||
allowScrolling: true
|
||||
)
|
||||
.Columns(columns =>
|
||||
{
|
||||
columns.Bound(m => m.Tantargy);
|
||||
columns.Bound(m => m.Mulasztas);
|
||||
columns.Bound(m => m.Osszes).Width("10%");
|
||||
columns.Bound(m => m.Szazalek).Width("10%");
|
||||
})
|
||||
.Sortable(sortable => sortable
|
||||
.AllowUnsort(true)
|
||||
.SortMode(GridSortMode.MultipleColumn))
|
||||
)
|
||||
</div>
|
3
KretaWeb/Areas/Hianyzas/Views/_ViewStart.cshtml
Normal file
3
KretaWeb/Areas/Hianyzas/Views/_ViewStart.cshtml
Normal file
@@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_MasterLayout.cshtml";
|
||||
}
|
38
KretaWeb/Areas/Hianyzas/Views/web.config
Normal file
38
KretaWeb/Areas/Hianyzas/Views/web.config
Normal 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>
|
Reference in New Issue
Block a user