diff --git a/doc/conf.py b/doc/conf.py index 673f4477..2a103e0b 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -33,7 +33,7 @@ author = "Bartuccio Antoine (Sli), Brunet Pierre (Krohpil), Jacquet Florent (Ski # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = ["sphinx.ext.autodoc", "sphinx_copybutton"] +extensions = ["sphinx.ext.autodoc", "sphinx_copybutton", "sphinx.ext.autosectionlabel"] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] diff --git a/doc/frequent/subscriptions.rst b/doc/frequent/subscriptions.rst new file mode 100644 index 00000000..b73c5de1 --- /dev/null +++ b/doc/frequent/subscriptions.rst @@ -0,0 +1,55 @@ +.. _add_subscription: + +Ajouter une nouvelle cotisation +=============================== + +Il arrive régulièrement que le type de cotisation proposé varie en prix et en durée au cours des années. Le projet étant pensé pour être utilisé par d'autres associations dans la mesure du possible, ces cotisations sont configurables directement dans les paramètres du projet. + +Comprendre la configuration +--------------------------- + +Pour modifier les cotisations disponnibles, tout se gère dans la configuration avec la variable *SITH_SUBSCRIPTIONS*. Dans cet exemple, nous allons ajouter une nouvelle cotisation d'un mois. + +.. code-block:: python + + from django.utils.translation import ugettext_lazy as _ + + SITH_SUBSCRIPTIONS = { + # Voici un échantillon de la véritable configuration à l'heure de l'écriture. + # Celle-ci est donnée à titre d'exemple pour mieux comprendre comment cela fonctionne. + "un-semestre": {"name": _("One semester"), "price": 15, "duration": 1}, + "deux-semestres": {"name": _("Two semesters"), "price": 28, "duration": 2}, + "cursus-tronc-commun": { + "name": _("Common core cursus"), + "price": 45, + "duration": 4, + }, + "cursus-branche": {"name": _("Branch cursus"), "price": 45, "duration": 6}, + "cursus-alternant": {"name": _("Alternating cursus"), "price": 30, "duration": 6}, + "membre-honoraire": {"name": _("Honorary member"), "price": 0, "duration": 666}, + "un-jour": {"name": _("One day"), "price": 0, "duration": 0.00555333}, + + # On rajoute ici notre cotisation + # Elle se nomme "Un mois" + # Coûte 6€ + # Dure 1 mois (on résonne en semestre, ici c'est 1/6 de semestre) + "un-mois": {"name": _("One month"), "price": 6, "duration": 0.166} + } + +Créer une migration +------------------- + +La modification de ce paramètre est étroitement lié à la génération de la base de données. Cette variable est utilisé dans l'objet *Subscription* pour générer les *subscription_type*. Le modifier requiers de générer une migration de basse de données. + +.. code-block:: bash + + ./manage.py makemigrations subscription + +.. note:: + + N'oubliez pas d'appliquer black sur le fichier de migration généré. + +Rajouter la traduction pour la cotisation +----------------------------------------- + +Comme on peut l'observer, la cotisation a besoin d'un nom qui est internationalisé. Il est donc nécessaire de le traduire en français. Pour rajouter notre traduction de *"One month"* il faut se référer à cette partie de la documentation : :ref:`translations`. diff --git a/doc/index.rst b/doc/index.rst index 99a1d47f..82608140 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -16,36 +16,42 @@ Bienvenue sur la documentation du Sith de l'AE about/tech .. toctree:: - :maxdepth: 2 - :caption: Bien démarrer + :maxdepth: 2 + :caption: Bien démarrer - start/install - start/structure - start/hello_world + start/install + start/structure + start/hello_world - start/translations + start/translations - start/devtools + start/devtools .. toctree:: - :maxdepth: 2 - :caption: La surcouche "Site AE" + :maxdepth: 2 + :caption: La surcouche "Site AE" - overlay/rights + overlay/rights .. toctree:: - :maxdepth: 3 - :caption: Documentation des apps + :maxdepth: 1 + :caption: Modifications fréquentes - apps/core + frequent/subscriptions .. toctree:: - :maxdepth: 2 - :caption: Divers + :maxdepth: 3 + :caption: Documentation des apps - misc/md_syntax - misc/helpers - misc/prod + apps/core + +.. toctree:: + :maxdepth: 2 + :caption: Divers + + misc/md_syntax + misc/helpers + misc/prod Documentations complémentaires ------------------------------ diff --git a/doc/start/translations.rst b/doc/start/translations.rst index ff717cd4..76aa1c6e 100644 --- a/doc/start/translations.rst +++ b/doc/start/translations.rst @@ -1,3 +1,5 @@ +.. _translations: + Ajouter une traduction ======================