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
|
db.sqlite3
|
||||||
node_modules
|
node_modules
|
||||||
venv
|
venv
|
||||||
|
settings.py
|
||||||
@@ -19,7 +19,8 @@
|
|||||||
* https
|
* https
|
||||||
* cookies: secure, httpOnly
|
* cookies: secure, httpOnly
|
||||||
|
|
||||||
Client:
|
## Client:
|
||||||
|
|
||||||
* Rewrite client side code in Backbone.js
|
* Rewrite client side code in Backbone.js
|
||||||
* Start here: https://github.com/backbone-boilerplate/backbone-boilerplate
|
* Start here: https://github.com/backbone-boilerplate/backbone-boilerplate
|
||||||
* Backbone Extensions:
|
* 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/'
|
STATIC_URL = '/static/'
|
||||||
|
|
||||||
LOGIN_REDIRECT_URL = "/profile/"
|
LOGIN_REDIRECT_URL = "/profile/"
|
||||||
|
LOGIN_URL = "/login/"
|
||||||
|
|
||||||
DUSKEN_CLIENT_ID = 'd802768a8afd9dec2660'
|
DUSKEN_CLIENT_ID = ''
|
||||||
DUSKEN_CLIENT_SECRET = '3962467fe60a94727812053c8a4f44533f4ef610'
|
DUSKEN_CLIENT_SECRET = ''
|
||||||
|
# Dusken API system user
|
||||||
|
DUSKEN_USERNAME = 'duskenweb'
|
||||||
|
DUSKEN_PASSWORD = ''
|
||||||
|
|
||||||
CORS_ORIGIN_ALLOW_ALL = True
|
CORS_ORIGIN_ALLOW_ALL = True
|
||||||
# Allow Ajax calls only from tuple of domain:port
|
# Allow Ajax calls only from domain:port
|
||||||
#CORS_ORIGIN_WHITELIST = (
|
#CORS_ORIGIN_WHITELIST = (
|
||||||
# '127.0.0.1:3000',
|
# '127.0.0.1:3000',
|
||||||
# 'dusken.neuf.no:3000',
|
# 'dusken.neuf.no:3000',
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/* line 1, ../sass/app.scss */
|
/* line 1, ../sass/app.scss */
|
||||||
.title-header {
|
.title-header {
|
||||||
margin-bottom: 3em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* line 4, ../sass/app.scss */
|
/* line 4, ../sass/app.scss */
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
top: 2px;
|
top: 2px;
|
||||||
padding-right: 6px;
|
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 {
|
.social-login .btn-facebook-login:hover, .social-login .btn-facebook-login:focus {
|
||||||
background-color: #2f477a;
|
background-color: #2f477a;
|
||||||
color: white;
|
color: white;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
.title-header {
|
.title-header {
|
||||||
margin-bottom: 3em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
.social-login {
|
.social-login {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|||||||
@@ -15,8 +15,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<h1>D.U.S.K.E.N.</h1>
|
<h1>Dusken</h1>
|
||||||
<em>Dårlig Utrustet Studentsystem som Kan Endre Norge</em>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</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>Username: '{{user.username}}'</li>
|
||||||
<li>Email: '{{user.email}}'</li>
|
<li>Email: '{{user.email}}'</li>
|
||||||
</ul>
|
</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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ urlpatterns = patterns('',
|
|||||||
urlpatterns += patterns('duskenweb.views',
|
urlpatterns += patterns('duskenweb.views',
|
||||||
url(r'^$', 'home', name='home'),
|
url(r'^$', 'home', name='home'),
|
||||||
url(r'^profile/$', 'profile', name='profile'),
|
url(r'^profile/$', 'profile', name='profile'),
|
||||||
|
url(r'^members/$', 'members_list', name='members_list'),
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Authentication views
|
# Authentication views
|
||||||
|
|||||||
+13
-1
@@ -1,7 +1,10 @@
|
|||||||
from django.shortcuts import render, redirect
|
from django.shortcuts import render, redirect
|
||||||
from django.contrib.auth.decorators import login_required
|
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):
|
def home(request):
|
||||||
if request.user.is_authenticated():
|
if request.user.is_authenticated():
|
||||||
return redirect('profile')
|
return redirect('profile')
|
||||||
@@ -11,3 +14,12 @@ def home(request):
|
|||||||
@login_required
|
@login_required
|
||||||
def profile(request):
|
def profile(request):
|
||||||
return render(request, 'profile.html')
|
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