Public poll-like order system for grouped orders

Hello.

I’m trying to use grist to centralize orders among members of Community-Supported Agriculture Non-profit organizations.

I had some support from Dmitry months ago which advised-me against using the form feature (which only fits the simplest use-cases), and pointed me to this example, which relies on user.SessionID to enable using acl with anonymous users:

I now have the opportunity to give it a try, but my use case is slightly mode complex: the member (adhérent in french) needs to fill two tables : one about himself (name, organization,…) and another one about the products and quantities he orders.

Here it is

It works, and I’m quite happy with it, with a few hiccups:

  • 1/ the user can fill several records in the adhérents table (I think I’ll manage to fix that)
  • 2/ there is redundancy in the commandes table: There is both a reference to the adhérents table and a field holding the user.SessionID value. Since the user.SessionID is also stored in the adhérents table, this is redundant. But replacing
    user.SessionID != rec.SessionID
    with user.SessionID != rec.adherent.SessionIDin the acces rules from de commandes table does not work: it prevents the user to add a record.
  • 3/ the interface is really complex for the end-user who just needs to fill an order. For instance, filling the order in two steps : first member information then the items would improve the UX in my opinion.

Are there ways to have simpler interface for such uses cases ?
I suppose it could be done with a custom widget, or even with an external webservice.

Hints an examples are much welcome.

Thank you!

Hello,

I discovered the ?style=singlePage parameter which helps reducing the visual complexity for the end-user.