From 0cbddf75b6c076913d1cd22c29553f69d0fef375 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Thu, 26 Dec 2013 02:09:56 +0100 Subject: [PATCH] Work on profile page --- duskenweb/templates/account.html | 0 duskenweb/templates/base.html | 24 ++---- duskenweb/templates/index.html | 12 +++ duskenweb/templates/nav.html | 31 ++++++++ duskenweb/templates/profile.html | 75 +++++++++++++++---- .../templates/registration/logged_out.html | 2 +- duskenweb/urls.py | 25 ++++--- duskenweb/views.py | 27 +++++++ 8 files changed, 154 insertions(+), 42 deletions(-) create mode 100644 duskenweb/templates/account.html create mode 100644 duskenweb/templates/nav.html diff --git a/duskenweb/templates/account.html b/duskenweb/templates/account.html new file mode 100644 index 0000000..e69de29 diff --git a/duskenweb/templates/base.html b/duskenweb/templates/base.html index 00ec745..a3c6ec7 100644 --- a/duskenweb/templates/base.html +++ b/duskenweb/templates/base.html @@ -1,34 +1,26 @@ - {{ title }} +{% block title %}Dusken{% endblock %} - + - -
-
-
-
-

Dusken

-
-
-
-
+ {% block navigation %} + {% include "nav.html" %} + {% endblock %}
- {% block content %} - {% endblock %} + {% block content %}{% endblock %}
- - + + diff --git a/duskenweb/templates/index.html b/duskenweb/templates/index.html index 0bfd987..59f1b46 100644 --- a/duskenweb/templates/index.html +++ b/duskenweb/templates/index.html @@ -1,5 +1,17 @@ {% extends "base.html" %} +{% block navigation %}{% endblock %} {% block content %} +
+
+
+
+

DUSKEN

+ DÃ¥rlig Utrusted Studentsystem som Kan Endre Norge +
+
+
+
+
diff --git a/duskenweb/templates/nav.html b/duskenweb/templates/nav.html new file mode 100644 index 0000000..0667903 --- /dev/null +++ b/duskenweb/templates/nav.html @@ -0,0 +1,31 @@ + diff --git a/duskenweb/templates/profile.html b/duskenweb/templates/profile.html index 48d33b8..388c519 100644 --- a/duskenweb/templates/profile.html +++ b/duskenweb/templates/profile.html @@ -1,22 +1,69 @@ {% extends "base.html" %} +{% block title %}Dusken - My profile{% endblock %} {% block content %}
-

{{user}}

-
    -
  • Username: '{{user.username}}'
  • -
  • Email: '{{user.email}}'
  • -
-

Actions

- -
-
-
-
- Logout +

{{me.first_name}} {{me.last_name }}

+
+
+
+
+

Profile

+
+
    +
  • Name: {{me.first_name}} {{me.last_name}}
  • +
  • Username: {{me.username}}
  • +
  • Email: {{me.email}}
  • +
+
+ {% if user.is_staff %} +
+
+

Admin tasks

+
+
+ +
+
+
+
+ {% endif %} +
+
+
+
+

Membership

+
+
+ {% if me.has_valid_membership %} + {% for membership in me.memberships %} + Valid until {{ me.}} + {% endfor %} + {% else %} + Not valid (expired DATE) + {% endif %} +
+
+
+
+

Your Groups {{ me.groups|length}}

+
+ {% if not me.groups %} + No groups + {% endif %} +
    + {% for group in me.groups %} +
  • {{ group }}
  • + {% endfor %} +
+
+
+
+
diff --git a/duskenweb/templates/registration/logged_out.html b/duskenweb/templates/registration/logged_out.html index 5445f17..ddff50b 100644 --- a/duskenweb/templates/registration/logged_out.html +++ b/duskenweb/templates/registration/logged_out.html @@ -5,7 +5,7 @@ {% block content %}
- Du har blitt logget ut, vil du logge inn igjen? + Du har blitt logget ut, vil du logge inn igjen?
{% endblock %} diff --git a/duskenweb/urls.py b/duskenweb/urls.py index b8ce8b3..12bfe56 100644 --- a/duskenweb/urls.py +++ b/duskenweb/urls.py @@ -7,18 +7,8 @@ from longerusername.forms import AuthenticationForm admin.autodiscover() -urlpatterns = patterns('', - url(r'^admin/', include(admin.site.urls)), -) -urlpatterns += patterns('duskenweb.views', - url(r'^$', 'home', name='home'), - url(r'^profile/$', 'profile', name='profile'), - url(r'^members/$', 'members_list', name='members_list'), - -) - # Authentication views -urlpatterns += patterns('django.contrib.auth.views', +urlpatterns = patterns('django.contrib.auth.views', url(r'^login/$', 'login', {'authentication_form': AuthenticationForm}, name='login'), url(r'^logout/$', 'logout', name='logout'), url(r'^password/change/$', # skip entering old password @@ -33,3 +23,16 @@ urlpatterns += patterns('django.contrib.auth.views', name='password_reset_confirm'), url(r'^password/reset/complete/$', 'password_reset_complete', name='password_reset_complete'), ) + +urlpatterns += patterns('duskenweb.views', + url(r'^$', 'home', name='home'), + url(r'^profile/$', 'profile', name='profile'), + url(r'^account/$', 'account', name='account'), + url(r'^members/$', 'members_list', name='members_list'), + url(r'^memberships/$', 'memberships_list', name='memberships_list'), + +) + +urlpatterns += patterns('', + url(r'^admin/', include(admin.site.urls)), +) diff --git a/duskenweb/views.py b/duskenweb/views.py index 1b9f587..1e35231 100644 --- a/duskenweb/views.py +++ b/duskenweb/views.py @@ -13,6 +13,22 @@ def home(request, template_name='index.html'): @login_required def profile(request, template_name='profile.html'): + # TODO put these two lines somewhere else, on authenticate? + if not user_api_conn.is_authenticated() and request.user.duskenaccesstoken: + user_api_conn.set_access_token(request.user.duskenaccesstoken.access_token) + + me = user_api_conn.members.me()['objects'][0] + import pprint + pprint.pprint(me) + return render(request, template_name, locals()) + +@login_required +def account(request, template_name='account.html'): + # TODO put these two lines somewhere else, on authenticate? + if not user_api_conn.is_authenticated() and request.user.duskenaccesstoken: + user_api_conn.set_access_token(request.user.duskenaccesstoken.access_token) + + me = user_api_conn.members.me() return render(request, template_name) @login_required @@ -23,3 +39,14 @@ def members_list(request, template_name='members_index.html'): members_list = user_api_conn.members.get_list() return render(request, template_name, locals()) + +@login_required +def memberships_list(request, template_name='memberships_index.html'): + # TODO put these two lines somewhere else, on authenticate? + if not user_api_conn.is_authenticated() and request.user.duskenaccesstoken: + user_api_conn.set_access_token(request.user.duskenaccesstoken.access_token) + + # group by year, active, not active + # show graph + memberships_list = user_api_conn.memberships.get_list() + return render(request, template_name, locals())