Ejemplo n.º 1
0
    def save(self):
        emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
        if emailuser:
            if not hasattr(self, 'password'):
                self.set_unusable_password()

            if emailuser.source == "DB":
                source = "DB"
            else:
                source = "LDAP"

            if not self.is_active:
                # clear web api and repo sync token
                # when inactive an user
                try:
                    clear_token(self.username)
                except Exception as e:
                    logger.error(e)

            result_code = ccnet_threaded_rpc.update_emailuser(
                source, emailuser.id, self.password, int(self.is_staff),
                int(self.is_active))
        else:
            result_code = ccnet_threaded_rpc.add_emailuser(
                self.username, self.password, int(self.is_staff),
                int(self.is_active))
        # -1 stands for failed; 0 stands for success
        return result_code
Ejemplo n.º 2
0
    def get(self, email=None, id=None):
        if not email and not id:
            raise User.DoesNotExist, 'User matching query does not exits.'

        if email:
            emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if id:
            emailuser = ccnet_threaded_rpc.get_emailuser_by_id(id)
        if not emailuser:
            raise User.DoesNotExist, 'User matching query does not exits.'

        user = User(emailuser.email)
        user.id = emailuser.id
        user.enc_password = emailuser.password
        user.is_staff = emailuser.is_staff
        user.is_active = emailuser.is_active
        user.ctime = emailuser.ctime
        user.org = emailuser.org
        user.source = emailuser.source
        user.role = emailuser.role
        user.reference_id = emailuser.reference_id

        if user.is_staff:
            try:
                role_obj = AdminRole.objects.get_admin_role(emailuser.email)
                admin_role = role_obj.role
            except AdminRole.DoesNotExist:
                admin_role = DEFAULT_ADMIN

            user.admin_role = admin_role
        else:
            user.admin_role = ''

        return user
Ejemplo n.º 3
0
 def clean_email(self):
     email = self.cleaned_data['email']
     emailuser = ccnet_threaded_rpc.get_emailuser(email)
     if not emailuser:
         return self.cleaned_data['email']
     else:
         raise forms.ValidationError(_("A user with this email already"))
Ejemplo n.º 4
0
 def clean_email(self):
     email = self.cleaned_data['email']
     emailuser = ccnet_threaded_rpc.get_emailuser(email)
     if not emailuser:
         return self.cleaned_data['email']
     else:
         raise forms.ValidationError(_("A user with this email already"))
Ejemplo n.º 5
0
    def get(self, email=None, id=None):
        if not email and not id:
            raise User.DoesNotExist, 'User matching query does not exits.'
            
        if email:
            emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if id:
            emailuser = ccnet_threaded_rpc.get_emailuser_by_id(id)
        if not emailuser:
            raise User.DoesNotExist, 'User matching query does not exits.'
    
        user = User(emailuser.email)
        user.id = emailuser.id
        user.is_staff = emailuser.is_staff
        user.is_active = emailuser.is_active
        user.ctime = emailuser.ctime
        user.org = emailuser.org

        # User last login timestamp is recorded in a seperated table.
        from seahub.base.models import UserLastLogin
        try:
            user_last_login = UserLastLogin.objects.get(username=emailuser.email)
            login_dt = user_last_login.last_login
        except UserLastLogin.DoesNotExist:
            from seahub.utils.time import dt
            login_dt = dt(user.ctime)
        user.last_login = login_dt

        return user
