def group_add(request): if request.method == 'POST': form = UserGroupForm(request.POST) message = None if form.is_valid(): try: if form.data['name'] == 'admin': message = _("Admin is a reserved group") raise Exception if _valid_name_regex.search(form.data['name']) == None: message = _("Invalid user group name: '{value}'. Identifiers must begin with a letter or an underscore (_). Subsequent characters can be letters, underscores or numbers").format(value=form.data['name']) raise Exception group = UserGroup( name = form.data['name'], description = form.data['description'] ) group.save() core_services.ldap_add_group(group) core_services.add_data_directory(group) return redirect('group_list') except Exception as e: print str(e) return render_to_response('group_add.html', {'form': form, 'message': message}, context_instance=RequestContext(request)) else: return render_to_response('group_add.html', {'form': form}, context_instance=RequestContext(request)) else: form = UserGroupForm() return render_to_response('group_add.html', {'form': form}, context_instance=RequestContext(request))
def vet_user(request, user_id): user = User.objects.get(pk=user_id) try: rating = OrganisationalRating.objects.get(user=user) except OrganisationalRating.DoesNotExist: rating = None msg = '' if request.method == 'POST': form = VettingForm(request.POST, instance=rating) group_form = UserGroupForm(request.POST, instance=user) msg = None if form.is_valid() and group_form.is_valid(): if not rating: rating = form.save(commit=False) rating.user_id = user.id rating.save() else: form.save() group_form.save() user.save() typeuser = ContentType.objects.filter(name='user').all()[0] log = LogEntry(user_id=request.user.id, content_type=typeuser, object_id=user.id, object_repr=user.username, action_flag=2, change_message="vetted") log.save() msg = 'User updated' else: form = VettingForm(instance=rating) group_form = UserGroupForm(instance=user) email_verified = EmailAddress.objects.filter(user=user, verified=True).exists() ctx = { 'email_verified': email_verified, 'original': user, 'user': user, 'form': form, 'group_form': group_form, 'msg': msg, 'vetted': user.is_active } return render_to_response('admin/auth/user/vet_user.html', ctx, context_instance=RequestContext(request))
def usergroup_add(request): """View for adding new user group""" if request.method == 'POST': form = UserGroupForm(request.POST) if form.is_valid(): username = request.user.username groupname = form.cleaned_data['groupname'] group = LdapUserGroup(name=groupname, owner=username, members=[]) try: group.save() except ldap.ALREADY_EXISTS: return usergroups(request, err={'err': 'usergroup_exist'}) return usergroups(request, usergroup_modification={'groupname': groupname, 'modification': 'add'}) else: form = UserGroupForm() return render_to_response('group_add.html', {'form': form,}, context_instance=RequestContext(request))