Overview
Comment: | Corriger problème de statut cotisation dans les listes de cotisation |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | stable |
Files: | files | file ages | folders |
SHA1: |
b2a63b83e2a6f384abf6108e5e052166 |
User & Date: | bohwaz on 2020-02-01 12:47:21 |
Other Links: | manifest | tags |
Context
2020-02-01
| ||
15:20 | Debug commité par erreur check-in: 63f1ea546f user: bohwaz tags: trunk, stable | |
12:47 | Corriger problème de statut cotisation dans les listes de cotisation check-in: b2a63b83e2 user: bohwaz tags: trunk, stable | |
2020-01-31
| ||
01:50 | Mise à jour test travis check-in: a9f23ad861 user: bohwaz tags: trunk | |
Changes
Modified src/include/lib/Garradin/Membres/Cotisations.php from [f4bbf2cd01] to [88504eeee4].
︙ | ︙ | |||
285 286 287 288 289 290 291 | $desc = $desc ? 'DESC' : 'ASC'; // Renvoyer la liste avec tous les membres des catégories dont la cotisation obligatoire est celle-ci if ($include_category) { $cats_obligatoires = $db->getAssoc('SELECT id, id FROM membres_categories WHERE id_cotisation_obligatoire = ? AND cacher = 0;', $id); | | | | 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 | $desc = $desc ? 'DESC' : 'ASC'; // Renvoyer la liste avec tous les membres des catégories dont la cotisation obligatoire est celle-ci if ($include_category) { $cats_obligatoires = $db->getAssoc('SELECT id, id FROM membres_categories WHERE id_cotisation_obligatoire = ? AND cacher = 0;', $id); return $db->get('SELECT m.id AS id_membre, MAX(cm.date), cm.id, m.numero, m.'.$champ_id.' AS nom, c.montant, CASE WHEN cm.id IS NULL THEN 0 WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') >= date() WHEN c.fin IS NOT NULL THEN (cm.date <= c.fin AND cm.date >= c.debut) ELSE 1 END AS a_jour FROM membres AS m LEFT JOIN cotisations_membres AS cm ON cm.id_membre = m.id AND cm.id_cotisation = ? LEFT JOIN cotisations AS c ON c.id = cm.id_cotisation WHERE '.$db->where('m.id_categorie', $cats_obligatoires) . ' GROUP BY m.id ORDER BY '.$order.' '.$desc.' LIMIT ?,?;', $id, $begin, self::ITEMS_PER_PAGE); } return $db->get('SELECT cm.id_membre, MAX(cm.date), cm.id, m.numero, m.'.$champ_id.' AS nom, c.montant, CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') >= date() WHEN c.fin IS NOT NULL THEN (cm.date <= c.fin AND cm.date >= c.debut) ELSE 1 END AS a_jour FROM cotisations_membres AS cm INNER JOIN cotisations AS c ON c.id = cm.id_cotisation INNER JOIN membres AS m ON m.id = cm.id_membre |
︙ | ︙ |
Modified src/include/lib/Garradin/Rappels.php from [7c23d0c913] to [ac976ceb3a].
︙ | ︙ | |||
158 159 160 161 162 163 164 | // Requête compliquée qui fait tout le boulot // la logique est un JOIN des tables rappels, cotisations, cotisations_membres et membres // pour récupérer la liste des membres qui doivent recevoir une cotisation $query = ' SELECT *, /* Nombre de jours avant ou après expiration */ | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | // Requête compliquée qui fait tout le boulot // la logique est un JOIN des tables rappels, cotisations, cotisations_membres et membres // pour récupérer la liste des membres qui doivent recevoir une cotisation $query = ' SELECT *, /* Nombre de jours avant ou après expiration */ (julianday(date("2020-02-20")) - julianday(expiration)) AS nb_jours, /* Date de mise en œuvre du rappel */ date(expiration, delai || \' days\') AS date_rappel FROM ( SELECT m.*, MIN(r.delai) AS delai, r.sujet, r.texte, r.id_cotisation, r.id AS id_rappel, m.'.$config->get('champ_identite').' AS identite, CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') WHEN c.fin IS NOT NULL THEN c.fin ELSE 0 END AS expiration |
︙ | ︙ | |||
194 195 196 197 198 199 200 201 202 203 204 205 206 207 | ORDER BY nb_jours DESC;'; $db->begin(); $re = new Rappels_Envoyes; foreach ($db->iterate($query) as $row) { $re->sendAuto($row); } $db->commit(); return true; } } | > | 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 | ORDER BY nb_jours DESC;'; $db->begin(); $re = new Rappels_Envoyes; foreach ($db->iterate($query) as $row) { var_dump($row); continue; $re->sendAuto($row); } $db->commit(); return true; } } |