示例#1
0
 def setUp(self):
     trap = io.StringIO()
     with redirect_stdout(trap):
         check_default_models()
     admin_user = User.objects.create_superuser(**ADMIN_CREDENTIALS)
     user_data = UserData()
     user_data.user = admin_user
     user_data.save()
     self.client.post(reverse('login'), ADMIN_CREDENTIALS, follow=True)
示例#2
0
    def setUp(self):
        user = User.objects.create_user(**USER_CREDENTIALS)
        user_data = UserData()
        user_data.user = user
        user_data.save()

        admin_user = User.objects.create_superuser(**ADMIN_CREDENTIALS)
        user_data = UserData()
        user_data.user = admin_user
        user_data.save()
示例#3
0
 def setUp(self):
     trap = io.StringIO()
     with redirect_stdout(trap):
         init()
     user = User.objects.create_user(**USER_CREDENTIALS)
     user_data = UserData()
     user_data.user = user
     user_data.save()
     cruise = Cruise(leader=user)
     cruise.save()
     self.cruise = cruise
示例#4
0
def set_as_admin(request, pk):
    user = get_object_or_404(User, pk=pk)
    if request.user.is_superuser:
        user.is_staff = True
        user.is_admin = True
        user.is_superuser = True
        try:
            user_data = user.userdata
        except UserData.DoesNotExist:
            user_data = UserData()
            user_data.user = user
            user_data.save()
        old_role = user_data.role
        user_data.role = "admin"
        user.is_staff = True
        user.is_superuser = True
        user_data.save()
        user.save()
        action = Action(user=request.user, target=str(user))
        action.action = "set user as admin"
        action.timestamp = timezone.now()
        action.save()
        Cruise.objects.filter(leader=user).update(
            missing_information_cache_outdated=True)
        messages.add_message(request, messages.WARNING,
                             mark_safe('User ' + str(user) + ' set as admin.'))
        if old_role == "":
            send_user_approval_email(request, user)
    else:
        raise PermissionDenied
    return redirect(request.META['HTTP_REFERER'])
示例#5
0
def check_for_and_fix_users_without_userdata():
	from django.contrib.auth.models import User
	from django.core.exceptions import PermissionDenied, ObjectDoesNotExist
	from reserver.models import UserData, Organization
	for user in User.objects.all():
		# check for users without user data, and add them to unapproved users if they're not admins
		# these may be legacy accounts or accounts created using manage.py's adduser
		try:
			user.userdata
		except ObjectDoesNotExist:
			user_data = UserData()
			if user.is_superuser:
				user_data.role = "admin"
				user_data.organization = Organization.objects.get(name="R/V Gunnerus")
			else:
				user_data.role = ""
			user_data.user = user
			user_data.save()