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,78 @@
.openerp div.oe_account_help {
background : #D6EBFF;
width: 100%;
padding: 10px;
border: 3px solid #C1D4E6;
}
.openerp p.oe_account_font_help{
text-align: left;
font-weight: bold;
margin: 0px;
font-size: 14px;
}
.openerp p.oe_account_font_content{
margin-left: 30px;
font-size: 14px;
}
.openerp p.oe_account_font_title{
margin-top: 7px;
font-size: 15px;
font-style: italic;
color: grey;
}
.oe_invoice_outstanding_credits_debits {
clear: both;
float: right;
min-width: 260px;
/* The max-width ensures that the widget is not too wide in larger screens,
but does not affect the width once the screen size decreases */
max-width: 400px;
margin-left: auto;
}
.oe_account_terms {
flex: auto !important;
}
@media (max-width: 991.98px) {
/* The purpose is to put the narration below the totals in the tab 'Invoice Lines'
instead of above for the mobile view */
.o_form_view .oe_invoice_lines_tab {
display: flex;
flex-direction: column-reverse;
}
.o_form_view .oe_invoice_lines_tab .oe_invoice_outstanding_credits_debits {
min-width: initial;
width: 50%;
}
}
@media (max-width: 767.98px) {
.o_form_view .oe_invoice_lines_tab .oe_invoice_outstanding_credits_debits {
min-width: initial;
width: 100%;
}
}
.o_field_account_resequence_widget {
width: 100%;
}
.o_field_account_json_checkboxes {
div.form-check {
display: inline-block;
}
i.fa {
margin-left: 2px;
}
}
.o_account_move_form_view .o_cell:has(>div[name="journal_div"]:empty) {
display: none !important;
}

View File

@@ -0,0 +1,31 @@
.openerp .oe_force_bold {
font-weight: bold !important;
}
.openerp label.oe_open_balance{
margin-right: -18px;
}
.openerp label.oe_subtotal_footer_separator{
float:right;
width: 184px !important;
}
.openerp label.oe_mini_subtotal_footer_separator{
margin-right: -14px;
}
.openerp .oe_account_total, .openerp .oe_pos_total {
margin-left: -2px;
}
.openerp label.oe_real_closing_balance{
min-width: 184px !important;
}
.openerp label.oe_difference, .openerp label.oe_pos_difference {
margin-right: -10px;
padding-left: 10px !important;
min-width: 195px !important;
}
.openerp .oe_opening_total{
margin-right: 4px;
}
.o_payment_label{
padding-right: 20px;
}

View File

@@ -0,0 +1,13 @@
.o_popover_header {
padding: 5px 0 5px 8px;
border-bottom: 1px solid #ccc;
}
.o_memo_content {
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}

View File

@@ -0,0 +1,23 @@
#payment_terms_note_id > p {
margin-bottom: 0 !important;
}
.avoid-page-break-inside {
page-break-inside: avoid;
}
.justify-text {
text-align:justify;
text-justify:inter-word;
}
#qrcode_odoo_logo {
-webkit-transform:translate(-50%,-50%);
height:18%;
width:18%;
border-color: white !important;
}
.tax_computation_company_currency {
margin-bottom: 5px;
}