diff --git a/odoo-stubs/__init__.pyi b/odoo-stubs/__init__.pyi index 3f36e47..93f501d 100644 --- a/odoo-stubs/__init__.pyi +++ b/odoo-stubs/__init__.pyi @@ -1,3 +1,6 @@ +from codecs import CodecInfo +from re import Pattern + from . import addons as addons from . import api as api from . import conf as conf @@ -18,6 +21,8 @@ from .tools.translate import _lt as _lt evented: bool multi_process: bool +iso8859_8: CodecInfo +iso8859_8ie_re: Pattern SUPERUSER_ID: int def registry(database_name: str | None = ...) -> Registry: ... diff --git a/odoo-stubs/api.pyi b/odoo-stubs/api.pyi index e1863f7..a298d3d 100644 --- a/odoo-stubs/api.pyi +++ b/odoo-stubs/api.pyi @@ -64,12 +64,18 @@ class Environment(Mapping[str, BaseModel]): su: bool = ... args: tuple[Cursor, int, dict, bool] def reset(self) -> None: ... + uid_origin: int | None all: Transaction transaction: Transaction registry: Registry cache: Cache def __new__( - cls, cr: Cursor, uid: int | None, context: dict, su: bool = ... + cls, + cr: Cursor, + uid: int | None, + context: dict, + su: bool = ..., + uid_origin: int | None = ..., ) -> Environment: ... def __contains__(self, model_name) -> bool: ... def __getitem__(self, model_name: str) -> BaseModel: ... diff --git a/odoo-stubs/fields.pyi b/odoo-stubs/fields.pyi index 1f7886f..2408e09 100644 --- a/odoo-stubs/fields.pyi +++ b/odoo-stubs/fields.pyi @@ -16,6 +16,7 @@ from typing import ( import psycopg2 from markupsafe import Markup +from . import SUPERUSER_ID as SUPERUSER_ID from .api import Environment, Registry from .models import BaseModel from .tools import date_utils, float_utils @@ -444,6 +445,7 @@ class Properties(Field): definition_record_field: str | None ALLOWED_TYPES: tuple[str, ...] compute: Callable + def setup_related(self, model: BaseModel) -> None: ... def convert_to_column( self, value, record: BaseModel, values: Any | None = ..., validate: bool = ... ): ... diff --git a/odoo-stubs/models.pyi b/odoo-stubs/models.pyi index fd9a387..8b179fe 100644 --- a/odoo-stubs/models.pyi +++ b/odoo-stubs/models.pyi @@ -82,7 +82,7 @@ PREFETCH_MAX: int LOG_ACCESS_COLUMNS: list[str] MAGIC_COLUMNS: list[str] READ_GROUP_TIME_GRANULARITY: dict[str, dateutil.relativedelta.relativedelta] -READ_GROUP_AGGREGATE: dict[str, Callable[[str, str], str]] +READ_GROUP_AGGREGATE: dict[str, Callable[[str, str | SQL], SQL]] READ_GROUP_DISPLAY_FORMAT: dict[str, str] def is_definition_class(cls) -> bool: ... @@ -111,6 +111,7 @@ class BaseModel(metaclass=MetaModel): _fold_name: str _translate: bool _check_company_auto: bool + _allow_sudo_commands: bool _depends: dict[str, Iterable[str]] _transient_max_count: int _transient_max_hours: float diff --git a/odoo-stubs/tests/common.pyi b/odoo-stubs/tests/common.pyi index a32dac9..dd34787 100644 --- a/odoo-stubs/tests/common.pyi +++ b/odoo-stubs/tests/common.pyi @@ -47,6 +47,7 @@ def new_test_user( context: dict | None = ..., **kwargs ) -> Users: ... +def loaded_demo_data(env: Environment) -> bool: ... class RecordCapturer: def __init__(self, model: BaseModel, domain: list) -> None: ... diff --git a/odoo-stubs/tools/date_utils.pyi b/odoo-stubs/tools/date_utils.pyi index d7bef90..d9d531d 100644 --- a/odoo-stubs/tools/date_utils.pyi +++ b/odoo-stubs/tools/date_utils.pyi @@ -5,6 +5,7 @@ from dateutil.relativedelta import relativedelta _DateTimeT = TypeVar("_DateTimeT", datetime.date, datetime.datetime) +def date_type(value: _DateTimeT) -> type[_DateTimeT]: ... def get_month(date: _DateTimeT) -> Tuple[_DateTimeT, _DateTimeT]: ... def get_quarter_number(date: _DateTimeT) -> int: ... def get_quarter(date: _DateTimeT) -> Tuple[_DateTimeT, _DateTimeT]: ... diff --git a/odoo-stubs/tools/pdf.pyi b/odoo-stubs/tools/pdf.pyi index de31b12..7c35675 100644 --- a/odoo-stubs/tools/pdf.pyi +++ b/odoo-stubs/tools/pdf.pyi @@ -17,7 +17,7 @@ class BrandedFileWriter(PdfFileWriter): PdfFileWriter = BrandedFileWriter def merge_pdf(pdf_data: Iterable[bytes]) -> bytes: ... -def fill_form_fields_pdf(document: bytes, form_fields: dict | None = ...) -> bytes: ... +def fill_form_fields_pdf(writer: PdfFileWriter, form_fields: dict) -> None: ... def rotate_pdf(pdf: bytes) -> bytes: ... def to_pdf_stream(attachment: IrAttachment) -> BytesIO: ... def add_banner(