forked from DGNum/gestioCOF
L'application `petitscours` reste assez fortement couplée à `gestioncof`, et n'est pas (encore ?) faite pour être utilisée séparément. De façon similaire, et afin de minimiser de potentiels problèmes dûs à des migrations, les modèles de l'application `petitscours` utilisent `app_label = "gestioncof"` pour que Django les considère comme faisant partie de l'application `"gestioncof"`. Ils pourront être migrés dans un second temps si cela s'avère nécessaire. Les changements sont nombreux, mais assez simples: il s'agit principalement de déplacer des fichiers et changer des imports. J'ai également profité de l'occasion pour réorganiser les templates afin de les placer dans l'espace de nom "petitscours/". cof/ * settings/common.py: Add `petitscours` app * urls.py: Use `petitscours.urls` petitscours/ * __init__.py: Added. * tests/__init__.py: Added. * tests/utils.py: Added. * urls.py: Added. gestioncof/ * admin.py: * management/commands/loaddevdata.py: * models.py: * signals.py: Typo. * urls.py: Moved petitscours_patterns to petitscours.urls * petits_cours_forms.py: Moved to petitscours/forms.py * petits_cours_models.py: Moved to petitscours/models.py * petits_cours_views.py: Moved to petitscours/views.py * tests/utils.py: * tests/test_petitscours_views.py: Moved to petitscours/tests/test_petitscours_views.py * templates/base_title_petitscours.html: Moved to petitscours/templates/petitscours/base_title.html * templates/demande-petit-cours.html: Moved topetitscours/templates/petitscours/demande.html * templates/gestioncof/details_demande_petit_cours.html: Moved to petitscours/templates/petitscours/demande_detail.html * templates/petits_cours_demandes_list.html: Moved to petitscours/templates/petitscours/demande_list.html * templates/demande-petit-cours-raw.html: Moved to petitscours/templates/petitscours/demande_raw.html * templates/details_demande_petit_cours_infos.html: Moved to petitscours/templates/petitscours/details_demande_infos.html * templates/inscription-petit-cours.html: Moved to petitscours/templates/petitscours/inscription.html * templates/inscription-petit-cours-formset.html: Moved to petitscours/templates/petitscours/inscription_formset.html * templates/gestioncof/traitement_demande_petit_cours.html: Moved to petitscours/templates/petitscours/traitement_demande.html * templates/gestioncof/traitement_demande_petit_cours_autre_niveau.html: Moved to petitscours/templates/petitscours/traitement_demande_autre_niveau.html * templates/gestioncof/traitement_demande_petit_cours_success.html: Moved to petitscours/templates/petitscours/traitement_demande_success.html
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
import os
|
|
|
|
from django.conf import settings
|
|
from django.core.management import call_command
|
|
from petitscours.models import (
|
|
PetitCoursAbility,
|
|
PetitCoursAttributionCounter,
|
|
PetitCoursDemande,
|
|
PetitCoursSubject,
|
|
)
|
|
|
|
|
|
def create_petitcours_ability(**kwargs):
|
|
if "user" not in kwargs:
|
|
kwargs["user"] = create_user()
|
|
if "matiere" not in kwargs:
|
|
kwargs["matiere"] = create_petitcours_subject()
|
|
if "niveau" not in kwargs:
|
|
kwargs["niveau"] = "college"
|
|
ability = PetitCoursAbility.objects.create(**kwargs)
|
|
PetitCoursAttributionCounter.get_uptodate(ability.user, ability.matiere)
|
|
return ability
|
|
|
|
|
|
def create_petitcours_demande(**kwargs):
|
|
return PetitCoursDemande.objects.create(**kwargs)
|
|
|
|
|
|
def create_petitcours_subject(**kwargs):
|
|
return PetitCoursSubject.objects.create(**kwargs)
|
|
|
|
|
|
class PetitCoursTestHelpers:
|
|
def require_custommails(self):
|
|
data_file = os.path.join(
|
|
settings.BASE_DIR, "gestioncof", "management", "data", "custommail.json"
|
|
)
|
|
call_command("syncmails", data_file, verbosity=0)
|