228 lines
11 KiB
C#
228 lines
11 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Web.Mvc;
|
|
using Kreta.BusinessLogic.HelperClasses;
|
|
using Kreta.BusinessLogic.Helpers;
|
|
using Kreta.BusinessLogic.Helpers.SystemSettings;
|
|
using Kreta.BusinessLogic.Security;
|
|
using Kreta.Core.FeatureToggle;
|
|
using Kreta.Enums;
|
|
using Kreta.Enums.ManualEnums;
|
|
using Kreta.Web.Areas.Adminisztracio.Helpers;
|
|
using Kreta.Web.Areas.Adminisztracio.Models;
|
|
using Kreta.Web.Controllers;
|
|
using Kreta.Web.Helpers;
|
|
using Kreta.Web.Helpers.Modal;
|
|
using Kreta.Web.Models;
|
|
using Kreta.Web.Models.EditorTemplates;
|
|
using Kreta.Web.Security;
|
|
using Kreta.Web.Utils;
|
|
|
|
namespace Kreta.Web.Areas.Adminisztracio.Controllers
|
|
{
|
|
[MvcRoleClaimsAuthorize(true)]
|
|
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
|
public class ProfilController : Controller
|
|
{
|
|
/// <summary>
|
|
/// Default view visszaadás
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public ActionResult Index()
|
|
{
|
|
var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType());
|
|
|
|
var model = new ProfilModel
|
|
{
|
|
IsElerhetosegAdatokSzerkeszthetoek = systemSettingsHelper.GetSystemSettingValue<bool>(RendszerBeallitasTipusEnum.tanulok_es_gondviselok_szerkesztheti_sajat_elerhetosegi_adataikat)
|
|
};
|
|
|
|
return View("Index", model);
|
|
}
|
|
|
|
[HttpPost]
|
|
public ActionResult GenerateNewEgyhaztartasbanElokRow(EgyhaztartasbanElokRowModel model)
|
|
{
|
|
return View("EgyHaztartasbanLevokRow", model);
|
|
}
|
|
|
|
private readonly IFeatureContext FeatureContext;
|
|
|
|
public ProfilController(IFeatureContext featureContext)
|
|
{
|
|
FeatureContext = featureContext;
|
|
}
|
|
|
|
public SajatAdatlapInfoModel GetDataForInfo(int id)
|
|
{
|
|
if (ClaimManager.HasPackage(KretaClaimPackages.Naplo.ClaimValue) || ClaimManager.HasPackage(KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue))
|
|
{
|
|
return new ProfilHelper().GetTanarSajatAdatlapDataForInfo(id);
|
|
}
|
|
if (ClaimManager.HasPackage(KretaClaimPackages.Ellenorzo.ClaimValue))
|
|
{
|
|
if (ClaimData.GondviseloId.HasValue)
|
|
{
|
|
return new ProfilHelper().GetGondviseloSajatAdatlapDataForInfo(ClaimData.GondviseloId.Value, Request.Url.Host);
|
|
}
|
|
return new ProfilHelper().GetTanuloSajatAdatlapDataForInfo(id, Request.Url.Host);
|
|
}
|
|
throw new Exception();
|
|
}
|
|
|
|
[MvcRolePackageAuthorize(TanevEnum.Mind, KretaClaimPackages.Adminisztrator.ClaimValue, KretaClaimPackages.Naplo.ClaimValue, KretaClaimPackages.Ellenorzo.ClaimValue)]
|
|
public ActionResult SajatAdatlapPopUp()
|
|
{
|
|
SajatAdatlapInfoModel alkalmazottModel = GetDataForInfo(ClaimData.FelhasznaloId);
|
|
alkalmazottModel.HideControlsForAlkalmazott = true;
|
|
|
|
var model = new PopUpModel(alkalmazottModel, "Info_SajatAdatlap");
|
|
|
|
model.Buttons.Add(new ModalButtonModel() { Name = "BtnSajatAdatlapBezaras", Text = Resources.CommonResource.Bezaras, EventName = "SajatAdatlapHelper.closeSajatAdatlapPopUp" });
|
|
|
|
return PartialView(Constants.General.PopupView, model);
|
|
}
|
|
|
|
public ActionResult LoadJelszoModositas()
|
|
{
|
|
var model = new ProfilModel
|
|
{
|
|
JelszoValtoztatasNemLehetseges = ClaimManager.GetClaimIdentity().HasClaim(KretaClaimTypes.Resource, KretaClaimPackages.Ellenorzo.Resources.A_felhasznalok_nem_valtoztathatjak_meg_a_jelszavukat_az_elektronikus_ellenorzoben)
|
|
};
|
|
return PartialView("JelszoModositas_Bevitel", model);
|
|
}
|
|
|
|
public ActionResult LoadProfilkepFeltoltes()
|
|
{
|
|
var model = new ProfilModel();
|
|
return PartialView("ProfilkepFeltoltes_Bevitel", model);
|
|
}
|
|
|
|
public ActionResult LoadTippekBeallitasa()
|
|
{
|
|
var model = new TippModel();
|
|
model.TippekElrejtese = ProfileUtils.HideTips;
|
|
model.EmailHelyettesites = ProfileUtils.EmailHelyettesites;
|
|
model.HianyzokAutoKitoltes = ProfileUtils.IsHianyzokAutoKitoltesEnabled;
|
|
model.FogadooraEmail = ProfileUtils.FogadooraEmail;
|
|
model.FogadooraEmailUj = ProfileUtils.FogadooraEmailUj;
|
|
model.FogadooraEmailJelentkezes = ProfileUtils.FogadooraEmailJelentkezes;
|
|
model.FogadooraEmailJelentkezesLemondas = ProfileUtils.FogadooraEmailJelentkezesLemondas;
|
|
model.FogadooraEmlekeztetoEmailJelentkezes = ProfileUtils.FogadooraEmlekeztetoEmailJelentkezes;
|
|
model.FogadooraEmailTorles = ProfileUtils.FogadooraEmailTorles;
|
|
model.FogadooraEmail3Nappal = ProfileUtils.FogadooraEmail3Nappal;
|
|
model.FogadooraEmail1Nappal = ProfileUtils.FogadooraEmail1Nappal;
|
|
model.NemNaplozottTanorakEmail = ProfileUtils.NemNaplozottTanorakEmail;
|
|
model.AtlagMegjelenitesTipusa = (int)ProfileUtils.AtlagMegjelenitesTipusa;
|
|
model.AtlagbaBeleszamitoOsztalyTipusa = (int)ProfileUtils.AtlagbaBeleszamitoOsztalyTipusa;
|
|
model.AtlagMegjelenitesTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetAtlagMegjelenitesTipusList();
|
|
model.AtlagbaBeleszamitoOsztalyTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetAtlagbaBeleszamitoOsztalyTipusList();
|
|
model.HaladasiNaploFulTipusa = (int)ProfileUtils.HaladasiNaploFulTipusa;
|
|
model.HaladasiNaploFulTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetHaladasiNaploFulTipusList();
|
|
model.HaladasiNaploNezetTipusa = (int)ProfileUtils.HaladasiNaploNezetTipusa;
|
|
model.HaladasiNaploNezetTipusaList = new ComboBoxHelperEnumApiController(FeatureContext).GetHaladasiNaploNezetTipusList();
|
|
model.HetirendMegjeleniteseBelepeskor = ProfileUtils.HetirendMegjeleniteseBelepeskor;
|
|
|
|
return PartialView("Tippek_Beallitas", model);
|
|
}
|
|
|
|
public ActionResult LoadElerhetosegekSzerk()
|
|
{
|
|
var elerhetosegek = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetElerhetosegek(ClaimData.FelhasznaloId);
|
|
var model = ConvertElerhetosegekModCoToModel(elerhetosegek);
|
|
return PartialView("ElerhetosegekModositas_Bevitel", model);
|
|
}
|
|
|
|
public ActionResult LoadElerhetosegek()
|
|
{
|
|
var elerhetosegek = new FelhasznaloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetElerhetosegek(ClaimData.FelhasznaloId);
|
|
var model = ConvertElerhetosegekModCoToModel(elerhetosegek);
|
|
return PartialView("ElerhetosegekMegjelenitese", model);
|
|
}
|
|
|
|
public ActionResult LoadGondviseloAdatokSzerk()
|
|
{
|
|
var model = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviseloElerhetosegAdatok(ClaimData.GondviseloId.Value);
|
|
|
|
return PartialView("GondviseloAdatokSzerkesztese", ConvertGondviseloAdatokModCOToModel(model));
|
|
}
|
|
|
|
public ActionResult LoadGondviseloAdatok()
|
|
{
|
|
var model = new TanuloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviseloElerhetosegAdatok(ClaimData.GondviseloId.Value);
|
|
|
|
return PartialView("GondviseloAdatokMegjelenitese", ConvertGondviseloAdatokModCOToModel(model));
|
|
}
|
|
|
|
public ActionResult LoadGondviselo4TSzerkesztese()
|
|
{
|
|
if (!ClaimData.FeltarGondviseloEnabled)
|
|
{
|
|
return PartialView("Empty");
|
|
}
|
|
|
|
var co = new GondviseloHelper(ConnectionTypeExtensions.GetActiveSessionConnectionType()).GetGondviselo4TAdatok(ClaimData.GondviseloId.Value);
|
|
return PartialView("Gondviselo4TAdatokSzerkesztese", new Gondviselo4TAdatokModel(co));
|
|
}
|
|
|
|
[HttpPost]
|
|
[MvcValidateAjaxAntiForgeryToken]
|
|
public ActionResult TippBeallitasokMentese(TippModel model)
|
|
{
|
|
ProfileUtils.HideTips = model.TippekElrejtese;
|
|
ProfileUtils.EmailHelyettesites = model.EmailHelyettesites;
|
|
ProfileUtils.IsHianyzokAutoKitoltesEnabled = model.HianyzokAutoKitoltes;
|
|
ProfileUtils.FogadooraEmail = model.FogadooraEmail;
|
|
ProfileUtils.FogadooraEmailUj = model.FogadooraEmailUj;
|
|
ProfileUtils.FogadooraEmailJelentkezes = model.FogadooraEmailJelentkezes;
|
|
ProfileUtils.FogadooraEmailJelentkezesLemondas = model.FogadooraEmailJelentkezesLemondas;
|
|
ProfileUtils.FogadooraEmlekeztetoEmailJelentkezes = model.FogadooraEmlekeztetoEmailJelentkezes;
|
|
ProfileUtils.FogadooraEmailTorles = model.FogadooraEmailTorles;
|
|
ProfileUtils.FogadooraEmail3Nappal = model.FogadooraEmail3Nappal;
|
|
ProfileUtils.FogadooraEmail1Nappal = model.FogadooraEmail1Nappal;
|
|
ProfileUtils.NemNaplozottTanorakEmail = model.NemNaplozottTanorakEmail;
|
|
ProfileUtils.AtlagMegjelenitesTipusa = (AtlagMegjelenitesTipus)model.AtlagMegjelenitesTipusa;
|
|
ProfileUtils.AtlagbaBeleszamitoOsztalyTipusa = (AtlagbaBeleszamitoOsztalyTipus)model.AtlagbaBeleszamitoOsztalyTipusa;
|
|
ProfileUtils.HaladasiNaploFulTipusa = (HaladasiNaploFulTipus)model.HaladasiNaploFulTipusa;
|
|
ProfileUtils.HaladasiNaploNezetTipusa = (HaladasiNaploNezetTipus)model.HaladasiNaploNezetTipusa;
|
|
ProfileUtils.HetirendMegjeleniteseBelepeskor = model.HetirendMegjeleniteseBelepeskor;
|
|
|
|
ProfileUtils.SaveUserProfileDocument();
|
|
|
|
return new HttpStatusCodeResult(HttpStatusCode.OK);
|
|
}
|
|
|
|
private GondviseloAdatokModModel ConvertGondviseloAdatokModCOToModel(GondviseloAdatokModCO co)
|
|
{
|
|
return new GondviseloAdatokModModel
|
|
{
|
|
AktEmail = co.AktEmail,
|
|
AktTelefon = co.AktTelefon
|
|
};
|
|
}
|
|
|
|
private ElerhetosegekModel ConvertElerhetosegekModCoToModel(ElerhetosegekModCO co)
|
|
{
|
|
return new ElerhetosegekModel
|
|
{
|
|
Email = co.Email.Select(e => new EmailElerhetosegModel
|
|
{
|
|
Alapertelmezett = e.Alapertelmezett,
|
|
EmailCim_Input = e.EmailCim,
|
|
Tipus = e.Tipus,
|
|
Id = e.Id,
|
|
Status = e.Status
|
|
}).ToList(),
|
|
Telefon = co.Telefon.Select(t => new TelefonElerhetosegModel
|
|
{
|
|
Alapertelmezett = t.Alapertelmezett,
|
|
Telefonszam = t.Telefonszam,
|
|
Tipus = t.Tipus,
|
|
Id = t.Id,
|
|
Status = t.Status
|
|
}).ToList()
|
|
};
|
|
}
|
|
}
|
|
}
|