Inspired by what is done in the task kanban of the project module, add examples of kanban stage setups for UTM campaigns, and allow users to load them. There have also been some minor changes to the campaigns view: - The helper message when there are no UTM campaigns has been changed to a more descriptive message. - All stages that existed by default (hardcoded in the data XML) have been removed except default New one. An user with a fresh database will have no stages in their kanban. The old hardcoded stages have been moved to the demo data instead, so they will still be added by default if the user installs demo data. - The ghost columns that appear in the kanban when no stages exist have been renamed to match the old stages that were hardcoded. - When the user opens the view to create a column, the 'See examples' link will appear below the 'Column title', just like in the project addon, and clicking it will open some examples specifically made for UTM campaigns. Clicking on the 'Use This For My Kanban' button will load the stages of the selected example. - A min-height property has been given to the example modal view so that the view does not change size depending on the number of rows in the ghost columns. Task ID: 2047369 PR #48299
135 lines
4.4 KiB
XML
135 lines
4.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<menuitem id="menu_link_tracker_root"
|
|
name="Link Tracker"
|
|
sequence="30"
|
|
web_icon="utm,static/description/icon.png"
|
|
groups="base.group_no_one"/>
|
|
|
|
<menuitem id="marketing_utm"
|
|
name="UTMs"
|
|
parent="menu_link_tracker_root"
|
|
sequence="99"
|
|
groups="base.group_no_one"/>
|
|
|
|
<record id="utm_campaign_action" model="ir.actions.act_window">
|
|
<field name="name">Campaigns</field>
|
|
<field name="res_model">utm.campaign</field>
|
|
<field name="view_mode">kanban,tree,form</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create a campaign
|
|
</p>
|
|
<p>
|
|
Campaigns are used to centralize your marketing efforts and track their results.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_utm_campaign_act"
|
|
action="utm_campaign_action"
|
|
parent="marketing_utm"
|
|
sequence="1"
|
|
groups="base.group_no_one"/>
|
|
|
|
<!-- utm.medium -->
|
|
<record id="utm_medium_view_tree" model="ir.ui.view">
|
|
<field name="name">utm.medium.view.tree</field>
|
|
<field name="model">utm.medium</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Mediums" editable="bottom">
|
|
<field name="name"/>
|
|
<field name="active" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="utm_medium_view_form" model="ir.ui.view">
|
|
<field name="name">utm.medium.view.form</field>
|
|
<field name="model">utm.medium</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Medium">
|
|
<sheet>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="active" widget="boolean_toggle"/>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="utm_medium_view_search" model="ir.ui.view">
|
|
<field name="name">utm.medium.view.search</field>
|
|
<field name="model">utm.medium</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Search UTM Medium">
|
|
<field name="name"/>
|
|
<separator/>
|
|
<filter string="Archived" name="inactive" domain="[('active', '=', False)]"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="utm_medium_action" model="ir.actions.act_window">
|
|
<field name="name">Mediums</field>
|
|
<field name="res_model">utm.medium</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="search_view_id" ref="utm_medium_view_search"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Define a new UTM medium
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_utm_medium"
|
|
action="utm_medium_action"
|
|
parent="marketing_utm"
|
|
sequence="5"
|
|
groups="base.group_no_one"/>
|
|
|
|
<!-- utm.source -->
|
|
<record id="utm_source_view_tree" model="ir.ui.view">
|
|
<field name="name">utm.source.view.tree</field>
|
|
<field name="model">utm.source</field>
|
|
<field name="arch" type="xml">
|
|
<tree string="Source" editable="bottom">
|
|
<field name="name"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="utm_source_view_form" model="ir.ui.view">
|
|
<field name="name">utm.source.view.form</field>
|
|
<field name="model">utm.source</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Source">
|
|
<sheet>
|
|
<group>
|
|
<field name="name"/>
|
|
</group>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="utm_source_action" model="ir.actions.act_window">
|
|
<field name="name">Sources</field>
|
|
<field name="res_model">utm.source</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Define a new UTM source
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_utm_source"
|
|
action="utm_source_action"
|
|
parent="marketing_utm"
|
|
sequence="10"
|
|
groups="base.group_no_one"/>
|
|
|
|
</odoo>
|