Email-only user invitation with self-service profile completion

オープン
#323 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@merona-merlin がすでに取り組んでいます。

2026年10月14日 から。

評価

この issue はまだ評価されていません。

説明

backend enhancement mobile-app

Context

Today admins create users in the Filament admin panel (locker-backend/app/Filament/Resources/UserResource/Pages/CreateUser.php) by entering first name, last name, and email. The backend sets a random password and sends a password reset link.

In the planned multi-organization support (#238), creating a user whose email already exists will add the existing user to the admin's organization. Admins should not be able to set or overwrite name data for people they did not create, and should not decide another person's identity.

The backend already has a profile update endpoint (locker-backend/app/Http/Requests/Auth/UpdateProfileRequest.php, requires first_name, last_name, email), but the mobile app has no screen to edit the profile; it only reads the name (mobile-app/src/auth/useUserName.ts).

Proposal

  • The admin panel user creation asks for email only.
  • The invited user sets their own first and last name after first sign-in (onboarding step or profile screen in the mobile app).
  • The admin panel shows a clear placeholder (e.g. "Profile not completed" + email) until the user completes the profile.

Scope

  • Backend: Email-only creation in Filament; users table already allows default '' for first_name and nullable last_name — verify. Expose whether the profile is complete if the mobile app needs it (API contract change → regenerate mobile client via pnpm run generate:api, and an ADR under docs/adr/ per repo rules).
  • Mobile app: Profile completion step after login when the name is missing; profile edit screen using the existing update profile endpoint.

Out of scope

  • Organization membership logic (handled in #238).
  • Per-organization profiles.

Acceptance criteria

  • An admin can create a user with only an email address.
  • A newly invited user is asked to enter their name in the mobile app before using it, and can edit it later.
  • The admin panel displays users without a completed profile in an understandable way.
  • Existing users with names are unaffected.

Related

  • #238 (multi-organization support). This work is independent of multi-organization mode and can ship before or after it. Once shipped, the multi-org rule "admins never overwrite an existing user's profile" holds by design.
主要言語
PHP
スター
26
フォーク
2
平均マージ
2日 14時間
マージ済み PR(30日)
14

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Open-Locker/Open-Locker のほかの issue

Open-Locker/Open-Locker の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。