sync(branch 18.0): merge tag fixes for tk_construction_management + ks_dashboard_ninja
All checks were successful
addon-qualify / qualify (push) Successful in 13s

The Pillar 1 CI gate flagged drift between tag state and branch HEAD
on these two addons. Today (2026-05-09) we force-tagged fixes for:

- tk_construction_management/18.0.2.0.8: add name= to <app>, chatter
  migration to <chatter/>, chart NaN guard, scope .o_action_manager
  CSS rule, remove dasdsa debug logs.
- ks_dashboard_ninja/18.0.1.1.7: rename webpackChunk_am5 to
  webpackChunk_am5_ksdn so it does not collide with synconics_bi_dashboard.

Replicating the same content on the 18.0 branch HEAD so future pushes
do not silently revert these fixes.
This commit is contained in:
OdooSky v3
2026-05-09 13:54:49 +02:00
parent a103d8129b
commit 906e5ebd6d
24 changed files with 35 additions and 78 deletions

View File

@@ -1 +1 @@
"use strict";(self.webpackChunk_am5=self.webpackChunk_am5||[]).push([[4837],{9295:function(t,e,i){i.r(e),i.d(e,{am5themes_Animated:function(){return s}});var a=i(3409);class n extends a.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("Component").setAll({interpolationDuration:600}),this.rule("Hierarchy").set("animationDuration",600),this.rule("Scrollbar").set("animationDuration",600),this.rule("Tooltip").set("animationDuration",300),this.rule("MapChart").set("animationDuration",1e3),this.rule("MapChart").set("wheelDuration",300),this.rule("Entity").setAll({stateAnimationDuration:600}),this.rule("Sprite").states.create("default",{stateAnimationDuration:600}),this.rule("Tooltip",["axis"]).setAll({animationDuration:200}),this.rule("WordCloud").set("animationDuration",500)}}const s=n}},function(t){var e=(9295,t(t.s=9295)),i=window;for(var a in e)i[a]=e[a];e.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})}]);
"use strict";(self.webpackChunk_am5_ksdn=self.webpackChunk_am5_ksdn||[]).push([[4837],{9295:function(t,e,i){i.r(e),i.d(e,{am5themes_Animated:function(){return s}});var a=i(3409);class n extends a.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("Component").setAll({interpolationDuration:600}),this.rule("Hierarchy").set("animationDuration",600),this.rule("Scrollbar").set("animationDuration",600),this.rule("Tooltip").set("animationDuration",300),this.rule("MapChart").set("animationDuration",1e3),this.rule("MapChart").set("wheelDuration",300),this.rule("Entity").setAll({stateAnimationDuration:600}),this.rule("Sprite").states.create("default",{stateAnimationDuration:600}),this.rule("Tooltip",["axis"]).setAll({animationDuration:200}),this.rule("WordCloud").set("animationDuration",500)}}const s=n}},function(t){var e=(9295,t(t.s=9295)),i=window;for(var a in e)i[a]=e[a];e.__esModule&&Object.defineProperty(i,"__esModule",{value:!0})}]);

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunk_am5=self.webpackChunk_am5||[]).push([[7891],{5650:function(e,s,t){t.r(s),t.d(s,{am5themes_Dataviz:function(){return o}});var u=t(1112),l=t(3409);class r extends l.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("ColorSet").setAll({colors:[u.Il.fromHex(2634320),u.Il.fromHex(9448493),u.Il.fromHex(13976381),u.Il.fromHex(15750208)],reuse:!1,passOptions:{lightness:.05,hue:0}})}}const o=r}},function(e){var s=(5650,e(e.s=5650)),t=window;for(var u in s)t[u]=s[u];s.__esModule&&Object.defineProperty(t,"__esModule",{value:!0})}]);
"use strict";(self.webpackChunk_am5_ksdn=self.webpackChunk_am5_ksdn||[]).push([[7891],{5650:function(e,s,t){t.r(s),t.d(s,{am5themes_Dataviz:function(){return o}});var u=t(1112),l=t(3409);class r extends l.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("ColorSet").setAll({colors:[u.Il.fromHex(2634320),u.Il.fromHex(9448493),u.Il.fromHex(13976381),u.Il.fromHex(15750208)],reuse:!1,passOptions:{lightness:.05,hue:0}})}}const o=r}},function(e){var s=(5650,e(e.s=5650)),t=window;for(var u in s)t[u]=s[u];s.__esModule&&Object.defineProperty(t,"__esModule",{value:!0})}]);
//# sourceMappingURL=Dataviz.js.map

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunk_am5=self.webpackChunk_am5||[]).push([[4583],{2250:function(e,l,r){r.r(l),r.d(l,{am5themes_Material:function(){return s}});var o=r(1112),f=r(3409);class m extends f.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("ColorSet").setAll({colors:[o.Il.fromHex(16007990),o.Il.fromHex(15277667),o.Il.fromHex(10233776),o.Il.fromHex(6765239),o.Il.fromHex(4149685),o.Il.fromHex(2201331),o.Il.fromHex(240116),o.Il.fromHex(48340),o.Il.fromHex(38536),o.Il.fromHex(5025616),o.Il.fromHex(9159498),o.Il.fromHex(13491257),o.Il.fromHex(16771899),o.Il.fromHex(16761095),o.Il.fromHex(16750592),o.Il.fromHex(16733986),o.Il.fromHex(7951688),o.Il.fromHex(10395294),o.Il.fromHex(6323595)],reuse:!0})}}const s=m}},function(e){var l=(2250,e(e.s=2250)),r=window;for(var o in l)r[o]=l[o];l.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})}]);
"use strict";(self.webpackChunk_am5_ksdn=self.webpackChunk_am5_ksdn||[]).push([[4583],{2250:function(e,l,r){r.r(l),r.d(l,{am5themes_Material:function(){return s}});var o=r(1112),f=r(3409);class m extends f.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("ColorSet").setAll({colors:[o.Il.fromHex(16007990),o.Il.fromHex(15277667),o.Il.fromHex(10233776),o.Il.fromHex(6765239),o.Il.fromHex(4149685),o.Il.fromHex(2201331),o.Il.fromHex(240116),o.Il.fromHex(48340),o.Il.fromHex(38536),o.Il.fromHex(5025616),o.Il.fromHex(9159498),o.Il.fromHex(13491257),o.Il.fromHex(16771899),o.Il.fromHex(16761095),o.Il.fromHex(16750592),o.Il.fromHex(16733986),o.Il.fromHex(7951688),o.Il.fromHex(10395294),o.Il.fromHex(6323595)],reuse:!0})}}const s=m}},function(e){var l=(2250,e(e.s=2250)),r=window;for(var o in l)r[o]=l[o];l.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})}]);
//# sourceMappingURL=Material.js.map

