Transforms the way you handle submissions within your Umbraco backoffice. Our user-friendly platform empowers you to:
- View Submissions with Ease: Quickly access and review all your form submissions in a clear and organized format.
- Filter for What Matters: Effortlessly filter submissions by form, date range, keywords, specific fields, or submission status to find the information you need fast.
- Manage Submission Statuses: Take control of your workflow. "Simple Forms" allows you to easily update the status of each submission, keeping your process organized and efficient. (Consider adding a brief example here, like "Mark submissions as 'Reviewed,' 'Approved,' or 'Needs Follow-up.'")
- Export for Further Analysis: Export your submissions in various formats, like CSV or Excel, for further analysis or sharing with colleagues.
Get Started:
- Installation: Open your Umbraco project in Visual Studio. Navigate to the Tools menu and select NuGet Package Manager > Install Packages. In the search bar, type "SimpleForms" and install the package.
- Rebuild:
- Create forms
Create Form to be shown in backoffice
public class Form1 : IBackofficeFormBase { public Guid Id { get; set; } = Guid.Parse("424356c0-5259-4c73-85fd-4bccfbcd4b7f"); public string Name { get; set; } = "Form 1"; public List Headers { get; set; } = new List(){ new Header{ Name = "MyIp", Value = "_IP" }, new Header{ Name = "UserStatus", Value = "_StatusId" }, new Header{ Name = "Create Date", Value = "_CreatedAt", Format = "date:\"y-M-d\"", }, new Header{ Name = "Update Date", Value = "_UpdatedAt", Format = "date: \"y-M-d\"", }, new Header{ Name = "UserName", Value = "Name" }, new Header{ Name = "UserEmail", Value = "Email" }, }; public IEnumerable Actions { get; set; } }
Create form to be submited from website
public class ContactFormViewModel : FormViewModel { [Required] public string Name { get; set; } [EmailAddress] public string Email { get; set; } [Required] public string Phone { get; set; } [Required] public string Message { get; set; } }
Option 1: Simple way
@using (Html.BeginUmbracoForm(nameof(SimpleForms.Web.Controllers.SimpleFormBaseController.Submit)))
Option 2: Custom controller with custom logic
@using (Html.BeginUmbracoForm(nameof(ContactFormController.Submit))) public class ContactFormController : SimpleFormController { public ContactFormController(IUmbracoContextAccessor umbracoContextAccessor, IUmbracoDatabaseFactory databaseFactory, ServiceContext services, AppCaches appCaches, IProfilingLogger profilingLogger, ISimpleFormEntryService simpleFormEntryService, ISimpleFormStatusService simpleFormStatusService, ISimpleFormService simpleFormService, IHttpContextAccessor httpContextAccessor, ILogger> logger, IPublishedUrlProvider publishedUrlProvider, IServiceProvider serviceProvider) : base(umbracoContextAccessor, databaseFactory, services, appCaches, profilingLogger, simpleFormEntryService, simpleFormStatusService, simpleFormService, httpContextAccessor, logger, publishedUrlProvider, serviceProvider) { } public override IActionResult Submit(ContactFormViewModel model) { //save result in database base.Submit(model); //custom logic return RedirectToCurrentUmbracoUrl(); } }