Ejemplo n.º 1
0
    def test_approve_user_(self, task_mail, configure_mail_function):
        default_role = Role(name='default', description='n/a')
        new_role = Role(name='new role', description='n/a')

        db.session.add(default_role)
        db.session.add(new_role)

        user_1 = User(
            username='******',
            email='*****@*****.**',
            password='******',
            first_name='Test',
            last_name='User',
            institution='TEST CI',
        )
        user_1.roles.append(default_role)
        db.session.add(user_1)
        db.session.commit()

        with self.app_context:
            approve_user(user_1.id, default_role.id, new_role.id, {})

        configure_mail_function.assert_called()
        task_mail.send.assert_called()

        self.assertTrue(user_1.is_approved, 'Failed to approve user')
        self.assertEqual(user_1.roles, [new_role],
                         'Failed to set Role correctly')
Ejemplo n.º 2
0
def create_role(request):
    Role.objects.bulk_create([
        Role(name="admin"),
        Role(name="manager"),
        Role(name="user"),
    ])
    # return redirect("to_user_role")
    return redirect("to_user_role")
Ejemplo n.º 3
0
 def create(self, validated_data):
     user = User(email=validated_data['email'],
                 username=validated_data['username'],
                 first_name=validated_data['first_name'],
                 last_name=validated_data['last_name'])
     user.set_password(validated_data['password'])
     user.save()
     role = Role(user_id=user.id, is_admin=False)
     role.save()
     return user
Ejemplo n.º 4
0
def create(request):
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            form.save()
            messages.success(request,
                             'User registration by admin is successfully!')
            role = Role(user_id=User.objects.latest('id').id,
                        role=request.POST.get('role'))
            role.save()
            return redirect('setting-index')
    return render(request, 'user/add.html', {'title': 'New User'})
Ejemplo n.º 5
0
    def handle(self, *args, **kwargs):
        Role.objects.all().delete()
        User.objects.all().delete()
        username = '******'
        user = User.objects.create_user(username=username,
                                        password='******',
                                        email='*****@*****.**',
                                        first_name='Admin',
                                        last_name='Example')

        user.is_superuser = False
        user.is_staff = True
        user.save()
        role = Role(user_id=user.id, is_admin=True)
        role.save()
        for i in range(5):
            fake = Faker()
            name = fake.first_name()
            user = User.objects.create_user(username=name.lower(),
                                            password='******',
                                            email=fake.email(),
                                            first_name=name,
                                            last_name=fake.last_name())
            user.is_superuser = False
            user.is_staff = False
            user.save()
            role = Role(user_id=user.id, is_admin=False)
            role.save()
        self.stdout.write('Added new user')
Ejemplo n.º 6
0
 def post(self, request):
     ret = dict(result=False)
     role = Role()
     role_form = RoleForm(request.POST, instance=role)
     if role_form.is_valid():
         role_form.save()
         ret['result'] = True
     return JsonResponse(ret)
Ejemplo n.º 7
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST, request.FILES)
        if form.is_valid():
            # 创建 User 对象,并修改密码
            user = form.save(commit=False)
            user.password = make_password(user.password)
            user.save()

            Role.add_perm(user.id,'user')
            # 写入 session 数据
            request.session['uid'] = user.id
            request.session['nickname'] = user.nickname
            return redirect('/user/info/')
        else:
            return render(request, 'register.html', {'error': form.errors})
    return render(request, 'register.html')
Ejemplo n.º 8
0
 def handle(self, *args, **kwargs):
     normal_role = Role.objects.filter(name='normal').first()
     if not normal_role:
         normal_role = Role(name='normal')
         normal_role.save()
     normal_role.permissions = NORMAL_USER_PERMISSIONS
     normal_role.save()
Ejemplo n.º 9
0
 def run(self, **kwargs):
     #check if admin exists
     a = Role.objects.filter(name='admin').first()
     if a == None:
         Role(name='admin').save()
         u = prompt('Admin Email?', default='*****@*****.**')
         p = prompt('Admin Password (min 6 characters)?', default='enferno')
         CreateUserCommand().run(email=u, password=p, active=1)
         AddRoleCommand().run(user_identifier=u, role_name='admin')
     else:
         print 'Seems like an Admin is already installed'
Ejemplo n.º 10
0
def create_role(request):
    if len(request.POST['firstname']) < 5:
        return JsonResponse({'failure': 'Name of Role error'})
    try:
        if 0 < int(request.POST['permission']) < 7:
            pass
        else:
            return JsonResponse({'failure': 'You must select permission'})
    except:
        return JsonResponse({'failure': 'You must select permission'})
    if request.POST['description'] == '':
        return JsonResponse({'failure': 'Description can not be blank'})

    new_role = Role(Name=request.POST['firstname'],
                    Permission=request.POST['permission'],
                    Description=request.POST['description'])
    new_role.save()
    if new_role:
        return JsonResponse({'success': 'Create successfully a new Role'})
    else:
        return JsonResponse({'failure': 'Create un-successfully a new Role'})
Ejemplo n.º 11
0
 def run(self, **kwargs):
     db.create_all()
     # check if admin exists
     a = Role.query.filter_by(name='admin').first()
     if a is None:
         db.session.add(Role(name='admin'))
         db.session.commit()
         u = prompt('Admin Email?', default='*****@*****.**')
         p = prompt('Admin Password (min 6 characters)?', default='enferno')
         CreateUserCommand().run(email=u, password=p, active=1)
         AddRoleCommand().run(user_identifier=u, role_name='admin')
     else:
         print 'Seems like an Admin is already installed'
    def setUp(self):
        super().setUp()
        # Dropping and creating tables on signup test\
        # to ensure retest success
        db.drop_all()
        db.create_all()
        Role.insert_roles()
        Permission.insert_permissions()
        User.create_first_user()

        # create default accounts for tests
        for role in self.user_data:

            if role == "user":
                continue

            user = {"email": self.user_data[role]["email"]}
            user = User(**user)
            user.password = self.user_data[role]["password"]
            user.user_roles.append(
                UserRole(role=eval(f"Role.get_{role}_role()"), user=user))
            db.session.add(user)

        db.session.commit()
Ejemplo n.º 13
0
def install():
    """Install a default admin user and add an admin role to it.
    """
    #check if admin exists
    from user.models import Role
    a = Role.objects.filter(name='admin').first()
    if a == None:
        r = Role(name='admin').save()
        u = click.prompt('Admin Email?', default='*****@*****.**')
        p = click.prompt('Admin Password (min 6 characters)?',
                         default='enferno')
        CreateUserCommand().run(email=u, password=p, active=1)
        AddRoleCommand().run(user_identifier=u, role_name='admin')
    else:
        print 'Seems like an Admin is already installed'
Ejemplo n.º 14
0
def install():
    """
    Install a default admin user and add an admin role to it.
    """
    #check if admin exists
    a = Role.query.filter(Role.name == 'admin').first()

    if a is None:
        r = Role(name='admin')
        db.session.add(r)
        db.session.commit()
        m = click.prompt('Admin Email?', default='admin@localhost')
        n = click.prompt('Admin Name ?', default='arduinow')
        p = click.prompt('Admin Password (min 6 characters)?',
                         default='aarduinow')
        u = User(email=m, username=n, password=p, active=1)
        u.roles.append(r)
        db.session.add(u)
        db.session.commit()
    else:
        print('Seems like an Admin is already installed')