#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)
|
||||
PORT # Port sur lequel éxécuter le serveur (par défaut 3001)
|
||||
MONGODB_URI # Url du serveur mongo (par défaut mongodb://musictopus-db/musictopus)
|
||||
SECRET # Hash utilisé pour pour sauvegardé les dessions (par défaut waemaeMe5ahc6ce1chaeKohKa6Io8Eik)
|
||||
PORT # Port sur lequel éxécuter le serveur (3001 par défaut)
|
||||
MONGODB_URI # Url du serveur mongo (mongodb://musictopus-db/musictopus par défaut)
|
||||
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)
|
||||
FORMSPREE_ID # Id du formulaire formspree pour la page "nous-contacter"
|
||||
MATOMO_URL # Url vers l'instance matomo (exemple: https://analytics.darkou.fr/)
|
||||
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_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_SIGNATURE # Version de la signature AWS (s3v4 pour scaleway par exemple)
|
||||
S3_BASEFOLDER # Nom du sous dossier dans lequel seront mis les pochettes des albums
|
||||
S3_BUCKET # Nom du bucket
|
||||
JOBS_HEADER_KEY # Nom du header utilisé pour l'identification des tâches cron (par exemple musictopus)
|
||||
JOBS_HEADER_VALUE # Valeur de la clé
|
||||
S3_ENDPOINT # Url de l'instance aws (s3.fr-par.scw.cloud par défaut)
|
||||
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 (dev par défaut)
|
||||
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 (musictopus par défaut)
|
||||
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
|
||||
|
|
|
@ -36,6 +36,7 @@ services:
|
|||
S3_SIGNATURE: ${S3_SIGNATURE}
|
||||
JOBS_HEADER_KEY: ${JOBS_HEADER_KEY}
|
||||
JOBS_HEADER_VALUE: ${JOBS_HEADER_VALUE}
|
||||
REGISTRATION_OPEN: ${REGISTRATION_OPEN}
|
||||
networks:
|
||||
- musictopus
|
||||
musictopus-db:
|
||||
|
|
|
@ -36,6 +36,7 @@ services:
|
|||
S3_SIGNATURE: ${S3_SIGNATURE}
|
||||
JOBS_HEADER_KEY: ${JOBS_HEADER_KEY}
|
||||
JOBS_HEADER_VALUE: ${JOBS_HEADER_VALUE}
|
||||
REGISTRATION_OPEN: ${REGISTRATION_OPEN}
|
||||
networks:
|
||||
- musictopus
|
||||
musictopus-db:
|
||||
|
|
|
@ -17,4 +17,6 @@ module.exports = {
|
|||
jobsHeaderKey: process.env.JOBS_HEADER_KEY || "musictopus",
|
||||
jobsHeaderValue:
|
||||
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 { registrationOpen } from "../config";
|
||||
|
||||
// eslint-disable-next-line new-cap
|
||||
const router = express.Router();
|
||||
|
||||
|
@ -59,11 +61,33 @@ router
|
|||
}
|
||||
);
|
||||
|
||||
router
|
||||
.route("/inscription")
|
||||
.get((req, res, next) => {
|
||||
if (registrationOpen) {
|
||||
router
|
||||
.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 {
|
||||
const page = new Pages(req, "inscription");
|
||||
const page = new Pages(req, "inscription/desactivee");
|
||||
|
||||
page.setPageTitle("Inscription");
|
||||
|
||||
|
@ -71,16 +95,8 @@ router
|
|||
} catch (err) {
|
||||
next(err);
|
||||
}
|
||||
})
|
||||
.post(async (req, res) => {
|
||||
try {
|
||||
await Auth.register(req);
|
||||
|
||||
res.redirect("/");
|
||||
} catch (err) {
|
||||
res.redirect("/inscription");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
router
|
||||
.route("/ajouter-un-album")
|
||||
|
|
|
@ -179,8 +179,11 @@
|
|||
<footer class="footer layout-hero">
|
||||
<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>.
|
||||
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.
|
||||
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>
|
||||
</footer>
|
||||
</body>
|
||||
|
|
|
@ -12,9 +12,11 @@
|
|||
<input type="password" name="password" id="password" placeholder="********">
|
||||
</div>
|
||||
|
||||
<% if ( config.registrationOpen === true ) { %>
|
||||
<div class="text-right mt-10">
|
||||
<p>Pas encore inscrit ? <a href="/inscription">Inscrivez-vous</a></p>
|
||||
</div>
|
||||
<% } %>
|
||||
|
||||
<button type="submit" class="button is-primary">Connexion</button>
|
||||
</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