Anomalie #755
closedVentilation 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
Updated by Johan Cwiklinski almost 11 years ago
- Status changed from Nouveau to 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.
Updated by July Schatten almost 11 years ago
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.
Updated by Johan Cwiklinski almost 11 years ago
- Status changed from Commentaire to Nouveau
- Priority changed from Normal to 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.
Updated by Johan Cwiklinski almost 11 years ago
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.
Updated by July Schatten almost 11 years ago
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`
Updated by Johan Cwiklinski almost 11 years ago
- Target version set to 0.7.8
- Assignee set to Johan Cwiklinski
- Category changed from IHM to Database
- Status changed from Nouveau to 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".
Updated by Johan Cwiklinski almost 11 years ago
- Status changed from In Progress to Résolu
- % Done changed from 0 to 100
Appliqué par commit fff4bb3ee1cb6cb45754061a7d3764cc208926b7.
Updated by Johan Cwiklinski almost 11 years ago
- Status changed from Résolu to Fermé