summaryrefslogtreecommitdiff
path: root/addons/utm/views
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/utm/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/utm/views')
-rw-r--r--addons/utm/views/assets.xml11
-rw-r--r--addons/utm/views/utm_campaign_views.xml181
-rw-r--r--addons/utm/views/utm_views.xml134
3 files changed, 326 insertions, 0 deletions
diff --git a/addons/utm/views/assets.xml b/addons/utm/views/assets.xml
new file mode 100644
index 00000000..0195faae
--- /dev/null
+++ b/addons/utm/views/assets.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <template id="assets_backend" name="utm assets" inherit_id="web.assets_backend">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/utm/static/src/js/utm_campaign_kanban_examples.js"></script>
+ </xpath>
+ <xpath expr="link[last()]" position="after">
+ <link rel="stylesheet" type="text/scss" href="/utm/static/src/scss/utm_views.scss"/>
+ </xpath>
+ </template>
+</odoo>
diff --git a/addons/utm/views/utm_campaign_views.xml b/addons/utm/views/utm_campaign_views.xml
new file mode 100644
index 00000000..84c67499
--- /dev/null
+++ b/addons/utm/views/utm_campaign_views.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record model="ir.ui.view" id="view_utm_campaign_view_search">
+ <field name="name">utm.campaign.view.search</field>
+ <field name="model">utm.campaign</field>
+ <field name="arch" type="xml">
+ <search string="UTM Campaigns">
+ <field name="name" string="Campaigns"/>
+ <field name="tag_ids"/>
+ <field name="user_id"/>
+ <group expand="0" string="Group By">
+ <filter string="Stage" name="group_stage_id"
+ context="{'group_by': 'stage_id'}"/>
+ <filter string="Responsible" name="group_user_id"
+ context="{'group_by': 'user_id'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="utm_campaign_view_form">
+ <field name="name">utm.campaign.view.form</field>
+ <field name="model">utm.campaign</field>
+ <field name="arch" type="xml">
+ <form string="UTM Campaign">
+ <header>
+ <field name="stage_id" widget="statusbar" options="{'clickable': '1'}"/>
+ </header>
+ <sheet>
+ <div class="oe_button_box d-flex justify-content-end" name="button_box">
+ </div>
+ <group id="top-group">
+ <field name="name" string="Campaign Name" placeholder="e.g. Black Friday"/>
+ <field name="user_id" domain="[('share', '=', False)]"/>
+ <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/>
+ </group>
+ <notebook>
+ </notebook>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="utm_campaign_view_tree">
+ <field name="name">utm.campaign.view.tree</field>
+ <field name="model">utm.campaign</field>
+ <field name="arch" type="xml">
+ <tree string="UTM Campaigns" multi_edit="1" sample="1">
+ <field name="name" readonly="1"/>
+ <field name="user_id"/>
+ <field name="stage_id"/>
+ <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="utm_campaign_view_form_quick_create" model="ir.ui.view">
+ <field name="name">utm.campaign.view.form.quick.create</field>
+ <field name="model">utm.campaign</field>
+ <field name="priority">1000</field>
+ <field name="arch" type="xml">
+ <form>
+ <group>
+ <field name="name" string="Campaign Name" placeholder="e.g. Black Friday"/>
+ <field name="user_id" domain="[('share', '=', False)]"/>
+ <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_create_edit': True}"/>
+ </group>
+ </form>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="utm_campaign_view_kanban">
+ <field name="name">utm.campaign.view.kanban</field>
+ <field name="model">utm.campaign</field>
+ <field name="arch" type="xml">
+ <kanban default_group_by='stage_id' class="o_utm_kanban" on_create="quick_create" quick_create_view="utm.utm_campaign_view_form_quick_create" examples="utm_campaign" sample="1">
+ <field name='color'/>
+ <field name='user_id'/>
+ <field name="stage_id"/>
+ <templates>
+ <t t-name="kanban-box">
+ <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_global_click">
+ <div class="o_dropdown_kanban dropdown">
+ <a role="button" class="dropdown-toggle o-no-caret btn" data-toggle="dropdown" href="#" aria-label="Dropdown menu" title="Dropdown menu">
+ <span class="fa fa-ellipsis-v"/>
+ </a>
+ <div class="dropdown-menu" role="menu">
+ <t t-if="widget.editable">
+ <a role="menuitem" type="edit" class="dropdown-item">Edit</a>
+ </t>
+ <t t-if="widget.deletable">
+ <a role="menuitem" type="delete" class="dropdown-item">Delete</a>
+ </t>
+ <div role="separator" class="dropdown-divider"/>
+ <ul class="oe_kanban_colorpicker" data-field="color"/>
+ </div>
+ </div>
+ <div class="oe_kanban_content">
+ <div class="o_kanban_record_top">
+ <div class="o_kanban_record_headings">
+ <h3 class="oe_margin_bottom_8 o_kanban_record_title"><field name="name"/></h3>
+ </div>
+ </div>
+ <div class="o_kanban_record_body">
+ <field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
+ <ul id="o_utm_actions" class="list-group list-group-horizontal"/>
+ </div>
+ <div class="o_kanban_record_bottom h5 mt-2 mb-0">
+ <div id="utm_statistics" class="d-flex flex-grow-1 text-600 mt-1"/>
+ <div class="oe_kanban_bottom_right">
+ <field name="user_id" widget="many2one_avatar_user"/>
+ </div>
+ </div>
+ </div>
+ <div class="oe_clear"></div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
+
+ <!-- CAMPAIGN TAGS !-->
+ <record id="utm_tag_view_tree" model="ir.ui.view">
+ <field name="name">utm.tag.view.tree</field>
+ <field name="model">utm.tag</field>
+ <field name="arch" type="xml">
+ <tree string="Campaign Tags" editable="top">
+ <field name="name"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="action_view_utm_tag" model="ir.actions.act_window">
+ <field name="name">Campaign Tags</field>
+ <field name="res_model">utm.tag</field>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ Add a new tag
+ </p><p>
+ Use tags to organize campaigns and easily filter them.
+ </p>
+ </field>
+ </record>
+
+ <!-- CAMPAIGN STAGE !-->
+ <record model="ir.ui.view" id="utm_stage_view_search">
+ <field name="name">utm.stage.view.search</field>
+ <field name="model">utm.stage</field>
+ <field name="arch" type="xml">
+ <search string="Stages">
+ <field name="name"/>
+ </search>
+ </field>
+ </record>
+
+ <record model="ir.ui.view" id="utm_stage_view_tree">
+ <field name="name">utm.stage.view.tree</field>
+ <field name="model">utm.stage</field>
+ <field name="priority">10</field>
+ <field name="arch" type="xml">
+ <tree string="Stages" editable="top">
+ <field name="sequence" widget="handle"/>
+ <field name="name"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="action_view_utm_stage" model="ir.actions.act_window">
+ <field name="name">UTM Stages</field>
+ <field name="res_model">utm.stage</field>
+ <field name="view_mode">tree,form</field>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ Create a stage for your campaigns
+ </p><p>
+ Stages allow you to organize your workflow (e.g. : plan, design, in progress, done, …).
+ </p>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/utm/views/utm_views.xml b/addons/utm/views/utm_views.xml
new file mode 100644
index 00000000..97a1680d
--- /dev/null
+++ b/addons/utm/views/utm_views.xml
@@ -0,0 +1,134 @@
+<?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>