Fill Forms for Existing Rows in Grist
I made a thing:
This allows collecting form responses analogous to Grist Forms, with the main difference being that this focuses on adding data to an existing row, whereas Grist’s built-in forms appear to focus on adding new rows. Accordingly, this can show data existing in the row to the user, to help them answer.
- Forms are configured in a YAML file. See
config.yml
for an example. - Multiple forms can be configured by
NAME
, this is the identifier underforms
. This appears in the URL ashttps://HOSTNAME/form/NAME/KEY
. - The configured
key_column
identifies the column being searched forKEY
. This identifies the row being edited and is expected to be unique. - Forms have a Markdown header which is expanded as a Jinja templates. Column values for the selected row are available as variables.
- Forms can optionally send a notification email when submitted. This email is likewise expanded as a Jinja template, and its sending can be made contingent on user-submitted data.
- Right now, only two form widgets are supported:
text
andyesno
. There is no form validation beyond marking some fields optional. - The UI is moderately pleasant-to-look-at Bootstrap 5.
Forms are public and require no authentication beyond knowledge of the KEY
.
I guess this could be considered an elaborate feature request for Grist Forms.