InvitationManager silently no-ops on non-invitable events/workshops while controllers flash success
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 72/100
調査の方向性
Start at Admin::WorkshopsController#invite and Admin::EventsController#invite, then trace the three InvitationManager methods and their handle_asynchronously calls. Confirm that non-invitable targets produce a warning without enqueueing, while invitable targets retain the current success flow and email behavior.
索引モデルが issue の本文から書いたものです。
説明
Problem
Three InvitationManager methods guard with error strings — send_event_emails, send_workshop_emails, send_virtual_workshop_emails all return 'The X is not invitable' unless x.invitable?. All three run via handle_asynchronously, so the return value is discarded by the DelayedJob worker. The controllers (Admin::WorkshopsController#invite, Admin::EventsController#invite) ignore the return anyway and flash "Invitations will be emailed out soon." unconditionally.
Net effect: when the target isn't invitable, nothing is sent and nobody learns — the flash lies.
Proposed change
- Check
invitable?in the controllers before enqueueing and flash a warning instead of the success message when it's false. (Raising inside the async method can't fix the flash — the raise happens after the redirect.) - Remove the now-dead string returns from
InvitationManager; the internal batch-abort strings (start_invitation_batch→return result if result.is_a?(String)) may stay as internal control flow — implementer's call.
Acceptance
- Inviting to a non-invitable event/workshop shows a warning flash and enqueues nothing.
- Inviting to an invitable one behaves as today.
- 主要言語
- Ruby
- スター
- 104
- フォーク
- 205
- 平均マージ
- 1日 2時間
- マージ済み PR(30日)
- 77
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
codebar/planner のほかの issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 56/100
メンテナーはふだん 1 日以内に返信
-
refactoring tech debt
難易度 4/5 3〜5日 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
refactoring tech debt
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
codebar/planner の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
メンテナーはふだん 3 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
jetrockets/jet_ui#47 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
FreeCAD/homebrew-freecad#870 ·
メンテナーはふだん 1 日以内に返信