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); } } }