Ejemplo n.º 6
0
    def get(self, email=None, id=None):
        if not email and not id:
            raise User.DoesNotExist, 'User matching query does not exits.'

        if email:
            emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if id:
            emailuser = ccnet_threaded_rpc.get_emailuser_by_id(id)
        if not emailuser:
            raise User.DoesNotExist, 'User matching query does not exits.'

        user = User(emailuser.email)
        user.id = emailuser.id
        user.is_staff = emailuser.is_staff
        user.is_active = emailuser.is_active
        user.ctime = emailuser.ctime
        user.org = emailuser.org

        # User last login timestamp is recorded in a seperated table.
        from seahub.base.models import UserLastLogin
        try:
            user_last_login = UserLastLogin.objects.get(
                username=emailuser.email)
            login_dt = user_last_login.last_login
        except UserLastLogin.DoesNotExist:
            from seahub.utils.time import dt
            login_dt = dt(user.ctime)
        user.last_login = login_dt

        return user
Ejemplo n.º 7
0
 def save(self):
     emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
     if emailuser:
         if not hasattr(self, "password"):
             self.set_unusable_password()
         ccnet_threaded_rpc.update_emailuser(emailuser.id, self.password, int(self.is_staff), int(self.is_active))
     else:
         ccnet_threaded_rpc.add_emailuser(self.username, self.password, int(self.is_staff), int(self.is_active))
Ejemplo n.º 8
0
 def save(self):
     emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
     if emailuser:
         ccnet_threaded_rpc.update_emailuser(emailuser.id, self.password,
                                             int(self.is_staff),
                                             int(self.is_active))
     else:
         ccnet_threaded_rpc.add_emailuser(self.username, self.password,
                                          int(self.is_staff),
                                          int(self.is_active))
Ejemplo n.º 9
0
    def clean_email(self):
        email = self.cleaned_data['email']
        if not self.allow_register(email):
            raise forms.ValidationError(_("Enter a valid email address."))

        emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if not emailuser:
            return self.cleaned_data['email']
        else:
            raise forms.ValidationError(_("User %s already exists.") % email)
Ejemplo n.º 10
0
    def clean_email(self):
        email = self.cleaned_data['email']
        if not is_valid_username(email):
            raise forms.ValidationError(_("Enter a valid email address."))

        emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if not emailuser:
            return self.cleaned_data['email']
        else:
            raise forms.ValidationError(_("A user with this email already"))
Ejemplo n.º 11
0
    def clean_email(self):
        email = self.cleaned_data['email']
        if not is_valid_username(email):
            raise forms.ValidationError(_("Enter a valid email address."))

        emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if not emailuser:
            return self.cleaned_data['email']
        else:
            raise forms.ValidationError(_("A user with this email already"))
Ejemplo n.º 12
0
    def clean_email(self):
        email = self.cleaned_data['email']
        if not self.allow_register(email):
            raise forms.ValidationError(_("Enter a valid email address."))

        emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if not emailuser:
            return self.cleaned_data['email']
        else:
            raise forms.ValidationError(_("User %s already exists.") % email)
Ejemplo n.º 13
0
 def save(self):
     emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
     if emailuser:
         if not hasattr(self, 'password'):
             self.set_unusable_password()
         ccnet_threaded_rpc.update_emailuser(emailuser.id, self.password,
                                             int(self.is_staff),
                                             int(self.is_active))
     else:
         ccnet_threaded_rpc.add_emailuser(self.username, self.password,
                                          int(self.is_staff),
                                          int(self.is_active))
Ejemplo n.º 14
0
    def clean_email(self):
        if user_number_over_limit():
            raise forms.ValidationError(_("The number of users exceeds the limit."))

        email = self.cleaned_data['email']
        if not self.allow_register(email):
            raise forms.ValidationError(_("Enter a valid email address."))

        emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if not emailuser:
            return self.cleaned_data['email']
        else:
            raise forms.ValidationError(_("User %s already exists.") % email)
Ejemplo n.º 15
0
    def clean_email(self):
        if user_number_over_limit():
            raise forms.ValidationError(_("The number of users exceeds the limit."))

        email = self.cleaned_data['email']
        if not self.allow_register(email):
            raise forms.ValidationError(_("Enter a valid email address."))

        emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if not emailuser:
            return self.cleaned_data['email']
        else:
            raise forms.ValidationError(_("User %s already exists.") % email)
