示例#1
0
文件: views.py 项目: dimagi/bhoma
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,] })
示例#2
0
文件: views.py 项目: dimagi/bhoma
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,] })