Merge branch 'hotfix/0.2.16'

This commit is contained in:
baccenfutter 2013-11-24 23:51:22 +01:00
commit 3fe459dd8d
4 changed files with 59 additions and 30 deletions

View file

@ -38,6 +38,7 @@ class UserProfile(models.Model):
is_ldap_admin = models.BooleanField(default=False, editable=False) is_ldap_admin = models.BooleanField(default=False, editable=False)
is_circle_member = models.BooleanField(default=False, editable=False) is_circle_member = models.BooleanField(default=False, editable=False)
is_clab_member = models.BooleanField(default=False, editable=False) is_clab_member = models.BooleanField(default=False, editable=False)
is_ceymaster = models.BooleanField(default=False, editable=False)
def __unicode__(self): def __unicode__(self):
return 'Profile: %s' % self.user.username return 'Profile: %s' % self.user.username

View file

@ -71,20 +71,18 @@
</span> </span>
<div class="nav-collapse collapse"> <div class="nav-collapse collapse">
<ul class="nav nav-collapse collapse pull-right"> <ul class="nav nav-collapse collapse pull-right">
{% if request.user.is_authenticated %} {% if request.user.is_authenticated %}
<li><a href="/account/logout/">Logout</a></li> <li><a href="/account/logout/">Logout</a></li>
{% else %} {% else %}
<li><a href="/account/login/">Login</a></li> <li><a href="/account/login/">Login</a></li>
{% endif %} {% endif %}
</ul> </ul>
{% if request.user.is_authenticated %} {% if request.user.is_authenticated %}
<p class="navbar-text pull-right"> <p class="navbar-text pull-right">
<i class="icon icon-user icon-white"></i> <i class="icon icon-user icon-white"></i>
{{ user.username }} {{ user.username }}
</p> </p>
{% endif %} {% endif %}
</div>
</div> </div>
<!--/.nav-collapse --> <!--/.nav-collapse -->
</div> </div>
@ -120,16 +118,36 @@
<div class="span4"> <div class="span4">
<div class="well"> <div class="well">
<h4>Login</h4> <h4>Login</h4>
<form class="form" action="/account/login/?next={% url account.views.home %}" <form class="form" action="/account/login/?next={% url account.views.home %}"
method="post"> method="post">
{% csrf_token %} {% csrf_token %}
{{ form|crispy }} {{ login_form|crispy }}
<div class="control-group"> <div class="control-group">
<div class="controls"> <div class="controls">
<button type="submit" class="btn btn-primary">{% trans "Sign in" %}</button> <button type="submit" class="btn btn-primary">{% trans "Sign in" %}</button>
</div>
</div> </div>
</div> </form>
</form> <hr />
<form class="form" action="/" method="get">
<input type="text" id="check_nickname" name="check_nickname">
<div class="control-group">
<div class="controls">
<button type="submit" class="btn">{% trans "Check nick" %}</button>
</div>
</div>
</form>
{% if not check_nickname == "" %}
{% if check_nickname %}
<div class="alert alert-danger alert-block">
{% blocktrans %}This nick is already taken.{% endblocktrans %}
</div>
{% else %}
<div class="alert alert-success alert-block">
{% blocktrans %}This nick is still available.{% endblocktrans %}
</div>
{% endif %}
{% endif %}
</div><!-- /.well --> </div><!-- /.well -->
</div> </div>
</div> </div>

View file

@ -6,7 +6,7 @@ import hashlib
import smbpasswd import smbpasswd
from django.conf import settings from django.conf import settings
from django.http import HttpResponseRedirect from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response from django.shortcuts import render_to_response
from django.template.context import RequestContext from django.template.context import RequestContext
from django.contrib.auth import login, logout, authenticate from django.contrib.auth import login, logout, authenticate
@ -25,19 +25,28 @@ from password_encryption import *
def landingpage(request): def landingpage(request):
if request.user.is_authenticated(): if request.user.is_authenticated():
return HttpResponseRedirect('/account') return HttpResponseRedirect('/account')
form = LoginForm() login_form = LoginForm()
is_ceymaster = is_admin = False
if 'ceymaster' in [g.name for g in request.user.groups.all()]:
is_ceymaster = True
if 'ldap_admins' in [g.name for g in request.user.groups.all()]:
is_admin = True
groups = Group.objects.all()
try: try:
# just in case the group hasn't yet been synced
admins = Group.objects.get(name="ldap_admins").user_set.all() admins = Group.objects.get(name="ldap_admins").user_set.all()
except: except:
# else provide an emtpy list
admins = [] admins = []
return render(request, 'base.html', {'form': form, 'admins': admins}) # https://github.com/c-base/cbmi/issues/20
# check if nick is still available feature
check_nickname = request.GET.get('check_nickname', '')
if check_nickname:
try:
user = User.objects.get(username=check_nickname)
check_nickname = True
# output as text if requested
if request.GET.get('raw', ''):
return HttpResponse(check_nickname)
except:
check_nickname = False
return render(request, 'base.html', locals())
def auth_login(request): def auth_login(request):
redirect_to = request.GET.get('next', '') or '/' redirect_to = request.GET.get('next', '') or '/'

View file

@ -143,6 +143,7 @@ AUTH_LDAP_PROFILE_FLAGS_BY_GROUP = {
"is_ldap_admin": "cn=ldap_admins,ou=groups,dc=c-base,dc=org", "is_ldap_admin": "cn=ldap_admins,ou=groups,dc=c-base,dc=org",
"is_circle_member": "cn=circle,ou=groups,dc=c-base,dc=org", "is_circle_member": "cn=circle,ou=groups,dc=c-base,dc=org",
"is_clab_member": "cn=cey-c-lab,ou=groups,dc=c-base,dc=org", "is_clab_member": "cn=cey-c-lab,ou=groups,dc=c-base,dc=org",
"is_ceymaster": "cn=ceymaster,ou=groups,dc=c-base,dc=org",
} }
AUTH_LDAP_USER_ATTR_MAP = { AUTH_LDAP_USER_ATTR_MAP = {