Skip to content

feat: add backend avatar provider for move-elevator.de users#17

Merged
konradmichalik merged 3 commits into
mainfrom
feature/backend-avatar-move-elevator
Jun 5, 2026
Merged

feat: add backend avatar provider for move-elevator.de users#17
konradmichalik merged 3 commits into
mainfrom
feature/backend-avatar-move-elevator

Conversation

@konradmichalik

@konradmichalik konradmichalik commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Automatically assigns the move elevator logo as backend avatar for users whose email ends with @move-elevator.de
  • Acts as a fallback only — personal avatars uploaded via user settings take precedence

Changes

  • Classes/Backend/Avatar/MoveElevatorAvatarProvider.php — new AvatarProviderInterface implementation that matches on the email domain and returns the bundled logo when no custom avatar is configured
  • ext_localconf.php — registers the provider via SC_OPTIONS['t3lib/class.t3lib_befunc.php']['getBackendUserAvatar']
  • Resources/Public/Icons/me.svg / me.png — move elevator logo assets used as the avatar image
  • README.md — feature bullet and documentation section "Backend Avatar"

Summary by CodeRabbit

Release Notes

  • New Features

    • Added backend avatar support for company users. Users with Move Elevator email addresses automatically receive a company avatar as their backend profile picture, unless they've already uploaded a personal avatar.
  • Documentation

    • Updated documentation to describe the new backend avatar feature and its precedence rules.

@konradmichalik
konradmichalik requested a review from Mainbird June 5, 2026 06:53
@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@konradmichalik, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 8 minutes and 31 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 881ea700-0d29-4242-b690-63a20554330e

📥 Commits

Reviewing files that changed from the base of the PR and between 9c5bd9f and 27bc131.

📒 Files selected for processing (1)
  • Classes/Backend/Avatar/MoveElevatorAvatarProvider.php
📝 Walkthrough

Walkthrough

This PR introduces a backend avatar provider that assigns a configured SVG logo as a fallback avatar for TYPO3 backend users with Move Elevator email addresses, provided the user has no existing avatar. The feature is wired into the TYPO3 backend avatar system and documented.

Changes

Backend Avatar Provider

Layer / File(s) Summary
Avatar Provider Implementation
Classes/Backend/Avatar/MoveElevatorAvatarProvider.php
MoveElevatorAvatarProvider implements TYPO3's AvatarProviderInterface, returning a configured SVG Image (at requested size) only when the backend user has no existing avatar and an email ending in @move-elevator.de; otherwise returns null.
Extension Wiring and Documentation
ext_localconf.php, README.md
The provider is registered in SC_OPTIONS for TYPO3's backend user avatar callback, and a new Backend Avatar section documents the fallback behavior and that user-uploaded avatars take precedence.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 A rabbit hops by with SVG in tow,
For Elevator folk, a logo to show!
No avatar yet? Fear not, my friend,
A stylish fallback we now extend.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'feat: add backend avatar provider for move-elevator.de users' directly and clearly summarizes the main change: adding a backend avatar provider implementation for move-elevator.de domain users.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/backend-avatar-move-elevator

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Classes/Backend/Avatar/MoveElevatorAvatarProvider.php`:
- Around line 30-34: Replace the deprecated
PathUtility::getPublicResourceWebPath call in MoveElevatorAvatarProvider (where
Image is constructed) with the modern PathUtility::getSystemResourceUri API:
locate the Image(...) instantiation that currently calls
PathUtility::getPublicResourceWebPath(self::LOGO_PATH) and change it to call
PathUtility::getSystemResourceUri(self::LOGO_PATH) so the Image receives the
correct system resource URI; keep the same $size parameters and class constants
(Image, self::LOGO_PATH) unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: cc8fb26e-dccf-423b-992b-0b27f113e9fb

📥 Commits

Reviewing files that changed from the base of the PR and between 144a533 and 9c5bd9f.

⛔ Files ignored due to path filters (2)
  • Resources/Public/Icons/me.png is excluded by !**/*.png
  • Resources/Public/Icons/me.svg is excluded by !**/*.svg
📒 Files selected for processing (3)
  • Classes/Backend/Avatar/MoveElevatorAvatarProvider.php
  • README.md
  • ext_localconf.php

Comment thread Classes/Backend/Avatar/MoveElevatorAvatarProvider.php
@Mainbird

Mainbird commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

@konradmichalik der cgl job scheint noch Fehler zu werfen

@konradmichalik

Copy link
Copy Markdown
Contributor Author

Jetzt läuft die Pipeline durch.

@konradmichalik
konradmichalik merged commit 5364413 into main Jun 5, 2026
2 checks passed
@Mainbird
Mainbird deleted the feature/backend-avatar-move-elevator branch June 22, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants