操作
Bug(バグ) #3190
完了2系から3系にコンバートする際に正しくフォームタイプがコンバートされない
開始日:
2012-08-30
期日:
進捗率:
100%
予定工数:
3.6 で発生するか:
Yes (はい)
3.8 で発生するか:
No (いいえ)
説明
■詳細
2系にはあって3系にはないプロフィールのフォームタイプが存在し、それらが設定されていると正しくコンバートされない。
例)
text,textlong
■環境
PC / win7 Firefox14 / OpenPNE3.8.0
ファイル
ichikawa tatsuya さんが約12年前に更新
2系でフォームタイプがtext及びtextlongのものをtextareaに変更するよう修正しました。
https://github.com/ichikawatatsuya/OpenPNE3/commit/4e63aff39207518daa8df62f5cda118f4ded5162
diff --git data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php index a3eaa83..82e0934 100644 --- data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php +++ data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php @@ -72,6 +72,11 @@ class opUpgradeFrom2MemberProfileStrategy extends opUpgradeAbstractStrategy break; } + if ('text' === $profile['form_type'] || 'textlong' === $profile['form_type']) + { + $profile['form_type'] = 'textarea'; + } + $this->conn->execute('INSERT INTO profile (id, name, is_required, is_unique, is_edit_public_flag, default_public_flag, form_type, value_type, is_disp_regist, is_disp_config, is_disp_search, value_regexp, value_min, value_max, sort_order, created_at, updated_at) VALUES (?, ?, ?, 0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW())', array( $profile['c_profile_id'] , $profile['name'] , $profile['is_required'] , $profile['public_flag_edit'] , $publicFlagDefault , $profile['form_type'] , $profile['val_type'] , $profile['disp_regist'] , $profile['disp_config'] , $profile['disp_search'] ,
ichikawa tatsuya さんが約12年前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Yuya Watanabe さんが11年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
2.14 でのフォームタイプ¶
値 | 管理画面での表記 |
---|---|
text | テキスト |
textlong | テキスト(長) |
textarea | テキスト(複数行) |
select | 単一選択(プルダウン) |
radio | 単一選択(ラジオボタン) |
checkbox | 複数選択(チェックボックス) |
3.6 でのフォームタイプ¶
値 | 管理画面での表記 |
---|---|
input | テキスト |
textarea | テキスト(複数行) |
select | 単一選択(プルダウン) |
radio | 単一選択(ラジオボタン) |
checkbox | 複数選択(チェックボックス) |
date | 日付 |
2.14 と 3.6 の差異¶
2.14 の値 | 3.6 の値 | 管理画面での表記 |
---|---|---|
text | input | テキスト |
textlong | テキスト(長) |
管理画面での表記との対応を見る限りだと修正した内容は正しくないようですが,大丈夫でしょうか?
確認のため差し戻します.
pnetan さんが11年以上前に更新
2系で「text」のものを「input」へ、「textlong]のものを「textarea」に変更しました。
diff --git data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php index d76268e..a3eaa83 100644 --- data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php +++ data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php @@ -72,15 +72,6 @@ class opUpgradeFrom2MemberProfileStrategy extends opUpgradeAbstractStrategy break; } + if ('text' === $profile['form_type']) + { + $profile['form_type'] = 'input'; + } + elseif ('textlong' === $profile['form_type']) + { + $profile['form_type'] = 'textarea'; + } + $this->conn->execute('INSERT INTO profile (id, name, is_required, is_unique, is_edit_public_flag, default_public_flag, form_type, value_type, is_disp_regist, is_disp_config, is_disp_search, value_regexp, value_min, value_max, sort_order, created_at, updated_at) VALUES (?, ?, ?, 0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW())', array( $profile['c_profile_id'] , $profile['name'] , $profile['is_required'] , $profile['public_flag_edit'] , $publicFlagDefault , $profile['form_type'] , $profile['val_type'] , $profile['disp_regist'] , $profile['disp_config'] , $profile['disp_search'] ,
ichikawa tatsuya さんが11年以上前に更新
- ステータス を Rejected(差し戻し) から Accepted(着手) に変更
- 進捗率 を 50 から 0 に変更
ichikawa tatsuya さんが11年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
Yuya Watanabe さんが11年以上前に更新
パッチ適用時に失敗するようです.
$ wget https://redmine.openpne.jp/attachments/download/472/3190_2.patch $ patch -p0 --dry-run < 3190_2.patch patching file data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php patch: **** malformed patch at line 12: + }
Yuya Watanabe さんが11年以上前に更新
正しいパッチは下記の通りです.
diff --git data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php index d76268e..a3eaa83 100644 --- data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php +++ data/upgrade/2/opUpgradeFrom2MemberProfileStrategy.class.php @@ -72,6 +72,15 @@ class opUpgradeFrom2MemberProfileStrategy extends opUpgradeAbstractStrategy break; } + if ('text' === $profile['form_type']) + { + $profile['form_type'] = 'input'; + } + elseif ('textlong' === $profile['form_type']) + { + $profile['form_type'] = 'textarea'; + } + $this->conn->execute('INSERT INTO profile (id, name, is_required, is_unique, is_edit_public_flag, default_public_flag, form_type, value_type, is_disp_regist, is_disp_config, is_disp_search, value_regexp, value_min, value_max, sort_order, created_at, updated_at) VALUES (?, ?, ?, 0, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), NOW())', array( $profile['c_profile_id'] , $profile['name'] , $profile['is_required'] , $profile['public_flag_edit'] , $publicFlagDefault , $profile['form_type'] , $profile['val_type'] , $profile['disp_regist'] , $profile['disp_config'] , $profile['disp_search'] ,
パッチファイルの差分. 3190_2.patch が修正したもの.3190_2.patch.1 が添付ファイル.
$ diff 3190_2.patch 3190_2.patch.1 5c5 < @@ -72,6 +72,15 @@ class opUpgradeFrom2MemberProfileStrategy extends opUpgradeAbstractStrategy --- > @@ -72,15 +72,6 @@ class opUpgradeFrom2MemberProfileStrategy extends opUpgradeAbstractStrategy
Yuya Watanabe さんが11年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
- 進捗率 を 50 から 70 に変更
Chiharu Nakajima さんが11年以上前に更新
- ステータス を Pending Testing(テスト待ち) から Fixed(完了) に変更
- 進捗率 を 70 から 100 に変更
テスト完了しました。問題ありません。
操作