ここの情報は古いです。ご理解頂いた上でお取り扱いください。

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 shingo)

■現象

  1. メンバーAが承認制のコミュニティaに承認依頼をする
  2. コミュニティaの管理者がメンバーAの参加承認を行わない状態でコミュニティ公開設定を「参加:誰でも参加可能、掲示板:全員に公開」に変更する

上のような状態になった場合、メンバーAはコミュニティaが「誰でも参加可能」にも関わらず管理者に承認してもらわない限り「コミュニティに参加」を押しても「現在承認中」になってしまい参加することができない。

■原因

コミュニティ設定が承認制から公開制へ変更されても、承認待ちテーブル(c_commu_member_confirm)のデータは維持されており、現状、承認待ちテーブルに登録されている限りコミュニティに参加できないようになっている為。

■修正内容

コミュニティ参加設定が承認制から公開制へ変更された時、承認待ちのユーザをコミュニティメンバーに登録し、承認待ちテーブル(c_commu_member_confirm)より削除するように変更

既に設定が「公開」に変更になっているコミュニティの参加承認待ちになっているメンバーをフォローする為、承認待ちになっているメンバーが再度参加申請をした時に参加が可能になるように修正

■関連情報

Change History (11)

comment:1 Changed 12 years ago by shingo

作業します。

comment:2 Changed 12 years ago by shingo

Owner: changed from nobody to shingo
Status: newassigned

comment:3 Changed 12 years ago by shingo

Description: modified (diff)
Keywords: OpenPNE2.10.11 OpenPNE2.13.4 確認中 added
Milestone: OpenPNE2.12.5

以下のリビジョンで修正しました。

以下のリビジョンで表記ミスを追加修正しました。ご確認ください。

comment:4 Changed 12 years ago by ebihara

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 shingo

Keywords: 確認中 added; 差し戻し removed

以下のリビジョンで comment:4 項目1~4 について修正しました。

以下のリビジョンで comment:4 項目5について修正しました。 ご確認ください。  

comment:6 Changed 12 years ago by ebihara

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 shingo

以下のリビジョンで comment:6 項目2について修正しました。 ご確認ください。  

comment:8 Changed 12 years ago by shingo

Keywords: 確認中 added; 差し戻し removed

以下のリビジョンで comment:6 項目1について修正しました。 ご確認ください。  

comment:9 Changed 12 years ago by ebihara

Keywords: テスト待ち added; 確認中 removed

comment:10 Changed 12 years ago by shingo

Description: modified (diff)

Descriptionの修正内容を追加

comment:11 Changed 12 years ago by kiwa

Keywords: テスト待ち removed
Resolution: fixed
Status: assignedclosed

確認しました。問題ありません。

Note: See TracTickets for help on using tickets.