Eliminate Python dependency: embed frontend assets in odoo-go

- Copy all OWL frontend assets (JS/CSS/XML/fonts/images) into frontend/
  directory (2925 files, 43MB) — no more runtime reads from Python Odoo
- Replace OdooAddonsPath config with FrontendDir pointing to local frontend/
- Rewire bundle.go, static.go, templates.go, webclient.go to read from
  frontend/ instead of external Python Odoo addons directory
- Auto-detect frontend/ and build/ dirs relative to binary in main.go
- Delete obsolete Python helper scripts (tools/*.py)

The Go server is now fully self-contained: single binary + frontend/ folder.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marc
2026-03-31 23:09:12 +02:00
parent 0ed29fe2fd
commit 8741282322
2933 changed files with 280644 additions and 264 deletions

View File

@@ -0,0 +1,31 @@
import {
many2OneAvatarUserField,
Many2OneAvatarUserField,
} from "@mail/views/web/fields/many2one_avatar_user_field/many2one_avatar_user_field";
import { registry } from "@web/core/registry";
export class Many2OneAvatarLeaderUserField extends Many2OneAvatarUserField {
static props = {
...Many2OneAvatarUserField.props,
teamField: String,
};
get m2oProps() {
return {
...super.m2oProps,
context: {
...super.m2oProps.context,
crm_formatted_display_name_team: Number(this.props.record.data[this.props.teamField].id),
},
};
}
}
registry.category("fields").add("many2one_avatar_leader_user", {
...many2OneAvatarUserField,
component: Many2OneAvatarLeaderUserField,
extractProps: (fieldInfo, dynamicInfo) => ({
...many2OneAvatarUserField.extractProps(fieldInfo, dynamicInfo),
teamField: fieldInfo.attrs.teamField,
}),
});