summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLester Caine <lester@lsces.co.uk>2026-06-03 21:12:03 +0100
committerLester Caine <lester@lsces.co.uk>2026-06-03 21:12:03 +0100
commit4bbff18f76c601324b865a2084b3d1e4bf8dc7e5 (patch)
tree640f4636396c2560f2d6bf2d274906f344df3dab
parentbd83a2fe21894707ccb49f987dff4d1c0f6121cd (diff)
downloadstock-4bbff18f76c601324b865a2084b3d1e4bf8dc7e5.tar.gz
stock-4bbff18f76c601324b865a2084b3d1e4bf8dc7e5.tar.bz2
stock-4bbff18f76c601324b865a2084b3d1e4bf8dc7e5.zip
stock: preserve movement type when CSV import updates reference xref
importCsv() was hardcoding item='TRANS' on the reference row, overwriting an ORDER or REQN type already stored by edit_movement.php before the upload. Now fetches the existing item and preserves it; TRANS only used for new rows. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-rw-r--r--includes/classes/StockMovement.php10
1 files changed, 6 insertions, 4 deletions
diff --git a/includes/classes/StockMovement.php b/includes/classes/StockMovement.php
index 6ad7011..747099a 100644
--- a/includes/classes/StockMovement.php
+++ b/includes/classes/StockMovement.php
@@ -347,13 +347,15 @@ class StockMovement extends LibertyContent {
$orderDateStr = trim( $data[2] ?? '' );
$recvDateStr = trim( $data[3] ?? '' );
if( $ref !== '' ) {
- $existingXrefId = $this->mDb->getOne(
- "SELECT `xref_id` FROM `".BIT_DB_PREFIX."liberty_xref`
+ $existingRow = $this->mDb->getRow(
+ "SELECT `xref_id`, `item` FROM `".BIT_DB_PREFIX."liberty_xref`
WHERE `content_id` = ? AND `item` IN ('REQN','TRANS','ORDER') ORDER BY `xorder`",
[ $this->mContentId ]
);
- $refHash = [ 'content_id' => $this->mContentId, 'item' => 'TRANS', 'xkey' => $ref, 'edit' => $from ];
- $existingXrefId ? $refHash['xref_id'] = $existingXrefId : $refHash['fAddXref'] = 1;
+ // Preserve existing type if already set; default to TRANS for new rows
+ $refItem = $existingRow['item'] ?? 'TRANS';
+ $refHash = [ 'content_id' => $this->mContentId, 'item' => $refItem, 'xkey' => $ref, 'edit' => $from ];
+ $existingRow ? $refHash['xref_id'] = $existingRow['xref_id'] : $refHash['fAddXref'] = 1;
$this->storeXref( $refHash );
}
// Order date (col 3) → xref.start_date