This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,250 @@
using System;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Security;
using Kreta.Client.Eugyintezes;
using Kreta.Client.Eugyintezes.Configuration;
using Kreta.Core.Configuratiaton.Interface;
using Kreta.Enums.ManualEnums;
using Kreta.Web.Configuration;
using Kreta.Web.Controllers.Logic;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
namespace Kreta.Web.Controllers
{
[MvcRoleClaimsAuthorize(true)]
public class HomeController : Controller
{
private IEugyintezesClientConfiguration EugyintezesClientConfiguration { get; }
private IIdpConfiguration IdpConfiguration { get; }
private ITananyagtarConfiguration TananyagtarConfiguration { get; }
public HomeController(IEugyintezesClientConfiguration eugyintezesClientConfiguration, IIdpConfiguration idpConfiguration, ITananyagtarConfiguration tananyagtarConfiguration)
{
EugyintezesClientConfiguration = eugyintezesClientConfiguration ?? throw new ArgumentNullException(nameof(eugyintezesClientConfiguration));
IdpConfiguration = idpConfiguration ?? throw new ArgumentNullException(nameof(idpConfiguration));
TananyagtarConfiguration = tananyagtarConfiguration ?? throw new ArgumentNullException(nameof(tananyagtarConfiguration));
}
[Authorize]
// GET: Home
public ActionResult Index()
{
if (IdpConfiguration.LoginEnabled)
{
if (ClaimData.FelhasznaloSzerepkor == Enums.SzerepkorTipusEnum.Nincs_beallitva)
{
return RedirectToAction("Index", "BelepesKezelo", new { area = "Adminisztracio" });
}
}
return Redirect(Url.Content(CommonExtensions.GetDefaultPage()));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult NeptunNaplo()
{
string neptunNaploLink = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetNeptunNaploLink();
if (!string.IsNullOrWhiteSpace(neptunNaploLink))
{
return Redirect(neptunNaploLink);
}
return Redirect("http://www.ekreta.hu/jelentkezes");
}
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult Poszeidon()
{
if (!string.IsNullOrWhiteSpace(ApplicationData.PoszeidonUrl))
{
return Redirect(ApplicationData.PoszeidonUrl);
}
return Redirect("~/HibaOldal");
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.Gondviselo.ClaimValue,
KretaClaimPackages.SZMKKepviselo.ClaimValue,
KretaClaimPackages.eUgyintezo.ClaimValue,
KretaClaimPackages.PenzugyiAdmin.ClaimValue,
KretaClaimPackages.BelepokartyaAdmin.ClaimValue,
KretaClaimPackages.Penztaros.ClaimValue,
KretaClaimPackages.Alairo.ClaimValue,
KretaClaimPackages.EtkezesiAdmin.ClaimValue,
KretaClaimPackages.EtkezesiEllenorzo.ClaimValue,
KretaClaimPackages.TeremberletJelenletEllenorzo.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue)]
public ActionResult Eugyintezes()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Ellenorzo.ClaimValue, KretaClaimPackages.Naplo.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult DKT()
{
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var intezmenyData = helper.GetIntezmenyiAdatok();
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(ClaimData.IsTanuloOrGondviselo ? intezmenyData.DKTDiakUrl : intezmenyData.DKTTanarUrl, IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Adminisztrator.ClaimValue)]
public ActionResult eJelentkezes()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.eJelentkezes, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.CsoportVezeto.ClaimValue,
KretaClaimPackages.DiakolimpiaKezelo.ClaimValue,
KretaClaimPackages.Ellenorzo.ClaimValue,
KretaClaimPackages.Evfolyamfelelos.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SZMKKepviselo.ClaimValue,
KretaClaimPackages.Gondviselo.ClaimValue,
KretaClaimPackages.Tanar.ClaimValue,
KretaClaimPackages.Tanulo.ClaimValue,
KretaClaimPackages.Naplo.ClaimValue,
KretaClaimPackages.eUgyintezo.ClaimValue,
KretaClaimPackages.PenzugyiAdmin.ClaimValue,
KretaClaimPackages.BelepokartyaAdmin.ClaimValue,
KretaClaimPackages.LeltarConcerned.ClaimValue,
KretaClaimPackages.Penztaros.ClaimValue,
KretaClaimPackages.EtkezesiAdmin.ClaimValue,
KretaClaimPackages.EtkezesiEllenorzo.ClaimValue,
KretaClaimPackages.TeremberletJelenletEllenorzo.ClaimValue,
KretaClaimPackages.Alairo.ClaimValue,
KretaClaimPackages.Alkalmazott.ClaimValue)]
public ActionResult Uzenetek()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.UzenetModul, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.FokuszMonitoring.ClaimValue)]
public ActionResult Esl()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.ESL, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Osztalyfonok.ClaimValue, KretaClaimPackages.SzuperOsztalyfonok.ClaimValue, KretaClaimPackages.FokuszMonitoring.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsPortas.ClaimValue, KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public ActionResult Fokusz()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Fokusz, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(KretaClaimPackages.LeltarConcerned.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsPortas.ClaimValue)]
public ActionResult Leltar()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Leltar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev,
KretaClaimPackages.Adminisztrator.ClaimValue,
KretaClaimPackages.CsoportVezeto.ClaimValue,
KretaClaimPackages.DiakolimpiaKezelo.ClaimValue,
KretaClaimPackages.Ellenorzo.ClaimValue,
KretaClaimPackages.Evfolyamfelelos.ClaimValue,
KretaClaimPackages.Osztalyfonok.ClaimValue,
KretaClaimPackages.SZMKKepviselo.ClaimValue,
KretaClaimPackages.Tanar.ClaimValue,
KretaClaimPackages.Tanulo.ClaimValue,
KretaClaimPackages.Naplo.ClaimValue,
KretaClaimPackages.eUgyintezo.ClaimValue,
KretaClaimPackages.PenzugyiAdmin.ClaimValue,
KretaClaimPackages.BelepokartyaAdmin.ClaimValue,
KretaClaimPackages.LeltarConcerned.ClaimValue,
KretaClaimPackages.Penztaros.ClaimValue,
KretaClaimPackages.EtkezesiAdmin.ClaimValue,
KretaClaimPackages.EtkezesiEllenorzo.ClaimValue,
KretaClaimPackages.TeremberletJelenletEllenorzo.ClaimValue,
KretaClaimPackages.Alairo.ClaimValue,
KretaClaimPackages.Alkalmazott.ClaimValue,
KretaClaimPackages.Konyvtaros.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsPortas.ClaimValue,
KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult KonyvtarModul()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSessionConnectionType());
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.Url), IdpConfiguration.AuthenticationTokenKey));
}
[MvcRolePackageAuthorize(TanevEnum.AktEsKovTanev, KretaClaimPackages.Naplo.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue)]
public ActionResult Tananyagtar()
{
return Redirect(Kreta.Web.Classes.Utils.GetAuthenticationTokenRedirectUrl(TananyagtarConfiguration.Url, IdpConfiguration.AuthenticationTokenKey));
}
[AllowAnonymous]
[HttpPost]
public JsonResult EUgyUzenetekRecheck()
{
var darabszam = -1;
if (ClaimData.IntezmenyAzonosito != null && ClaimData.IsAktivUzenetekMenu)
{
EugyintezesClient eUgyClient = new EugyintezesClient(EugyintezesClientConfiguration);
darabszam = eUgyClient.GetOlvasatlanPostaladaElemekSzama(ClaimData.IntezmenyAzonosito, ClaimData.GondviseloId.HasValue ? ClaimData.GondviseloIdpEgyediAzonosito : ClaimData.FelhasznaloIdpEgyediAzonosito);
}
return Json(new { cnt = darabszam, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate });
}
[AllowAnonymous]
[HttpPost]
public JsonResult GetIsFrissitesWarrning()
{
var aktDatum = DateTime.Now;
var data = new IntezmenyHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).GetFrissitesDatum();
if (data.HasValue && aktDatum.Date == data.Value.Date)
{
TimeSpan duration = data.Value - aktDatum;
var result = duration.Seconds + duration.Minutes * 60 + duration.Hours * 60 * 60;
return result <= 1000 && result > 0
? Json(new { isFrissites = true, duration = result, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate })
: Json(new { isFrissites = false, duration = 0, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate });
}
return Json(new { isFrissites = false, duration = 0, frequencyRate = EugyintezesClientConfiguration.UzenetekFrequencyRate });
}
[AllowAnonymous]
public ActionResult ArchivIndex()
{
return View("ArchivIndex");
}
[MvcRolePackageAuthorize(TanevEnum.AktTanev, KretaClaimPackages.Ellenorzo.ClaimValue)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.Gondviselo.ClaimValue)]
public ActionResult PalyavalasztasiElorejelzesiModul()
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var baseUrl = helper.GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.Palyavalasztas, IntezmenyConfigTipusEnum.Url);
var builder = new UriBuilder(baseUrl);
builder.Query = $"fromkreta=true";
return Redirect(builder.ToString());
}
[AllowAnonymous]
public void LogOut()
{
MasterLayoutLogic.LogOut();
}
}
}