View File

@@ -1,2 +1,2 @@
"use strict";(self.webpackChunk_am5=self.webpackChunk_am5||[]).push([[2480],{8283:function(e,r,l){l.r(r),l.d(r,{am5themes_Moonrise:function(){return f}});var o=l(1112),s=l(3409);class u extends s.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("ColorSet").setAll({colors:[o.Il.fromHex(3805954),o.Il.fromHex(6296069),o.Il.fromHex(9054989),o.Il.fromHex(13065764),o.Il.fromHex(13082457),o.Il.fromHex(10786154),o.Il.fromHex(8815977),o.Il.fromHex(7696225),o.Il.fromHex(5792096),o.Il.fromHex(6388099)],reuse:!0})}}const f=u}},function(e){var r=(8283,e(e.s=8283)),l=window;for(var o in r)l[o]=r[o];r.__esModule&&Object.defineProperty(l,"__esModule",{value:!0})}]);
"use strict";(self.webpackChunk_am5_ksdn=self.webpackChunk_am5_ksdn||[]).push([[2480],{8283:function(e,r,l){l.r(r),l.d(r,{am5themes_Moonrise:function(){return f}});var o=l(1112),s=l(3409);class u extends s.Q{setupDefaultRules(){super.setupDefaultRules(),this.rule("ColorSet").setAll({colors:[o.Il.fromHex(3805954),o.Il.fromHex(6296069),o.Il.fromHex(9054989),o.Il.fromHex(13065764),o.Il.fromHex(13082457),o.Il.fromHex(10786154),o.Il.fromHex(8815977),o.Il.fromHex(7696225),o.Il.fromHex(5792096),o.Il.fromHex(6388099)],reuse:!0})}}const f=u}},function(e){var r=(8283,e(e.s=8283)),l=window;for(var o in r)l[o]=r[o];r.__esModule&&Object.defineProperty(l,"__esModule",{value:!0})}]);
//# sourceMappingURL=Moonrise.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,5 @@
.o_action_manager {
overflow: auto !important;
}
.construction_dashboard {
overflow: auto !important;
background-color: #f8f9fa !important;
height: 100%;
.d-flex {

View File

@@ -45,8 +45,6 @@ export class ConstructionDashboard extends Component {
// args: [false, false],
// });
const result = await this.orm.call("tk.construction.dashboard", "get_construction_state", [false, false]);
console.log(result,'dasdsa');
this.state.stats = result;
this.state.sites = Object.entries(result.con_sites || {}).map(([id, name]) => ({ id, name }));
this.renderCharts(result);
@@ -82,7 +80,6 @@ export class ConstructionDashboard extends Component {
this.state.stats = data;
this.renderCharts(data);
console.log(this.state.stats,'dasdsa');
}
openAction(name, resModel, domain = []) {
@@ -221,6 +218,16 @@ export class ConstructionDashboard extends Component {
renderGraph(el, options) {
if (!el) return;
el.innerHTML = "";
// NaN-guard: ApexCharts emits 'M NaN NaN A NaN' SVG warnings when series is
// empty or all zeros (donut/pie divide by total=0). Show 'No data' instead.
const series = options.series || [];
const hasData = series.some((s) =>
typeof s === 'number' ? s > 0 : (s && s.data && s.data.length > 0)
);
if (!hasData) {
el.innerHTML = '<div class="text-muted text-center p-4">No data</div>';
return;
}
const chart = new ApexCharts(el, options);
chart.render();
}

View File

@@ -334,11 +334,7 @@
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -306,11 +306,7 @@
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -164,11 +164,7 @@
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -186,11 +186,7 @@
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -234,11 +234,7 @@
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -228,11 +228,7 @@
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -55,11 +55,7 @@
<field name="reject_reason" invisible="status != 'reject'"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -65,11 +65,7 @@
<field name="reject_reason" invisible="qc_status != 'reject'"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>
@@ -179,11 +175,7 @@
<field name="reject_reason" invisible="qc_status != 'reject'"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>
@@ -293,11 +285,7 @@
<field name="reject_reason" invisible="qc_status != 'reject'"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -103,11 +103,7 @@
<field name="total_amount"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>

View File

@@ -9,7 +9,7 @@
<field name="arch" type="xml">
<xpath expr="//form" position="inside">
<app class="app_settings_block" data-string="Construction" string="Construction"
data-key="tk_construction_management">
data-key="tk_construction_management" name="tk_construction_management">
<h2>Sequences</h2>
<setting class="row mt16 o_settings_container">
<div class="col-lg-12 o_setting_box">

View File

@@ -699,11 +699,7 @@
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids"/>
<field name="activity_ids"/>
<field name="message_ids"/>
</div>
<chatter/>
</form>
</field>
</record>