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

51 lines
1.6 KiB
C#

using System.Web.Mvc;
using Kreta.BusinessLogic.Exceptions;
using Kreta.BusinessLogic.HelperClasses;
using Kreta.BusinessLogic.Helpers;
using Kreta.Resources;
using Kreta.Web.Areas.Adminisztracio.Models;
using Kreta.Web.Helpers;
using Kreta.Web.Helpers.Error;
using Kreta.Web.Helpers.ReCaptcha;
namespace Kreta.Web.Areas.Adminisztracio.Controllers
{
[AllowAnonymous]
public class ElfelejtettJelszoController : Controller
{
public ActionResult Index()
{
return View(new ElfelejtettJelszoModel());
}
[HttpPost]
public JsonResult LinkKuldes(ElfelejtettJelszoModel model)
{
if (!ModelState.IsValid)
{
Response.StatusCode = 400;
Response.TrySkipIisCustomErrors = true;
var modelErrors = ModelState.AllErrors();
return Json(modelErrors);
}
try
{
var captcha = ReCaptchaValidator.Validate(model.ReCaptcha);
if (!captcha.Success)
{
return Json(new IsSuccessResponseCo(false, string.Join(",", captcha.ErrorCodes)));
}
new JelszoModositasLinkHelper(ConnectionTypeExtensions.GetOrganizationConnectionType()).JelszoValtoztatoLinkGeneralasEsKuldes(model.BejelentkezesiNev, model.EmailCim);
}
catch (KretaJelszoModositasException e)
{
return Json(new IsSuccessResponseCo(false, e.Message));
}
return Json(new IsSuccessResponseCo(true, AdminisztracioResource.SikeresElfelejtettJelszoFeedback));
}
}
}