/// <summary> /// Prepare the contact contributor model /// </summary> /// <param name="model">Contact contributor model</param> /// <param name="contributor">Contributor</param> /// <param name="excludeProperties">Whether to exclude populating of model properties from the entity</param> /// <returns>Contact contributor model</returns> public virtual ContactContributorModel PrepareContactContributorModel(ContactContributorModel model, Contributor contributor, bool excludeProperties) { if (model == null) { throw new ArgumentNullException("model"); } if (contributor == null) { throw new ArgumentNullException("contributor"); } if (!excludeProperties) { model.Email = _workContext.CurrentCustomer.Email; model.FullName = _workContext.CurrentCustomer.GetFullName(); } model.SubjectEnabled = _commonSettings.SubjectFieldOnContactUsForm; model.DisplayCaptcha = _captchaSettings.Enabled && _captchaSettings.ShowOnContactUsPage; model.ContributorId = contributor.Id; model.ContributorName = contributor.GetLocalized(x => x.Name); return(model); }
public virtual ActionResult ContactContributor(int contributorId) { if (!_contributorSettings.AllowCustomersToContactContributors) { return(RedirectToRoute("HomePage")); } var contributor = _contributorService.GetContributorById(contributorId); if (contributor == null || !contributor.Active || contributor.Deleted) { return(RedirectToRoute("HomePage")); } var model = new ContactContributorModel(); model = _commonModelFactory.PrepareContactContributorModel(model, contributor, false); return(View(model)); }
public virtual ActionResult ContactContributorSend(ContactContributorModel model, bool captchaValid) { if (!_contributorSettings.AllowCustomersToContactContributors) { return(RedirectToRoute("HomePage")); } var contributor = _contributorService.GetContributorById(model.ContributorId); if (contributor == null || !contributor.Active || contributor.Deleted) { return(RedirectToRoute("HomePage")); } //validate CAPTCHA if (_captchaSettings.Enabled && _captchaSettings.ShowOnContactUsPage && !captchaValid) { ModelState.AddModelError("", _captchaSettings.GetWrongCaptchaMessage(_localizationService)); } model = _commonModelFactory.PrepareContactContributorModel(model, contributor, true); if (ModelState.IsValid) { string subject = _commonSettings.SubjectFieldOnContactUsForm ? model.Subject : null; string body = Core.Html.HtmlHelper.FormatText(model.Enquiry, false, true, false, false, false, false); _workflowMessageService.SendContactContributorMessage(contributor, _workContext.WorkingLanguage.Id, model.Email.Trim(), model.FullName, subject, body); model.SuccessfullySent = true; model.Result = _localizationService.GetResource("ContactContributor.YourEnquiryHasBeenSent"); return(View(model)); } return(View(model)); }