diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/utm/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/utm/views')
| -rw-r--r-- | addons/utm/views/assets.xml | 11 | ||||
| -rw-r--r-- | addons/utm/views/utm_campaign_views.xml | 181 | ||||
| -rw-r--r-- | addons/utm/views/utm_views.xml | 134 |
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> |
