public ActionResult TestTemplate(TestMessageTemplateModel model, FormCollection form) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageMessageTemplates)) return AccessDeniedView(); var messageTemplate = _messageTemplateService.GetMessageTemplateById(model.Id); if (messageTemplate == null) //No message template found with the specified id return RedirectToAction("List"); var tokens = new List<Token>(); foreach (var formKey in form.AllKeys) if (formKey.StartsWith("token_", StringComparison.InvariantCultureIgnoreCase)) { var tokenKey = formKey.Substring("token_".Length).Replace("%", ""); var tokenValue = form[formKey]; tokens.Add(new Token(tokenKey, tokenValue)); } _workflowMessageService.SendTestEmail(messageTemplate.ID, model.SendTo, tokens, model.LanguageId); if (ModelState.IsValid) { SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.MessageTemplates.Test.Success")); } return RedirectToAction("Edit", new {id = messageTemplate.ID}); }
public ActionResult TestTemplate(int id, int languageId = 0) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageMessageTemplates)) return AccessDeniedView(); var messageTemplate = _messageTemplateService.GetMessageTemplateById(id); if (messageTemplate == null) //No message template found with the specified id return RedirectToAction("List"); var model = new TestMessageTemplateModel { Id = messageTemplate.ID, LanguageId = languageId }; var tokens = _messageTokenProvider.GetListOfAllowedTokens().Distinct().ToList(); //filter them to the current template var subject = messageTemplate.GetLocalized(mt => mt.Subject, languageId); var body = messageTemplate.GetLocalized(mt => mt.Body, languageId); //subject = messageTemplate.Subject; //body = messageTemplate.Body; tokens = tokens.Where(x => subject.Contains(x) || body.Contains(x)).ToList(); model.Tokens = tokens; return View(model); }