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

231 lines
11 KiB
C#

using System.Collections.Generic;
using System.Web.Mvc;
using Kreta.BusinessLogic.Helpers;
using Kreta.BusinessLogic.Helpers.SystemSettings;
using Kreta.BusinessLogic.Security;
using Kreta.Core;
using Kreta.Enums;
using Kreta.Enums.ManualEnums;
using Kreta.Framework;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.ApiControllers;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Models.EditorTemplates;
using Kreta.Web.Security;
namespace Kreta.Web.Areas.Adminisztracio.Controllers
{
[MvcRoleClaimsAuthorize(true)]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsOnlyAlkalmozott.ClaimValue)]
[MvcRolePackageAuthorize(KretaClaimPackages.Adminisztrator.ClaimValue)]
public class SystemSettingsController : Controller
{
#region Properties
public static string TanuloErtekelesMondatbankPopupName => "TanuloErtekelesMondatbank_Popup";
public static string TanuloErtekelesMondatbankGridName => "TanuloErtekelesMondatbankGrid";
public static string TanuloErtekelesMondatbankItemEditPopupName => "TanuloErtekelesMondatbankItem_Edit_Popup";
public static string TanuloErtekelesMondatbankItemEditFormName => "TanuloErtekelesMondatbankItemEditForm";
public static string TanuloErtekelesMondatbankItemTobbesEditPopupName => "TanuloErtekelesMondatbankItem_TobbesEdit_Popup";
private static string AMIGroupName = StringResourcesUtil.GetString(2087);
private static string HRModul = "HRModul";
private static string TavolletGroupName = StringResourcesUtil.GetString(8867);
#endregion Properties
// GET: Adminisztracio/SystemSettings
public ActionResult Index()
{
var model = new SystemSettingsModel
{
ChildModels = new List<PanelBarChildModel>(),
PanelName = "SystemSettingsPanel",
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
Animation = true
};
model.IsIntezmenySzakkepzoJuttatas = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType()).GetIntezmenyiAdatok().IsSzakkepzoJuttatas;
var icHelper = new IntezmenyConfigHelper(ConnectionTypeExtensions.GetSystemConnectionType());
var hrIsEnabled = icHelper.GetIntezmenyConfig<bool>(IntezmenyConfigModulEnum.HRModul, IntezmenyConfigTipusEnum.IsEnabled);
using (var api = new SystemSettingsApiController())
{
var groupSettings = api.GetSystemSettings();
foreach (var group in groupSettings.Values)
{
if (!ClaimData.HasAmi && group.Title == AMIGroupName)
continue;
if (!hrIsEnabled && group.Title == TavolletGroupName)
continue;
List<object> childSettings = new List<object>();
foreach (var setting in group.Childs.Values)
{
childSettings.Add(setting);
}
model.ChildModels.Add(new PanelBarChildModel { PartialViewName = "SystemSettingsPanelBar", PartialViewTitle = group.Title, Data = childSettings, Enabled = group.Enabled });
}
}
var specialisBeallitasokModel = new SpecialisBeallitasokModel
{
ChildModels = new List<PanelBarChildModel>(),
PanelName = "SpecialisBeallitasokPanel",
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
Animation = true
};
specialisBeallitasokModel.ChildModels.Add(new PanelBarChildModel { PartialViewName = "SpecialisBeallitasokPanelBar", PartialViewTitle = SystemSettingsResource.SpecialisBeallitasok });
model.SpecialisBeallitasokModel = specialisBeallitasokModel;
var rendszerszintuTorlesiLehetosegekModel = new RendszerszintuTorlesiLehetosegekModel
{
ChildModels = new List<PanelBarChildModel>(),
PanelName = "RendszerszintuTorlesPanel",
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
Animation = true
};
rendszerszintuTorlesiLehetosegekModel.ChildModels.Add(new PanelBarChildModel { PartialViewName = "RendszerszintuTorlesPanelBar", PartialViewTitle = SystemSettingsResource.RendszerszintuTorlesiLehetosegek });
model.RendszerszintuTorlesiLehetosegekModel = rendszerszintuTorlesiLehetosegekModel;
if (model.IsIntezmenySzakkepzoJuttatas)
{
var juttatasBeallitasokModel = new JuttatasBeallitasokModel
{
ChildModels = new List<PanelBarChildModel>(),
PanelName = "JuttatasBeallitasokPanel",
ExpandMode = Kendo.Mvc.UI.PanelBarExpandMode.Multiple,
Animation = true,
};
juttatasBeallitasokModel.ChildModels.Add(new PanelBarChildModel { PartialViewName = "JuttatasBeallitasokPanelBar", PartialViewTitle = SystemSettingsResource.JuttatasBeallitasok });
model.JuttatasBeallitasokModel = juttatasBeallitasokModel;
}
return View(model);
}
[HttpGet]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
public ActionResult OpenCsoportTipusListWindow()
{
PopUpModel pm = new PopUpModel(null, "CsoportTipusList_Edit_Popup");
pm = pm.AddCancelBtn(pm, "SettingsHelper.csoportTipusListWindowClose");
pm = pm.AddBtn(pm, "saveCsoportTipusList", CommonResource.Mentes, "SettingsHelper.saveCsoportTipusList");
return PartialView(Constants.General.PopupView, pm);
}
[HttpGet]
public ActionResult OpenGradeWeightWindow()
{
SystemSettingsApiController api = new SystemSettingsApiController();
var model = api.GetGradeWeights();
PopUpModel pm = new PopUpModel(model, "SetGradeWeights_Bevitel");
pm = pm.AddCancelBtn(pm, "SettingsHelper.gradeWeightsWindowClose");
pm = pm.AddBtn(pm, "saveGradeWeights", CommonResource.Mentes, "SettingsHelper.saveGradeWeights");
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult FejlecSzerkesztoPopUp()
{
PopUpModel pm;
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var model = new FejlecLablecSzerkesztoModel(helper.GetIntezmenyFejlec()) { IsFejlec = true };
pm = CreateFejlecLablecModel(model);
return PartialView(Constants.General.PopupView, pm);
}
public ActionResult LablecSzerkesztoPopUp()
{
PopUpModel pm;
var helper = new IntezmenyHelper(ConnectionTypeExtensions.GetSessionConnectionType());
var model = new FejlecLablecSzerkesztoModel(helper.GetIntezmenyLablec());
pm = CreateFejlecLablecModel(model);
return PartialView(Constants.General.PopupView, pm);
}
private PopUpModel CreateFejlecLablecModel(FejlecLablecSzerkesztoModel model)
{
var pm = new PopUpModel(model, "FejlecLablecSzerkeszto");
pm = pm.AddCancelBtn(pm, "function(){FejlecLablecSzerkesztoHelper.Cancel();}");
pm = pm.AddDeleteBtn(pm, "function(){FejlecLablecSzerkesztoHelper.Torles();}");
pm = pm.AddOkBtn(pm, "function(){FejlecLablecSzerkesztoHelper.Mentes();}");
pm = pm.AddBtn(pm, "generate", CommonResource.Elonezet, "function(){FejlecLablecSzerkesztoHelper.Generalas();}");
return pm;
}
#region Tanuló Értékelés Mondatbank
[HttpGet]
[MvcValidateAjaxAntiForgeryToken]
[MvcRolePackageDenyAuthorize(KretaClaimPackages.IsSzirIntezmeny.ClaimValue)]
public ActionResult OpenTanuloErtekelesMondatbankPopup()
{
PopUpModel popUpModel = new PopUpModel(new TanuloErtekelesMondatbankSearchModel(), TanuloErtekelesMondatbankPopupName);
popUpModel = popUpModel.AddBtn(popUpModel, "TanuloErtekelesMondatbankCancelButton", CommonResource.Megse, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankPopupCancel", "BtnCancel");
return PartialView(Constants.General.PopupView, popUpModel);
}
[HttpPost]
[MvcValidateAjaxAntiForgeryToken]
public ActionResult OpenTanuloErtekelesMondatbankItemEditPopup(int? id)
{
bool isModify = id.IsEntityId();
TanuloErtekelesMondatbankItemModel model;
if (isModify)
{
var helper = new TanuloErtekelesMondatbankHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model = new TanuloErtekelesMondatbankItemModel(helper.GetTanuloErtekelesMondatbankItemById(id.Value));
}
else
{
model = new TanuloErtekelesMondatbankItemModel();
}
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
var popupModel = new PopUpModel(model, TanuloErtekelesMondatbankItemEditPopupName);
popupModel = popupModel.AddCancelBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupCancel");
popupModel = popupModel.AddOkBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupSave");
if (isModify)
{
popupModel.AddDeleteBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupDelete");
}
return PartialView(Constants.General.PopupView, popupModel);
}
public ActionResult OpenTobbesModTanuloErtekelesMondatbankPopUp(List<int> idList)
{
var model = new TanuloErtekelesMondatbankTobbesItemModel
{
SelectedIdList = idList,
};
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
model.NemzetiDokumentumNyelvek = systemSettingsHelper.GetSystemSettingValue<List<int>>(RendszerBeallitasTipusEnum.Nemzeti_Nyelvi_Dokumentum_Nyelvek);
var popupModel = new PopUpModel(model, TanuloErtekelesMondatbankItemTobbesEditPopupName);
popupModel = popupModel.AddCancelBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemEditPopupCancel");
popupModel = popupModel.AddOkBtn(popupModel, "TanuloErtekelesMondatbankHelper.tanuloErtekelesMondatbankItemTobbesEditPopupSave");
return PartialView(Constants.General.PopupView, popupModel);
}
#endregion Tanuló Értékelés Mondatbank
}
}