kreta/KretaWeb/Menu/MenuHelper.cs
2024-03-13 00:33:46 +01:00

874 lines
37 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using Kreta.BusinessLogic.Classes;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Client.KGR;
using Kreta.Client.SzirApi;
using Kreta.Client.SzirApi.Request;
using Kreta.Core;
using Kreta.Core.FeatureToggle;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Web.Helpers;
using Kreta.Web.Security;
using MvcSiteMapProvider.Web.Html.Models;
namespace Kreta.Web.Menu
{
public static class MenuHelper
{
public static bool HasClickabeChild(this SiteMapNodeModel node)
{
return node.Children.Any(child => HasClickabeChild(child) || child.IsClickable);
}
public static bool IsVisible(this SiteMapNodeModel node)
{
var isNaplo = ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Naplo;
var isAdminisztrator = ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Adminisztrator;
// NOTE: Ha létrejönnek az új szervezet típusok, akkor a Duális képzés szerepkörök region alapján kell majd kezelni azokat. Pl.: Dobbantó
#region Duális képzés szerepkörök
var hasDualisOktatoClaimPackage = ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.IsDualisKepzohelyiOktato.ClaimValue);
var isDualisOktato = isNaplo && hasDualisOktatoClaimPackage;
var isDualisAdmin = ClaimData.FelhasznaloSzerepkor == SzerepkorTipusEnum.Dualis_Admin;
var isDualisFelhasznalo = isDualisOktato || isDualisAdmin;
if (isDualisOktato)
{
if (node.Area == Constants.Areas.DualisKepzes
|| node.Controller == Constants.Controllers.Ertekeles
|| node.Controller == Constants.Controllers.ErettsegiEredmenyek
|| node.Controller == Constants.Controllers.Dolgozatok
|| node.Controller == Constants.Controllers.HazifeladatokListaja
|| node.Controller == Constants.Controllers.TanariOrarendKereso
|| node.Controller == Constants.Controllers.OsztalyOrarendKereso
|| node.Controller == Constants.Controllers.TeremOrarendKereso
|| node.Controller == Constants.Controllers.HaziFeladatCsatolmanyok
|| node.Controller == Constants.Controllers.FeladatokListajaTanar
|| node.Controller == Constants.Controllers.CsoportMulasztasok
|| node.Controller == Constants.Controllers.Tanorak
|| node.Controller == Constants.Controllers.NemNaplozottTanorak
|| node.Controller == Constants.Controllers.OsszefuggoSzakGyak
|| node.Controller == Constants.Controllers.FaliujsagBejegyzesek
|| node.Controller == Constants.Controllers.TanarBejelentettSzamonkeresek
|| node.Controller == Constants.Controllers.TanarTanitottTanulok
|| node.Controller == Constants.Controllers.CsoportTanuloi
|| node.Controller == Constants.Controllers.CsoportTanuloiAdatok
|| node.Controller == Constants.Controllers.CsoportOrarend)//2.110-ben ha megoldodik a teljes Dualis akkor vissze kell keruljon - KRETA2-12511
{
return false;
}
}
if (node.Controller == Constants.Controllers.DualisMulasztasok
|| node.Controller == Constants.Controllers.DualisErtekeles
|| node.Controller == Constants.Controllers.DualisIgazolas)
{
return isDualisOktato;
}
if (node.Controller == Constants.Controllers.DualisIgazolasokListaja)
{
return isDualisAdmin;
}
if(node.Controller == Constants.Controllers.DualisIgazolasokListaja)// majd felengedjuk amikor kesz lesz az adminoknak a listaaja
{ return false; }
#endregion Duális képzés szerepkörök
// NOTE: Ha létrejönnek az új szervezet típusok, akkor ide ||-val elválasztva kell majd hozzátenni az újakat,
// hogy egyik szervezet típusnál se jelenjenek meg a nem kívánt menüpontok
// Pl.: var isSzervezetiFelhasznalo = isDualisFelhasznalo || isDobbantoFelhasznalo
var isSzervezetiFelhasznalo = isDualisFelhasznalo;
var featureContext = DependencyResolver.Current.GetService<IFeatureContext>();
if (ClaimData.JustLEPOrganization &&
!EngedelyezettLepMenupont(node))
{
return false;
}
if (ClaimData.IsArchivIntezmeny &&
!EngedelyezettArchivMenupont(node))
{
return false;
}
if (ClaimData.IsOnlyAlkalmazott &&
!node.Attributes.ContainsKey("onlyAlkalmazott"))
{
return false;
}
if (node.Action == "Tananyagtar")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
if (!featureContext.IsEnabled(Core.Constants.FeatureName.Tananyagtar, instituteId: ClaimData.IntezmenyAzonosito))
{
return false;
}
}
if (node.Attributes.ContainsKey("invisible"))
{
return false;
}
if (node.Controller == "IktSzandeknyilatkozatok" &&
ApplicationData.SystemType != SystemType.KK)
{
return false;
}
if (node.Controller == "NebuloImportExport" &&
ClaimData.IsBeiratkozasVeglegesitve)
{
return false;
}
if (node.Action == "Uzenetek")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.UzenetModul, IntezmenyConfigTipusEnum.IsEnabled) ||
ClaimData.IsDefaultAdminUser ||
ClaimData.BelepesiNev.ToUpper() == Constants.General.KretaTechnicalUserNev.ToUpper())
{
return false;
}
}
if (node.Area == "KirImportExport" &&
!featureContext.IsEnabled(Core.Constants.FeatureName.AlkalmazottTanuloKirSzinkron, instituteId: ClaimData.IntezmenyAzonosito))
{
return false;
}
if (node.Area == "HRModul")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.HRModul, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
if (node.Controller == "Tavolletjelento" &&
node.Action == "Index" &&
ClaimData.IsDefaultAdminUser)
{
return false;
}
if (node.Controller == "Tavolletjelento" &&
(node.Action == "Kezeles" || node.Action == "FoglalkoztatottakAdatai"))
{
var hrModulHelper = new HRModulHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
if (!ClaimData.IsDefaultAdminUser &&
!isAdminisztrator &&
!hrModulHelper.IsLeader() &&
!hrModulHelper.IsHrKezelo())
{
return false;
}
}
}
if (node.Action == "Eugyintezes")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Eugyintezes, IntezmenyConfigTipusEnum.IsEnabled) ||
ClaimData.IsDefaultAdminUser ||
ClaimData.BelepesiNev.ToUpper() == Constants.General.KretaTechnicalUserNev.ToUpper())
{
return false;
}
}
if (node.Action == "DKT")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
if (ClaimData.IsTanuloOrGondviselo &&
ClaimData.GondviseloId.IsEntityId())
{
return false;
}
var intezmenyHelper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!intezmenyHelper.GetIntezmenyiAdatok().IsDKTAktiv)
{
return false;
}
}
if (node.Action == "Esl" ||
node.Action == "Fokusz" ||
node.Action == "Leltar" ||
node.Action == "eJelentkezes" ||
node.Controller == "Nebulo" ||
node.Controller == "NebuloImportExport" ||
node.Controller == "OkosmeroEnergetikaiAdat")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
if (node.Action == "Esl")
{
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.ESL, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
if (node.Action == "Fokusz")
{
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Fokusz, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
if (node.Action == "Leltar")
{
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Leltar, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
if (node.Action == "eJelentkezes")
{
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.eJelentkezes, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
if (node.Controller == "Nebulo")
{
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Beiratkozas, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
if (node.Controller == "NebuloImportExport")
{
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Beiratkozas, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
if (node.Controller == "OkosmeroEnergetikaiAdat")
{
if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Okosmeres, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
}
if (node.Controller == "IktatottDokumentumok" &&
node.Area == "Nyomtatvanyok" &&
!featureContext.IsEnabled(Core.Constants.FeatureName.PoszeidonIktatas, instituteId: ClaimData.IntezmenyAzonosito))
{
return false;
}
if (node.Title == "Dokumentumok")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
}
if (node.Attributes.ContainsKey("systemSettingCheck"))
{
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var sysParamList = systemSettingsHelper.GetSystemSettingValue<List<string>>(RendszerBeallitasTipusEnum.Tanar_Feluleten_Orarend_Lathatosag);
if (node.Controller == "TanariOrarendKereso" &&
sysParamList.Contains("TanariOrarendKereso"))
{
return false;
}
if (node.Controller == "OsztalyOrarendKereso" &&
sysParamList.Contains("OsztalyOrarendKereso"))
{
return false;
}
if (node.Controller == "TeremOrarendKereso" &&
sysParamList.Contains("TeremOrarendKereso"))
{
return false;
}
var fogadoorakMegjelenitese = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Fogadoorak_megjelenitese);
if (!fogadoorakMegjelenitese &&
(node.Controller == "Fogadoora" || node.Controller == "InformaciokFogadoorak"))
{
return false;
}
var lep = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Lazar_Ervin_Program_kezelese);
if (!lep && (node.Controller == "EloadasokKezelese" ||
node.Controller == "GondviseloLEP" ||
(node.Attributes.ContainsKey("enaplo") && !ClaimData.IsAdministrator && node.Controller != string.Empty)))
{
return false;
}
}
if (node.Attributes.ContainsKey("checkisalkalmazottpedagogus") &&
!ClaimData.IsAlkalmazottPedagogus)
{
return false;
}
if (node.Attributes.ContainsKey("checkpackage") &&
!ClaimManager.HasPackage(node.Attributes["checkpackage"].ToString()))
{
return false;
}
if (node.Controller == "AktivTanevValtasa")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
if (ClaimData.IsActivTanev)
{
var tanevHelper = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
return tanevHelper.GetAktivTanevValtasMenupontMegjelenik();
}
}
if (node.IsDisabledForHittanOktato() &&
IsAlkalmazottNemLathatjaDiakokAdatait())
{
return false;
}
if (node.Controller == "SzakkepzesiJuttatasok")
{
var intezmenyConfigHelper = new IntezmenyHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
if (!ClaimData.IsAdministrator ||
!intezmenyConfigHelper.GetIntezmenyiAdatok().IsSzakkepzoJuttatas)
{
return false;
}
}
if (node.Controller == "OktatottSzakmak")
{
var intezmenyConfigHelper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!isAdminisztrator ||
!intezmenyConfigHelper.GetIntezmenyiAdatok().IsSzakkepzo)
{
return false;
}
}
if (node.Area == "DualisKepzes")
{
if (!new KretaAuthorization().IsValidDualisKepzes())
{
return false;
}
}
if (node.Controller == "Projekt")
{
var intezmenyConfigHelper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
if (!intezmenyConfigHelper.GetIntezmenyiAdatok().IsProjektAktiv)
{
return false;
}
}
if (node.Title == "Összefüggő szakmai gyakorlat" &&
ClaimData.IsSelectedTanev20_21OrLater)
{
return false;
}
if (node.Title == "Egybefüggő szakmai gyakorlat" &&
!ClaimData.IsSelectedTanev20_21OrLater)
{
return false;
}
if (node.Title == "Iskolaőr")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
if (ClaimData.IsTanuloOrGondviselo)
{
return false;
}
var alkalmazottHelper = new AlkalmazottHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
if (!alkalmazottHelper.GetIskolaor().Any())
{
return false;
}
}
if (node.Title == "Eszköz ügyintézés")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
}
if (node.Controller == "FeltarAlkalmazott")
{
if (node.Action == "Atjelentkezes")
{
return ClaimData.FeltarAlkalmazottEnabled &&
ClaimData.FelhasznaloSzerepkorok.Any(x => x.Key == SzerepkorTipusEnum.FELTAR_EsetKezelo || x.Key == SzerepkorTipusEnum.FELTAR_EszkozMenedzser);
}
}
if (node.Controller == "FeltarGondviselo")
{
if (node.Action == "Index")
{
return ClaimData.FeltarGondviseloEnabled;
}
if (node.Action == "Atjelentkezes")
{
var eszkozIgenylesHelper = new EszkozIgenylesHelper(ConnectionTypeExtensions.GetSystemConnectionType());
return ClaimData.FeltarGondviseloEnabled &&
eszkozIgenylesHelper.IsEszkozKiosztva(ClaimData.FelhasznaloId);
}
}
if (node.Controller == "FeltarTanulo")
{
return ClaimData.FeltarGondviseloEnabled;
}
if (node.Controller == "TanuloApaczai")
{
if (DateTime.Now < new DateTime(2022, 09, 12, 00, 01, 00))
{
return false;
}
if (isSzervezetiFelhasznalo)
{
return false;
}
if (!ClaimData.IsSelectedTanev21_22OrLater)
{
return false;
}
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var apaczaiMenuVisibility = tanuloHelper.CheckApaczaiMenuVisibility(ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater);
try
{
var connection = ConnectionTypeExtensions.GetSessionConnectionType();
var kgrClient = (IKGRClient)DependencyResolver.Current.GetService(typeof(IKGRClient));
var tanuloApaczaiHelper = new TanuloApaczaiHelper(connection);
var tanuloVanPalyazata = tanuloApaczaiHelper.GetPalyazat(kgrClient, ClaimData.FelhasznaloIdpEgyediAzonosito).Id > 0;
if (tanuloVanPalyazata)
{
return true;
}
if (DateTime.Now > Core.Constants.ApaczaiVegeDatum)
{
return false;
}
var tanuloApaczaiSzerzodeses = tanuloHelper.GetTanuloiAdatok(ClaimData.FelhasznaloId, ClaimData.KovTanevID, ClaimData.IsSelectedTanev20_21OrLater, ClaimData.IsSelectedTanev21_22OrLater).IsApaczaiSzerzodeses;
var tanulonakVanElfogadottPalyazataMasikIntezmenyben = tanuloApaczaiHelper.HasElfogadottPalyazatMasikIntezmenyByOktatasiAzonosito(kgrClient, ClaimData.IntezmenyGuid.Value, ClaimData.FelhasznaloId);
return (tanuloApaczaiSzerzodeses && tanulonakVanElfogadottPalyazataMasikIntezmenyben) || apaczaiMenuVisibility;
}
catch (Exception)
{
return false;
}
// NOTE: Ez futott meg akkor, amikor először aktiválták a db-ben az apáczai elérhetőségét.
// NOTE: A modul újbóli letiltása után, viszont a a fenti tanuló beállítások alapján kell eldönteni a menüpont megjelenítését.
// NOTE: Ez várhatóan vissza lesz kapcsolva és akkor szükség lesz erre a kódra.
//var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
//if (!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Apaczai, IntezmenyConfigTipusEnum.IsEnabled))
//{
// return false;
//}
//if (!apaczaiMenuVisibility)
//{
// return false;
//}
}
if (node.Action == "PalyavalasztasiElorejelzesiModul")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
if (ClaimData.IsTanuloOrGondviselo &&
!ClaimData.GondviseloId.IsEntityId())
{
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
if (intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Palyavalasztas, IntezmenyConfigTipusEnum.IsEnabled))
{
var tanuloEvfolyamok = new List<int>();
var tanuloHelper = new TanuloHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var data = tanuloHelper.GetTanuloAktivOsztalyai(ClaimData.FelhasznaloId);
var ocsHelper = new OsztalyCsoportHelper(ConnectionTypeExtensions.GetSystemConnectionType());
foreach (var item in data)
{
int.TryParse(item.Key, out var osztalyCsoportId);
tanuloEvfolyamok.Add(ocsHelper.GetOsztalyByOsztalyId(osztalyCsoportId).EvfolyamTipusa);
}
if (!Core.Constants.PalyavalasztasiEvfolyamok.Any(x => tanuloEvfolyamok.Any(y => y == x)))
{
return false;
}
}
else
{
return false;
}
}
}
if (node.Controller == "SZIRAdatszolg")
{
var szirHelper = new SZIRAdatszolgHelper(ConnectionTypeExtensions.GetSystemConnectionType());
return ClaimData.IsAdministrator &&
ClaimData.IsSelectedTanev21_22OrLater &&
DateTime.Now.Date >= Core.Constants.SZIRAdatszolgaltatasDatum &&
ClaimData.IsSzakkepzoIntezmeny &&
szirHelper.IsVezetoAlkalmazott(ClaimData.FelhasznaloId);
}
if (node.Title == "Statisztikai adatlap feltöltése" &&
ClaimData.IsSelectedTanev21_22OrLater)
{
return false;
}
if (node.Title == "Adatszolg. a nem állami szakképző int. okt. költségvetéséről")
{
var connectionType = ConnectionTypeExtensions.GetSystemConnectionType();
var szirHelper = new SZIRAdatszolgHelper(connectionType);
if (ClaimData.IsSelectedTanev21_22OrLater &&
szirHelper.IsVezetoAlkalmazott(ClaimData.FelhasznaloId))
{
try
{
var tanevSorszam = new TanevHelper(connectionType).GetTanevInfo().Sorszam;
var szirApiClient = (ISzirApiClient)DependencyResolver.Current.GetService(typeof(ISzirApiClient));
var statuszRequest = new StatuszRequest { TanevId = tanevSorszam, IntezmenyAzonosito = ClaimData.IntezmenyAzonosito };
var statusz = szirApiClient.GetStatusz(statuszRequest).Adat;
if (statusz.Count > 0)
{
var isVisible = false;
foreach (var adat in statusz)
{
isVisible = adat.StatuszKod != (int)NemAllamiStatuszEnum.NemKotelezettAdatszolgaltatasra;
}
return isVisible;
}
return false;
}
catch (Exception)
{
return false;
}
}
return false;
}
if (node.Action == "KonyvtarModul")
{
if (isSzervezetiFelhasznalo)
{
return false;
}
var intezmenyConfigHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
if (ClaimData.GondviseloId.IsEntityId() ||
!intezmenyConfigHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.Konyvtar, IntezmenyConfigTipusEnum.IsEnabled))
{
return false;
}
}
if (node.Controller == "EszkozImportExport")
{
return new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.EszkozKezeles, IntezmenyConfigTipusEnum.IsEnabled);
}
if (node.Controller == "Beirasok")
{
if (new KretaAuthorization().IsValidDualisBeirasok())
{
return false;
}
}
if (node.Controller == "ElektronikusUzenetek")
{
if (new KretaAuthorization().IsValidDualisElektronikusUzenetek())
{
return false;
}
}
if (node.Controller == "DualisBeirasok")
{
if (!new KretaAuthorization().IsValidDualisBeirasok())
{
return false;
}
}
if (node.Controller == "DualisElektronikusUzenetek")
{
if (!new KretaAuthorization().IsValidDualisElektronikusUzenetek())
{
return false;
}
}
if (node.Controller == "TanmenetImportExport")
{
if (new KretaAuthorization().IsValidTanulasiElemImportExport())
{
return false;
}
}
if (node.Controller == "Tanmenet")
{
if (new KretaAuthorization().IsValidTanulasiElemek())
{
return false;
}
}
if (node.Controller == "TanulasiElemImportExport")
{
if (!new KretaAuthorization().IsValidTanulasiElemImportExport())
{
return false;
}
}
if (node.Controller == "TanulasiElemek")
{
if (!new KretaAuthorization().IsValidTanulasiElemek())
{
return false;
}
}
return ClaimData.IsActivTanev ?
node.IsActiveyear() :
ClaimData.KovTanevID == ClaimData.SelectedTanevID ?
node.IsNextyear() :
node.IsPrevyear();
}
public static bool IsDisabled(this SiteMapNodeModel node)
{
if (node.Controller == "Merohely" ||
node.Controller == "KozmuSzamla")
{
var helper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
if (!helper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.KozmuAdatszolgaltatas, IntezmenyConfigTipusEnum.IsEnabled))
{
return true;
}
}
else if (node.Controller.Contains("Feltar") &&
node.Action == "Atjelentkezes" &&
string.IsNullOrWhiteSpace(new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<string>(IntezmenyConfigModulEnum.EszkozUgyintezes, IntezmenyConfigTipusEnum.Url)))
{
return true;
}
return node.Attributes.ContainsKey("disabled");
}
public static bool IsActiveyear(this SiteMapNodeModel node)
{
return node.Attributes.ContainsKey("activeyear");
}
public static bool IsNextyear(this SiteMapNodeModel node)
{
return node.Attributes.ContainsKey("nextyear");
}
public static bool IsPrevyear(this SiteMapNodeModel node)
{
return node.Attributes.ContainsKey("prevyear");
}
public static bool IsDisabledForHittanOktato(this SiteMapNodeModel node)
{
return node.Attributes.ContainsKey("isdisabledforhittanoktato");
}
public static bool TooltipHasValue(this SiteMapNodeModel node)
{
node.Attributes.TryGetValue("tooltip", out var value);
return node.Attributes.ContainsKey("tooltip") &&
!string.IsNullOrWhiteSpace(value?.ToString());
}
private static bool EngedelyezettLepMenupont(SiteMapNodeModel node)
{
if ((node.Area == "Intezmeny" && node.Controller == "Intezmeny" && node.Action == "Index") ||
(node.Area == "Tanulo" && node.Controller == "Tanulo" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "Osztaly" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "Csoport" && node.Action == "Index") ||
(node.Area == "Alkalmazott" && node.Controller == "Alkalmazott" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "OsztalyBesorolasElsoAlkalom") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "OsztalyAtsorolas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "OsztalyTevesBesorolasJavitas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "OsztalyKisorolas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "OsztalyVisszairatkoztatas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "CsoportBesorolas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "CsoportAtsorolas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "CsoportTevesBesorolasJavitas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "AktTanevSorolas" && node.Action == "CsoportKisorolas") ||
(node.Area == "LEPModul" && node.Controller == "EloadasokKezelese" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "BesorolasModOsztalyLista" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "BesorolasModCsoportLista" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "BesorolasModOsztalybolKiirtTanulok" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "BesorolasModCsoportbolbolKiirtTanulok" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "BesorolasModFelNemVettTanuloTorlese" && node.Action == "Index") ||
(node.Area == "Adminisztracio" && node.Controller == "AktivTanevValtasa" && node.Action == "Index") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "OsztalyBesorolasElsoAlkalom") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "OsztalyAtleptetes") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "OsztalyTevesBesorolasJavitas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "Visszairatkoztatas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "CsoportBesorolasElsoAlkalom") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "CsoportAtleptetes") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "CsoportTevesBesorolasJavitas") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "OsztalyBesorolasTorles") ||
(node.Area == "OsztalyCsoport" && node.Controller == "KovTanevSorolas" && node.Action == "CsoportBesorolasTorles") ||
(node.Area == "Leptetes" && node.Controller == "OsztalyLeptetes" && node.Action == "Index") ||
(node.Area == "Leptetes" && node.Controller == "CsoportLeptetes" && node.Action == "Index") ||
node.Title == "BESOROLÁSOK MÓDOSÍTÁSA, JAVÍTÁSA" ||
node.Title == "Nyilvántartás" ||
node.Title == "Intézményi adatok" ||
node.Title == "Tanulói adatok" ||
node.Title == "Oktatói adatok" ||
node.Title == "Tanulók besorolása" ||
node.Title == "AKTUÁLIS TANÉV - OSZTÁLYOK" ||
node.Title == "AKTUÁLIS TANÉV - CSOPORTOK" ||
node.Title == "e-Napló" ||
node.Title == "Beállítások" ||
node.Title == "KÖVETKEZŐ TANÉV - OSZTÁLYOK" ||
node.Title == "KÖVETKEZŐ TANÉV - CSOPORTOK" ||
node.Title == "BESOROLÁSOK TÖRLÉSE" ||
node.Title == "Léptetések" ||
node.Title == "Tanulók" ||
node.Title == "Osztályok/Csoportok" ||
(!ClaimData.IsCsokkentettTanuloLEP &&
((node.Area == "Adminisztracio" && node.Controller == "TanarImport" && node.Action == "Index") ||
(node.Area == "Adminisztracio" && node.Controller == "KIRTanuloImport" && node.Action == "Index") ||
(node.Area == "ImportExport" && node.Controller == "TanuloBesorolasImportExport" && node.Action == "Index") ||
(node.Area == "Adminisztracio" && node.Controller == "GondviseloImportExport" && node.Action == "Index") ||
node.Title == "Importálások" ||
node.Title == "Alkalmazott importálások" ||
node.Title == "Tanuló importálások")))
{
return true;
}
return false;
}
private static bool EngedelyezettArchivMenupont(SiteMapNodeModel node)
{
if (node.Title == "Dokumentumok" || (node.Area == "Nyomtatvanyok" &&
node.Controller == "Nyomtatvanyok" &&
node.Action == "Index"))
{
return true;
}
return false;
}
public static bool IsAlkalmazottNemLathatjaDiakokAdatait()
{
var isTanarSzerepkor = ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.Tanar.ClaimValue);
var isFelhasznaloNemTiltottMunkakoru = ClaimData.FelhasznaloSzerepCsomagok.Contains(KretaClaimPackages.FelhasznaloMunkakoreNemTiltoListas.ClaimValue);
return isTanarSzerepkor && !isFelhasznaloNemTiltottMunkakoru;
}
}
}