login: block concurrent login, single-factor auth for staff/viewer
This commit is contained in:
@@ -292,10 +292,10 @@ class StockManager {
|
||||
$this->pdo->prepare(
|
||||
"INSERT INTO `$table`
|
||||
(uuid, company_id, `date`, product_sku, `in`, price, zone, aisle, rack,
|
||||
contact_id, `description`, `log`, `type`, lot_number, serial_number, status)
|
||||
contact_id, `description`, `log`, `type`, lot_number, serial_number, status, updated_at)
|
||||
VALUES
|
||||
(:uuid, :company_id, :date, :product_sku, :quantity, :price, :zone, :aisle, :rack,
|
||||
:contact_id, :description, :log, 'in', :lot_number, :serial_number, 0)"
|
||||
:contact_id, :description, :log, 'in', :lot_number, :serial_number, 0, NOW())"
|
||||
)->execute([
|
||||
':uuid' => $uuid,
|
||||
':company_id' => $this->company_id,
|
||||
@@ -427,10 +427,10 @@ class StockManager {
|
||||
$this->pdo->prepare(
|
||||
"INSERT INTO `$table`
|
||||
(uuid, company_id, `date`, product_sku, `out`, zone, aisle, rack,
|
||||
contact_id, `description`, `log`, `type`, ref_id, lot_number, serial_number, status)
|
||||
contact_id, `description`, `log`, `type`, ref_id, lot_number, serial_number, status, updated_at)
|
||||
VALUES
|
||||
(:uuid, :company_id, :date, :product_sku, :quantity, :zone, :aisle, :rack,
|
||||
:contact_id, :description, :log, 'out', :ref_id, :lot_number, :serial_number, 0)"
|
||||
:contact_id, :description, :log, 'out', :ref_id, :lot_number, :serial_number, 0, NOW())"
|
||||
)->execute([
|
||||
':uuid' => $uuid,
|
||||
':company_id' => $this->company_id,
|
||||
@@ -604,11 +604,11 @@ class StockManager {
|
||||
"INSERT INTO `$from_table`
|
||||
(uuid, company_id, `date`, product_sku, `out`,
|
||||
ref_warehouse, zone, aisle, rack,
|
||||
contact_id, `description`, `log`, `type`, lot_number, serial_number, status)
|
||||
contact_id, `description`, `log`, `type`, lot_number, serial_number, status, updated_at)
|
||||
VALUES
|
||||
(:uuid, :company_id, :date, :product_sku, :quantity,
|
||||
:ref_warehouse, :zone, :aisle, :rack,
|
||||
:contact_id, :description, :log, 'transfer', :lot_number, :serial_number, 0)"
|
||||
:contact_id, :description, :log, 'transfer', :lot_number, :serial_number, 0, NOW())"
|
||||
)->execute([
|
||||
':uuid' => $uuid,
|
||||
':company_id' => $this->company_id,
|
||||
@@ -632,11 +632,11 @@ class StockManager {
|
||||
"INSERT INTO `$to_table`
|
||||
(uuid, company_id, `date`, product_sku, `in`,
|
||||
ref_warehouse, ref_id, zone, aisle, rack,
|
||||
contact_id, `description`, `log`, `type`, lot_number, serial_number, status)
|
||||
contact_id, `description`, `log`, `type`, lot_number, serial_number, status, updated_at)
|
||||
VALUES
|
||||
(:uuid, :company_id, :date, :product_sku, :quantity,
|
||||
:ref_warehouse, :ref_id, :zone, :aisle, :rack,
|
||||
:contact_id, :description, :log, 'transfer', :lot_number, :serial_number, 0)"
|
||||
:contact_id, :description, :log, 'transfer', :lot_number, :serial_number, 0, NOW())"
|
||||
)->execute([
|
||||
':uuid' => $uuid,
|
||||
':company_id' => $this->company_id,
|
||||
@@ -715,7 +715,7 @@ class StockManager {
|
||||
|
||||
// ── Approve this row ──────────────────────────────────────────────
|
||||
$this->pdo->prepare(
|
||||
"UPDATE `{$table}` SET status = 1 WHERE id = :id AND company_id = :company_id"
|
||||
"UPDATE `{$table}` SET status = 1, updated_at = NOW() WHERE id = :id AND company_id = :company_id"
|
||||
)->execute([':id' => $id, ':company_id' => $this->company_id]);
|
||||
|
||||
// ── Rack state + balance ──────────────────────────────────────────
|
||||
@@ -823,7 +823,7 @@ class StockManager {
|
||||
// Approve outbound row
|
||||
if ($from_row && (int)$from_row['status'] === 0) {
|
||||
$this->pdo->prepare(
|
||||
"UPDATE `{$from_table}` SET status = 1
|
||||
"UPDATE `{$from_table}` SET status = 1, updated_at = NOW()
|
||||
WHERE id = :id AND company_id = :company_id"
|
||||
)->execute([':id' => $from_row['id'], ':company_id' => $this->company_id]);
|
||||
}
|
||||
@@ -831,7 +831,7 @@ class StockManager {
|
||||
// Approve inbound row
|
||||
if ($inbound_row && (int)$inbound_row['status'] === 0) {
|
||||
$this->pdo->prepare(
|
||||
"UPDATE `{$paired_table}` SET status = 1
|
||||
"UPDATE `{$paired_table}` SET status = 1, updated_at = NOW()
|
||||
WHERE id = :id AND company_id = :company_id"
|
||||
)->execute([':id' => $inbound_row['id'], ':company_id' => $this->company_id]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user