Exemplo n.º 1
0
    def create_user(cls, **fields):
        """Create new user by required parameters."""
        User.check_for_missed_fields(fields)

        json_data = {
            'name': fields.get('name'),
            'username': fields.get('email'),
            'password': fields.get('password'),
            'emails': fields.get('emails', fields.get('email')),
            'phoneNumbers': fields.get('phone_numbers', [])
        }

        request.post(url=CONSTANTS.get('USER_URL'), json=json_data)

        user = Client(email=fields.get('email'),
                      password=fields.get('password')).get_user()
        return user
Exemplo n.º 2
0
    def create_user(cls, **fields):
        """Create new user by required parameters."""
        User.check_for_missed_fields(fields)

        json_data = {
            'name': fields.get('name'),
            'username': fields.get('email'),
            'password': fields.get('password'),
            'emails': fields.get('emails', fields.get('email')),
            'phoneNumbers': fields.get('phone_numbers', [])
        }

        request.post(
            url=CONSTANTS.get('USER_URL'),
            json=json_data
        )

        user = Client(email=fields.get('email'), password=fields.get('password')).get_user()
        return user
Exemplo n.º 3
0
    def create(cls, user, **fields):
        """Create new resource via API call."""
        cls.check_for_missed_fields(fields)

        json_data = fields.copy()
        json_data.update({"id": cls.generate_uid()})

        params = {"includeDeleted": "false", "includeDone": "false"}

        response_obj = request.post(url=cls._endpoint, session=user.session(), json=[json_data], params=params)

        return cls._create_callback(response_obj, user)
Exemplo n.º 4
0
    def __log_in(self, email, password):
        """
        Authentication base on `email` and `password`.

        Return an actual session, used internally for all following requests to API.
        """
        credentials = {
            'j_username': email,
            'j_password': password,
            '_spring_security_remember_me': 'on'
        }

        headers = {'Content-Type': 'application/x-www-form-urlencoded'}
        self.session = requests.Session()

        request.post(url=CONSTANTS.get('LOGIN_URL'),
                     session=self.session,
                     headers=headers,
                     data=credentials,
                     response_json=False)

        return self.session
Exemplo n.º 5
0
    def __log_in(self, email, password):
        """
        Authentication base on `email` and `password`.

        Return an actual session, used internally for all following requests to API.
        """
        credentials = {
            'j_username': email,
            'j_password': password,
            '_spring_security_remember_me': 'on'
        }

        headers = {'Content-Type': 'application/x-www-form-urlencoded'}
        self.session = requests.Session()

        request.post(
            url=CONSTANTS.get('LOGIN_URL'),
            session=self.session,
            headers=headers,
            data=credentials,
            response_json=False
        )

        return self.session
Exemplo n.º 6
0
    def approve_pending_task(self, pending_task_id=None, pending_task=None):
        """
        Approve pending task via API call.

        Accept pending_task_id or pending_task dict (in format of pending_tasks.
        """
        task_id = pending_task_id or pending_task['id']
        if not task_id:
            raise errors.ModelAttributeError(
                'Eather :pending_task_id or :pending_task argument is required.'
            )

        response_obj = request.post(url=self.get_endpoint() + '/pending/' +
                                    task_id + '/accept',
                                    session=self.session())

        return response_obj
Exemplo n.º 7
0
    def create(cls, user, **fields):
        """Create new resource via API call."""
        cls.check_for_missed_fields(fields)

        json_data = fields.copy()
        json_data.update({'id': cls.generate_uid()})

        params = {
            'includeDeleted': 'false',
            'includeDone': 'false',
        }

        response_obj = request.post(url=cls._endpoint,
                                    session=user.session(),
                                    json=[json_data],
                                    params=params)

        return cls._create_callback(response_obj, user)
Exemplo n.º 8
0
    def approve_pending_task(self, pending_task_id=None, pending_task=None):
        """
        Approve pending task via API call.

        Accept pending_task_id or pending_task dict (in format of pending_tasks.
        """
        task_id = pending_task_id or pending_task['id']
        if not task_id:
            raise errors.ModelAttributeError(
                'Eather :pending_task_id or :pending_task argument is required.'
            )

        response_obj = request.post(
            url=self.get_endpoint() + '/pending/' + task_id + '/accept',
            session=self.session()
        )

        return response_obj
Exemplo n.º 9
0
    def share_with(self, new_member, message=None):
        """
        Share a task with new member.

        Pushes changes to server.
        Updates task members list and new member tasks list.
        """
        json_data = {
            'invitees': [{'email': new_member['email']}],
            'message': message
        }

        response_obj = request.post(
            url=self.get_endpoint() + '/' + self['id'] + '/share',
            json=json_data,
            session=self.session()
        )

        self.data_dict = response_obj

        return self
Exemplo n.º 10
0
    def share_with(self, new_member, message=None):
        """
        Share a task with new member.

        Pushes changes to server.
        Updates task members list and new member tasks list.
        """
        json_data = {
            'invitees': [{'email': new_member['email']}],
            'message': message
        }

        response_obj = request.post(
            url=self.get_endpoint() + '/' + self['id'] + '/share',
            json=json_data,
            session=self.session()
        )

        self.data_dict = response_obj

        return self