Decouple session role handling from flourish sessions
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
- Checkout branch locally
- Login as foodsaver, bot, or orga
- 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
Merge request reports
Activity
added forDev label
- Resolved by Christian Nienhaus
added state need rework label
@alex.simm is this MR ready to review & up2date? If yes, please remove the draft status.
- 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?
added 1 commit
- 3b2b86b6 - use constructor property promotion in session class
- Resolved by Michael S.