summaryrefslogtreecommitdiff
path: root/addons/link_tracker/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/link_tracker/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/link_tracker/views')
-rw-r--r--addons/link_tracker/views/link_tracker_views.xml189
-rw-r--r--addons/link_tracker/views/utm_campaign_views.xml34
2 files changed, 223 insertions, 0 deletions
diff --git a/addons/link_tracker/views/link_tracker_views.xml b/addons/link_tracker/views/link_tracker_views.xml
new file mode 100644
index 00000000..8dff64a7
--- /dev/null
+++ b/addons/link_tracker/views/link_tracker_views.xml
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data>
+ <!-- LINT.TRACKER -->
+ <record id="link_tracker_view_search" model="ir.ui.view">
+ <field name="name">link.tracker.view.search</field>
+ <field name="model">link.tracker</field>
+ <field name="arch" type="xml">
+ <search string="Links">
+ <field name="url" string="Title and URL" filter_domain="['|', ('title', 'ilike', self), ('url', 'ilike', self)]"/>
+ <field name="title"/>
+ <field name="label"/>
+ <field name="campaign_id"/>
+ <field name="medium_id"/>
+ <field name="source_id"/>
+ <group expand="0" string="Group By">
+ <filter string="Campaign" name="groupby_campaign_id" context="{'group_by': 'campaign_id'}"/>
+ <filter string="Medium" name="groupby_medium_id" context="{'group_by': 'medium_id'}"/>
+ <filter string="Source" name="groupby_source_id" context="{'group_by': 'source_id'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="link_tracker_view_form" model="ir.ui.view">
+ <field name="name">link.tracker.view.form</field>
+ <field name="model">link.tracker</field>
+ <field name="arch" type="xml">
+ <form string="Website Link" duplicate="0" create="0">
+ <sheet>
+ <div class="oe_button_box" name="button_box">
+ <button type="object" icon="fa-sign-out" name="action_visit_page"
+ string="Visit Page" class="oe_stat_button"/>
+
+ <button type="object" class="oe_stat_button" name="action_view_statistics" icon="fa-bar-chart-o">
+ <field name="count" string="Clicks" widget="statinfo"/>
+ </button>
+ </div>
+ <group>
+ <group name="url" string="URL">
+ <field name="title"/>
+ <field name="label"/>
+ <field name="url"/>
+ <field name="short_url"/>
+ </group>
+ <group name="utm" string="UTM">
+ <field name="campaign_id"/>
+ <field name="medium_id"/>
+ <field name="source_id"/>
+ </group>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="link_tracker_view_tree" model="ir.ui.view">
+ <field name="name">link.tracker.view.tree</field>
+ <field name="model">link.tracker</field>
+ <field name="arch" type="xml">
+ <tree string="Links" sample="1" create="0">
+ <field name="create_date"/>
+ <field name="title"/>
+ <field name="label"/>
+ <field name="url"/>
+ <field name="short_url" optional="hide"/>
+ <field name="count"/>
+ <button name="action_visit_page" type="object" string="Visit Page" icon="fa-external-link"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="link_tracker_view_graph" model="ir.ui.view">
+ <field name="name">link.tracker.view.graph</field>
+ <field name="model">link.tracker</field>
+ <field name="arch" type="xml">
+ <graph string="Links" type="bar" sample="1">
+ <field name="url" type="row"/>
+ <field name="count" type="measure"/>
+ </graph>
+ </field>
+ </record>
+
+ <record id="link_tracker_action" model="ir.actions.act_window">
+ <field name="name">Link Tracker</field>
+ <field name="res_model">link.tracker</field>
+ <field name="view_mode">tree,form,graph</field>
+ <field name="view_id" ref="link_tracker_view_tree"/>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ Create a link tracker
+ </p><p>
+ Trackers are used to collect count stat about click on links and generate short URLs.
+ </p>
+ </field>
+ </record>
+
+ <!-- LINK.TRACKER.CLICK -->
+ <record id="link_tracker_click_view_search" model="ir.ui.view">
+ <field name="name">link.tracker.click.view.search</field>
+ <field name="model">link.tracker.click</field>
+ <field name="arch" type="xml">
+ <search string="Clicks">
+ <field name="link_id"/>
+ <field name="country_id"/>
+ <group expand="0" string="Group By">
+ <filter string="Link" name="groupby_link_id" domain="[]" context="{'group_by': 'link_id'}"/>
+ <filter string="Country" name="groupby_country_id" context="{'group_by': 'country_id'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="link_tracker_click_view_form" model="ir.ui.view">
+ <field name="name">link.tracker.click.view.form</field>
+ <field name="model">link.tracker.click</field>
+ <field name="arch" type="xml">
+ <form string="Link Click" create="0">
+ <sheet>
+ <group>
+ <field name="link_id"/>
+ <field name="ip"/>
+ <field name="country_id"/>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="link_tracker_click_view_tree" model="ir.ui.view">
+ <field name="name">link.tracker.click.view.tree</field>
+ <field name="model">link.tracker.click</field>
+ <field name="arch" type="xml">
+ <tree string="Links Clicks" create="0">
+ <field name="link_id"/>
+ <field name="ip"/>
+ <field name="country_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="link_tracker_click_view_graph" model="ir.ui.view">
+ <field name="name">link.tracker.click.view.graph</field>
+ <field name="model">link.tracker.click</field>
+ <field name="arch" type="xml">
+ <graph string="Link Clicks" type="pie" sample="1">
+ <field name="link_id"/>
+ <field name="ip"/>
+ <field name="country_id"/>
+ </graph>
+ </field>
+ </record>
+
+ <record id="link_tracker_click_action_statistics" model="ir.actions.act_window">
+ <field name="name">Click Statistics</field>
+ <field name="res_model">link.tracker.click</field>
+ <field name="view_mode">graph,tree,form</field>
+ <field name="domain">[]</field>
+ <field name="context">{'search_default_groupby_country_id': 1}</field>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ No data yet!
+ </p>
+ </field>
+ </record>
+
+ <record id="link_tracker_action_campaign" model="ir.actions.act_window">
+ <field name="name">Statistics of Clicks</field>
+ <field name="res_model">link.tracker</field>
+ <field name="view_mode">tree,form,graph</field>
+ <field name="view_id" ref="link_tracker.link_tracker_view_tree"/>
+ <field name="help" type="html">
+ <p class="o_view_nocontent_smiling_face">
+ Create a link tracker
+ </p><p>
+ Trackers are used to collect count stat about click on links and generate short URLs.
+ </p>
+ </field>
+ <field name="context">{'search_default_campaign_id': active_id}</field>
+ </record>
+
+ <!-- MENUS -->
+ <menuitem id="link_tracker_menu_main"
+ name="Link Tracker"
+ parent="utm.menu_link_tracker_root"
+ action="link_tracker_action"
+ groups="base.group_no_one"/>
+ </data>
+</odoo>
diff --git a/addons/link_tracker/views/utm_campaign_views.xml b/addons/link_tracker/views/utm_campaign_views.xml
new file mode 100644
index 00000000..f4ae6b46
--- /dev/null
+++ b/addons/link_tracker/views/utm_campaign_views.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="utm_campaign_view_form" model="ir.ui.view">
+ <field name="name">utm.campaign.view.form</field>
+ <field name="model">utm.campaign</field>
+ <field name="inherit_id" ref="utm.utm_campaign_view_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[hasclass('oe_button_box')]" position="inside">
+ <button name="%(link_tracker_action_campaign)d"
+ type="action" class="oe_stat_button order-12" icon="fa-mouse-pointer">
+ <field name="click_count" widget="statinfo" string="Clicks"/>
+ </button>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="utm_campaign_view_kanban" model="ir.ui.view">
+ <field name="name">utm.campaign.view.form</field>
+ <field name="model">utm.campaign</field>
+ <field name="inherit_id" ref="utm.utm_campaign_view_kanban"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='stage_id']" position="after">
+ <field name="click_count"/>
+ </xpath>
+ <xpath expr="//div[@id='utm_statistics']" position="inside">
+ <div class="mr-3" title="Clicks">
+ <i class="fa fa-mouse-pointer text-muted"></i>
+ <small class="font-weight-bold" t-esc="record.click_count.raw_value" />
+ </div>
+ </xpath>
+ </field>
+ </record>
+</odoo>
+