diff --git a/classes/stock/StockMvtReason.php b/classes/stock/StockMvtReason.php
index 3ecac2243..316e4a308 100644
--- a/classes/stock/StockMvtReason.php
+++ b/classes/stock/StockMvtReason.php
@@ -72,6 +72,33 @@ class StockMvtReasonCore extends ObjectModel
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
}
+ /**
+ * Same as StockMvtReason::getStockMvtReasons(), ignoring a specific lists of ids
+ *
+ * @since 1.5.0
+ * @param int $id_lang
+ * @param array $ids_ignore
+ * @param int $sign optional
+ */
+ public static function getStockMvtReasonsWithFilter($id_lang, $ids_ignore, $sign = null)
+ {
+ $query = new DbQuery();
+ $query->select('smrl.name, smr.id_stock_mvt_reason, smr.sign');
+ $query->from('stock_mvt_reason smr');
+ $query->leftjoin('stock_mvt_reason_lang smrl ON (smr.id_stock_mvt_reason = smrl.id_stock_mvt_reason AND smrl.id_lang='.(int)$id_lang.')');
+
+ if ($sign != null)
+ $query->where('smr.sign = '.(int)$sign);
+
+ if (count($ids_ignore))
+ {
+ $ids_ignore = array_map('intval', $ids_ignore);
+ $query->where('smr.id_stock_mvt_reason NOT IN('.implode(', ', $ids_ignore).')');
+ }
+
+ return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
+ }
+
/**
* @since 1.5.0
*
diff --git a/controllers/admin/AdminStockCoverController.php b/controllers/admin/AdminStockCoverController.php
index e6b2b3f06..dccb9a211 100644
--- a/controllers/admin/AdminStockCoverController.php
+++ b/controllers/admin/AdminStockCoverController.php
@@ -158,7 +158,7 @@ class AdminStockCoverControllerCore extends AdminController
$this->displayInformation(
$this->l('Considering the coverage period choosen and the quantity of products/combinations that you sold,
- this interface gives you an idea of when one product will run out of stock .'
+ this interface gives you an idea of when one product will run out of stock.'
)
);
diff --git a/controllers/admin/AdminStockInstantStateController.php b/controllers/admin/AdminStockInstantStateController.php
index 2f74c2fed..a350ae9be 100644
--- a/controllers/admin/AdminStockInstantStateController.php
+++ b/controllers/admin/AdminStockInstantStateController.php
@@ -94,6 +94,8 @@ class AdminStockInstantStateControllerCore extends AdminController
*/
public function initList()
{
+ $this->displayInformation($this->l('This interface allows you to display detailed informations on your stock, per warehouse.').'
');
+
$this->addRowAction('details');
//no link on list rows
@@ -246,7 +248,7 @@ class AdminStockInstantStateControllerCore extends AdminController
$this->_list = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
$this->_listTotal = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('SELECT FOUND_ROWS()');
-
+
$manager = StockManagerFactory::getManager();
foreach ($this->_list as &$row)
diff --git a/controllers/admin/AdminStockManagementController.php b/controllers/admin/AdminStockManagementController.php
index 0cc995e47..94d16aa22 100644
--- a/controllers/admin/AdminStockManagementController.php
+++ b/controllers/admin/AdminStockManagementController.php
@@ -69,11 +69,11 @@ class AdminStockManagementControllerCore extends AdminController
parent::__construct();
- // Override confirmation messages specifically for this controller
+ // overrides confirmation messages specifically for this controller
$this->_conf = array(
1 => $this->l('The product was successfully added to stock'),
- 2 => $this->l('The product was properly removed from the stock'),
- 3 => $this->l('The transfer was done properly'),
+ 2 => $this->l('The product was successfully removed from the stock'),
+ 3 => $this->l('The transfer was successfully done'),
);
}
@@ -88,19 +88,16 @@ class AdminStockManagementControllerCore extends AdminController
$this->addRowAction('removestock');
$this->addRowAction('transferstock');
- //no link on list rows
+ // no link on list rows
$this->list_no_link = true;
$this->_select = 'a.id_product as id, COUNT(pa.id_product_attribute) as variations';
$this->_join = 'LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa ON (pa.id_product = a.id_product)';
- $this->displayInformation(
- $this->l('This interface allows you to manage the stocks of each of your products and their variations.
- The quantities of each product are global, so includes all quantities of each warehouses.
- You can add and delete products related to a given warehouse.
- You can transfer products from a warehouse to another.'
- )
- );
+ $this->displayInformation($this->l('This interface allows you to manage the stocks of each of your products and their variations.').'
');
+ $this->displayInformation($this->l('Total quantities in stock represent the sum for all warehouses.').'
');
+ $this->displayInformation($this->l('Through this interface, you can add and delete products for a given warehouse.'));
+ $this->displayInformation($this->l('Also, you can transfer products between warehouses, or within one warehouse.'));
return parent::initList();
}
@@ -179,7 +176,7 @@ class AdminStockManagementControllerCore extends AdminController
'size' => 10,
'maxlength' => 6,
'required' => true,
- 'p' => $this->l('Physical quantity to add to the stock for this product')
+ 'p' => $this->l('Physical quantity to add')
),
array(
'type' => 'radio',
@@ -200,7 +197,7 @@ class AdminStockManagementControllerCore extends AdminController
'label' => $this->l('Disabled')
)
),
- 'p' => $this->l('Is this quantity is usable for sale on shops, or reserved in the warehouse for other purpose ?:')
+ 'p' => $this->l('Is this quantity usable for sale on shops, or reserved in the warehouse for other purposes?')
),
array(
'type' => 'select',
@@ -233,7 +230,7 @@ class AdminStockManagementControllerCore extends AdminController
'id' => 'id_currency',
'name' => 'name'
),
- 'p' => $this->l('The currency associated to the product unit price.'),
+ 'p' => $this->l('The currency associated to the product unit price'),
),
array(
'type' => 'select',
@@ -241,11 +238,13 @@ class AdminStockManagementControllerCore extends AdminController
'name' => 'id_stock_mvt_reason',
'required' => true,
'options' => array(
- 'query' => StockMvtReason::getStockMvtReasons($this->context->language->id, 1),
+ 'query' => StockMvtReason::getStockMvtReasonsWithFilter($this->context->language->id,
+ array(Configuration::get('PS_STOCK_MVT_TRANSFER_TO')),
+ 1),
'id' => 'id_stock_mvt_reason',
'name' => 'name'
),
- 'p' => $this->l('Reason to add in stock movements'),
+ 'p' => $this->l('Reason used in stock movements'),
),
),
'submit' => array(
@@ -313,11 +312,11 @@ class AdminStockManagementControllerCore extends AdminController
'size' => 10,
'maxlength' => 6,
'required' => true,
- 'p' => $this->l('Physical quantity to remove from the stock for this product')
+ 'p' => $this->l('Physical quantity to remove')
),
array(
'type' => 'radio',
- 'label' => $this->l('Usable for sale?:'),
+ 'label' => $this->l('Usable for sale:'),
'name' => 'usable',
'required' => true,
'class' => 't',
@@ -334,7 +333,7 @@ class AdminStockManagementControllerCore extends AdminController
'label' => $this->l('Disabled')
)
),
- 'p' => $this->l('Do you want to remove this quantity from usable quantity for sale on shops ?:')
+ 'p' => $this->l('Do you want to remove this quantity from the usable quantity(yes) or the physical quantity(no)?')
),
array(
'type' => 'select',
@@ -354,11 +353,13 @@ class AdminStockManagementControllerCore extends AdminController
'name' => 'id_stock_mvt_reason',
'required' => true,
'options' => array(
- 'query' => StockMvtReason::getStockMvtReasons($this->context->language->id, -1),
+ 'query' => StockMvtReason::getStockMvtReasonsWithFilter($this->context->language->id,
+ array(Configuration::get('PS_STOCK_MVT_TRANSFER_FROM')),
+ -1),
'id' => 'id_stock_mvt_reason',
'name' => 'name'
),
- 'p' => $this->l('Reason to add in stock movements'),
+ 'p' => $this->l('Reason used in stock movements'),
),
),
'submit' => array(
diff --git a/controllers/admin/AdminStockMvtController.php b/controllers/admin/AdminStockMvtController.php
index 0bd5bd4e8..74741ef07 100644
--- a/controllers/admin/AdminStockMvtController.php
+++ b/controllers/admin/AdminStockMvtController.php
@@ -69,22 +69,24 @@ class AdminStockMvtControllerCore extends AdminController
),
);
- $reasons_inc = StockMvtReason::getStockMvtReasons($this->context->language->id, 1);
- $reasons_dec = StockMvtReason::getStockMvtReasons($this->context->language->id, -1);
+ $reasons_inc = StockMvtReason::getStockMvtReasonsWithFilter($this->context->language->id,
+ array(Configuration::get('PS_STOCK_MVT_TRANSFER_TO')), 1);
+ $reasons_dec = StockMvtReason::getStockMvtReasonsWithFilter($this->context->language->id,
+ array(Configuration::get('PS_STOCK_MVT_TRANSFER_FROM')), -1);
$this->options = array(
'general' => array(
'title' => $this->l('Options'),
'fields' => array(
'PS_STOCK_MVT_INC_REASON_DEFAULT' => array(
- 'title' => $this->l('Default Stock Movement reason for increment stock:'),
+ 'title' => $this->l('Default reason when incrementing stock:'),
'cast' => 'intval',
'type' => 'select',
'list' => $reasons_inc,
'identifier' => 'id_stock_mvt_reason'
),
'PS_STOCK_MVT_DEC_REASON_DEFAULT' => array(
- 'title' => $this->l('Default Stock Movement reason for decrement stock:'),
+ 'title' => $this->l('Default reason when decrementing stock:'),
'cast' => 'intval',
'type' => 'select',
'list' => $reasons_dec,
@@ -108,8 +110,8 @@ class AdminStockMvtControllerCore extends AdminController
{
$this->fields_form = array(
'legend' => array(
- 'title' => $this->l('Add product to stock'),
- 'image' => '../img/admin/arrow_up.png'
+ 'title' => $this->l('Stock Movement Reason'),
+ 'image' => '../img/admin/edit.gif'
),
'input' => array(
array(
@@ -140,7 +142,7 @@ class AdminStockMvtControllerCore extends AdminController
'id' => 'id',
'name' => 'name'
),
- 'p' => $this->l('Select the warehouse where you want to add the product into')
+ 'p' => $this->l('Select the corresponding action : increments or decrements stock.')
),
),
'submit' => array(
@@ -158,6 +160,9 @@ class AdminStockMvtControllerCore extends AdminController
*/
public function initList()
{
+ $this->displayInformation($this->l('This interface allows you to display the stock movements for a selected warehouse.').'
');
+ $this->displayInformation($this->l('Also, it allows you to add and edit your own stock movement reasons.'));
+
//no link on list rows
$this->list_no_link = true;
@@ -166,7 +171,8 @@ class AdminStockMvtControllerCore extends AdminController
*/
$this->addRowAction('edit');
$this->addRowAction('delete');
- $this->addRowActionSkipList('delete', array(1,2,3,4));
+ $this->addRowActionSkipList('edit', array(6, 7));
+ $this->addRowActionSkipList('delete', array(1, 2, 3, 4, 6, 7));
if (!isset($_GET['addstock_mvt_reason']) || (Tools::isSubmit('submitAddstock_mvt_reason') && Tools::getValue('id_stock_mvt_reason')))
{
diff --git a/controllers/admin/AdminWarehousesController.php b/controllers/admin/AdminWarehousesController.php
index 5ed76c640..5f13760a0 100644
--- a/controllers/admin/AdminWarehousesController.php
+++ b/controllers/admin/AdminWarehousesController.php
@@ -88,10 +88,13 @@ class AdminWarehousesControllerCore extends AdminController
LEFT JOIN `'._DB_PREFIX_.'address` ad ON (ad.id_address = a.id_address)
LEFT JOIN `'._DB_PREFIX_.'country` c ON (c.id_country = ad.id_country)';
- $this->displayInformation(
- $this->l('This interface allows you to manage your warehouses. Before managing any stock in your warehouses, check the general default currency used.
- For each warehouse, according to the law in your country, you have to check the management type, the valuation currency, and the associated carriers and shops.')
- );
+ $this->displayInformation($this->l('This interface allows you to manage your warehouses.').'
');
+ $this->displayInformation($this->l('Before adding stock in your warehouses, you should check the general default currency used.').'
');
+ $this->displayInformation($this->l('Futhermore, for each warehouse, you have to check :
+ the management type (according to the law in your country), the valuation currency,
+ its associated carriers and shops.').'
');
+ $this->displayInformation($this->l('Finally, you can see detailed informations on your stock per warehouse, such as its valuation,
+ the number of products and quantities stored.'));
return parent::initList();
}
@@ -126,7 +129,7 @@ class AdminWarehousesControllerCore extends AdminController
'size' => 30,
'maxlength' => 32,
'required' => true,
- 'p' => $this->l('Code / Reference of this warehouse'),
+ 'p' => $this->l('Reference of this warehouse'),
),
array(
'type' => 'text',
@@ -186,7 +189,7 @@ class AdminWarehousesControllerCore extends AdminController
'id' => 'id_country',
'name' => 'name'
),
- 'p' => $this->l('Country where state, region or city is located')
+ 'p' => $this->l('Country where the state, region or city is located')
),
array(
'type' => 'select',
@@ -233,7 +236,7 @@ class AdminWarehousesControllerCore extends AdminController
'name' => 'name'
),
'p' => $this->l('Inventory valuation method'),
- 'hint' => $this->l('Do not change this value before the end of the accounting period for this Warehouse.'),
+ 'hint' => $this->l('Do not change this value before the end of the accounting period for this warehouse.'),
),
array(
'type' => 'select',
@@ -245,7 +248,7 @@ class AdminWarehousesControllerCore extends AdminController
'id' => 'id_currency',
'name' => 'name'
),
- 'hint' => $this->l('Do not change this value before the end of the accounting period for this Warehouse.'),
+ 'hint' => $this->l('Do not change this value before the end of the accounting period for this warehouse.'),
),
array(
'type' => 'select',
@@ -258,13 +261,13 @@ class AdminWarehousesControllerCore extends AdminController
'id' => 'id_shop',
'name' => 'name'
),
- 'p' => $this->l('Associated shops'),
- 'hint' => $this->l('By associating a shop to a warehouse, all products in this warehouse will be available
- for sale in the associated shop. Shipment of an order of this shop is also possible from this warehouse'),
+ 'p' => $this->l('Shops'),
+ 'hint' => $this->l('By associating a shop to a warehouse, all products in the warehouse will be available
+ for sale in it. It is also possible to ship orders of this shop from this warehouse'),
),
array(
'type' => 'select',
- 'label' => $this->l('Associated carriers:'),
+ 'label' => $this->l('Carriers:'),
'name' => 'ids_carriers[]',
'required' => true,
'multiple' => true,
@@ -273,8 +276,8 @@ class AdminWarehousesControllerCore extends AdminController
'id' => 'id_carrier',
'name' => 'name'
),
- 'p' => $this->l('Associated carrier'),
- 'hint' => $this->l('You can specifiy the carriers availables for shipping orders from this warehouse'),
+ 'p' => $this->l('Associated carriers'),
+ 'hint' => $this->l('You can specifiy the carriers available to ship orders from this warehouse'),
),
),
'submit' => array(
@@ -407,7 +410,7 @@ class AdminWarehousesControllerCore extends AdminController
$res = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($query);
$content = '