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,409 @@
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Extensions;
using Kreta.BusinessLogic.HelperClasses.OsztalyCsoportbaSorolas;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Interfaces;
using Kreta.BusinessLogic.Security;
using Kreta.Core.FeatureToggle;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Resources;
using Kreta.Web.Areas.Alkalmazott.Models;
using Kreta.Web.Areas.Intezmeny.Models;
using Kreta.Web.Areas.Orarend.Models;
using Kreta.Web.Areas.OsztalyCsoport.Models;
using Kreta.Web.Areas.Tanulo.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.TabStrip;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.DualisKepzes.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsDefaultAdminUser.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Dualis_Admin.ClaimValue, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
[Attributes.KretaGlobalLanguageChangeActionFilter(LanguageCode = "hu-Dualis")]
public class DualisAdminController : BaseDualisSzerzodesController
{
public bool IsDualisKepzesEnabled => new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType()).GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.DualisKepzes, IntezmenyConfigTipusEnum.IsEnabled);
private readonly IFeatureContext _featureContext;
private IKretaAuthorization Authorization { get; }
public DualisAdminController(IFeatureContext featureContext, IFileServiceHelper fileServiceHelper, IKretaAuthorization authorization) : base(fileServiceHelper)
{
Authorization = authorization;
_featureContext = featureContext;
}
public ActionResult DualisTanulok()
{
if (!Authorization.IsValidDualisTanulok())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new TanuloSearchModel
{
FeladatKategoriaId = Constants.MindenErteke.FeladatKategoria,
IsFromSzervezet = IsDualisKepzesEnabled,
TanuloHozzaferesGeneralasaGombLathato = false
};
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/Tanulo/Views/Tanulo/Index.cshtml", model);
}
public ActionResult DualisTanulokBesorolas()
{
if (!Authorization.IsValidDualisTanuloSorolas())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var helper = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var data = helper.GetTanevInfo();
var model = new AktTanevCsoportBesorolasModel()
{
IsFromSzervezet = IsDualisKepzesEnabled,
FromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetEmptyData" }),
FromChangeEvent = "",
FromPlaceholder = BesorolasResource.TanulokCsoportbaSorolasaElsoAlkalommal,
ToUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDualisCsoportokList" }),
ToChangeEvent = "AktTanevCsoportBesorolasHelper.changeToCsoport",
ToPlaceholder = BesorolasResource.ValasszaKiACelcsoportot,
Zaradek = new SorolasZaradek(ConnectionTypeExtensions.GetSessionConnectionType(), false, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetZaradekList" })),
MinDatum = data.KezdoNap.ToString(),
MaxDatum = data.UtolsoNap.ToString(),
TanevElsoNapja = data.KezdoNap.Date,
GetTanulokListFromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAktivTanevDualisTanulok" }),
GetTanulokListToUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAktivTanevCsoportTanuloi" }),
SaveUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AktTanevSorolasApi", action = "CsoportBesorolas" })
};
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/OsztalyCsoport/Views/AktTanevSorolas/CsoportBesorolas.cshtml", model);
}
public ActionResult DualisTanuloAthelyezes()
{
if (!Authorization.IsValidDualisTanuloSorolas())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var helper = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var data = helper.GetTanevInfo();
var model = new AktTanevCsoportAtsorolasModel()
{
IsFromSzervezet = IsDualisKepzesEnabled,
FromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDualisCsoportokList" }),
FromChangeEvent = "AktTanevCsoportAtsorolasHelper.changeFromCsoport",
FromPlaceholder = BesorolasResource.ValasszaKiAForrascsoportot,
ToUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDualisCsoportokList" }),
ToChangeEvent = "AktTanevCsoportAtsorolasHelper.changeToCsoport",
ToPlaceholder = BesorolasResource.ValasszaKiACelcsoportot,
Zaradek = new SorolasZaradek(ConnectionTypeExtensions.GetSessionConnectionType(), true, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetZaradekList" })),
MinDatum = data.KezdoNap.ToString(),
MaxDatum = data.UtolsoNap.ToString(),
TanevElsoNapja = data.KezdoNap.Date,
GetTanulokListFromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAktivTanevCsoportTanuloi" }),
GetTanulokListToUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAktivTanevCsoportTanuloi" }),
SaveUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AktTanevSorolasApi", action = "CsoportAtsorolas" })
};
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
model.Zaradek.IsZaradekKotelezo = false;
return View("~/Areas/OsztalyCsoport/Views/AktTanevSorolas/CsoportAtsorolas.cshtml", model);
}
public ActionResult DualisTanuloBesorolasJavitas()
{
if (!Authorization.IsValidDualisTanuloSorolas())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new AktTanevCsoportTevesBesorolasJavitasModel()
{
IsFromSzervezet = IsDualisKepzesEnabled,
FromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDualisCsoportokList" }),
FromChangeEvent = "AktTanevCsoportTevesBesorolasJavitasHelper.changeFromCsoport",
FromPlaceholder = BesorolasResource.ValasszaKiAForrascsoportot,
ToUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDualisCsoportokList" }),
ToChangeEvent = "AktTanevCsoportTevesBesorolasJavitasHelper.changeToCsoport",
ToPlaceholder = BesorolasResource.ValasszaKiACelcsoportot,
Zaradek = new SorolasZaradek(ConnectionTypeExtensions.GetSessionConnectionType(), false, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetZaradekList" })),
GetTanulokListFromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAktivTanevCsoportTanuloi" }),
GetTanulokListToUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAktivTanevCsoportTanuloi" }),
SaveUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AktTanevSorolasApi", action = "CsoportTevesBesorolasJavitas" })
};
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/OsztalyCsoport/Views/AktTanevSorolas/CsoportTevesBesorolasJavitas.cshtml", model);
}
public ActionResult DualisTanuloKileptetes()
{
if (!Authorization.IsValidDualisTanuloSorolas())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var helper = new TanevHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType());
var data = helper.GetTanevInfo();
var model = new AktTanevCsoportKisorolasModel()
{
IsFromSzervezet = IsDualisKepzesEnabled,
FromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetDualisCsoportokList" }),
FromChangeEvent = "AktTanevCsoportKisorolasHelper.changeFromCsoport",
FromPlaceholder = BesorolasResource.ValasszaKiAForrascsoportot,
ToUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetEmptyData" }),
ToChangeEvent = "",
ToPlaceholder = "",
Zaradek = new SorolasZaradek(ConnectionTypeExtensions.GetSessionConnectionType(), true, Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetZaradekList" })),
MinDatum = data.KezdoNap.ToString(),
MaxDatum = data.UtolsoNap.ToString(),
TanevElsoNapja = data.KezdoNap.Date,
GetTanulokListFromUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "ComboBoxHelperApi", action = "GetAktivTanevCsoportTanuloi" }),
GetTanulokListToUrl = string.Empty,
SaveUrl = Url.HttpRouteUrl(Constants.RouteKey.ActionApi, new { controller = "AktTanevSorolasApi", action = "CsoportKisorolas" })
};
model.Zaradek.IsZaradekKotelezo = false;
return View("~/Areas/OsztalyCsoport/Views/AktTanevSorolas/CsoportKisorolas.cshtml", model);
}
public ActionResult DualisAdminTanariOrarend()
{
if (!Authorization.IsValidDualisAdminOrarend())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var controllerName = Constants.Controllers.AdminTanariOrarend;
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var model = new AdminTanariOrarendModel
{
TabList = GetDualisAdminOrarendTabs(controllerName)
};
model.IsFromSzervezet = IsDualisKepzesEnabled;
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek(IsDualisKepzesEnabled);
model.CalendarMinTime = new TimeSpan(0, 0, 0);
model.CalendarMaxTime = new TimeSpan(23, 59, 59);
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
ViewBag.napirendStart = model.CalendarMinTime;
ViewBag.napirendEnd = model.CalendarMaxTime;
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
return View("~/Areas/Orarend/Views/" + controllerName + "/Index.cshtml", model);
}
public ActionResult DualisAdminOsztalyOrarend()
{
if (!Authorization.IsValidDualisAdminOrarend())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var controllerName = Constants.Controllers.AdminOsztalyOrarend;
var model = new AdminOsztalyOrarendModel
{
TabList = GetDualisAdminOrarendTabs(controllerName)
};
model.IsFromSzervezet = IsDualisKepzesEnabled;
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek(IsDualisKepzesEnabled);
model.CalendarMinTime = new TimeSpan(0, 0, 0);
model.CalendarMaxTime = new TimeSpan(23, 59, 59);
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
ViewBag.napirendStart = model.CalendarMinTime;
ViewBag.napirendEnd = model.CalendarMaxTime;
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
return View("~/Areas/Orarend/Views/" + controllerName + "/Index.cshtml", model);
}
public ActionResult DualisAdminTeremOrarend()
{
if (!Authorization.IsValidDualisAdminOrarend())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var controllerName = Constants.Controllers.AdminTeremOrarend;
var model = new AdminTeremOrarendModel
{
TabList = GetDualisAdminOrarendTabs(controllerName)
};
model.IsFromSzervezet = IsDualisKepzesEnabled;
var orarendHelper = new OrarendHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.HetirendJson = orarendHelper.GetHetirendek();
model.NaptariHetekHetirendJson = orarendHelper.GetNaptariHetekHetirendek(IsDualisKepzesEnabled);
model.CalendarMinTime = new TimeSpan(0, 0, 0);
model.CalendarMaxTime = new TimeSpan(23, 59, 59);
model.CsengetesiRendMinTime = new TimeSpan();
model.CsengetesiRendMaxTime = new TimeSpan(0, 25, 0);
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSystemConnectionType());
ViewBag.napirendStart = model.CalendarMinTime;
ViewBag.napirendEnd = model.CalendarMaxTime;
model.IsOravegeBeallitasOrahosszAlapjan = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.Orarendi_Elem_Hossz);
return View("~/Areas/Orarend/Views/" + controllerName + "/Index.cshtml", model);
}
public ActionResult DualisAlkalmazottak()
{
if (!Authorization.IsValidDualisAlkalmazottak())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new AlkalmazottSearchModel
{
IsFromSzervezet = IsDualisKepzesEnabled,
ControllerName = Constants.Controllers.DualisAdminAlkalmazott,
ApiControllerName = Constants.ApiControllers.DualisAdminAlkalmazottApi,
};
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
model.MunkaugyiAdatokKlebelsbergOrNSZFH =
_featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokKlebelsberg)
|| _featureContext.IsEnabled(Core.Constants.FeatureName.MunkaugyiAdatokNSZFH);
model.FeladatEllatasiHelyId = ClaimData.FelhelySzuro;
return View("~/Areas/Alkalmazott/Views/Alkalmazott/Index.cshtml", model);
}
public ActionResult DualisCsoportok(string filter)
{
if (!Authorization.IsValidDualisCsoportok())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = CsoportSearchModel.SetFilterCsoportSearchModel(filter);
model.SearchFeladatEllatasiHelyId = ClaimData.FelhelySzuro;
model.IsFromSzervezet = IsDualisKepzesEnabled;
model.ControllerName = Constants.Controllers.DualisAdminCsoport;
model.ApiControllerName = Constants.ApiControllers.DualisAdminCsoportApi;
model.SearchCsoportTipusId = (int)CsoportTipusEnum.dualis_kepzesi_csoport;
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/OsztalyCsoport/Views/Csoport/Index.cshtml", model);
}
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzakiranyuOktatasertFelelos.ClaimValue)]
public ActionResult DualisSzerzodes()
{
return View("DualisAdminSzerzodes");
}
public ActionResult Helyszinek()
{
if (!Authorization.IsValidDualisHelyszinek())
{
return Redirect(Url.Action("AccessDenied", "ErrorHandler", new { area = string.Empty }));
}
var model = new TeremSearchModel
{
IsFromSzervezet = IsDualisKepzesEnabled,
ControllerName = Constants.Controllers.DualisAdminTerem,
ApiControllerName = Constants.ApiControllers.DualisAdminTeremApi,
};
if (ClaimData.FelhasznaloSzerepkor != Kreta.Enums.SzerepkorTipusEnum.Adminisztrator)
{
model.SzervezetId = new SzervezetHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetAlkalmazottSzervezetId(ClaimData.FelhasznaloId);
}
return View("~/Areas/Intezmeny/Views/Terem/Index.cshtml", model);
}
public List<TabStripItemModel> GetDualisAdminOrarendTabs(string controllerName, CalendarModel calendarModel = null)
{
var list = new List<TabStripItemModel> {
new TabStripItemModel
{
ItemId = "0",
ItemName = AdminisztracioResource.Tanorak,
Area = "Orarend",
Controller = "Dualis" + controllerName,
Action = "GetOrarendiOrak",
RouteParameters = new Dictionary<string, string>
{
{ "index", "0" }
}
},
new TabStripItemModel
{
ItemId = "1",
ItemName = AdminisztracioResource.Napirend,
Area = "Orarend",
Controller = "Dualis" + controllerName,
Action = "GetTanoranKivuliFoglalkozasok",
RouteParameters = new Dictionary<string, string>
{
{ "index", "1" }
}
},
};
return list;
}
}
}