using System.Web.Mvc; using Kreta.BusinessLogic.Helpers; using Kreta.BusinessLogic.Security; using Kreta.Enums; using Kreta.Enums.ManualEnums; using Kreta.Web.Areas.TanuloErtekeles.Models; using Kreta.Web.Helpers; using Kreta.Web.Security; namespace Kreta.Web.Areas.TanuloErtekeles.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 DualisElektronikusUzenetKeresoController : BaseElektronikusUzenetKeresoController { private IKretaAuthorization Authorization { get; } public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled); public DualisElektronikusUzenetKeresoController(IKretaAuthorization authorization) { Authorization = authorization; } public ActionResult Index() { if (!Authorization.IsValidDualisFeljegyzesek()) { return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty })); } var model = new FeljegyzesKeresoModel(Constants.Controllers.DualisElektronikusUzenetKereso, Constants.ApiControllers.DualisFeljegyzesekApi) { FeladatEllatasiHelyId = ClaimData.FelhelySzuro }; if (IsDualisKepzesEnabled) { model.SzervezetTipusEnum = SzervezetTipusEnum.Dualis; } if (ClaimData.FelhasznaloSzerepkor != SzerepkorTipusEnum.Adminisztrator) { model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId); } return View("~/Areas/TanuloErtekeles/Views/ElektronikusUzenetKereso/Index.cshtml", model); } } }