nodebb-plugin-onekite-calendar 2.0.25 → 2.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog – calendar-onekite
2
2
 
3
+ ## 1.3.21
4
+ - Comptabilisation : les **sorties gratuites annulées** ne sont plus comptées (elles sont exclues si `cancelledAt` est présent, même si le statut est resté `paid`).
5
+
6
+ ## 1.3.20
7
+ - Temps réel : le **widget** (Calendrier 2 semaines) se met à jour dynamiquement comme la page calendrier (créations / changements de statut / annulations…), sans rechargement.
8
+
3
9
  ## 1.3.19
4
10
  - Annulation : un validateur/gestionnaire peut désormais annuler **même sa propre** réservation après paiement (la restriction `cannot-cancel-paid` ne s'applique plus aux validateurs).
5
11
 
package/lib/admin.js CHANGED
@@ -512,6 +512,9 @@ admin.getAccounting = async function (req, res) {
512
512
  const r = await dbLayer.getReservation(rid);
513
513
  if (!r) continue;
514
514
  if (String(r.status) !== 'paid') continue;
515
+ // Defensive: if a reservation was cancelled but its status remained 'paid'
516
+ // (legacy data / edge cases), never count it in accounting.
517
+ if (r.cancelledAt) continue;
515
518
  if (r.accPurgedAt) continue;
516
519
  const start = parseInt(r.start, 10);
517
520
  if (!Number.isFinite(start)) continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-onekite-calendar",
3
- "version": "2.0.25",
3
+ "version": "2.0.26",
4
4
  "description": "FullCalendar-based equipment reservation workflow with admin approval & HelloAsso payment for NodeBB",
5
5
  "main": "library.js",
6
6
  "license": "MIT",
@@ -1,5 +1,20 @@
1
1
  # Changelog – calendar-onekite
2
2
 
3
+ ## 1.3.21
4
+ - Comptabilisation : les **sorties gratuites annulées** ne sont plus comptées (elles sont exclues si `cancelledAt` est présent, même si le statut est resté `paid`).
5
+
6
+ ## 1.3.20
7
+ - Temps réel : le **widget** (Calendrier 2 semaines) se met à jour dynamiquement comme la page calendrier (créations / changements de statut / annulations…), sans rechargement.
8
+
9
+ ## 1.3.19
10
+ - Annulation : un validateur/gestionnaire peut désormais annuler **même sa propre** réservation après paiement (la restriction `cannot-cancel-paid` ne s'applique plus aux validateurs).
11
+
12
+ ## 1.3.18
13
+ - Fix HelloAsso webhook : suppression d'une double déclaration `realtime` qui empêchait le plugin de se charger (SyntaxError).
14
+
15
+ ## 1.3.17
16
+ - Temps réel : les **créations** (locations / évènements), **changements de statut** (validation, refus, annulation, paiement reçu) et **expirations** se répercutent automatiquement sur le calendrier pour **tous les utilisateurs connectés**, sans rechargement de page.
17
+
3
18
  ## 1.3.16
4
19
  - Calendrier : le **jour actuel** n’est plus affiché comme indisponible (gris + panneau sens interdit). Seules les **dates passées** restent désactivées visuellement.
5
20
 
@@ -502,6 +502,9 @@ admin.getAccounting = async function (req, res) {
502
502
  const r = await dbLayer.getReservation(rid);
503
503
  if (!r) continue;
504
504
  if (String(r.status) !== 'paid') continue;
505
+ // Defensive: if a reservation was cancelled but its status remained 'paid'
506
+ // (legacy data / edge cases), never count it in accounting.
507
+ if (r.cancelledAt) continue;
505
508
  if (r.accPurgedAt) continue;
506
509
  const start = parseInt(r.start, 10);
507
510
  if (!Number.isFinite(start)) continue;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodebb-plugin-onekite-calendar",
3
- "version": "1.3.16",
3
+ "version": "1.3.21",
4
4
  "description": "FullCalendar-based equipment reservation workflow with admin approval & HelloAsso payment for NodeBB",
5
5
  "main": "library.js",
6
6
  "license": "MIT",
package/plugin.json CHANGED
@@ -39,5 +39,5 @@
39
39
  "acpScripts": [
40
40
  "public/admin.js"
41
41
  ],
42
- "version": "2.0.25"
42
+ "version": "2.0.26"
43
43
  }