django-oasis-platform 1.0.0__tar.gz

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.
@@ -0,0 +1,20 @@
1
+ Metadata-Version: 2.1
2
+ Name: django-oasis-platform
3
+ Version: 1.0.0
4
+ Summary: OASIS - Plateforme de mise en relation
5
+ Home-page: https://oasiscap.pythonanywhere.com
6
+ Author: OASIS Team
7
+ Author-email: contact@oasis.ci
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Framework :: Django
10
+ Classifier: Framework :: Django :: 4.2
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Requires-Python: >=3.10
16
+ Description-Content-Type: text/markdown
17
+ Requires-Dist: Django>=4.2
18
+ Requires-Dist: Pillow>=9.0
19
+
20
+ OASIS est une application Django pour la mise en relation entre clients et promoteurs.
@@ -0,0 +1,18 @@
1
+ # Django OASIS
2
+
3
+ **OASIS** est une application Django pour la mise en relation entre clients et promoteurs.
4
+
5
+ ## Fonctionnalités
6
+
7
+ - Inscription client/promoteur
8
+ - Connexion par email ou téléphone
9
+ - Gestion de profil
10
+ - Réservations
11
+ - Favoris
12
+ - Avis et notation
13
+ - Tableau de bord promoteur
14
+
15
+ ## Installation
16
+
17
+ ```bash
18
+ pip install django-oasis
@@ -0,0 +1,4 @@
1
+ __version__ = "1.0.0"
2
+ __author__ = "OASIS Team"
3
+
4
+ default_app_config = "django_oasis.apps.OasisConfig"
@@ -0,0 +1,8 @@
1
+ from django.contrib import admin
2
+ from accounts.models import Profile
3
+
4
+ @admin.register(Profile)
5
+ class ProfileAdmin(admin.ModelAdmin):
6
+ list_display = ['user', 'user_type', 'telephone', 'est_premium']
7
+ list_filter = ['user_type', 'est_premium']
8
+ search_fields = ['user__username', 'user__email', 'telephone']
@@ -0,0 +1,16 @@
1
+ from django.apps import AppConfig
2
+ from django.utils.translation import gettext_lazy as _
3
+
4
+
5
+ class OasisConfig(AppConfig):
6
+ default_auto_field = "django.db.models.BigAutoField"
7
+ name = "django_oasis"
8
+ label = "oasis"
9
+ verbose_name = _("OASIS - Plateforme de découverte")
10
+
11
+ def ready(self):
12
+ """Initialisation de l'application"""
13
+ try:
14
+ import django_oasis.signals
15
+ except ImportError:
16
+ pass
@@ -0,0 +1 @@
1
+ """Modèles pour le plugin OASIS - Utilise les modèles existants"""
@@ -0,0 +1,48 @@
1
+ from django.urls import path
2
+ from . import views
3
+
4
+ app_name = 'oasis'
5
+
6
+ urlpatterns = [
7
+ # Accueil
8
+ path('', views.accueil, name='accueil'),
9
+
10
+ # Authentification
11
+ path('connexion/', views.connexion, name='connexion'),
12
+ path('deconnexion/', views.deconnexion, name='deconnexion'),
13
+ path('inscription/', views.inscription, name='inscription'),
14
+
15
+ # Profil
16
+ path('profil/', views.profil, name='profil'),
17
+ path('profil/modifier/', views.modifier_profil, name='modifier_profil'),
18
+ path('changer-mot-de-passe/', views.changer_mot_de_passe, name='changer_mot_de_passe'),
19
+
20
+ # Promoteur
21
+ path('promoteur/tableau-de-bord/', views.tableau_de_bord_promoteur, name='tableau_de_bord_promoteur'),
22
+ path('promoteur/gerer-etablissement/', views.gerer_etablissement, name='gerer_etablissement'),
23
+ path('promoteur/galerie-photos/', views.galerie_photos, name='galerie_photos'),
24
+ path('promoteur/historique-reservations/', views.historique_reservations_promoteur, name='historique_reservations_promoteur'),
25
+ path('promoteur/abonnement/', views.abonnement_promoteur, name='abonnement_promoteur'),
26
+ path('promoteur/ajouter-contenu/', views.ajouter_contenu, name='ajouter_contenu'),
27
+ path('promoteur/mes-publications/', views.mes_publications, name='mes_publications'),
28
+ path('promoteur/supprimer-publication/<int:lieu_id>/', views.supprimer_publication, name='supprimer_publication'),
29
+ path('promoteur/modifier-publication/<int:lieu_id>/', views.modifier_publication, name='modifier_publication'),
30
+ path('promoteur/definir-photo-principale/<int:photo_id>/', views.definir_photo_principale, name='definir_photo_principale'),
31
+ path('promoteur/upload-photos/', views.upload_photos, name='upload_photos'),
32
+ path('promoteur/supprimer-photo/<int:photo_id>/', views.supprimer_photo, name='supprimer_photo'),
33
+ path('promoteur/modifier-photo/<int:photo_id>/', views.modifier_photo, name='modifier_photo'),
34
+
35
+ # Clients
36
+ path('reserver/<int:lieu_id>/', views.reserver_lieu, name='reserver_lieu'),
37
+ path('mes-reservations/', views.mes_reservations, name='mes_reservations'),
38
+ path('annuler-reservation/<int:reservation_id>/', views.annuler_reservation, name='annuler_reservation'),
39
+ path('gerer-abonnement/', views.gerer_abonnement, name='gerer_abonnement'),
40
+ path('ajouter-favoris/<int:lieu_id>/', views.ajouter_favoris, name='ajouter_favoris'),
41
+ path('mes-favoris/', views.mes_favoris, name='mes_favoris'),
42
+ path('ajouter-avis/<int:lieu_id>/', views.ajouter_avis, name='ajouter_avis'),
43
+
44
+ # Réinitialisation mot de passe
45
+ path('reset-password/', views.reset_password_request, name='reset_password_request'),
46
+ path('reset-password/confirm/<uidb64>/<token>/', views.reset_password_confirm, name='reset_password_confirm'),
47
+ path('reset-password/done/', views.reset_password_done, name='reset_password_done'),
48
+ ]