[SurveyPrivilegeFilter]
public class SurveyPageController : BaseRenderController
{
private readonly ILogger _logger;
private readonly IFormService _formService;
private readonly IVariationContextAccessor _variationContextAccessor;
private readonly ServiceContext _serviceContext;
private readonly IPublishedUrlProvider _publishedUrlProvider;
private readonly IUmbracoContextAccessor _umbracoContextAccessor;
public SurveyPageController(
ILogger
logger,
IFormService formService,
ICompositeViewEngine compositeViewEngine,
IUmbracoContextAccessor umbracoContextAccessor,
IVariationContextAccessor variationContextAccessor,
ServiceContext context,
IPublishedUrlProvider publishedUrlProvider,
IMemberExtensionsService memberExtensionsService)
: base(logger, compositeViewEngine, umbracoContextAccessor, memberExtensionsService)
{
_logger = logger;
_formService = formService;
_variationContextAccessor = variationContextAccessor;
_serviceContext = context;
_publishedUrlProvider = publishedUrlProvider;
_umbracoContextAccessor = umbracoContextAccessor;
}
public override IActionResult Index()
{
var viewModel = new SurveyPage(CurrentPage, new PublishedValueFallback(_serviceContext, _variationContextAccessor));
var id = HttpContext.Request.Query["id"];
var valid = Guid.TryParse(id, out Guid formId);
if (!valid)
{
return
new RedirectToUmbracoPageResult(CurrentPage.Parent, _publishedUrlProvider, _umbracoContextAccessor);
}
viewModel.FormId = formId.ToString();
viewModel.FormName = _formService.Get(formId)?.Name;
// return a 'model' to the selected template/view for this page.
return CurrentTemplate(viewModel);
}
}