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();
}
}