diff --git a/addons/account/__manifest__.py b/addons/account/__manifest__.py index 8b8af64646f..e3baa3963b2 100644 --- a/addons/account/__manifest__.py +++ b/addons/account/__manifest__.py @@ -100,7 +100,8 @@ You could use this simplified accounting in case you work with an (external) acc 'account/static/src/js/legacy_account_payment_field.js', 'account/static/src/js/account_resequence_field.js', 'account/static/src/js/grouped_view_widget.js', - 'account/static/src/js/mail_activity.js', + 'account/static/src/js/vat_activity.js', + 'account/static/src/js/legacy_mail_activity.js', 'account/static/src/js/tax_totals.js', 'account/static/src/js/legacy_tax_totals.js', 'account/static/src/js/section_and_note_fields_backend.js', diff --git a/addons/account/static/src/js/mail_activity.js b/addons/account/static/src/js/legacy_mail_activity.js similarity index 100% rename from addons/account/static/src/js/mail_activity.js rename to addons/account/static/src/js/legacy_mail_activity.js diff --git a/addons/account/static/src/js/vat_activity.js b/addons/account/static/src/js/vat_activity.js new file mode 100644 index 00000000000..c8b9d5d069b --- /dev/null +++ b/addons/account/static/src/js/vat_activity.js @@ -0,0 +1,48 @@ +/** @odoo-module **/ + +import { registry } from "@web/core/registry"; +import { useService } from "@web/core/utils/hooks"; + +const { Component } = owl; + +export class JournalDashboardActivity extends Component { + setup() { + this.action = useService("action"); + this.MAX_ACTIVITY_DISPLAY = 5; + this.formatData(this.props); + } + + formatData(props) { + this.info = JSON.parse(this.props.value); + this.info.more_activities = false; + if (this.info.activities.length > this.MAX_ACTIVITY_DISPLAY) { + this.info.more_activities = true; + this.info.activities = this.info.activities.slice(0, this.MAX_ACTIVITY_DISPLAY); + } + } + + async openActivity(activity) { + this.action.doAction({ + type: 'ir.actions.act_window', + name: this.env._t('Journal Entry'), + target: 'current', + res_id: activity.res_id, + res_model: 'account.move', + views: [[false, 'form']], + }); + } + + openAllActivities(e) { + this.action.doAction({ + type: 'ir.actions.act_window', + name: this.env._t('Journal Entries'), + res_model: 'account.move', + views: [[false, 'kanban'], [false, 'form']], + search_view_id: [false], + domain: [['journal_id', '=', this.props.record.resId], ['activity_ids', '!=', false]], + }); + } +} +JournalDashboardActivity.template = "account.JournalDashboardActivity"; + +registry.category("fields").add("kanban_vat_activity", JournalDashboardActivity); diff --git a/addons/account/static/src/xml/account_journal_activity.xml b/addons/account/static/src/xml/legacy_account_journal_activity.xml similarity index 100% rename from addons/account/static/src/xml/account_journal_activity.xml rename to addons/account/static/src/xml/legacy_account_journal_activity.xml diff --git a/addons/account/static/src/xml/vat_activity.xml b/addons/account/static/src/xml/vat_activity.xml new file mode 100644 index 00000000000..2492940cd94 --- /dev/null +++ b/addons/account/static/src/xml/vat_activity.xml @@ -0,0 +1,24 @@ + + + + + + +
+
+ + + +
+
+ +
+
+
+ See all activities +
+ +