nextcloud/forms

Shared expired forms disappear even when "access results" permission is granted

RenWal opened this issue ยท 3 comments

Please use the ๐Ÿ‘ reaction to show that you are affected by the same issue. Please don't comment if you have no relevant information to add!

Describe the bug
When a form expires, all shares on the form stop working. The form disappears from the navigation bar of the share receivers. This includes shares with "access results" permission. Hence, it is impossible for collaborators to access the results of the form once the form expires.

It makes sense to hide the form from users that have received the share just to fill the form, but less so for users that are expected to work with the results.

A workaround is for the form creator to export the results to CSV and then share that CSV with all of their collaborators.

To Reproduce

  1. Create any form
  2. Share the form with any user and tick the checkbox for the "access results" permission
  3. Confirm that the user you shared the form with can indeed access the form and its results page
  4. Set the expiration date to a date in the past
  5. The user you shared the form with can no longer see it, so they can't access the results page anymore

Expected behavior
Users with the "access results" share permission should still be able to access the results when the form expires.

Nextcloud (please complete the following information):

  • Nextcloud-Version: 27.1.6 Enterprise
  • Forms-Version: 3.4.6

@susnux could you have a look at this? If you can reproduce it, perhaps the fix can be integrated into your current PR regarding the form state...

I had a look at the FormsService.php... we currently always return false in isSharedFormShown as soon as the form has expired. I think we need to take canSeeResults into account there.