Opened 12 years ago
Closed 12 years ago
#2992 closed defect (fixed)
承認制のコミュニティに参加申請を送ると、承認制から公開制にコミュニティ設定が変更されてもコミュニティ管理者が承認しない限りコミュニティに参加することができない
Reported by: | kiwa | Owned by: | shingo |
---|---|---|---|
Priority: | minor | Milestone: | OpenPNE2.12.5 |
Component: | 指定しない | Version: | 2.10.x & 2.12.x & 2.14.x |
Keywords: | OpenPNE2.10.11 OpenPNE2.13.4 | Cc: |
Description (last modified by )
■現象
- メンバーAが承認制のコミュニティaに承認依頼をする
- コミュニティaの管理者がメンバーAの参加承認を行わない状態でコミュニティ公開設定を「参加:誰でも参加可能、掲示板:全員に公開」に変更する
上のような状態になった場合、メンバーAはコミュニティaが「誰でも参加可能」にも関わらず管理者に承認してもらわない限り「コミュニティに参加」を押しても「現在承認中」になってしまい参加することができない。
■原因
コミュニティ設定が承認制から公開制へ変更されても、承認待ちテーブル(c_commu_member_confirm)のデータは維持されており、現状、承認待ちテーブルに登録されている限りコミュニティに参加できないようになっている為。
■修正内容
コミュニティ参加設定が承認制から公開制へ変更された時、承認待ちのユーザをコミュニティメンバーに登録し、承認待ちテーブル(c_commu_member_confirm)より削除するように変更
既に設定が「公開」に変更になっているコミュニティの参加承認待ちになっているメンバーをフォローする為、承認待ちになっているメンバーが再度参加申請をした時に参加が可能になるように修正
■関連情報
Change History (11)
comment:1 Changed 12 years ago by
comment:2 Changed 12 years ago by
Owner: | changed from nobody to shingo |
---|---|
Status: | new → assigned |
comment:3 Changed 12 years ago by
Description: | modified (diff) |
---|---|
Keywords: | OpenPNE2.10.11 OpenPNE2.13.4 確認中 added |
Milestone: | → OpenPNE2.12.5 |
comment:4 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- db_commu_public_flg4c_commu_id() の関数名で public_flag を public_flg と省略した理由はなんでしょうか
- db_commu_public_flg4c_commu_id() は定義しなければならない理由はなんでしょうか
- アクション内に SQL を書かないでください
- stable-2.12.x/webapp/modules/pc/do/c_edit_update_c_commu.php の97行目に不要な空行が追加されています
- 本現象のためにコミュニティへ参加できなくなっている人へのフォローとして、コミュニティ参加申請時についても何かしらの対策を設けることはできないでしょうか
comment:5 Changed 12 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
comment:6 Changed 12 years ago by
Keywords: | 差し戻し added; 確認中 removed |
---|
- db_commu_c_commu_member_confirm4c_commu_id() でコールしている db_get_all() ですが、 db_get_assoc() への置き換えを検討してみてください
- アクション内に記述された、 public_flag が public に変更されているかどうかのチェックについてですが、DB内データが auth_sns, auth_commu_member であるかどうかのチェックもおこなっており、やや複雑に思います。以下で充分だと思うので、置き換えを検討してみてください
- リクエストの public_flag が public であるかどうか (public である場合は常に参加申請周りの処理をおこなう)
- リクエストの public_flag が public であり、かつ、リクエストの public_flag が DBの public_flag と一致しないかどうか(public_flag が public に変更されているかどうかのみを見、何の値から変更されるかどうかについては関知しない)
comment:7 Changed 12 years ago by
comment:8 Changed 12 years ago by
Keywords: | 確認中 added; 差し戻し removed |
---|
comment:9 Changed 12 years ago by
Keywords: | テスト待ち added; 確認中 removed |
---|
comment:11 Changed 12 years ago by
Keywords: | テスト待ち removed |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
確認しました。問題ありません。
Note: See
TracTickets for help on using
tickets.
作業します。