Exemplo n.º 1
0
def crud_get_rent_house(odoo: OdooRPC, domain: List = [], offset: int = 0, limit: int = 20) -> List[RentHouse]:
    rent_houses: List[RentHouse] = []

    result = odoo.search_read(MODEL_NAME, domain, [], offset, limit)

    for row in result:
        rent_houses.append(RentHouse(**row))

    return rent_houses
Exemplo n.º 2
0
def crud_get_action_window(odoo: OdooRPC,
                           domain: List = [],
                           offset: int = 0,
                           limit: int = 20) -> List[ActionWindow]:
    action_window: List[ActionWindow] = []

    result = odoo.search_read(MODEL_NAME, domain, [], offset, limit)

    for row in result:
        action_window.append(ActionWindow(**row))

    return action_window
Exemplo n.º 3
0
def crud_get_view(odoo: OdooRPC,
                  domain: List = [],
                  offset: int = 0,
                  limit: int = 20) -> List[View]:
    views: List[View] = []

    result = odoo.search_read(MODEL_NAME, domain, [], offset, limit)

    for row in result:
        views.append(View(**row))

    return views
Exemplo n.º 4
0
def crud_get_menu(odoo: OdooRPC,
                  domain: List = [],
                  offset: int = 0,
                  limit: int = 20) -> List[Menu]:
    menu: List[Menu] = []

    result = odoo.search_read(MODEL_NAME, domain, [], offset, limit)

    for row in result:
        menu.append(Menu(**row))

    return menu
Exemplo n.º 5
0
def crud_get_app_release(odoo: OdooRPC,
                         domain: List = [],
                         offset: int = 0,
                         limit: int = 20) -> List[AppRelease]:
    app_releases: List[AppRelease] = []

    result = odoo.search_read(MODEL_NAME, domain, [], offset, limit)

    for row in result:
        app_releases.append(AppRelease(**row))

    return app_releases
Exemplo n.º 6
0
def crud_get_models(odoo: OdooRPC,
                    domain: List = [],
                    offset: int = 0,
                    limit: int = 20) -> List[Model]:
    models: List[Model] = []

    result = odoo.search_read(MODEL_NAME, domain, [], offset, limit)

    for row in result:
        models.append(Model(**row))

    return models
Exemplo n.º 7
0
def crud_get_attachment(odoo: OdooRPC,
                        domain: List = [],
                        offset: int = 0,
                        limit: int = 20) -> List[Attachment]:
    attachments: List[Attachment] = []

    result = odoo.search_read(MODEL_NAME, domain,
                              ["name", "type", "datas", "url", "mimetype"],
                              offset, limit)

    for row in result:
        attachments.append(Attachment(**row))

    return attachments
Exemplo n.º 8
0
def crud_get_telegram_users(odoo: OdooRPC,
                            domain: List = [],
                            offset: int = 0,
                            limit: int = 20,
                            change_id=True) -> List[TelegramUser]:
    telegram_users: List[TelegramUser] = []

    result = odoo.search_read(MODEL_NAME, domain, [], offset, limit)

    for row in result:
        if change_id:
            row["id"] = row["x_user_id"]

        telegram_users.append(TelegramUser(**row))

    return telegram_users
Exemplo n.º 9
0
class OdooRPCTest(TestCase):
    def __init__(self, *args, **kwargs):
        super(OdooRPCTest, self).__init__(*args, **kwargs)

        self.odoo = OdooRPC(
            ODOO_TEST_URL,
            ODOO_TEST_DB,
            ODOO_TEST_USERNAME,
            ODOO_TEST_PASSWORD,
        )

    def test_version(self):

        result = self.odoo.version()

        self.assertEqual(type(result), Version)

    def test_authenticate(self):
        result = self.odoo.authenticate()

        self.assertEqual(type(result), int)

    def test_check_access_right(self):
        result = self.odoo.check_access_rights("res.partner", ["read"])

        self.assertEqual(result, True)

    def test_search(self):
        result = self.odoo.search("res.partner")

        self.assertEqual(type(result), list)

    def test_search_limit(self):
        result = self.odoo.search("res.partner", limit=1)

        self.assertEqual(len(result), 1)

    def test_search_domain(self):
        result = self.odoo.search("res.partner", domain=[
                                  ["is_company", "=", True]])

        self.assertEqual(len(result), 1)

    def test_search_read(self):
        result = self.odoo.search_read("res.partner")

        self.assertEqual(type(result), list)

    def test_search_read_limit(self):
        result = self.odoo.search_read("res.partner", limit=1)

        self.assertEqual(len(result), 1)

    def test_search_read_domain(self):
        result = self.odoo.search_read(
            "res.partner", domain=[["is_company", "=", True]])

        self.assertEqual(len(result), 1)

    def test_search_read_fields(self):
        result = self.odoo.search_read(
            "res.partner", fields=["name", "email"], limit=1)

        self.assertEqual(str(result[0].keys()),
                         "dict_keys(['id', 'name', 'email'])")

    def test_read(self):
        result = self.odoo.read("res.partner", [3], fields=["name", "email"])

        self.assertEqual(len(result), 1)
        self.assertEqual(str(result[0].keys()),
                         "dict_keys(['id', 'name', 'email'])")

    def test_fields_get(self):
        result = self.odoo.fields_get("res.partner")

        self.assertEqual(type(result), dict)

    def test_create_write_unlink(self):
        id = self.odoo.create("res.partner", {
            "name": "New Partner"
        })

        self.assertEqual(type(id), int)

        result = self.odoo.write("res.partner", id, {
            "name": "Newer Parner",
            "email": "*****@*****.**",
        })

        self.assertEqual(result, True)

        result_delete = self.odoo.unlink("res.partner", id)

        self.assertEqual(result_delete, True)