ActionResult RunAction(Action action, Framework.Core.Entities.User userToRunAs, string currentPageName, string submittedPageNames, bool back, AuthorisedAction auth = null) { MultiPageAction.Page givenPage = null; model = new ActionViewModel(HasAccessToNewActions); model.Action = action; if (action is MultiPageAction) { givenPage = PrepareMultipageAction(action, userToRunAs, currentPageName, submittedPageNames, back, model); } else if (Request.HttpMethod == "POST") { SetPostValues(action, action.Fields); } if (Request.HttpMethod == "POST") { action.BeforeRun(true); if (!action.AccessibleTo(userToRunAs, DbContext) && !(action is Login)) { Response.Redirect(Url.Action("MainPage", "LandingPage") + "?ReturnUrl=" + Request.Url); } return(HandlePostAction(action, userToRunAs, back, givenPage, model, auth)); } else { SetGetParams(action); action.BeforeRun(false); if (!action.AccessibleTo(userToRunAs, DbContext) && !(action is Login)) { Response.Redirect(Url.Action("MainPage", "LandingPage") + "?ReturnUrl=" + Request.Url); } if (action.Fields.Count() == 0) { if (action.RedirectLocation != null && action.RedirectLocation is RedirectToURL) { Response.Redirect((action.RedirectLocation as RedirectToURL).Url); } return(View(EmptyActionViewPathPrefix, model)); } else { return(View(ActionViewPathPrefix, model)); // method was not post } } }