250 lines
13 KiB
C#
250 lines
13 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|