def new_user(request): if request.method == "POST": data = json.loads(request.POST.get('result')) if not data: return HttpResponseRedirect(reverse('bhoma_admin')) user = User() # HACK: all usernames and passwords are lowercased going into the db user.username = data.get("username").lower() user.set_password(data.get("password").lower()) user.first_name = data.get("fname") user.last_name = data.get("lname") user.email = "" user.is_staff = False # Can't log in to admin site user.is_active = True # Activated upon receipt of confirmation user.is_superuser = False # Certainly not user.last_login = datetime(1970,1,1) user.date_joined = datetime.utcnow() user.save() # have to have an object before you're allowed to edit M2M fields # so do groups/roles last role = data.get("role") if role: try: user.groups = [Group.objects.get(name=role)] except Group.DoesNotExist: logging.error("Unable to give role %s to %s -- permissions may " "not work. Did you forget to run syncdb recently?") return render_to_response(request, "auth/user_reg_complete.html", {"new_user": user, "options": TouchscreenOptions.admin() }) return render_to_response(request, "bhoma_touchscreen.html", {'form': {'name': 'add user', 'wfobj': 'wfNewUser'}, 'mode': 'workflow', 'dynamic_scripts': ["%swebapp/javascripts/user_reg.js" %\ settings.STATIC_URL,] })
def delete_user(request): if request.method == "POST": data = json.loads(request.POST.get('result')) if not data: return HttpResponseRedirect(reverse('bhoma_admin')) if string_to_boolean(data.get("confirm")): user = User.objects.get(username=data.get("username")) if request.user == user: return render_to_response(request, "touchscreen/error.html", {"error_text": "You can't delete the currently logged in user account. " "Please logout and log in as a different user", "options": TouchscreenOptions.admin()}) else: user.delete() return HttpResponseRedirect(reverse("bhoma_admin")) return render_to_response(request, "bhoma_touchscreen.html", {'form': {'name': 'delete user', 'wfobj': 'wfDeleteUser'}, 'mode': 'workflow', 'dynamic_scripts': ["%swebapp/javascripts/user_del.js" % \ settings.STATIC_URL,] })