nodebb-plugin-onekite-calendar 2.0.20 → 2.0.21
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 +6 -0
- package/lib/api.js +10 -0
- package/package.json +1 -1
- package/pkg/package/CHANGELOG.md +27 -0
- package/pkg/package/lib/api.js +10 -0
- package/pkg/package/package.json +1 -1
- package/plugin.json +1 -1
- package/public/client.js +2 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog – calendar-onekite
|
|
2
2
|
|
|
3
|
+
## 1.3.15
|
|
4
|
+
- Permissions : les **modérateurs globaux / gestionnaires** (groupe NodeBB « Global Moderators », selon le slug) sont désormais considérés comme validateurs pour les actions de modération (dont l’**annulation**).
|
|
5
|
+
|
|
6
|
+
## 1.3.14
|
|
7
|
+
- Mobile FAB : la modale de sélection de dates autorise désormais la réservation **le jour même** (seules les dates passées sont désactivées).
|
|
8
|
+
|
|
3
9
|
## 1.3.13
|
|
4
10
|
- Réservations : il est désormais possible de réserver pour le jour même (seules les dates passées sont refusées).
|
|
5
11
|
- Annulation : les validateurs peuvent annuler une réservation déjà payée.
|
package/lib/api.js
CHANGED
|
@@ -317,6 +317,16 @@ async function canValidate(uid, settings) {
|
|
|
317
317
|
try {
|
|
318
318
|
const isAdmin = await groups.isMember(uid, 'administrators');
|
|
319
319
|
if (isAdmin) return true;
|
|
320
|
+
|
|
321
|
+
// NodeBB has a built-in "Global Moderators" group (slug can vary by install/version).
|
|
322
|
+
// Allow them as validators as well.
|
|
323
|
+
const globalModeratorCandidates = ['global-moderators', 'Global Moderators', 'global moderators'];
|
|
324
|
+
for (const g of globalModeratorCandidates) {
|
|
325
|
+
try {
|
|
326
|
+
// eslint-disable-next-line no-await-in-loop
|
|
327
|
+
if (await groups.isMember(uid, g)) return true;
|
|
328
|
+
} catch (e) {}
|
|
329
|
+
}
|
|
320
330
|
} catch (e) {}
|
|
321
331
|
|
|
322
332
|
const allowed = normalizeAllowedGroups(settings.validatorGroups || '');
|
package/package.json
CHANGED
package/pkg/package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog – calendar-onekite
|
|
2
2
|
|
|
3
|
+
## 1.3.15
|
|
4
|
+
- Permissions : les **modérateurs globaux / gestionnaires** (groupe NodeBB « Global Moderators », selon le slug) sont désormais considérés comme validateurs pour les actions de modération (dont l’**annulation**).
|
|
5
|
+
|
|
6
|
+
## 1.3.14
|
|
7
|
+
- Mobile FAB : la modale de sélection de dates autorise désormais la réservation **le jour même** (seules les dates passées sont désactivées).
|
|
8
|
+
|
|
9
|
+
## 1.3.13
|
|
10
|
+
- Réservations : il est désormais possible de réserver pour le jour même (seules les dates passées sont refusées).
|
|
11
|
+
- Annulation : les validateurs peuvent annuler une réservation déjà payée.
|
|
12
|
+
|
|
13
|
+
## 1.3.12
|
|
14
|
+
- Expiration automatique : envoi d’un email au demandeur avec la raison :
|
|
15
|
+
- « Demande non prise en charge dans le temps imparti » (demande en attente)
|
|
16
|
+
- « Paiement non reçu dans le temps imparti » (paiement en attente)
|
|
17
|
+
- ACP : ajout de 2 paramètres pour envoyer un rappel email aux validateurs sur les demandes en attente / paiement en attente.
|
|
18
|
+
- Emails validateurs : nouveaux templates (rappel + expiration) avec lien vers l’ACP.
|
|
19
|
+
|
|
20
|
+
## 1.3.11
|
|
21
|
+
- ACP (Demandes en attente) : affichage du pseudo du demandeur avec lien vers sa fiche utilisateur.
|
|
22
|
+
|
|
23
|
+
## 1.3.10
|
|
24
|
+
- Mobile FAB : surlignage de la sélection de dates rendu lisible en light mode (contraste renforcé, start/end en primary).
|
|
25
|
+
|
|
26
|
+
## 1.3.9
|
|
27
|
+
- Mobile FAB : correction de la sélection de plage (tous les jours sélectionnés sont désormais bien inclus dans la surbrillance).
|
|
28
|
+
- Mobile FAB : amélioration du rendu en mode sombre (bordures/fonds adaptés, contraste renforcé).
|
|
29
|
+
|
|
3
30
|
## 1.3.8
|
|
4
31
|
- ACP Comptabilisation : ajout d’un **grand total** (montant total des locations payées sur la période) + compteurs (payées / sorties gratuites).
|
|
5
32
|
|
package/pkg/package/lib/api.js
CHANGED
|
@@ -317,6 +317,16 @@ async function canValidate(uid, settings) {
|
|
|
317
317
|
try {
|
|
318
318
|
const isAdmin = await groups.isMember(uid, 'administrators');
|
|
319
319
|
if (isAdmin) return true;
|
|
320
|
+
|
|
321
|
+
// NodeBB has a built-in "Global Moderators" group (slug can vary by install/version).
|
|
322
|
+
// Allow them as validators as well.
|
|
323
|
+
const globalModeratorCandidates = ['global-moderators', 'Global Moderators', 'global moderators'];
|
|
324
|
+
for (const g of globalModeratorCandidates) {
|
|
325
|
+
try {
|
|
326
|
+
// eslint-disable-next-line no-await-in-loop
|
|
327
|
+
if (await groups.isMember(uid, g)) return true;
|
|
328
|
+
} catch (e) {}
|
|
329
|
+
}
|
|
320
330
|
} catch (e) {}
|
|
321
331
|
|
|
322
332
|
const allowed = normalizeAllowedGroups(settings.validatorGroups || '');
|
package/pkg/package/package.json
CHANGED
package/plugin.json
CHANGED
package/public/client.js
CHANGED
|
@@ -2091,11 +2091,10 @@ function toDatetimeLocalValue(date) {
|
|
|
2091
2091
|
async function openFabDatePicker() {
|
|
2092
2092
|
if (!lockAction('fab-date-picker', 700)) return;
|
|
2093
2093
|
|
|
2094
|
-
// Cannot book
|
|
2094
|
+
// Cannot book past dates (mobile FAB). Same-day booking is allowed.
|
|
2095
2095
|
const today = new Date();
|
|
2096
2096
|
today.setHours(0, 0, 0, 0);
|
|
2097
2097
|
const minStart = new Date(today);
|
|
2098
|
-
minStart.setDate(minStart.getDate() + 1);
|
|
2099
2098
|
|
|
2100
2099
|
// Month cursor for the single-calendar range picker
|
|
2101
2100
|
const cursor = new Date(minStart);
|
|
@@ -2120,7 +2119,7 @@ async function openFabDatePicker() {
|
|
|
2120
2119
|
</div>
|
|
2121
2120
|
<div class="onekite-range-grid" id="onekite-range-grid"></div>
|
|
2122
2121
|
<div class="onekite-range-summary" id="onekite-range-summary"></div>
|
|
2123
|
-
<div class="form-text mt-2">Sélectionne une date de début puis une date de fin (incluse). Les dates
|
|
2122
|
+
<div class="form-text mt-2">Sélectionne une date de début puis une date de fin (incluse). Les dates passées sont désactivées.</div>
|
|
2124
2123
|
</div>
|
|
2125
2124
|
`;
|
|
2126
2125
|
|