Jump to content

Résolu. Bug ligne taxe module devis depuis mise à jour 1.6


Recommended Posts

Bonjour,
 
j'ai un problème concernant le module Devis Personnalisé : en effet, lorsque mes clients demandent un devis, je ne peux pas choisir la taxe à fixer et cela depuis la mise à jour de prestashop de 1.4 à 1.6.
 
Au sein du Back Office, dans Commandes -> Devis, je peux taper ma réponse, rentrer des frais de port, mais au niveau de la Taxe, il est coché "aucune taxe" et je ne peux pas sélectionner d'autres options. J'ai pourtant bien rempli les taxes pour chaque pays etc...
 
 
Ma version Prestashop est 1.6.1.11. D'après quelques recherches, il semblerait que le module ne fonctionne pas pour cette version mais seulement compatible avec v1.6.0.9 - v1.6.0.14. 
 
J'ai essayé de contacter le développeur du module mais pas de réponse de sa part. 
 
Peut être faut-il modifier une partie de code ajaxdevis.php, j'ai trouvé quelque chose d'intéressant mais je n'ose pas y toucher n'étant pas experte   :D
 
if (isset($_GET['ajaxTax']) AND isset($_GET['id_address_delivery']))
{
$devisperso = new Devisperso();
$dev = new DevisClass();
$ad=new Address($_GET['id_address_delivery']);
$country=new Country($ad->id_country);
$taxes = Tax::getTaxes($_GET['id_lang']);
 
$taxRule = array();
    foreach ($taxes as $tax)
{
$idRuleGp = 0;
if (strpos(_PS_VERSION_, '1.4') !== false && strpos(_PS_VERSION_, '1.4.0') === false)
$idRuleGp = $dev->getIdTaxRulesGroup($tax['id_tax'], $ad->id_country);
}
if (strpos(_PS_VERSION_, '1.3') !== false || strpos(_PS_VERSION_, '1.4.0') !== false)
{
if (Tax::zoneHasTax($tax['id_tax'], $country->id_zone))//si il y a une taxe pour la zone
$idRuleGp=$tax['id_tax'];
}
 
if ($idRuleGp!=0)
$taxRule[$idRuleGp]=$tax;
}
 
$list = '<option value="0" '.((isset($_GET['id_tax_devis']) AND $_GET['id_tax_devis'] == 0) ? ' selected="selected"' : '').'>'.$devisperso->getL('No Tax', (int)$_GET['id_lang']).'</option>'."\n";
foreach ($taxRule AS $k => $tax)
$list .= '<option value="'.intval($tax['id_tax']).'" '.((isset($_GET['id_tax_devis']) AND $_GET['id_tax_devis'] == $tax['id_tax']) ? ' selected="selected"' : '').'>'.$tax['name'].' ('.$tax['rate'].'%)</option>'."\n";
 
die($list);
}
 
 
J'aimerais savoir si vous avez des idées pour régler ce problème. 
 
Merci par avance   :)
Fichier(s) joint(s)

 

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

  • 2 weeks later...

Problème résolu,  en faisant une simple modification:

 

De 

$idRuleGp = 0;

if (strpos(_PS_VERSION_, '1.4') !== false && strpos(_PS_VERSION_, '1.4.0') === false)
 
A
 
$idRuleGp = 0;
if (strpos(_PS_VERSION_, '1.4') !== false  || strpos(_PS_VERSION_, '1.4.0') === false)
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...