Project

General

Profile

Actions

Backport(バックポート) #4052

closed

「全メンバーをコミュニティ参加させる」リンクによって招待済みで登録していないメンバが登録できなくなる場合がある

Added by isao sano about 8 years ago. Updated almost 8 years ago.

Status:
Fixed(完了)
Priority:
Normal(通常)
Assignee:
Target version:
Start date:
2016-11-15
Due date:
% Done:

100%

Estimated time:

Description

概要

「全メンバーをコミュニティ参加させる」リンクによって招待済みかつ登録していないメンバが登録できなくなる場合がある.
また,そのようなメンバに対してさらに招待を送ると招待時にホワイトアウトする場合がある.
詳しくは下記のような複数のバグにより上記現象が発生する.

  • 「全メンバーをコミュニティ参加させる」リンクによって招待済みで登録していない(is_active=0)のメンバが参加してしまう
  • 新規登録完了処理時に初期コミュニティにすでに参加している場合に投げられた例外が拾われずに登録処理の途中で停止する
  • 招待時にプロフィールが登録されており is_active=0 となるようなメンバのメールアドレスを指定した場合に同じメンバで pc_address と pc_address_pre に同じメールアドレスが登録される場合があり,このような状態になった時にそのメールアドレスを含んだ招待を行おうとするとホワイトアウトする.

これら問題について,どのメールアドレスあるいはメンバに問題が発生しているかが Web インタフェース上では判別不能のためユーザがこの問題の認識および解決を行うことは困難である.

発生バージョン

OpenPNE 3.8.9
OpenPNE 3.6.13

原因

複数の不具合を含んでいるが問題発生の起点となるものは『「全メンバーをコミュニティ参加させる」リンクによって招待済みで登録していない(is_active=0)のメンバが参加してしまう』という問題のためその原因について記述する.

#927 修正時に Doctrine のオブジェクトによるクエリ発行から SQL によるクエリ発行に変更された際に opActivateBehavor を考慮したクエリが発行されなくなった. master ではその後 メソッド抽出からの修正が行われているため本問題は発生しない.

修正案

  • #927 の修正のように is_active について考慮したクエリを発行するように修正する
  • また すでに is_active=0 のメンバがコミュニティに参加してしまっている場合を考慮して新規登録完了時の already join の例外を適切に処理して登録を完了できるようにする
  • すでに複数のメンバあるいは同メンバ無いで pc_address および pc_address_pre (または mobile のそれ)について複数で同じメールアドレスが登録されているメンバについてはそのデータを削除する

Related issues 1 (0 open1 closed)

Related to OpenPNE 3 - Bug(バグ) #3544: 「全メンバーをコミュニティ参加させる」リンクによって招待済みで登録していないメンバが登録できなくなる場合があるWon't fix(対応せず)kaoru n2014-01-07

Actions
Actions #1

Updated by isao sano about 8 years ago

  • Related to Bug(バグ) #3544: 「全メンバーをコミュニティ参加させる」リンクによって招待済みで登録していないメンバが登録できなくなる場合がある added
Actions #2

Updated by isao sano about 8 years ago

  • Status changed from New(新規) to Accepted(着手)
  • Target version changed from OpenPNE 3.8.x to OpenPNE 3.8.22
Actions #3

Updated by isao sano about 8 years ago

  • Status changed from Accepted(着手) to Pending Review(レビュー待ち)
  • % Done changed from 0 to 50

https://github.com/openpne/OpenPNE3/pull/392
にてプルリクエストしました。

Actions #4

Updated by kaoru n about 8 years ago

  • Target version changed from OpenPNE 3.8.22 to OpenPNE 3.8.x
Actions #6

Updated by Shinichi Urabe about 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)

https://redmine.openpne.jp/issues/3544#note-8 と同様の理由により差し戻し

Actions #7

Updated by kaoru n about 8 years ago

  • Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)
Actions #8

Updated by Shinichi Urabe about 8 years ago

  • Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
  • % Done changed from 50 to 70
Actions #9

Updated by kaoru n almost 8 years ago

  • Target version changed from OpenPNE 3.8.x to OpenPNE 3.8.23
Actions #10

Updated by isao sano almost 8 years ago

  • Status changed from Pending Testing(テスト待ち) to Pending Merge(マージ待ち)
  • % Done changed from 70 to 80

試験完了しました。
問題ありません。

Actions #11

Updated by kaoru n almost 8 years ago

  • Status changed from Pending Merge(マージ待ち) to Fixed(完了)
  • % Done changed from 80 to 100

マージしました

Actions

Also available in: Atom PDF