Overview
Comment: | Affichage correct des expirations des cotisations à durée définie |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | stable |
Files: | files | file ages | folders |
SHA1: |
64f6a74326e97521fa0789128bf8c851 |
User & Date: | bohwaz on 2019-02-06 15:34:07 |
Other Links: | manifest | tags |
Context
2019-02-22
| ||
10:17 | Ne pas limiter les requêtes pour l'envoi de mail, et préciser clairement si la requête ne permet pas d'accéder aux colonnes nécessaires check-in: b13b9efbee user: bohwaz tags: trunk, stable | |
2019-02-06
| ||
15:34 | Affichage correct des expirations des cotisations à durée définie check-in: 64f6a74326 user: bohwaz tags: trunk, stable | |
2019-02-04
| ||
14:40 | Mise à jour recette de release pour être sûr de ne déployer que des fichiers qui sont versionnés check-in: 340662da71 user: bohwaz tags: trunk | |
Changes
Modified src/include/init.php from [2707b697be] to [35662ddf34].
︙ | ︙ | |||
122 123 124 125 126 127 128 | { define($const, $value); } } const WEBSITE = 'https://garradin.eu/'; const PLUGINS_URL = 'https://garradin.eu/plugins/list.json'; | | > | 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | { define($const, $value); } } const WEBSITE = 'https://garradin.eu/'; const PLUGINS_URL = 'https://garradin.eu/plugins/list.json'; #const DEFAULT_REPORT_URL = 'http://henga.test/report/?p=ABCD'; const DEFAULT_REPORT_URL = null; // PHP devrait être assez intelligent pour chopper la TZ système mais nan // il sait pas faire (sauf sur Debian qui a le bon patch pour ça), donc pour // éviter le message d'erreur à la con on définit une timezone par défaut // Pour utiliser une autre timezone, il suffit de définir date.timezone dans // un .htaccess ou dans config.local.php if (!ini_get('date.timezone')) |
︙ | ︙ |
Modified src/include/lib/Garradin/Membres/Cotisations.php from [86b67dc8e7] to [11e1bece47].
︙ | ︙ | |||
283 284 285 286 287 288 289 | } $desc = $desc ? 'DESC' : 'ASC'; return $db->get('SELECT cm.id_membre, 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() | | > | 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 | } $desc = $desc ? 'DESC' : 'ASC'; return $db->get('SELECT cm.id_membre, 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 WHERE cm.id_cotisation = ? AND m.id_categorie NOT IN (SELECT mc.id FROM membres_categories AS mc WHERE mc.cacher = 1) GROUP BY cm.id_membre ORDER BY '.$order.' '.$desc.' LIMIT ?,?;', |
︙ | ︙ | |||
323 324 325 326 327 328 329 | * @return array Liste des cotisations en cours de validité */ public function listSubscriptionsForMember($id) { $db = DB::getInstance(); return $db->get('SELECT c.*, CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') >= date() | | | | 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 | * @return array Liste des cotisations en cours de validité */ public function listSubscriptionsForMember($id) { $db = DB::getInstance(); return $db->get('SELECT c.*, CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') >= date() WHEN c.fin IS NOT NULL THEN (cm.id IS NOT NULL AND cm.date <= c.fin AND cm.date >= c.debut) WHEN cm.id IS NOT NULL THEN 1 ELSE 0 END AS a_jour, CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') WHEN c.fin IS NOT NULL THEN c.fin ELSE 1 END AS expiration, (julianday(date()) - julianday(CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') WHEN c.fin IS NOT NULL THEN c.fin END)) AS nb_jours FROM cotisations_membres AS cm INNER JOIN cotisations AS c ON c.id = cm.id_cotisation WHERE cm.id_membre = ? AND ((c.fin IS NOT NULL AND cm.date <= c.fin AND cm.date >= c.debut) OR c.fin IS NULL) GROUP BY cm.id_cotisation ORDER BY cm.date DESC;', (int)$id); } /** * Ce membre est-il à jour sur cette cotisation ? * @param integer $id Numéro de membre |
︙ | ︙ |