Ejemplo n.º 16
0
    def get(self, email=None, id=None):
        if not email and not id:
            raise User.DoesNotExist, "User matching query does not exits."

        if email:
            emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if id:
            emailuser = ccnet_threaded_rpc.get_emailuser_by_id(id)
        if not emailuser:
            raise User.DoesNotExist, "User matching query does not exits."

        user = User(emailuser.email)
        user.id = emailuser.id
        user.is_staff = emailuser.is_staff
        user.is_active = emailuser.is_active
        user.ctime = emailuser.ctime
        user.org = emailuser.org
        return user
Ejemplo n.º 17
0
    def get(self, email=None, id=None):
        if not email and not id:
            raise User.DoesNotExist, 'User matching query does not exits.'

        if email:
            emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if id:
            emailuser = ccnet_threaded_rpc.get_emailuser_by_id(id)
        if not emailuser:
            raise User.DoesNotExist, 'User matching query does not exits.'

        user = User(emailuser.email)
        user.id = emailuser.id
        user.is_staff = emailuser.is_staff
        user.is_active = emailuser.is_active
        user.ctime = emailuser.ctime
        user.org = emailuser.org
        return user
Ejemplo n.º 18
0
    def save(self):
        emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
        if emailuser:
            if not hasattr(self, 'password'):
                self.set_unusable_password()

            if emailuser.source == "DB":
                source = "DB"
            else:
                source = "LDAP"

            result_code = ccnet_threaded_rpc.update_emailuser(
                source, emailuser.id, self.password, int(self.is_staff),
                int(self.is_active))
        else:
            result_code = ccnet_threaded_rpc.add_emailuser(
                self.username, self.password, int(self.is_staff),
                int(self.is_active))
        # -1 stands for failed; 0 stands for success
        return result_code
Ejemplo n.º 19
0
    def save(self):
        emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
        if emailuser:
            if not hasattr(self, 'password'):
                self.set_unusable_password()

            if emailuser.source == "DB":
                source = "DB"
            else:
                source = "LDAP"

            ccnet_threaded_rpc.update_emailuser(source,
                                                emailuser.id,
                                                self.password,
                                                int(self.is_staff),
                                                int(self.is_active))
        else:
            ccnet_threaded_rpc.add_emailuser(self.username, self.password,
                                             int(self.is_staff),
                                             int(self.is_active))
Ejemplo n.º 20
0
    def get(self, email=None, id=None):
        if not email and not id:
            raise User.DoesNotExist, 'User matching query does not exits.'

        if email:
            emailuser = ccnet_threaded_rpc.get_emailuser(email)
        if id:
            emailuser = ccnet_threaded_rpc.get_emailuser_by_id(id)
        if not emailuser:
            raise User.DoesNotExist, 'User matching query does not exits.'

        user = User(emailuser.email)
        user.id = emailuser.id
        user.enc_password = emailuser.password
        user.is_staff = emailuser.is_staff
        user.is_active = emailuser.is_active
        user.ctime = emailuser.ctime
        user.org = emailuser.org
        user.source = emailuser.source
        user.role = emailuser.role

        return user
Ejemplo n.º 21
0
    def save(self):
        emailuser = ccnet_threaded_rpc.get_emailuser(self.username)
        if emailuser:
            if not hasattr(self, 'password'):
                self.set_unusable_password()

            if emailuser.source == "DB":
                source = "DB"
            else:
                source = "LDAP"

            result_code = ccnet_threaded_rpc.update_emailuser(source,
                                                              emailuser.id,
                                                              self.password,
                                                              int(self.is_staff),
                                                              int(self.is_active))
        else:
            result_code = ccnet_threaded_rpc.add_emailuser(self.username,
                                                           self.password,
                                                           int(self.is_staff),
                                                           int(self.is_active))
        # -1 stands for failed; 0 stands for success
        return result_code