コード例 #1
0
ファイル: services.py プロジェクト: klmhsb42/redirect
    def domain_acquire(self, request):
        user = self.authenticate(request)

        validator = Validator(request)
        user_domain = validator.new_user_domain()
        device_mac_address = validator.device_mac_address()
        device_name = validator.string('device_name', required=True)
        device_title = validator.string('device_title', required=True)
        check_validator(validator)

        with self.create_storage() as storage:
            domain = storage.get_domain_by_name(user_domain)
            if domain and domain.user_id != user.id:
                raise servicesexceptions.parameter_error(
                    'user_domain', 'User domain name is already in use')

            update_token = util.create_token()
            if not domain:
                domain = Domain(user_domain,
                                device_mac_address,
                                device_name,
                                device_title,
                                update_token=update_token)
                domain.user = user
                storage.add(domain)
            else:
                domain.update_token = update_token
                domain.device_mac_address = device_mac_address
                domain.device_name = device_name
                domain.device_title = device_title

            return domain
コード例 #2
0
ファイル: services.py プロジェクト: syncloud/redirect
    def domain_acquire(self, request):
        user = self.authenticate(request)

        validator = Validator(request)
        user_domain = validator.new_user_domain()
        device_mac_address = validator.device_mac_address()
        device_name = validator.string('device_name', required=True)
        device_title = validator.string('device_title', required=True)
        check_validator(validator)

        with self.create_storage() as storage:
            domain = storage.get_domain_by_name(user_domain)
            if domain and domain.user_id != user.id:
                raise servicesexceptions.parameter_error('user_domain', 'User domain name is already in use')

            update_token = util.create_token()
            if not domain:
                domain = Domain(user_domain, device_mac_address, device_name, device_title, update_token=update_token)
                domain.user = user
                storage.add(domain)
            else:
                domain.update_token = update_token
                domain.device_mac_address = device_mac_address
                domain.device_name = device_name
                domain.device_title = device_title

            return domain
コード例 #3
0
ファイル: services.py プロジェクト: algby/redirect
    def create_new_user(self, request):
        validator = Validator(request)
        email = validator.email()
        password = validator.password()
        user_domain = validator.new_user_domain(error_if_missing=False)
        errors = validator.errors

        if errors:
            message = ", ".join(errors)
            raise servicesexceptions.bad_request(message)

        user = None
        action = None
        with self.create_storage() as storage:
            by_email = storage.get_user_by_email(email)
            if by_email and by_email.email == email:
                raise servicesexceptions.conflict('Email is already registered')

            if user_domain:
                by_domain = storage.get_domain_by_name(user_domain)
                if by_domain and by_domain.user_domain == user_domain:
                    raise servicesexceptions.conflict('User domain name is already in use')

            update_token = util.create_token()

            user = User(email, util.hash(password), not self.activate_by_email)

            if user_domain:
                domain = Domain(user_domain, None, update_token)
                domain.user = user
                user.domains.append(domain)
                storage.add(domain)

            if self.activate_by_email:
                action = user.enable_action(ActionType.ACTIVATE)

            storage.add(user)

        if self.activate_by_email:
            self.mail.send_activate(self.main_domain, user.email, action.token)

        return user
コード例 #4
0
ファイル: services.py プロジェクト: algby/redirect
    def domain_acquire(self, request):
        user = self.authenticate(request)

        validator = Validator(request)
        user_domain = validator.new_user_domain()

        with self.create_storage() as storage:
            domain = storage.get_domain_by_name(user_domain)
            if domain and domain.user_id != user.id:
                raise servicesexceptions.conflict('User domain name is already in use')

            update_token = util.create_token()
            if not domain:
                domain = Domain(user_domain, None, update_token)
                domain.user = user
                storage.add(domain)
            else:
                domain.update_token = update_token

            return domain