Example #1
0
 def generate_users(number_of_users, rlc) -> [UserProfile]:
     base_name = "test_user"
     users = []
     for i in range(number_of_users):
         name = base_name + str(i)
         email = name + "@web.de"
         user = UserProfile(email=email, name=name)
         if rlc:
             user.rlc = rlc
         user.save()
         users.append(user)
     return users
Example #2
0
 def post(self, request):
     print(request.body)
     user_info = json.loads(request.body)
     password = user_info.get('password')
     new_password = user_info.get('new_password')
     up = UserProfile.objects.filter(username=request.user)
     user = request.user
     phone = user.phone
     user = authenticate(request, username=phone, password=password)
     if not user:
         return self.write_json({'errno': 1, 'msg': '旧密码错误!'})
     user.set_password(new_password)
     user.save()
     if user:
         login(request, user)
         try:
             ups = UserProfile.objects.get(user=user)
         except UserProfile.DoesNotExist:
             return self.write_json({'errno': 1, 'msg': '不存在用户信息'})
     try:
         ups = UserProfile.objects.get(user=user)
     except UserProfile.DoesNotExist:
         up = UserProfile()
         up.user = user
         up.username = user.username
         up.phone = user.username
         up.token = generate_token(up.id)
         up.save()
     return self.write_json({'errno': 0, 'msg': 'success'})
Example #3
0
    def user_can_see_folder(self, user: UserProfile) -> bool:
        from apps.files.models.permission_for_folder import PermissionForFolder

        if (user.has_permission(PERMISSION_FILES_WRITE_ALL_FOLDERS)
                or user.has_permission(PERMISSION_FILES_MANAGE_PERMISSIONS)):
            return True

        folders = self.get_all_parents() + [self] + self.get_all_children()
        users_groups = user.rlcgroups.all()
        if PermissionForFolder.objects.filter(
                folder__in=folders,
                group_has_permission__in=users_groups).exists():
            return True
        return False
Example #4
0
    def user_has_permission_read(self, user: UserProfile) -> bool:
        from apps.files.models.permission_for_folder import PermissionForFolder

        if user.rlc != self.rlc:
            return False

        if (user.has_permission(PERMISSION_FILES_READ_ALL_FOLDERS)
                or user.has_permission(PERMISSION_FILES_WRITE_ALL_FOLDERS)
                or user.has_permission(PERMISSION_FILES_MANAGE_PERMISSIONS)):
            return True

        relevant_folders = self.get_all_parents() + [self]
        users_groups = user.rlcgroups.all()
        p_read = FolderPermission.objects.get(name=PERMISSION_READ_FOLDER)
        if PermissionForFolder.objects.filter(
                folder__in=relevant_folders,
                group_has_permission__in=users_groups,
                permission=p_read,
        ).exists():
            return True

        return False
Example #5
0
def create_inactive_user(rlc):
    user = UserProfile(
        name="Mr. Inactive",
        email="*****@*****.**",
        rlc=rlc,
    )
    user.set_password("qwe123")
    user.save()
    RlcUser.objects.create(user=user)
Example #6
0
 def post(self, request):
     user_info = json.loads(request.body)
     new_password = user_info.get('new_password')
     phone = user_info.get('phone')
     print(phone)
     try:
         user = User.objects.get(username=phone)
         user.set_password(new_password)
         user.save()
         try:
             up = UserProfile.objects.get(user=user)
         except UserProfile.DoesNotExist:
             up = UserProfile()
             up.phone = user.username
             up.token = generate_token(up.id)
             up.save()
         up.user = user
         up.save()
         return self.write_json({'errno': 0, 'msg': 'success'})
     except User.DoesNotExist:
         return self.write_json({'errno': 1, 'msg': '不存在用户'})
Example #7
0
 def post(self, request):
     user_info = json.loads(request.body)
     print(user_info)
     username = user_info.get('username')
     password = user_info.get('password')
     phone = user_info.get('phone')
     auth_code = user_info.get('auth_code')
     #      ac = AuthCode.objects.filter(phone=phone,auth_code=auth_code).first()
     #      if not ac:
     #          return self.write_json({'errno':1,'msg':'手机验证码不存在!'})
     #      ac.delete()
     ups = UserProfile.objects.filter(username=username)
     if ups:
         return self.write_json({'errno': 1, 'msg': '昵称已存在,请换一个昵称'})
     try:
         User.objects.get(username=phone)
         return self.write_json({'errno': 1, 'msg': '该手机号的用户已存在'})
     except User.DoesNotExist:
         #            user = User.objects.create_user(username=phone,password=password)
         user = User(username=phone)
         user.password = make_password(password=password, salt=None)
         user.save()
         up = UserProfile()
         up.user = user
         up.head_img = 'http://static.openmindclub.com/image/default-avatar/avatar2.png'
         up.username = username
         up.phone = phone
         up.token = generate_token(up.id)
         up.save()
     data = {
         'user': user.username,
         'username': up.username,
         'id': str(up.id),
         'token': up.token,
         'head_img': up.head_img
     }
     return self.write_json({'errno': 0, 'msg': 'success', 'data': data})
Example #8
0
 def create(self, validated_data):
     password = validated_data.pop('password')
     validated_data.pop('password_confirm')
     user = UserProfile(**validated_data)
     user.set_password(password)
     with transaction.atomic():
         user.save()
         rlc_user = RlcUser(user=user, email_confirmed=False)
         rlc_user.save()
     try:
         rlc_user.send_email_confirmation_email()
     except SMTPRecipientsRefused:
         user.delete()
         raise ValidationError({
             'email': [
                 "We could not send a confirmation email to this address. "
                 "Please check if this email is correct."
             ]
         })
     return user
Example #9
0
def register(user_info):
    up = UserProfile(username=user_info['nickName'],
                     head_img=user_info['avatarUrl'],
                     openid=user_info['openId'])
    up.save()
    return up
Example #10
0
 def generate_test_user(rlc=None):
     user = UserProfile(name="test_user_1", email="*****@*****.**")
     if rlc:
         user.rlc = rlc
     user.save()
     return user