diff --git a/account/models.py b/account/models.py
index a6b396c..f1844fb 100644
--- a/account/models.py
+++ b/account/models.py
@@ -38,6 +38,7 @@ class UserProfile(models.Model):
is_ldap_admin = 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_ceymaster = models.BooleanField(default=False, editable=False)
def __unicode__(self):
return 'Profile: %s' % self.user.username
diff --git a/account/templates/base.html b/account/templates/base.html
index 0445736..158baa7 100644
--- a/account/templates/base.html
+++ b/account/templates/base.html
@@ -71,20 +71,18 @@
- {% if request.user.is_authenticated %}
- - Logout
- {% else %}
- - Login
- {% endif %}
-
+ {% if request.user.is_authenticated %}
+
Logout
+ {% else %}
+
Login
+ {% endif %}
+
{% if request.user.is_authenticated %}
-
-
- {{ user.username }}
-
+
+
+ {{ user.username }}
+
{% endif %}
-
-
@@ -120,16 +118,36 @@
diff --git a/account/views.py b/account/views.py
index 86030b7..4dbc420 100644
--- a/account/views.py
+++ b/account/views.py
@@ -6,7 +6,7 @@ import hashlib
import smbpasswd
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.template.context import RequestContext
from django.contrib.auth import login, logout, authenticate
@@ -25,19 +25,28 @@ from password_encryption import *
def landingpage(request):
if request.user.is_authenticated():
return HttpResponseRedirect('/account')
- 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()
+ login_form = LoginForm()
try:
+ # just in case the group hasn't yet been synced
admins = Group.objects.get(name="ldap_admins").user_set.all()
except:
+ # else provide an emtpy list
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):
redirect_to = request.GET.get('next', '') or '/'
diff --git a/cbmi/settings.py b/cbmi/settings.py
index 0afab4f..c74ecf9 100644
--- a/cbmi/settings.py
+++ b/cbmi/settings.py
@@ -143,6 +143,7 @@ AUTH_LDAP_PROFILE_FLAGS_BY_GROUP = {
"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_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 = {