Skip to content
Snippets Groups Projects

Decouple session role handling from flourish sessions

Merged Alex requested to merge remove-flourish-session into master

First part of #1277 (closed) (also see #999)

What does this MR do?

Adds a new function mayRole to the Session class that uses Role constants instead of strings. When we write new code we can use this one instead of the old may function. With this, flourish sessions are effectively decoupled from the rest of the code and can be replaced by something else (e.g. Symfony sessions) in the future.

I also removed some lines of code that fix the mini_q_ format of the user picture. Since the new upload api has been online for quite a while, I'm sure that no old user photos are missing this format and the code must be obsolete.

How confident are you it won't break things if deployed?

Quite sure. The may method is used almost everywhere. If this would break anything, we should see immediately.

How to test

  1. Checkout branch locally
  2. Login as foodsaver, bot, or orga
  3. Do anything

Checklist

  • added a test, or explain why one is not needed/possible...
  • no unrelated changes
  • asked someone for a code review
  • set a "for:" label to indicate who will be affected by this change
  • added to the next milestone (see https://gitlab.com/foodsharing-dev/foodsharing/-/milestones, unless it has a "for:Dev" label)
  • added an entry to CHANGELOG.md
  • added a short text that can be used in the release notes
  • Once your MR has been merged, you are responsible to create a testing issue in the Beta Testing forum: https://foodsharing.de/?page=bezirk&bid=734&sub=forum. Please change the MRs label to "state:Beta testing".
    • Consider writing a detailed description in German.
    • Describe in a few sentences, what should be tested from a user perspective.
    • Also mention different settings (e.g. different browsers, roles, ...) how this change can be tested.
    • Be aware, that also non technical people should understand.

Release notes text in German

Edited by Christian Walgenbach

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Christian Nienhaus resolved all threads

    resolved all threads

  • @alex.simm is this MR ready to review & up2date? If yes, please remove the draft status.

  • Martin marked this merge request as draft

    marked this merge request as draft

  • Alex marked this merge request as ready

    marked this merge request as ready

  • Alex added 1 commit

    added 1 commit

    • db224885 - update LAST_SESSION_SCHEMA_CHANGE

    Compare with previous version

  • Alex marked the checklist item no unrelated changes as completed

    marked the checklist item no unrelated changes as completed

    • Resolved by Michael S.

      Just two questions since I saw that the containers have been updated to php 8.1.

      With php 8, can we use the constructor property promotion or is that rather undesirable?

      Can Role not be outsourced to its own class or enum so that it is available to others?

  • Alex added 1 commit

    added 1 commit

    • 3b2b86b6 - use constructor property promotion in session class

    Compare with previous version

  • Michael S. resolved all threads

    resolved all threads

  • Michael S.
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading