Anomalie #755
ferméVentilation sur don impossible pour une transaction
100%
Description
Bonjour,
Lors de l'ajout de contributions sur une transaction, seules celles ayant la propriété d'allonger la durée de cotisation permettent de générer un menu valide pour le type de contribution dans le formulaire final de saisie des détails.
Le champs type de contribution étant obligatoire et le menu vide, il est alors impossible de finaliser la saisie.
En guise de test, l'ajout de la propriété au don pécuniaire a permis d'obtenir la génération d'un menu valide.
Merci
--
July
Mis à jour par Johan Cwiklinski il y a environ 11 ans
- Statut changé de Nouveau à Commentaire
Je ne parviens pas à reproduire ce problème. Que ce soit lors de la ventilation d'une transaction, ou la création directe d'une contribution, j'ai bien les différents types de contributions dans la liste.
Il faudrait voir les logs (Galette et serveur), je suppose que le problème est ailleurs.
Mis à jour par July Schatten il y a environ 11 ans
Voici le message vu dans les logs :
2013-12-12 08:28:00 - 3 - Galette\Entity\Entitled::getList | SQLSTATE[HY000]: General error: 1 no such column: false
La base utilisée est SQLite.
Le navigateur utilisé est Firefox 26.
Mis à jour par Johan Cwiklinski il y a environ 11 ans
- Statut changé de Commentaire à Nouveau
- Priorité changé de Normal à Bas
OK, c'est donc spécifique à SQLite... Que je ne teste pour ainsi dire pas (je passe déjà assez de temps à tester les deux autres).
Je verrai lorsque j'en aurai le temps si ce problème peut être corrigé facilement.
Mis à jour par Johan Cwiklinski il y a environ 11 ans
Il faudra davantage d'informations, comme la requête exécutée. Le plus simple est de passer en mode DEV (cf. http://galette.eu/documentation/fr/development/debug.html?highlight=d%C3%A9veloppement#les-modes), de reproduire l'erreur et de consulter le log à nouveau.
Mis à jour par July Schatten il y a environ 11 ans
Voici la log :
2013-12-20 22:45:01 - 7 - [Db] Database connection was successfull!
2013-12-20 22:45:02 - 7 - [Galette\Core\History|Pagination] Setting property `ordered`
2013-12-20 22:45:07 - 7 - [Db] Database connection was successfull!
2013-12-20 22:45:07 - 7 - [Galette\Core\History|Pagination] Setting property `ordered`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `email_filter`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `email_filter`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `filter_str`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `membership_filter`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `account_status_filter`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `group_filter`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `orderby`
2013-12-20 22:45:07 - 7 - [Galette\Filters\MembersList|Pagination] Getting property `orderby`
2013-12-20 22:45:07 - 7 - [MembersList] Setting property `query`
2013-12-20 22:45:07 - 7 - [MembersList] Getting property `query`
2013-12-20 22:45:07 - 7 - The following query will be executed:
SELECT DISTINCT "a"."id_adh", "a"."nom_adh", "a"."prenom_adh", "p".* FROM "galette_adherents" AS "a"
INNER JOIN "galette_statuts" AS "p" ON a.id_statut=p.id_statut ORDER BY "nom_adh" ASC, "prenom_adh" ASC
2013-12-20 22:45:07 - 7 - [Db] Database connection was successfull!
2013-12-20 22:45:07 - 7 - [Galette\Core\History|Pagination] Setting property `ordered`
2013-12-20 22:45:12 - 7 - [Db] Database connection was successfull!
2013-12-20 22:45:12 - 7 - [Galette\Core\History|Pagination] Setting property `ordered`
2013-12-20 22:45:12 - 7 - Query was: SELECT DISTINCT "galette_types_cotisation"."id_type_cotis", "galette_types_cotisation"."libelle_type_cotis" FROM "galette_types_cotisation" WHERE (cotis_extension = false) ORDER BY "id_type_cotis" ASC
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `email_filter`
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `email_filter`
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `filter_str`
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `membership_filter`
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `account_status_filter`
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `group_filter`
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `orderby`
2013-12-20 22:45:12 - 7 - [Galette\Filters\MembersList|Pagination] Getting property `orderby`
2013-12-20 22:45:12 - 7 - [MembersList] Setting property `query`
2013-12-20 22:45:12 - 7 - [MembersList] Getting property `query`
2013-12-20 22:45:12 - 7 - The following query will be executed:
SELECT DISTINCT "a"."id_adh", "a"."nom_adh", "a"."prenom_adh", "p".* FROM "galette_adherents" AS "a"
INNER JOIN "galette_statuts" AS "p" ON a.id_statut=p.id_statut ORDER BY "nom_adh" ASC, "prenom_adh" ASC
2013-12-20 22:45:13 - 7 - [Db] Database connection was successfull!
2013-12-20 22:45:13 - 7 - [Galette\Core\History|Pagination] Setting property `ordered`
Mis à jour par Johan Cwiklinski il y a environ 11 ans
- Version cible mis à 0.7.8
- Assigné à mis à Johan Cwiklinski
- Catégorie changé de IHM à Database
- Statut changé de Nouveau à In Progress
Je n'ai pas trouvé de solution réellement propre ; voici un correctif qui fonctionne :
diff --git a/galette/lib/Galette/Entity/Entitled.php b/galette/lib/Galette/Entity/Entitled.php
index 7443659..d222149 100644
--- a/galette/lib/Galette/Entity/Entitled.php
+++ b/galette/lib/Galette/Entity/Entitled.php
@@ -235,7 +235,11 @@ abstract class Entitled
if ( $extent === true ) {
$select->where($this->_fthird . ' = ?', $extent);
} else if ( $extent === false ) {
- $select->where($this->_fthird . ' = false');
+ if ( TYPE_DB === 'sqlite' ) {
+ $select->where($this->_fthird . ' = 0');
+ } else {
+ $select->where($this->_fthird . ' = false');
+ }
}
}
Je crains que ce problème ne se pose également à d'autres endroits, ce n'est pas le seul endroit dans le code où l'on interroge une valeur "false".
Mis à jour par Johan Cwiklinski il y a environ 11 ans
- Statut changé de In Progress à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit fff4bb3ee1cb6cb45754061a7d3764cc208926b7.