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 { /// /// Default view visszaadás /// /// public ActionResult Index() { var systemSettingsHelper = new SystemSettingsHelper(ConnectionTypeExtensions.GetSessionConnectionType()); var model = new ProfilModel { IsElerhetosegAdatokSzerkeszthetoek = systemSettingsHelper.GetSystemSettingValue(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() }; } } }