#39 - Être capable de désactiver les inscriptions + maj footer
This commit is contained in:
parent
9dd7a35f22
commit
12ca71e643
9 changed files with 69 additions and 24 deletions
21
README.md
21
README.md
|
@ -210,22 +210,23 @@ Voici la liste des variables configurables :
|
||||||
|
|
||||||
```
|
```
|
||||||
NODE_ENV # Environnement dans lequel exécuter le projet (development ou production)
|
NODE_ENV # Environnement dans lequel exécuter le projet (development ou production)
|
||||||
PORT # Port sur lequel éxécuter le serveur (par défaut 3001)
|
PORT # Port sur lequel éxécuter le serveur (3001 par défaut)
|
||||||
MONGODB_URI # Url du serveur mongo (par défaut mongodb://musictopus-db/musictopus)
|
MONGODB_URI # Url du serveur mongo (mongodb://musictopus-db/musictopus par défaut)
|
||||||
SECRET # Hash utilisé pour pour sauvegardé les dessions (par défaut waemaeMe5ahc6ce1chaeKohKa6Io8Eik)
|
SECRET # Hash utilisé pour pour sauvegardé les dessions (waemaeMe5ahc6ce1chaeKohKa6Io8Eik par défault)
|
||||||
DISCOGS_TOKEN # Token Discogs (vous devez créer un compte sur discogs afin d'en obtenir un gratuitement)
|
DISCOGS_TOKEN # Token Discogs (vous devez créer un compte sur discogs afin d'en obtenir un gratuitement)
|
||||||
FORMSPREE_ID # Id du formulaire formspree pour la page "nous-contacter"
|
FORMSPREE_ID # Id du formulaire formspree pour la page "nous-contacter"
|
||||||
MATOMO_URL # Url vers l'instance matomo (exemple: https://analytics.darkou.fr/)
|
MATOMO_URL # Url vers l'instance matomo (exemple: https://analytics.darkou.fr/)
|
||||||
MATOMO_ID # Id du site sur votre instance matomo (exemple: 1)
|
MATOMO_ID # Id du site sur votre instance matomo (exemple: 1)
|
||||||
SITE_NAME # Nom du site (utilisé dans le titre des pages)
|
SITE_NAME # Nom du site utilisé dans le titre des pages (MusicTopus par défaut)
|
||||||
AWS_ACCESS_KEY_ID # Clé d'accès AWS
|
AWS_ACCESS_KEY_ID # Clé d'accès AWS
|
||||||
AWS_SECRET_ACCESS_KEY # Clé secrète AWS
|
AWS_SECRET_ACCESS_KEY # Clé secrète AWS
|
||||||
S3_ENDPOINT # Url de l'instance aws (s3.fr-par.scw.cloud pour scaleway france par exemple)
|
S3_ENDPOINT # Url de l'instance aws (s3.fr-par.scw.cloud par défaut)
|
||||||
S3_SIGNATURE # Version de la signature AWS (s3v4 pour scaleway par exemple)
|
S3_SIGNATURE # Version de la signature AWS (s3v4 par défaut)
|
||||||
S3_BASEFOLDER # Nom du sous dossier dans lequel seront mis les pochettes des albums
|
S3_BASEFOLDER # Nom du sous dossier dans lequel seront mis les pochettes des albums (dev par défaut)
|
||||||
S3_BUCKET # Nom du bucket
|
S3_BUCKET # Nom du bucket (musictopus par défaut, à changer impérativement si vous voulez que cela fonctionne)
|
||||||
JOBS_HEADER_KEY # Nom du header utilisé pour l'identification des tâches cron (par exemple musictopus)
|
JOBS_HEADER_KEY # Nom du header utilisé pour l'identification des tâches cron (musictopus par défaut)
|
||||||
JOBS_HEADER_VALUE # Valeur de la clé
|
JOBS_HEADER_VALUE # Valeur de la clé (ooYee9xok7eigo2shiePohyoGh1eepew par défaut)
|
||||||
|
REGISTRATION_OPEN # true/false en fonction de si vous souhaitez activer ou non l'inscription à votre instance (true par défaut)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Contributeurs
|
## Contributeurs
|
||||||
|
|
|
@ -36,6 +36,7 @@ services:
|
||||||
S3_SIGNATURE: ${S3_SIGNATURE}
|
S3_SIGNATURE: ${S3_SIGNATURE}
|
||||||
JOBS_HEADER_KEY: ${JOBS_HEADER_KEY}
|
JOBS_HEADER_KEY: ${JOBS_HEADER_KEY}
|
||||||
JOBS_HEADER_VALUE: ${JOBS_HEADER_VALUE}
|
JOBS_HEADER_VALUE: ${JOBS_HEADER_VALUE}
|
||||||
|
REGISTRATION_OPEN: ${REGISTRATION_OPEN}
|
||||||
networks:
|
networks:
|
||||||
- musictopus
|
- musictopus
|
||||||
musictopus-db:
|
musictopus-db:
|
||||||
|
|
|
@ -36,6 +36,7 @@ services:
|
||||||
S3_SIGNATURE: ${S3_SIGNATURE}
|
S3_SIGNATURE: ${S3_SIGNATURE}
|
||||||
JOBS_HEADER_KEY: ${JOBS_HEADER_KEY}
|
JOBS_HEADER_KEY: ${JOBS_HEADER_KEY}
|
||||||
JOBS_HEADER_VALUE: ${JOBS_HEADER_VALUE}
|
JOBS_HEADER_VALUE: ${JOBS_HEADER_VALUE}
|
||||||
|
REGISTRATION_OPEN: ${REGISTRATION_OPEN}
|
||||||
networks:
|
networks:
|
||||||
- musictopus
|
- musictopus
|
||||||
musictopus-db:
|
musictopus-db:
|
||||||
|
|
|
@ -17,4 +17,6 @@ module.exports = {
|
||||||
jobsHeaderKey: process.env.JOBS_HEADER_KEY || "musictopus",
|
jobsHeaderKey: process.env.JOBS_HEADER_KEY || "musictopus",
|
||||||
jobsHeaderValue:
|
jobsHeaderValue:
|
||||||
process.env.JOBS_HEADER_VALUE || "ooYee9xok7eigo2shiePohyoGh1eepew",
|
process.env.JOBS_HEADER_VALUE || "ooYee9xok7eigo2shiePohyoGh1eepew",
|
||||||
|
registrationOpen:
|
||||||
|
(process.env.REGISTRATION_OPEN || "true").toLowerCase() === "true",
|
||||||
};
|
};
|
||||||
|
|
|
@ -7,6 +7,8 @@ import Auth from "../middleware/Auth";
|
||||||
|
|
||||||
import render from "../libs/format";
|
import render from "../libs/format";
|
||||||
|
|
||||||
|
import { registrationOpen } from "../config";
|
||||||
|
|
||||||
// eslint-disable-next-line new-cap
|
// eslint-disable-next-line new-cap
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
|
|
||||||
|
@ -59,11 +61,33 @@ router
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
router
|
if (registrationOpen) {
|
||||||
.route("/inscription")
|
router
|
||||||
.get((req, res, next) => {
|
.route("/inscription")
|
||||||
|
.get((req, res, next) => {
|
||||||
|
try {
|
||||||
|
const page = new Pages(req, "inscription/index");
|
||||||
|
|
||||||
|
page.setPageTitle("Inscription");
|
||||||
|
|
||||||
|
render(res, page);
|
||||||
|
} catch (err) {
|
||||||
|
next(err);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.post(async (req, res) => {
|
||||||
|
try {
|
||||||
|
await Auth.register(req);
|
||||||
|
|
||||||
|
res.redirect("/");
|
||||||
|
} catch (err) {
|
||||||
|
res.redirect("/inscription");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
router.route("/inscription").get((req, res, next) => {
|
||||||
try {
|
try {
|
||||||
const page = new Pages(req, "inscription");
|
const page = new Pages(req, "inscription/desactivee");
|
||||||
|
|
||||||
page.setPageTitle("Inscription");
|
page.setPageTitle("Inscription");
|
||||||
|
|
||||||
|
@ -71,16 +95,8 @@ router
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
next(err);
|
next(err);
|
||||||
}
|
}
|
||||||
})
|
|
||||||
.post(async (req, res) => {
|
|
||||||
try {
|
|
||||||
await Auth.register(req);
|
|
||||||
|
|
||||||
res.redirect("/");
|
|
||||||
} catch (err) {
|
|
||||||
res.redirect("/inscription");
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
router
|
router
|
||||||
.route("/ajouter-un-album")
|
.route("/ajouter-un-album")
|
||||||
|
|
|
@ -179,8 +179,11 @@
|
||||||
<footer class="footer layout-hero">
|
<footer class="footer layout-hero">
|
||||||
<p>
|
<p>
|
||||||
<strong title="Merci Brunus ! 😜">MusicTopus</strong> par <a href="https://www.darkou.fr" target="_blank" rel="noopener noreferrer">Damien Broqua <i class="icon-link"></i></a>.
|
<strong title="Merci Brunus ! 😜">MusicTopus</strong> par <a href="https://www.darkou.fr" target="_blank" rel="noopener noreferrer">Damien Broqua <i class="icon-link"></i></a>.
|
||||||
|
Logo réalisé par Brunus avec <a href="https://inkscape.org/fr/" target="_blank" rel="noopener noreferrer">Inkscape <i class="icon-link"></i></a>.
|
||||||
|
<br />
|
||||||
|
Le code source est sous licence <a href="https://www.gnu.org/licenses/gpl-3.0-standalone.html" target="_blank" rel="noopener noreferrer">GNU GPL-3.0-or-later <i class="icon-link"></i></a> et disponible sur <a href="https://git.darkou.fr/dbroqua/MusicTopus" target="_blank">git.darkou.fr <i class="icon-link"></i></a>.
|
||||||
|
<br />
|
||||||
Fait avec ❤️ à Bordeaux.
|
Fait avec ❤️ à Bordeaux.
|
||||||
Le code source est sous licence <a href="https://www.gnu.org/licenses/gpl-3.0-standalone.html" target="_blank" rel="noopener noreferrer">GNU GPL-3.0-or-later <i class="icon-link"></i></a>.
|
|
||||||
</p>
|
</p>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -12,9 +12,11 @@
|
||||||
<input type="password" name="password" id="password" placeholder="********">
|
<input type="password" name="password" id="password" placeholder="********">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<% if ( config.registrationOpen === true ) { %>
|
||||||
<div class="text-right mt-10">
|
<div class="text-right mt-10">
|
||||||
<p>Pas encore inscrit ? <a href="/inscription">Inscrivez-vous</a></p>
|
<p>Pas encore inscrit ? <a href="/inscription">Inscrivez-vous</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
<% } %>
|
||||||
|
|
||||||
<button type="submit" class="button is-primary">Connexion</button>
|
<button type="submit" class="button is-primary">Connexion</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
19
views/pages/inscription/desactivee.ejs
Normal file
19
views/pages/inscription/desactivee.ejs
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<main class="layout-maxed">
|
||||||
|
<div class="header layout-hero"></div>
|
||||||
|
<h1>
|
||||||
|
Inscription
|
||||||
|
</h1>
|
||||||
|
<div class="container">
|
||||||
|
<div class="text">
|
||||||
|
<p class="text-justify">
|
||||||
|
Les inscriptions sur ce site sont fermées.
|
||||||
|
</p>
|
||||||
|
<p class="text-justify">
|
||||||
|
Vous avez cependant la possibilité d'héberger vous même une version de <a href="https://www.musictopus.fr" target="_blank">MusicTopus</a> en vous rendant directement sur le <a href="https://git.darkou.fr/dbroqua/MusicTopus" target="_blank">dépot du projet</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<p class="text-center">
|
||||||
|
<img src="/img/404.svg" alt="Erreur 404" style="max-height: 400px;" />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</main>
|
Loading…
Reference in a new issue