Search by

uams-web / statamic-form-settings

joshdaughertybpmore

There is no license information available for the latest version (v0.1.0) of this package.

Control Panel form settings for Statamic: notification routing and conditions, confirmations, and submission restrictions, each behind its own switch.

Package info

github.com/UAMS-Web/statamic-form-settings

Type:statamic-addon

pkg:composer/uams-web/statamic-form-settings

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-10-23 17:23 UTC

README

A Statamic add-on that extends the Control Panel's form settings screen and what a form does after a submission: notification emails with recipient routing and conditions, a confirmation message or redirect, and restrictions on who can submit and when.

Requirements

PHP 8.4 or later and Statamic 6.35 or later.

Installation

composer require uams-web/statamic-form-settings

Statamic discovers the add-on through Composer. To change its settings, publish the config file:

php artisan vendor:publish --tag=statamic-form-settings-config

Features

Each feature has its own switch in config/statamic-form-settings.php, and all are on by default. Turning one off disables that feature alone; the others keep working. Stored form settings are kept either way, so turning a feature back on restores it as it was.

Switch Environment variable What it covers
control_panel FORM_SETTINGS_CONTROL_PANEL The added sections on the form settings screen, the email grid's routing, conditions and sender name, and saving them.
notifications FORM_SETTINGS_NOTIFICATIONS The notification job: the Active toggle, conditional notifications, recipient routing, the sender name and the email body view.
confirmations FORM_SETTINGS_CONFIRMATIONS The message or redirect a visitor sees after submitting.
restrictions FORM_SETTINGS_RESTRICTIONS Entry limits, the form schedule and required login, on submit and in the form_restriction tag.

With notifications on, the add-on points statamic.forms.send_email_job at its own job. A host that has set that option to a job of its own keeps it.

Three more keys adapt the form settings screen to a host: confirmation_page_collections (default ['pages']), article_bard_extra_buttons (default none) and quiz_scoring (FORM_SETTINGS_QUIZ_SCORING, default off, which hides the Quiz Settings section and the quiz merge-tag help). See the wiki's Configuration page.

Templates

The form_restriction tag reports a form's restriction state, so a page can show a closed message instead of the form:

{{ form_restriction handle="contact" }}
    {{ if open }}
        {{ form:contact }} ... {{ /form:contact }}
    {{ else }}
        <p>{{ message }}</p>
    {{ /if }}
{{ /form_restriction }}

It exposes open, state (open, login_required, pending, expired, schedule_unreadable or limit_reached) and message.

Extending

  • Submission context. A notification sent from a queue worker cannot see the submitter's request. A host that keeps that context binds its own implementation of UAMSWeb\FormSettings\Contracts\SubmissionContext: the job calls it to capture the context when the form is submitted, and again to make that context active while the email is sent. The add-on's default captures nothing.
  • More settings sections. Another package adds a section to the form settings screen by tagging an implementation of UAMSWeb\FormSettings\Contracts\FormSettingsSection with FormSettingsSection::TAG in its service provider's register().

License

MIT. See LICENSE.

Development

Developing against a host application is covered in the development guide, and the Packagist and Marketplace steps in the submission checklist. The gate is composer ci.