バージョン選択

フォーラム

メニュー

オンライン状況

30 人のユーザが現在オンラインです。 (7 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 29
c_fairy もっと...

サイト内検索

バグ報告 > 管理機能 > ポイントを使用しない運用において、管理画面 受注管理で「発送済み」の受注情報が編集できない

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sumida
投稿日時: 2013/3/6 21:47
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
ポイントを使用しない運用において、管理画面 受注管理で「発送済み」の受注情報が編集できない
管理画面 受注管理において、

システムパラメータ:ポイントを使用しない
ステータス:ポイント加算ステータス(発送済み)

この状態の受注情報から、ステータスを発送済み以外に変更しても、「受注を編集しました。」にならない。

ステータスが変更できていた受注情報を、ステータス「発送済み」に変更すると、ステータス以外の情報も編集できなくなりました。

原因を調べた結果、推測ですが、
data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php (setOrderToFormParam)

// ポイントを設定
list($db_point, $rollback_point) = SC_Helper_DB_Ex::sfGetRollbackPoint(
$order_id, $arrOrder['use_point'], $arrOrder['add_point'], $arrOrder['status']
);
$objFormParam->setValue('total_point', $db_point);
$objFormParam->setValue('point', $rollback_point);

呼んでいる関数 sfGetRollbackPoint がステータスを判定し、$rollback_pointに回復すべきポイント数を設定する。

その結果、関数 lfCheckError で、
// 最終保持ポイント
$arrValues['total_point'] = $objFormParam->getValue('point') - $arrValues['use_point'];

を計算し、次の条件が成立していると思います。

if ($arrValues['total_point'] < 0) {
$arrErr['use_point'] = '最終保持ポイントがマイナス表示にならないように調整して下さい。<br />';
}

変更
3/14 タイトルを変更しました。
sumida
投稿日時: 2013/3/7 18:31
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: ポイント使用しない場合、管理画面 受注管理において編集できないケースがある。
どうも、あたりのようです。
ただ、修正としては、
data/class/helper/SC_Helper_Purchase.php内

function isUsePoint($status) {
function isAddPoint($status) {

それぞれ関数全体を

if (USE_POINT !== false) {

}
return false;

で囲むようにすることですかね。

追記
または、
data/class/helper/SC_Helper_DB.php内

function sfGetRollbackPoint


// 対応状況がポイント利用対象の場合、使用ポイント分を戻す
if (SC_Helper_Purchase_Ex::isUsePoint($order_status)) {
$rollback_point += $use_point;
}

// 対応状況がポイント加算対象の場合、加算ポイント分を戻す
if (SC_Helper_Purchase_Ex::isAddPoint($order_status)) {
$rollback_point -= $add_point;
}



if (USE_POINT !== false) {

}

で囲むようにすることですかね。
sumida
投稿日時: 2013/3/22 20:51
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: ポイント使用しない場合、管理画面 受注管理において編集できないケースがある。
こちらを修正する方のが良いかも

data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php

if (USE_POINT !== false) {
// ポイントを設定
list($db_point, $rollback_point) = SC_Helper_DB_Ex::sfGetRollbackPoint(
$order_id, $arrOrder['use_point'], $arrOrder['add_point'], $arrOrder['status']
);
$objFormParam->setValue('total_point', $db_point);
$objFormParam->setValue('point', $rollback_point);
} else {
$objFormParam->setValue('total_point', 0);
$objFormParam->setValue('point', 0);
}

4/12 追記
実害はありませんが、同様の処理があります。

data/class/pages/admin/order/LC_Page_Admin_Order_Disp.php
sumida
投稿日時: 2013/4/3 21:18
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: ポイント使用しない場合、管理画面 受注管理において編集できないケースがある。
注文完了の状態(発送済み)後、
注文内容の修正は、レアなケースとは思いますが、
コミッタの方、検討をお願いします。
AMUAMU
投稿日時: 2013/4/10 4:41
対応状況: −−−
登録日: 2009/5/2
居住地: 東京都
投稿: 2712
Re: ポイント使用しない場合、管理画面 受注管理において編集できないケースがある。
ご報告ありがとうございます!
レアというほどのケースでは無いと思います。

下記でチケットを上げました。
次バージョンの改修には含めたいと思います
http://svn.ec-cube.net/open_trac/ticket/2223


----------------
EC-CUBE公式エヴァンジェリスト
EC-CUBEインテグレートパートナー (株)スピリット・オブ
移転・拡張・高速化・問題解決
各種カスタマイズ・支援依頼承ります。

[url=h

shutta
投稿日時: 2014/6/10 22:30
対応状況: −−−
仙人
登録日: 2010/2/4
居住地: 関西
投稿: 835
Re: ポイント使用しない場合、管理画面 受注管理において編集できないケースがある。
チェンジセット23538
http://svn.ec-cube.net/open_trac/changeset/23538

にて、修正を取り込みました。
ありがとうございました。


----------------

リゾート会員権(エクシブ等)の売買・仲介

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は78,008名です
総投稿数は105,973件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2279
5
umebius
2085
6
yuh
1738
7
red
1557
8
h_tanaka
1301
9
tsuji
957
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.