Adds members list view
This commit is contained in:
1 parent
b4ad18e73f
commit
6cfe58902d
11 files changed
+61
-10
No files matched your search
@@ -6,3 +6,4 @@
|
||||
db.sqlite3
|
||||
node_modules
|
||||
venv
|
||||
settings.py
|
||||
@@ -19,7 +19,8 @@
|
||||
* https
|
||||
* cookies: secure, httpOnly
|
||||
|
||||
Client:
|
||||
## Client:
|
||||
|
||||
* Rewrite client side code in Backbone.js
|
||||
* Start here: https://github.com/backbone-boilerplate/backbone-boilerplate
|
||||
* Backbone Extensions:
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
import pydusken
|
||||
from django.conf import settings
|
||||
|
||||
# Init DuskenAPI
|
||||
system_api_conn = pydusken.DuskenApi(settings.DUSKEN_CLIENT_ID, settings.DUSKEN_CLIENT_SECRET)
|
||||
if not system_api_conn.is_authenticated():
|
||||
system_api_conn.authenticate(settings.DUSKEN_USERNAME, settings.DUSKEN_PASSWORD)
|
||||
|
||||
user_api_conn = pydusken.DuskenApi(settings.DUSKEN_CLIENT_ID, settings.DUSKEN_CLIENT_SECRET)
|
||||
@@ -104,12 +104,16 @@ USE_TZ = True
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
LOGIN_REDIRECT_URL = "/profile/"
|
||||
LOGIN_URL = "/login/"
|
||||
|
||||
DUSKEN_CLIENT_ID = 'd802768a8afd9dec2660'
|
||||
DUSKEN_CLIENT_SECRET = '3962467fe60a94727812053c8a4f44533f4ef610'
|
||||
DUSKEN_CLIENT_ID = ''
|
||||
DUSKEN_CLIENT_SECRET = ''
|
||||
# Dusken API system user
|
||||
DUSKEN_USERNAME = 'duskenweb'
|
||||
DUSKEN_PASSWORD = ''
|
||||
|
||||
CORS_ORIGIN_ALLOW_ALL = True
|
||||
# Allow Ajax calls only from tuple of domain:port
|
||||
# Allow Ajax calls only from domain:port
|
||||
#CORS_ORIGIN_WHITELIST = (
|
||||
# '127.0.0.1:3000',
|
||||
# 'dusken.neuf.no:3000',
|
||||
@@ -1,6 +1,6 @@
|
||||
/* line 1, ../sass/app.scss */
|
||||
.title-header {
|
||||
margin-bottom: 3em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
/* line 4, ../sass/app.scss */
|
||||
@@ -30,7 +30,7 @@
|
||||
top: 2px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
/* line 29, ../sass/app.scss */
|
||||
/* line 30, ../sass/app.scss */
|
||||
.social-login .btn-facebook-login:hover, .social-login .btn-facebook-login:focus {
|
||||
background-color: #2f477a;
|
||||
color: white;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
.title-header {
|
||||
margin-bottom: 3em;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
.social-login {
|
||||
text-align: center;
|
||||
|
||||
@@ -15,8 +15,7 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1>D.U.S.K.E.N.</h1>
|
||||
<em>Dårlig Utrustet Studentsystem som Kan Endre Norge</em>
|
||||
<h1>Dusken</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<ul>
|
||||
{% for member in members_list.objects %}
|
||||
<li>{{member.username}}: {{member.email}}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -8,6 +8,15 @@
|
||||
<li>Username: '{{user.username}}'</li>
|
||||
<li>Email: '{{user.email}}'</li>
|
||||
</ul>
|
||||
<h4>Actions</h4>
|
||||
<ul>
|
||||
<li><a href="{% url 'members_list' %}">List members</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<a href="{% url 'logout' %}">Logout</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -13,6 +13,8 @@ urlpatterns = patterns('',
|
||||
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
|
||||
|
||||
+13
-1
@@ -1,7 +1,10 @@
|
||||
from django.shortcuts import render, redirect
|
||||
from django.contrib.auth.decorators import login_required
|
||||
|
||||
# Create your views here.
|
||||
from django.views import generic
|
||||
|
||||
from . import user_api_conn # Note: initialized in __init__.py
|
||||
|
||||
def home(request):
|
||||
if request.user.is_authenticated():
|
||||
return redirect('profile')
|
||||
@@ -11,3 +14,12 @@ def home(request):
|
||||
@login_required
|
||||
def profile(request):
|
||||
return render(request, 'profile.html')
|
||||
|
||||
@login_required
|
||||
def members_list(request):
|
||||
# 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)
|
||||
|
||||
members_list = user_api_conn.members.get_list()
|
||||
return render(request, 'members_index.html', locals())
|
||||
Reference in new issue
Block a user