From a0c32890a9ecb113df76c31051fe662f4208654c Mon Sep 17 00:00:00 2001
From: Pierre-antoine Comby <comby@crans.org>
Date: Mon, 12 Aug 2019 00:30:29 +0200
Subject: [PATCH] add basic profile page

---
 apps/member/models.py                |  2 ++
 apps/member/urls.py                  |  5 +++--
 apps/member/views.py                 |  8 +++++++-
 templates/base.html                  |  2 +-
 templates/member/profile_detail.html | 19 +++++++++++++++++++
 5 files changed, 32 insertions(+), 4 deletions(-)
 create mode 100644 templates/member/profile_detail.html

diff --git a/apps/member/models.py b/apps/member/models.py
index 90fb7839..70f8ccf7 100644
--- a/apps/member/models.py
+++ b/apps/member/models.py
@@ -48,6 +48,8 @@ class Profile(models.Model):
         verbose_name = _('user profile')
         verbose_name_plural = _('user profile')
 
+    def get_absolute_url(self):
+        return reverse('user_detail',args=(self.pk,))
 
 class Club(models.Model):
     """
diff --git a/apps/member/urls.py b/apps/member/urls.py
index b5a972a3..7b179b56 100644
--- a/apps/member/urls.py
+++ b/apps/member/urls.py
@@ -10,8 +10,9 @@ from . import views
 
 app_name = 'member'
 urlpatterns = [
-    path('signup/',views.SignUp.as_view(),name="signup"),
+    path('signup/',views.UserCreateView.as_view(),name="signup"),
     path('club/',views.ClubListView.as_view(),name="club_list"),
     path('club/<int:pk>/',views.ClubDetailView.as_view(),name="club_detail"),
-    path('club/create/',views.ClubCreateView.as_view(),name="club_create")
+    path('club/create/',views.ClubCreateView.as_view(),name="club_create"),
+    path('user/<int:pk>',views.UserDetailView.as_view(),name="user_detail")
 ]
diff --git a/apps/member/views.py b/apps/member/views.py
index 55fd2fc2..37c47212 100644
--- a/apps/member/views.py
+++ b/apps/member/views.py
@@ -13,7 +13,7 @@ from django.urls import reverse_lazy
 from .models import Profile, Club
 from .forms import ProfileForm, ClubForm
 
-class SignUp(CreateView):
+class UserCreateView(CreateView):
     """
     Une vue pour inscrire un utilisateur et lui créer un profile
 
@@ -39,6 +39,11 @@ class SignUp(CreateView):
         return super().form_valid(form)
 
 
+
+class UserDetailView(LoginRequiredMixin,DetailView):
+    model = Profile
+
+
 class ClubCreateView(LoginRequiredMixin,CreateView):
     """
     Create Club
@@ -55,6 +60,7 @@ class ClubListView(LoginRequiredMixin,ListView):
     """
     model = Club
     form_class = ClubForm
+
 class ClubDetailView(LoginRequiredMixin,DetailView):
     """
     """
diff --git a/templates/base.html b/templates/base.html
index 8e6a2b0e..87f292ad 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -48,7 +48,7 @@
                             <i class="fa fa-user-circle"> {{ user.username }}</i>
                         </a>
                         <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownMenuLink">
-                            <a class="dropdown-item" href="#"> <i class="fa fa-user"></i> Mon compte </a>
+                            <a class="dropdown-item" href="{% url 'member:user_detail' pk=user.profile.pk %}"> <i class="fa fa-user"></i> Mon compte </a>
                             <a class="dropdown-item" href="{% url 'logout' %}">
                                 <i class="fa fa-sign-out"></i>
                                 Se déconnecter</a>
diff --git a/templates/member/profile_detail.html b/templates/member/profile_detail.html
new file mode 100644
index 00000000..11ad6539
--- /dev/null
+++ b/templates/member/profile_detail.html
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+{% load static %}
+{% block content %}
+
+<h5>Compte n° {{object.pk}}</h5>
+<table>
+    <tr>
+        <td> <img src="{{ object.note.display_image.url }}" alt="" /> </td>
+    </tr>
+    <tr><th> Nom</th><td>{{ object.user.name }}</td></tr>
+    <tr><th>Prénom </th><td>{{object.user.first_name}}</td></tr>
+    <tr><th>Pseudo</th><td> {{object.user.username}}</td></tr>
+    <tr><th> Aliases</th><td>{{object.user.note.aliases_set.all }}</td></tr>
+    <tr><th>Pseudo</th><td> {{object.user.username}}</td></tr>
+    <tr><th>Section</th><td> {{object.section}}</td></tr>
+    <tr><th>Adresse</th><td> {{object.address}}</td></tr>
+    <tr><th>Solde</th><td> {{object.user.note.balance}}</td></tr>
+</table>
+{% endblock %}
-- 
GitLab