diff --git a/odoo-stubs/fields.pyi b/odoo-stubs/fields.pyi index 7dca929..448a0a3 100644 --- a/odoo-stubs/fields.pyi +++ b/odoo-stubs/fields.pyi @@ -455,9 +455,7 @@ class Properties(Field): def convert_to_read( self, value, record: BaseModel, use_display_name: bool = ... ): ... - def convert_to_read_multi( - self, values, records: BaseModel, use_display_name: bool = ... - ): ... + def convert_to_read_multi(self, values, records: BaseModel): ... def convert_to_write(self, value, record: BaseModel): ... def convert_to_onchange(self, value, record: BaseModel, names): ... def write(self, records: _ModelT, value) -> None: ... diff --git a/odoo-stubs/models.pyi b/odoo-stubs/models.pyi index c4a0a6c..cf01cc2 100644 --- a/odoo-stubs/models.pyi +++ b/odoo-stubs/models.pyi @@ -235,7 +235,7 @@ class BaseModel(metaclass=MetaModel): self, having_domain: _Domain, query: Query ) -> tuple[str, list, list[str]]: ... def _read_group_orderby( - self, order: str | None, groupby: Iterable[str], query: Query + self, order: str | None, groupby_terms: dict, query: Query ) -> tuple[list[str], list[str], list[str]]: ... def _read_group_check_field_access_rights( self, field_names: Collection[str] @@ -270,6 +270,9 @@ class BaseModel(metaclass=MetaModel): def _read_group_format_result( self, rows_dict: Iterable[dict], lazy_groupby: Iterable[str] ) -> None: ... + def _read_group_format_result_properties( + self, rows_dict: Iterable[dict], group: str + ) -> None: ... def read_group( self, domain: _Domain, @@ -281,6 +284,10 @@ class BaseModel(metaclass=MetaModel): lazy: bool = ..., ) -> list[dict[str, Any]]: ... def _inherits_join_calc(self, alias: str, fname: str, query: Query) -> str: ... + def _inherits_join_calc_properties( + self, alias: str, fname: str, query: Query, property_name: str + ) -> str: ... + def get_property_definition(self, full_name: str) -> dict: ... def _parent_store_compute(self): ... def _check_removed_columns(self, log: bool = ...) -> None: ... def _init_column(self, column_name: str) -> None: ... @@ -528,12 +535,12 @@ class BaseModel(metaclass=MetaModel): self, field: Field, ids: Iterable[int] | None = ... ) -> None: ... def _has_onchange(self, field: Field, other_fields: Container[Field]) -> bool: ... - def _onchange_eval(self, field_name: str, onchange: str, result: dict) -> None: ... + def _apply_onchange_methods(self, field_name: str, result: dict) -> None: ... def onchange( self, - values: dict[str, Any], - field_name: str | list[str] | bool, - field_onchange: dict[str, str], + values: dict, + field_names: list[str], + fields_spec: dict, ) -> dict: ... def _get_placeholder_filename(self, field: str) -> str | bool: ... def _populate_factories(self) -> list[tuple[str, Callable[..., Iterator]]]: ... diff --git a/odoo-stubs/tests/common.pyi b/odoo-stubs/tests/common.pyi index 55ca97f..5efb387 100644 --- a/odoo-stubs/tests/common.pyi +++ b/odoo-stubs/tests/common.pyi @@ -14,7 +14,7 @@ from ..http import Session from ..models import BaseModel from ..modules.registry import Registry from ..sql_db import BaseCursor, Cursor -from ..tools import profiler +from ..tools import mute_logger, profiler from ..tools._vendor.sessions import Session from ..tools.profiler import Profiler from . import case @@ -107,6 +107,7 @@ class TransactionCase(BaseCase): registry: Registry env: Environment cr: Cursor + muted_registry_logger: mute_logger @classmethod def setUpClass(cls) -> None: ... def setUp(self) -> None: ... diff --git a/odoo-stubs/tools/mail.pyi b/odoo-stubs/tools/mail.pyi index cf00b33..d1607f8 100644 --- a/odoo-stubs/tools/mail.pyi +++ b/odoo-stubs/tools/mail.pyi @@ -56,6 +56,7 @@ def email_split_tuples(text: str) -> list[str]: ... def email_split(text: str) -> list[str]: ... def email_split_and_format(text: str) -> list[str]: ... def email_normalize(text: str, strict: bool = ...) -> str | Literal[False]: ... +def email_normalize_all(text: str) -> list[str]: ... def email_domain_extract(email: str) -> str | Literal[False]: ... def email_domain_normalize(domain: str) -> str | Literal[False]: ... def url_domain_extract(url: str) -> str | Literal[False]: ... @@ -65,3 +66,4 @@ def decode_message_header( ) -> str: ... def formataddr(pair: tuple[str, str], charset: str = ...) -> str: ... def encapsulate_email(old_email: str, new_email: str) -> str: ... +def parse_contact_from_email(text: str) -> tuple[str, str]: ...