diff --git a/web/warpauth/templates/warpauth/profile.html b/web/warpauth/templates/warpauth/profile.html new file mode 100644 index 0000000000000000000000000000000000000000..ee7ed5ca7cc11b510e4f3388898310c08ff02384 --- /dev/null +++ b/web/warpauth/templates/warpauth/profile.html @@ -0,0 +1,30 @@ +{% extends "base.html" %} + +{% load i18n %} +{% block content %} + +<h2>{{ body_text }}</h2> +<p class="lead">{% trans "Profile Settings" %}</p><p /> + + +<div> + <ul class="nav nav-tabs" role="tablist"> + <li role="presentation" class="active"> + <a href="#information" aria-controls="information" role="tab" data-toggle="tab">{% trans "Information" %}</a> + </li> + <li role="presentation"> + <a href="#change_passwd" aria-controls="change_passwd" role="tab" data-toggle="tab">{% trans "Change Password" %}</a> + </li> + </ul> + + <div class="tab-content"> + <div role="tabpanel" class="tab-pane fade in active" id="information"> + {% include "warpauth/profile/information.html" %} + </div> + <div role="tabpanel" class="tab-pane fade in" id="change_passwd"> + {% include "warpauth/profile/change_password.html" %} + </div> + </div> +</div> + +{% endblock %} \ No newline at end of file diff --git a/web/warpauth/templates/warpauth/profile/change_password.html b/web/warpauth/templates/warpauth/profile/change_password.html new file mode 100644 index 0000000000000000000000000000000000000000..7f9a76827208957f6b5e924fd0c768d9350c91c2 --- /dev/null +++ b/web/warpauth/templates/warpauth/profile/change_password.html @@ -0,0 +1,34 @@ +{% load i18n %} + +<div> + <br /> + <form class="form-horizontal" method="POST" role="form"> + {% csrf_token %} + <input type="hidden" name="action" value="change_pw"> + <div class="form-group"> + <label class="control-label col-sm-2 col-lg-2 " for="id_old_pw">{% trans "Current Password" %}</label> + <div class=" col-sm-10 col-lg-10 "> + <input class=" form-control" id="id_old_pw" name="old_pw" type="password" /> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-2 col-lg-2 " for="id_new_pw">{% trans "New Password" %}</label> + <div class=" col-sm-10 col-lg-10 "> + <input class=" form-control" id="id_new_pw" name="new_pw" type="password" /> + </div> + </div> + <div class="form-group"> + <label class="control-label col-sm-2 col-lg-2 " for="id_new_pw_confirm">{% trans "Confirm Password" %}</label> + <div class=" col-sm-10 col-lg-10 "> + <input class=" form-control" id="id_new_pw_confirm" name="new_pw_confirm" type="password" /> + </div> + </div> + <div class="form-group"> + <div class="col-sm-offset-2 col-sm-10"> + <button style="float: left" type="submit" formmethod="post" class="btn btn-primary">Change Password</button> + </div> + </div> + </form> +</div> + + diff --git a/web/warpauth/templates/warpauth/profile/information.html b/web/warpauth/templates/warpauth/profile/information.html new file mode 100644 index 0000000000000000000000000000000000000000..99627cefc920787c608f4b352dd2c6eeb8aa2196 --- /dev/null +++ b/web/warpauth/templates/warpauth/profile/information.html @@ -0,0 +1,18 @@ +{% load i18n %} + +<div> + <br/> + <p class="lead">{% trans "Groups" %}</p><p /> + + <div class="panel panel-default"> + <div class="panel-body"> + <table class="table"> + {% for ldap_group in ldap_groups %} + <tr><td>{{ ldap_group }}</td></tr> + {% endfor %} + </table> + </div> + </div> +</div> + + diff --git a/web/warpauth/urls.py b/web/warpauth/urls.py index 8566b63bef4b34381f88e6c4a2c28b87335c02b9..07002e50ebf7659025b967bc2ea8da0a73ff2009 100644 --- a/web/warpauth/urls.py +++ b/web/warpauth/urls.py @@ -1,5 +1,5 @@ from django.conf.urls import url -from warpauth.views import main, login, reset_password, warp_food +from warpauth.views import main, login, reset_password, warp_food, profile urlpatterns = [ # Authentication Pages @@ -9,6 +9,8 @@ urlpatterns = [ url(r'^reset_password/(?P<reset_hash>\w+)/$', reset_password.change_password, name='index'), + url(r'^profile/$', profile.index, name='index'), + # Main Page url(r'^$', main.index, name='index'), diff --git a/web/warpauth/views/profile.py b/web/warpauth/views/profile.py new file mode 100644 index 0000000000000000000000000000000000000000..5d0853801553df7b82b6ef07436abb038154f613 --- /dev/null +++ b/web/warpauth/views/profile.py @@ -0,0 +1,12 @@ +from django.shortcuts import render +from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotAllowed, HttpResponseNotFound +from django.shortcuts import redirect +from django.contrib.auth.decorators import login_required +from warpauth.util import * + +@login_required(login_url='/login/', redirect_field_name=None) +def index(request): + print(request.user.ldap_user.group_names) + pages['ldap_groups'] = request.user.ldap_user.group_names + return HttpResponse(render(request, 'warpauth/profile.html', pages)) +