Merge branch 'hotfix/0.2.16'
This commit is contained in:
commit
3fe459dd8d
4 changed files with 59 additions and 30 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -83,8 +83,6 @@
|
||||||
{{ user.username }}
|
{{ user.username }}
|
||||||
</p>
|
</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<!--/.nav-collapse -->
|
<!--/.nav-collapse -->
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -123,13 +121,33 @@
|
||||||
<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>
|
||||||
|
|
|
||||||
|
|
@ -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 '/'
|
||||||
|
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue