// AdminSupplierOrdersController : added history detail when receiving products
git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@9929 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
@@ -0,0 +1,125 @@
|
||||
{*
|
||||
* 2007-2011 PrestaShop
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@prestashop.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
|
||||
* versions in the future. If you wish to customize PrestaShop for your
|
||||
* needs please refer to http://www.prestashop.com for more information.
|
||||
*
|
||||
* @author PrestaShop SA <contact@prestashop.com>
|
||||
* @copyright 2007-2011 PrestaShop SA
|
||||
* @version Release: $Revision$
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PrestaShop SA
|
||||
*}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#details_{$id}').click(function() {
|
||||
if (typeof(this.dataMaped) == 'undefined') {
|
||||
$.ajax({
|
||||
url: 'index.php',
|
||||
data: {
|
||||
id_supplier_order_detail: '{$id}',
|
||||
controller: '{$controller}',
|
||||
token: '{$token}',
|
||||
action: '{$action}',
|
||||
ajax: true
|
||||
},
|
||||
context: document.body,
|
||||
dataType: 'json',
|
||||
context: this,
|
||||
async: false,
|
||||
success: function(data) {
|
||||
if (typeof(data.use_parent_structure) == 'undefined' || (data.use_parent_structure == true))
|
||||
{
|
||||
if ($('#details_{$id}').parent().parent().hasClass('alt_row'))
|
||||
var alt_row = true;
|
||||
else
|
||||
var alt_row = false;
|
||||
$('#details_{$id}').parent().parent().after($('<tr class="details_{$id} small '+(alt_row ? 'alt_row' : '')+'"></tr>')
|
||||
.append($('<td style="border:none!important;" class="empty"></td>')
|
||||
.attr('colspan', $('#details_{$id}').parent().parent().find('td').length)));
|
||||
$.each(data.data, function(it, row)
|
||||
{
|
||||
var content = $('<tr class="action_details details_{$id} '+(alt_row ? 'alt_row' : '')+'"></tr>');
|
||||
content.append($('<td class="empty"></td>'));
|
||||
var first = true;
|
||||
var count = 0; // Number of non-empty collum
|
||||
$.each(row, function(it)
|
||||
{
|
||||
if(typeof(data.fields_display[it]) != 'undefined')
|
||||
count++;
|
||||
});
|
||||
$.each(data.fields_display, function(it, line)
|
||||
{
|
||||
if (typeof(row[it]) == 'undefined')
|
||||
{
|
||||
if (first || count == 0)
|
||||
content.append($('<td class="'+this.align+' empty"></td>'));
|
||||
else
|
||||
content.append($('<td class="'+this.align+'"></td>'));
|
||||
}
|
||||
else
|
||||
{
|
||||
count--;
|
||||
if (first)
|
||||
{
|
||||
first = false;
|
||||
content.append($('<td class="'+this.align+' first">'+row[it]+'</td>'));
|
||||
}
|
||||
else if (count == 0)
|
||||
content.append($('<td class="'+this.align+' last">'+row[it]+'</td>'));
|
||||
else
|
||||
content.append($('<td class="'+this.align+' '+count+'">'+row[it]+'</td>'));
|
||||
}
|
||||
});
|
||||
content.append($('<td class="empty"></td>'));
|
||||
$('#details_{$id}').parent().parent().after(content);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($('#details_{$id}').parent().parent().hasClass('alt_row'))
|
||||
var content = $('<tr class="details_{$id} alt_row"></tr>');
|
||||
else
|
||||
var content = $('<tr class="details_{$id}"></tr>');
|
||||
content.append($('<td style="border:none!important;">'+data.data+'</td>').attr('colspan', $('#details_{$id}').parent().parent().find('td').length));
|
||||
$('#details_{$id}').parent().parent().after(content);
|
||||
}
|
||||
this.dataMaped = true;
|
||||
this.opened = false;
|
||||
initTableDnD('.details_{$id} table.tableDnD');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (this.opened)
|
||||
{
|
||||
$(this).find('img').attr('src', '../img/admin/more.png');
|
||||
$(this).parent().parent().parent().find('.details_{$id}').hide();
|
||||
this.opened = false
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).find('img').attr('src', '../img/admin/less.png');
|
||||
$(this).parent().parent().parent().find('.details_{$id}').show();
|
||||
this.opened = true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<a href="#" id="details_{$id}">
|
||||
<img src="../img/admin/more.png" alt="{$action}" title="{$action}" />
|
||||
</a>
|
||||
@@ -801,6 +801,8 @@ class AdminSupplierOrdersControllerCore extends AdminController
|
||||
$this->_where = 'AND a.`id_supplier_order` = '.(int)$id_supplier_order;
|
||||
$this->_group = 'GROUP BY a.id_supplier_order_detail';
|
||||
|
||||
$this->addRowAction('details');
|
||||
|
||||
// gets the list ordered by price desc, without limit
|
||||
$this->getList($lang_id, 'quantity_expected', 'DESC', 0, false, false);
|
||||
|
||||
@@ -808,7 +810,9 @@ class AdminSupplierOrdersControllerCore extends AdminController
|
||||
$action = '&id_supplier_order='.$id_supplier_order.'&submitUpdateReceipt';
|
||||
// renders list
|
||||
$helper = new HelperList();
|
||||
$helper->override_folder = 'supplier_orders_receipt_history/';
|
||||
$helper->simple_header = true;
|
||||
$helper->actions = $this->actions;
|
||||
$helper->table = $this->table;
|
||||
$helper->no_link = true;
|
||||
$helper->show_toolbar = false;
|
||||
@@ -1244,6 +1248,60 @@ class AdminSupplierOrdersControllerCore extends AdminController
|
||||
|
||||
echo Tools::jsonEncode(array('use_parent_structure' => false, 'data' => $content));
|
||||
}
|
||||
else if (Tools::isSubmit('id_supplier_order_detail'))
|
||||
{
|
||||
$this->identifier = 'id_supplier_order_receipt_history';
|
||||
$this->table = 'supplier_order_receipt_history';
|
||||
$this->display = 'list';
|
||||
$this->lang = false;
|
||||
$lang_id = (int)$this->context->language->id;
|
||||
$id_supplier_order_detail = (int)Tools::getValue('id_supplier_order_detail');
|
||||
|
||||
unset($this->fieldsDisplay);
|
||||
$this->fieldsDisplay = array(
|
||||
'date_add' => array(
|
||||
'title' => $this->l('Last update'),
|
||||
'width' => 50,
|
||||
'align' => 'left',
|
||||
'type' => 'datetime',
|
||||
'havingFilter' => true
|
||||
),
|
||||
'employee' => array(
|
||||
'title' => $this->l('Employee'),
|
||||
'width' => 100,
|
||||
'align' => 'left',
|
||||
'havingFilter' => true
|
||||
),
|
||||
'quantity' => array(
|
||||
'title' => $this->l('Quantity received'),
|
||||
'width' => 100,
|
||||
'align' => 'left',
|
||||
'havingFilter' => true
|
||||
),
|
||||
);
|
||||
|
||||
// loads history of the given order
|
||||
unset($this->_select, $this->_join, $this->_where, $this->_orderBy, $this->_orderWay, $this->_group, $this->_filterHaving, $this->_filter);
|
||||
$this->_select = 'CONCAT(e.`lastname`, \' \', e.`firstname`) as employee';
|
||||
$this->_join = 'LEFT JOIN `'._DB_PREFIX_.'employee` e ON (e.`id_employee` = a.`id_employee`)';
|
||||
$this->_where = 'AND a.`id_supplier_order_detail` = '.(int)$id_supplier_order_detail;
|
||||
|
||||
// gets list and forces no limit clause in the request
|
||||
$this->getList($lang_id, 'date_add', 'DESC', 0, false, false);
|
||||
|
||||
// renders list
|
||||
$helper = new HelperList();
|
||||
$helper->no_link = true;
|
||||
$helper->show_toolbar = false;
|
||||
$helper->toolbar_fix = false;
|
||||
$helper->shopLinkType = '';
|
||||
$helper->identifier = $this->identifier;
|
||||
$helper->colorOnBackground = true;
|
||||
$helper->simple_header = true;
|
||||
$content = $helper->generateList($this->_list, $this->fieldsDisplay);
|
||||
|
||||
echo Tools::jsonEncode(array('use_parent_structure' => false, 'data' => $content));
|
||||
}
|
||||
die;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user