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

55 lines
2.5 KiB
C#

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