Jump to content

Bug Du Système D'édition D'avoirs....


Recommended Posts

bonjour, j'ai voulu éditer un avoir suite à un retour client. j'ai saisi le numéro de commande et voici l'erreur SQL qui s'est affichée. Depuis cet instant je ne peux plus rien faire, j'ai toujours la même erreur et je ne peux ni rechercher ni créer ou éditer un avoir....

post-31547-0-10721400-1454407347_thumb.jpg

Edited by zoomzoom (see edit history)
Link to comment
Share on other sites

Ok, si vous avez accès au ftp:

Activez le mode debug en modifiant cette ligne au début du fichier config/defines.inc.php :
 
define('_PS_MODE_DEV_', false);
 
par
 
define('_PS_MODE_DEV_', true);
 
L'erreur devrait être plus complète et nous indiquer la ligne à corriger
Link to comment
Share on other sites

Humm.. il y a un souci de version là...

 

Pouvez-vous me copier ici (en utilisant le bouton "Insérer un extrait de code"  le contenu du fichier /controllers/admin/AdminSlipController.php car celui de la 1.6.1.4 ne devrait pas générer ce message

Link to comment
Share on other sites

et bien pas de soucis voici tout le contenu du fichier :

<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 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/osl-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 [email protected] 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 <[email protected]>
*  @copyright  2007-2015 PrestaShop SA
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

class AdminSlipControllerCore extends AdminController
{
	public function __construct()
	{
		$this->bootstrap = true;
	 	$this->table = 'order_slip';
		$this->className = 'OrderSlip';

		$this->_select = ' o.`id_shop`';
		$this->_join .= ' LEFT JOIN '._DB_PREFIX_.'orders o ON (o.`id_order` = a.`id_order`)';
		$this->_group = ' GROUP BY a.`id_order_slip`';

		$this->fields_list = array(
			'id_order_slip' => array(
				'title' => $this->l('ID'),
				'align' => 'center',
				'class' => 'fixed-width-xs'
 			),
			'id_order' => array(
				'title' => $this->l('Order ID'),
				'align' => 'left',
				'class' => 'fixed-width-md'
 			),
			'date_add' => array(
				'title' => $this->l('Date issued'),
				'type' => 'date',
				'align' => 'right'
 			),
 			'id_pdf' => array(
				'title' => $this->l('PDF'),
				'align' => 'center',
				'callback' => 'printPDFIcons',
				'orderby' => false,
				'search' => false,
				'remove_onclick' => true)
		);

		$this->_select = 'a.id_order_slip AS id_pdf';
		$this->optionTitle = $this->l('Slip');

		$this->fields_options = array(
			'general' => array(
				'title' =>	$this->l('Credit slip options'),
				'fields' =>	array(
					'PS_CREDIT_SLIP_PREFIX' => array(
						'title' => $this->l('Credit slip prefix'),
						'desc' => $this->l('Prefix used for credit slips.'),
						'size' => 6,
						'type' => 'textLang'
					)
				),
				'submit' => array('title' => $this->l('Save'))
			)
		);

		parent::__construct();

		$this->_where = Shop::addSqlRestriction(false, 'o');
	}

	public function initPageHeaderToolbar()
	{
		$this->page_header_toolbar_btn['generate_pdf'] = array(
			'href' => self::$currentIndex.'&token='.$this->token,
			'desc' => $this->l('Generate PDF', null, null, false),
			'icon' => 'process-icon-save-date'
		);

		parent::initPageHeaderToolbar();
	}

	public function renderForm()
	{
		$this->fields_form = array(
			'legend' => array(
				'title' => $this->l('Print a PDF'),
				'icon' => 'icon-print'
			),
			'input' => array(
				array(
					'type' => 'date',
					'label' => $this->l('From'),
					'name' => 'date_from',
					'maxlength' => 10,
					'required' => true,
					'hint' => $this->l('Format: 2011-12-31 (inclusive).')
				),
				array(
					'type' => 'date',
					'label' => $this->l('To'),
					'name' => 'date_to',
					'maxlength' => 10,
					'required' => true,
					'hint' => $this->l('Format: 2012-12-31 (inclusive).')
				)
			),
			'submit' => array(
				'title' => $this->l('Generate PDF file'),
				'id' => 'submitPrint',
				'icon' => 'process-icon-download-alt'
			)
		);

		$this->fields_value = array(
			'date_from' => date('Y-m-d'),
			'date_to' => date('Y-m-d')
		);

		$this->show_toolbar = false;
		return parent::renderForm();
	}

	public function postProcess()
	{
		if (Tools::getValue('submitAddorder_slip'))
		{
			if (!Validate::isDate(Tools::getValue('date_from')))
				$this->errors[] = $this->l('Invalid "From" date');
			if (!Validate::isDate(Tools::getValue('date_to')))
				$this->errors[] = $this->l('Invalid "To" date');
			if (!count($this->errors))
			{
				$order_slips = OrderSlip::getSlipsIdByDate(Tools::getValue('date_from'), Tools::getValue('date_to'));
				if (count($order_slips))
					Tools::redirectAdmin($this->context->link->getAdminLink('AdminPdf').'&submitAction=generateOrderSlipsPDF&date_from='.urlencode(Tools::getValue('date_from')).'&date_to='.urlencode(Tools::getValue('date_to')));
				$this->errors[] = $this->l('No order slips were found for this period.');
			}
		}
		else
			return parent::postProcess();
	}

	public function initContent()
	{
		$this->initTabModuleList();
		$this->initToolbar();
		$this->initPageHeaderToolbar();
		$this->content .= $this->renderList();
		$this->content .= $this->renderForm();
		$this->content .= $this->renderOptions();

		$this->context->smarty->assign(array(
			'content' => $this->content,
			'url_post' => self::$currentIndex.'&token='.$this->token,
			'show_page_header_toolbar' => $this->show_page_header_toolbar,
			'page_header_toolbar_title' => $this->page_header_toolbar_title,
			'page_header_toolbar_btn' => $this->page_header_toolbar_btn
		));
	}

	public function initToolbar()
	{
		$this->toolbar_btn['save-date'] = array(
			'href' => '#',
			'desc' => $this->l('Generate PDF file')
		);
	}
	
	public function printPDFIcons($id_order_slip, $tr)
	{
		$order_slip = new OrderSlip((int)$id_order_slip);
		if (!Validate::isLoadedObject($order_slip))
			return '';

		$this->context->smarty->assign(array(
			'order_slip' => $order_slip,
			'tr' => $tr
		));

		return $this->createTemplate('_print_pdf_icon.tpl')->fetch();
	}
}


Link to comment
Share on other sites

Mais vous devez avoir une override car nul part dans le code la ligne 'id_order' LIKE '%wcc%' n'existe. D'ailleurs, c'est débile de rechercher une chaine de caractère alors que cela doit être un entier (id_order).

 

Donc, soit un module foireux, soit une modif du code.

Link to comment
Share on other sites

bonsoir et merci pour cette remarque mais n'étant pas développeur j'ai du mal à envisager une solution quelconque. Dois-je remplacer ce fichier? un module foireux ça veut dire quoi? un module peut impacter ce fichier? merci pour votre réponse.

Link to comment
Share on other sites

Cela permet de mettre en place des points d'arret et remonter le code. On appelle ça du débug.

Vu que chaque installation est différente, il est difficile de donner une solution "toute faite" sur un forum. Un diagnostic sur place est fortement recommandé. Maintenant vous pouvez demander à quelqu'un d'autre, cela ne me dérange pas^^

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...