Jump to content

Alzerha

Members
  • Posts

    18
  • Joined

  • Last visited

About Alzerha

  • Birthday 11/22/1988

Profile Information

  • Activity
    Project Owner

Alzerha's Achievements

  1. Après un peu de "fouinage" dans PhpMyAdmin, il semblerait bien que le module gratuit "Delete Order Free" je fais pas son job au complet. J'ai donc essayé de remettre en phase quelques tables notamment : - ps_order_carrier ; - ps_order_invoice. Il y avait quelques doublons et choses inutiles. J'ai simplement comparé les commandes du BO de PS et les lignes de la base de données. Je ne sais pas s'il reste certaines choses à supprimer, mais pour le moment cela semble cohérent et surtout ma génération de facture re-fonctionne automatiquement !
  2. Je pense qu'il est possible que j'ai des conflits dans les tables de ma base de donnée. Ayant fait des tests de commande fictives (du à un autre problème lors également d'une MAJ PS) et les ayant supprimées via un module, je pense que la suppression ne doit pas être complète. j'ai notamment dans mes dernières commandes, des doublons d'expédition de transporteur, ... Si quelqu'un à des idées pour les tables à toucher / supprimer pour essayer d'avancer et de remettre un peu d'ordre ?
  3. A voir si le nombres 0 n'est pas simplement "fictif". L'important est surtout si vous avez un pack de produits A & B de 10 et 8 produits respectifs, lors d'une commande le stock passe à 9 et 7 produits. C'est tout ce qui importe pour la gestion des stocks non ? Si vous voulez gérer cependant un stock à part, avec par exemple uniquement 5 pack de produits A & B, je vous conseillerai plutôt de créer un autre produit simplement ! Ou partir sur un module payant permettant de palier à ce manquement de Prestashop.
  4. Je ne comprends pas trop de problème, si la quantité du stock est de 0. Cela parait cohérent ! Des impressions d'écrans de vos problèmes/démarche de la commande ?
  5. Bonjour à tous, Suite à la mise à jour de PS 1.6.0.14 à PS 1.6.1, il semblerait que j'ai un problème maintenant pour générer les factures lors d'un changement d'état. A savoir que je réalise la création de facture, une fois le client livré, donc en l'état uniquement "livré". Il semblerait que je n'ai pas de problème sur la numération/génération du bon de commande. Le message d'alerte est le suivant : [PrestaShopException] Property OrderInvoice->number is empty at line 881 in file classes/ObjectModel.php 876. 877. $message = $this->validateField($field, $this->$field); 878. if ($message !== true) 879. { 880. if ($die) 881. throw new PrestaShopException($message); 882. return $error_return ? $message : false; 883. } 884. } 885. 886. return true; ObjectModelCore->validateFields - [line 245 - classes/ObjectModel.php] ObjectModelCore->getFields - [line 469 - classes/ObjectModel.php] ObjectModelCore->add - [line 152 - classes/order/OrderInvoice.php] OrderInvoiceCore->add - [line 431 - classes/ObjectModel.php] - [2 Arguments] ObjectModelCore->save - [line 1214 - classes/order/Order.php] OrderCore->setInvoice - [line 295 - classes/order/OrderHistory.php] - [1 Arguments] OrderHistoryCore->changeIdOrderState - [line 525 - controllers/admin/AdminOrdersController.php] - [3 Arguments] AdminOrdersControllerCore->postProcess - [line 171 - classes/controller/Controller.php] ControllerCore->run - [line 373 - classes/Dispatcher.php] DispatcherCore->dispatch - [line 54 - admin/index.php] Vous trouverez dans ci-dessous des screens de : - mon message d'alerte lorsque je passse en état "livré" ; - ma liste de commandes ; - le détail d'une commande qui n'affichage pas d'état "livré" ; - la liste des états. Merci par avance pour votre aide. Alzerha
  6. Essaye de voir si cela peut t'aider : - BO - Préférences - Produits -Stock des produits - "Gestion des stocks de packs par défaut" A peut être compléter avec "Autoriser la commande de produits en rupture de stock" Je ne fais pas de pack, mais j'avais vu cette option...
  7. Problème résolu semble t-il ! Il s'agissait bien d'un problème j'imagine de la mise à jour en 1.6.0.14 et des nouveaux états de commande en conflits je suppose avec le module Payplug qui avait crée un état n°13. N'utilisant plus Payplug, j'ai donc remis les 13 états comme par défaut sur version 1.6.0.14 (Cf screen). J'ai du également changé dans la base de données la valeur, initialement 16 de PS_OS_OUTOFSTOCK_UNPAID à la valeur 13 afin de faire correspondre l'ID à l'état. Merci à okom3pom pour ses explications et à Zebx pour son coup d’œil remarquable !
  8. Oui, je ne disais bien que je n'avais pas touché grand chose officiellement.. Je ne pense pas qu'il y ai un problème d'installation, car je n'avais pas ce problème il y a quelques mois. Il s'agit d'une mise à jour, j'ai commencé en version 1.6, mais je ne sais plus laquelle (Shop commencé en janvier 2015 - de souvenir 1.6.0.9) Je vais installer une installation à blanc en 1.6.0.9 voir ce que j'ai dans les états à l'origine.. Je joints dans ce message un screen des états d'origine qui semblent correspondre à mon installation. Je pense qu'il s'agit d'un problème du module Payplug qui a remplacé l'état par défaut. Je l'ai désinstallé/supprimé, mais cela ne corrige rien.
  9. En effet, j'ai du mal comprendre. Cela m'avait un peu surpris quand j'ai marqué l'ID mais ne connaissant pas les états par défaut également il serait bizarre de pouvoir supprimer un état essentiel au bon fonctionnement de PS... :x Ai-je une possibilité via le remplacement d'un fichier, de remettre les états par défaut ? Car il semblerait qu'il y en ai au minimum 16 ! Donc autant tout rajouter et être tranquille... En espérant que cela règle le problème...
  10. J'ai de coché : Envoyer un e-mail au client lorsque la commande change d'état. Avez l'email "outofstock"
  11. Virement bancaire v1.0.7 - par PrestaShop J'ai le souvenir d'avoir mis à jour ce module il y a pas si longtemps je crois bien.. Pour information, j'ai changé la quantité des produits, pour les passer "en stock" ! Le problème semble réglé via ma commande fictive. Il y a donc un problème uniquement lorsque de produit est de quantité 0 ou inférieur. On s'approche !
  12. En effet. Je suis sur la dernière version de PS : 1.6.0.14 Non, tous mes articles ne sont pas en stock, fonctionnant uniquement en "pré-commande". Dans l'état "En attente de réapprovisionnement" j'ai juste la case : Marquer la commande associée comme payée.
  13. Merci tout de même du temps consacré au problème ! Je ne pense pas que cela vienne des états, car il semblerait que j'ai le même problème avec le module "Paiement par Chèque". Pour les cases cochées de l'état : Envoyer un e-mail au client lorsque la commande change d'état. - Coché Envoi d'email type - Bankwire
  14. Etant un peu perdu, avez vous la démarche pour réaliser la recherche dans la table de configuration de la BDD ? Faut-il aller sur phpMyAdmin et rechercher la table "ps_configuration" ou est-ce autre chose ? Edit via phpMyAdmin : PS_OS_BANKWIRE - Value 10 PS_OS_OUTOFSTOCK - Value 9 PS_OS_OUTOFSTOCK_UNPAID - Value 16 Pour l'état, les commandes arrivent bien avec l'état "En attente de virement bancaire" par défaut dans le BO de commande. Mon problème est surtout le message sur le FO qui apparaît je ne sais pas pourquoi...
  15. De souvenir je n'ai rien supprimé dans les Etats de commandes. J'ai édité certains paramètre uniquement via le BO. Un screen des "états" à été édité dans mon premier message de post. Voici ci-dessous le code du fichier "bankwire.php" <?php /* * 2007-2015 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 [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/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_VERSION_')) exit; class BankWire extends PaymentModule { private $_html = ''; private $_postErrors = array(); public $details; public $owner; public $address; public $extra_mail_vars; public function __construct() { $this->name = 'bankwire'; $this->tab = 'payments_gateways'; $this->version = '1.0.7'; $this->author = 'PrestaShop'; $this->controllers = array('payment', 'validation'); $this->is_eu_compatible = 1; $this->currencies = true; $this->currencies_mode = 'checkbox'; $config = Configuration::getMultiple(array('BANK_WIRE_DETAILS', 'BANK_WIRE_OWNER', 'BANK_WIRE_ADDRESS')); if (!empty($config['BANK_WIRE_OWNER'])) $this->owner = $config['BANK_WIRE_OWNER']; if (!empty($config['BANK_WIRE_DETAILS'])) $this->details = $config['BANK_WIRE_DETAILS']; if (!empty($config['BANK_WIRE_ADDRESS'])) $this->address = $config['BANK_WIRE_ADDRESS']; $this->bootstrap = true; parent::__construct(); $this->displayName = $this->l('Bank wire'); $this->description = $this->l('Accept payments for your products via bank wire transfer.'); $this->confirmUninstall = $this->l('Are you sure about removing these details?'); if (!isset($this->owner) || !isset($this->details) || !isset($this->address)) $this->warning = $this->l('Account owner and account details must be configured before using this module.'); if (!count(Currency::checkPaymentCurrencies($this->id))) $this->warning = $this->l('No currency has been set for this module.'); $this->extra_mail_vars = array( '{bankwire_owner}' => Configuration::get('BANK_WIRE_OWNER'), '{bankwire_details}' => nl2br(Configuration::get('BANK_WIRE_DETAILS')), '{bankwire_address}' => nl2br(Configuration::get('BANK_WIRE_ADDRESS')) ); } public function install() { if (!parent::install() || !$this->registerHook('payment') || ! $this->registerHook('displayPaymentEU') || !$this->registerHook('paymentReturn') || !$this->registerHook('advancedPaymentApi')) return false; return true; } public function uninstall() { if (!Configuration::deleteByName('BANK_WIRE_DETAILS') || !Configuration::deleteByName('BANK_WIRE_OWNER') || !Configuration::deleteByName('BANK_WIRE_ADDRESS') || !parent::uninstall()) return false; return true; } private function _postValidation() { if (Tools::isSubmit('btnSubmit')) { if (!Tools::getValue('BANK_WIRE_DETAILS')) $this->_postErrors[] = $this->l('Account details are required.'); elseif (!Tools::getValue('BANK_WIRE_OWNER')) $this->_postErrors[] = $this->l('Account owner is required.'); } } private function _postProcess() { if (Tools::isSubmit('btnSubmit')) { Configuration::updateValue('BANK_WIRE_DETAILS', Tools::getValue('BANK_WIRE_DETAILS')); Configuration::updateValue('BANK_WIRE_OWNER', Tools::getValue('BANK_WIRE_OWNER')); Configuration::updateValue('BANK_WIRE_ADDRESS', Tools::getValue('BANK_WIRE_ADDRESS')); } $this->_html .= $this->displayConfirmation($this->l('Settings updated')); } private function _displayBankWire() { return $this->display(__FILE__, 'infos.tpl'); } public function getContent() { if (Tools::isSubmit('btnSubmit')) { $this->_postValidation(); if (!count($this->_postErrors)) $this->_postProcess(); else foreach ($this->_postErrors as $err) $this->_html .= $this->displayError($err); } else $this->_html .= '<br />'; $this->_html .= $this->_displayBankWire(); $this->_html .= $this->renderForm(); return $this->_html; } public function hookPayment($params) { if (!$this->active) return; if (!$this->checkCurrency($params['cart'])) return; $this->smarty->assign(array( 'this_path' => $this->_path, 'this_path_bw' => $this->_path, 'this_path_ssl' => Tools::getShopDomainSsl(true, true).__PS_BASE_URI__.'modules/'.$this->name.'/' )); return $this->display(__FILE__, 'payment.tpl'); } public function hookDisplayPaymentEU($params) { if (!$this->active) return; if (!$this->checkCurrency($params['cart'])) return; if (isset($params['adv_pay_api']) && $params['adv_pay_api'] === true) { $payment_options = new PaymentOption(); $payment_options->cta_text = $this->l('Pay by Bank Wire'); $payment_options->logo = Media::getMediaPath(dirname(__FILE__).'/bankwire.jpg'); $payment_options->action = $this->context->link->getModuleLink($this->name, 'validation', array(), true); } else $payment_options = array( 'cta_text' => $this->l('Pay by Bank Wire'), 'logo' => Media::getMediaPath(dirname(__FILE__).'/bankwire.jpg'), 'action' => $this->context->link->getModuleLink($this->name, 'validation', array(), true) ); return $payment_options; } public function hookAdvancedPaymentApi($params) { $params['adv_pay_api'] = true; return $this->hookDisplayPaymentEU($params); } public function hookPaymentReturn($params) { if (!$this->active) return; $state = $params['objOrder']->getCurrentState(); if (in_array($state, array(Configuration::get('PS_OS_BANKWIRE'), Configuration::get('PS_OS_OUTOFSTOCK'), Configuration::get('PS_OS_OUTOFSTOCK_UNPAID')))) { $this->smarty->assign(array( 'total_to_pay' => Tools::displayPrice($params['total_to_pay'], $params['currencyObj'], false), 'bankwireDetails' => Tools::nl2br($this->details), 'bankwireAddress' => Tools::nl2br($this->address), 'bankwireOwner' => $this->owner, 'status' => 'ok', 'id_order' => $params['objOrder']->id )); if (isset($params['objOrder']->reference) && !empty($params['objOrder']->reference)) $this->smarty->assign('reference', $params['objOrder']->reference); } else $this->smarty->assign('status', 'failed'); return $this->display(__FILE__, 'payment_return.tpl'); } public function checkCurrency($cart) { $currency_order = new Currency($cart->id_currency); $currencies_module = $this->getCurrency($cart->id_currency); if (is_array($currencies_module)) foreach ($currencies_module as $currency_module) if ($currency_order->id == $currency_module['id_currency']) return true; return false; } public function renderForm() { $fields_form = array( 'form' => array( 'legend' => array( 'title' => $this->l('Contact details'), 'icon' => 'icon-envelope' ), 'input' => array( array( 'type' => 'text', 'label' => $this->l('Account owner'), 'name' => 'BANK_WIRE_OWNER', 'required' => true ), array( 'type' => 'textarea', 'label' => $this->l('Details'), 'name' => 'BANK_WIRE_DETAILS', 'desc' => $this->l('Such as bank branch, IBAN number, BIC, etc.'), 'required' => true ), array( 'type' => 'textarea', 'label' => $this->l('Bank address'), 'name' => 'BANK_WIRE_ADDRESS', 'required' => true ), ), 'submit' => array( 'title' => $this->l('Save'), ) ), ); $helper = new HelperForm(); $helper->show_toolbar = false; $helper->table = $this->table; $lang = new Language((int)Configuration::get('PS_LANG_DEFAULT')); $helper->default_form_language = $lang->id; $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') ? Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG') : 0; $this->fields_form = array(); $helper->id = (int)Tools::getValue('id_carrier'); $helper->identifier = $this->identifier; $helper->submit_action = 'btnSubmit'; $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false).'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name; $helper->token = Tools::getAdminTokenLite('AdminModules'); $helper->tpl_vars = array( 'fields_value' => $this->getConfigFieldsValues(), 'languages' => $this->context->controller->getLanguages(), 'id_language' => $this->context->language->id ); return $helper->generateForm(array($fields_form)); } public function getConfigFieldsValues() { return array( 'BANK_WIRE_DETAILS' => Tools::getValue('BANK_WIRE_DETAILS', Configuration::get('BANK_WIRE_DETAILS')), 'BANK_WIRE_OWNER' => Tools::getValue('BANK_WIRE_OWNER', Configuration::get('BANK_WIRE_OWNER')), 'BANK_WIRE_ADDRESS' => Tools::getValue('BANK_WIRE_ADDRESS', Configuration::get('BANK_WIRE_ADDRESS')), ); } }
×
×
  • Create New...