verbb / formie

The most user-friendly forms plugin for Craft CMS.
Other
96 stars 73 forks source link

Access Control for Forms #218

Closed MattWilcox closed 3 years ago

MattWilcox commented 3 years ago

What are you trying to do?

We have a client who wants to use Formie, but some form responses are legally sensitive and must only be accessible to the HR department.

What's your proposed solution?

I think Formie would need to implement Access Control via the built-in User Group / User methods; but per form (or, possibly, form group if you want to go that far).

Additional context

The client request:

Is there a way or plugin for online job applications via Craft?
It has to be secure and only accessible to the HR dept. due to
data protection laws.
engram-design commented 3 years ago

Added in 1.2.28

MattWilcox commented 3 years ago

Alas!

Composer output: Package "craftcms/vue-asset" listed for update is not installed. Ignoring.
Package "yiisoft/yii2-shell" listed for update is not installed. Ignoring.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for verbb/formie 1.2.28 -> satisfiable by verbb/formie[1.2.28].
- Conclusion: remove fzaninotto/faker v1.9.1
- Conclusion: don't install fzaninotto/faker v1.9.1
- verbb/formie 1.2.28 requires fakerphp/faker ^1.9 -> satisfiable by fakerphp/faker[v1.11.0, v1.10.1, v1.10.0, v1.9.1].
- fakerphp/faker v1.11.0 conflicts with fzaninotto/faker[v1.9.1].
- fakerphp/faker v1.10.1 conflicts with fzaninotto/faker[v1.9.1].
- fakerphp/faker v1.10.0 conflicts with fzaninotto/faker[v1.9.1].
- don't install fakerphp/faker v1.9.1|don't install fzaninotto/faker v1.9.1
- Installation request for fzaninotto/faker (locked at v1.9.1) -> satisfiable by fzaninotto/faker[v1.9.1].

Running update with --no-dev does not mean require-dev is ignored, it just means the packages will not be installed. If dev requirements are blocking the update you have to resolve those problems.
engram-design commented 3 years ago

fzaninotto/faker was removed, so not sure why it's trying to install that anymore. Do you have other plugins that might be requiring this and conflicting?

MattWilcox commented 3 years ago

I'd be very very surprised if so, not sure how I'd know though?

Currently installed: Dumper 2.0.0 Eager Beaver 1.0.4 Elements Panel 1.1.1 Empty Coalesce 1.0.6 Feed Me 4.3.1 Field Manager 2.2.1 Formie 1.2.27 Imager v2.4.0 Image Resizer 2.0.10 Inlin 2.1.1 Maps 3.8.5 Minify 1.2.10 Neo 2.8.14 Redactor 2.8.3 SEOmatic 3.3.23 Similar 1.0.6 Table Maker 2.0.1 Translations 2.0.0 Twig Profiler 1.0.1

engram-design commented 3 years ago

Can you shoot your composer.json file through and I'll check?

MattWilcox commented 3 years ago

Sure, one sec... Added as a zip because as a json "we don't support that filetype" says GitHub...

composer.json.zip

MattWilcox commented 3 years ago

And just in case

PHP version 7.1.33 OS version Darwin 17.7.0 Database driver & version MySQL 5.5.5 Image driver & version GD 7.1.33 Craft edition & version Craft Pro 3.5.15.1 Yii version 2.0.38 Twig version 2.13.1 Guzzle version 6.5.5

But with that I'm off to bed. Cheers!

engram-design commented 3 years ago

How're you upgrading, through the CP, or via the CLI? I've just installed those packages without issue (using composer install), so maybe something is messed up. Maybe try removing the vendor folder, and even the composer.lock file, and running composer install or composer update

MattWilcox commented 3 years ago

That was via the CP. Just done it again via Terminal and got the same error back from Composer.

Removed /vendor and composer.lock then ran composer update ... it installed everything back but then a ./craft update/info lists formie 1.2.27 => 1.2.28 ./craft update all again and same error.

Composer 1 here, though I don't suppose that ought to make a difference.

engram-design commented 3 years ago

Yep, so I can replicate that behaviour using ./craft update all, so I'm looking into that.

For the moment, running composer update will do nothing for that file, because all version numbers are locked to a specific version. I would recommend to change:

"verbb/formie": "1.2.27",

to

"verbb/formie": "1.2.28",

and run composer update. This at least worked for me.

MattWilcox commented 3 years ago

Thanks, can confirm that manually changing the number and running composer update worked here too.