kreta/KretaWeb/Areas/Hianyzas/Controllers/DualisMulasztasKeresoController.cs
2024-03-13 00:33:46 +01:00

53 lines
2.2 KiB
C#

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