Jump to content

Supression des Etats impossible


Recommended Posts

Bonjour,

 

Ma question concerne la version 1.5.4.0 de PS.

Dans Localisation > Etats, lorsque je souhaite supprimer un Etat que j'ai créé, j'ai l'erreur suivante :

Cet état a été utilisé pour au moins une adresse; il ne peut plus être supprimé 

J'ai vérifié partout dans le BO et dans la BDD cet état n'est utilisé nul part ... Comment le supprimer ?

 

Merci d'avance car je tourne en rond et je préfère éviter de supprimer l'entrée de la BDD comme un bourrin en passant par phpMyAdmin...

Link to comment
Share on other sites

Essaye de jeter un coup ici

classes/State.php

/**
	* Delete a state only if is not in use
	*
	* @return boolean
	*/
	public function delete()
	{
		if (!$this->isUsed())
		{
			// Database deletion
			$result = Db::getInstance()->delete($this->def['table'], '`'.$this->def['primary'].'` = '.(int)$this->id);
			if (!$result)
				return false;

			// Database deletion for multilingual fields related to the object
			if (!empty($this->def['multilang']))
				Db::getInstance()->delete(bqSQL($this->def['table']).'_lang', '`'.$this->def['primary'].'` = '.(int)$this->id);
			return $result;
		}
		else
			return false;
	}

"Effacer un etat seulement si non utilisé"

Au moins on avance, on sait que ce n'est pas un bug

J'imagine que si tu modifie cette partie il faudra egalement modifier l'affiche des adresses des client (BO/Front/Facture)

C'est moins bourrin que de toucher a la DB

Link to comment
Share on other sites

J'ai désactivé l'Etat, mais toujours impossible de le supprimer avec le même message d'erreur ...

Et en désactivant les état dans le pays concerné j'ai une erreur quand je veux "modifier" l'Etat avec le message d'erreur m'indiquant que je dois choisir un pays pour cet Etat (alors qu'il n'y en a pas car tous mes pays ont les etats désactivés ...

 

Enervant comme situation :/

Link to comment
Share on other sites

J'ai trouvé ce post sur le forum anglais : http://www.prestashop.com/forums/topic/103288-solved-cannot-delete-an-unwanted-state/

J'ai bien l'impression que la solution vient de la BDD. Le post date de 2011, donc je ne sais pas trop quel version il utilisait, mais il n'a rencontré aucun problème suite à l'effacement de l'etat directement sur la BDD.

Bonne chance et partages avec nous ton expérience si tu décides de passer par la BDD

Link to comment
Share on other sites

J'ai trouvé !

Ce qu'il s'est passé :

1/ les états ont été ajoutés

2/ un client test a été créé sur l'état que je souhaite supprimer.

3/ j'ai désactivé l'état. Conséquence : l'adresse du client contient toujours l'id de l'état en BDD mais en BO l'état n'apparaît pas.

4/ quand je cherche à supprimer l'état depuis le BO le message d'erreur indique qu'il est utilisé (ce qui est bien le cas en BDD mais plus en BO)

 

Solution : modifier les entrées de la table "adresses" en remplaçant les id de l'état rebel par 0.

L'état n'étant plus "utilisé" on peut enfin le supprimer proprement en BO.

 

Remarque : même problème pour les états Illinois et New York qui sont utilisé par défaut par les "fournisseurs" par défaut (Apple)

 

Edit : Merci pour ton aide SteviaCity

Edited by jlweb (see edit history)
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...