summaryrefslogtreecommitdiff
path: root/addons/sms/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/sms/views
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/sms/views')
-rw-r--r--addons/sms/views/assets.xml28
-rw-r--r--addons/sms/views/ir_actions_views.xml20
-rw-r--r--addons/sms/views/mail_notification_views.xml27
-rw-r--r--addons/sms/views/res_config_settings_views.xml13
-rw-r--r--addons/sms/views/res_partner_views.xml68
-rw-r--r--addons/sms/views/sms_sms_views.xml68
-rw-r--r--addons/sms/views/sms_template_views.xml100
7 files changed, 324 insertions, 0 deletions
diff --git a/addons/sms/views/assets.xml b/addons/sms/views/assets.xml
new file mode 100644
index 00000000..aa255324
--- /dev/null
+++ b/addons/sms/views/assets.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data>
+ <template id="assets_backend" name="sms_assets" inherit_id="web.assets_backend">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/sms/static/src/js/fields_phone_widget.js"></script>
+ <script type="text/javascript" src="/sms/static/src/js/fields_sms_widget.js"></script>
+
+ <script type="text/javascript" src="/sms/static/src/bugfix/bugfix.js"/>
+ <script type="text/javascript" src="/sms/static/src/components/notification_group/notification_group.js"/>
+ <script type="text/javascript" src="/sms/static/src/models/message/message.js"/>
+ <script type="text/javascript" src="/sms/static/src/models/notification_group/notification_group.js"/>
+
+ <link rel="stylesheet" type="text/scss" href="/sms/static/src/bugfix/bugfix.scss"/>
+ </xpath>
+ </template>
+
+ <template id="qunit_suite" name="sms_widget_tests" inherit_id="web.qunit_suite_tests">
+ <xpath expr="." position="inside">
+ <script type="text/javascript" src="/sms/static/tests/sms_widget_test.js"></script>
+
+ <script type="text/javascript" src="/sms/static/src/bugfix/bugfix_tests.js"/>
+ <script type="text/javascript" src="/sms/static/src/components/message/message_tests.js"/>
+ <script type="text/javascript" src="/sms/static/src/components/notification_list/notification_list_notification_group_tests.js"/>
+ </xpath>
+ </template>
+ </data>
+</odoo>
diff --git a/addons/sms/views/ir_actions_views.xml b/addons/sms/views/ir_actions_views.xml
new file mode 100644
index 00000000..651d345b
--- /dev/null
+++ b/addons/sms/views/ir_actions_views.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo><data>
+
+ <record id="ir_actions_server_view_form" model="ir.ui.view">
+ <field name="name">ir.actions.server.view.form.inherit.sms</field>
+ <field name="model">ir.actions.server</field>
+ <field name="inherit_id" ref="base.view_server_action_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='link_field_id']" position="after">
+ <field name="sms_template_id"
+ context="{'default_model_id': model_id}"
+ attrs="{'invisible': [('state', '!=', 'sms')],
+ 'required': [('state', '=', 'sms')]}"/>
+ <field name="sms_mass_keep_log"
+ attrs="{'invisible': [('state', '!=', 'sms')]}"/>
+ </xpath>
+ </field>
+ </record>
+
+</data></odoo>
diff --git a/addons/sms/views/mail_notification_views.xml b/addons/sms/views/mail_notification_views.xml
new file mode 100644
index 00000000..ed8cfed4
--- /dev/null
+++ b/addons/sms/views/mail_notification_views.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<odoo><data>
+ <record id="mail_notification_view_tree" model="ir.ui.view">
+ <field name="name">mail.notification.view.tree</field>
+ <field name="model">mail.notification</field>
+ <field name="inherit_id" ref="mail.mail_notification_view_tree"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='res_partner_id']" position="after">
+ <field name="sms_number"/>
+ </xpath>
+ </field>
+ </record>
+
+ <record id="mail_notification_view_form" model="ir.ui.view">
+ <field name="name">mail.notification.view.form</field>
+ <field name="model">mail.notification</field>
+ <field name="inherit_id" ref="mail.mail_notification_view_form"/>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='res_partner_id']" position="after">
+ <field name="sms_number"/>
+ </xpath>
+ <xpath expr="//field[@name='mail_id']" position="after">
+ <field name="sms_id"/>
+ </xpath>
+ </field>
+ </record>
+</data></odoo>
diff --git a/addons/sms/views/res_config_settings_views.xml b/addons/sms/views/res_config_settings_views.xml
new file mode 100644
index 00000000..f85b590f
--- /dev/null
+++ b/addons/sms/views/res_config_settings_views.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="res_config_settings_view_form" model="ir.ui.view">
+ <field name="name">res.config.settings.view.form.inherit.sms</field>
+ <field name="model">res.config.settings</field>
+ <field name="inherit_id" ref="base_setup.res_config_settings_view_form"/>
+ <field name="arch" type="xml">
+ <div id="sms_settings" position="inside">
+ <widget name="iap_buy_more_credits" service_name="sms"/>
+ </div>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/sms/views/res_partner_views.xml b/addons/sms/views/res_partner_views.xml
new file mode 100644
index 00000000..09b83503
--- /dev/null
+++ b/addons/sms/views/res_partner_views.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <!-- Add action entry in the Action Menu for Partners -->
+ <record id="res_partner_view_form" model="ir.ui.view">
+ <field name="name">res.partner.view.form.inherit.sms</field>
+ <field name="model">res.partner</field>
+ <field name="inherit_id" ref="base.view_partner_form"/>
+ <field name="priority">10</field>
+ <field name="arch" type="xml">
+ <xpath expr="//field[@name='mobile']" position="after">
+ <field name="phone_sanitized" groups="base.group_no_one" invisible="1"/>
+ </xpath>
+ <xpath expr="//field[@name='phone']" position="replace">
+ <field name="phone_blacklisted" invisible="1"/>
+ <field name="mobile_blacklisted" invisible="1"/>
+ <label for="phone" class="oe_inline"/>
+ <div class="o_row o_row_readonly">
+ <button name="phone_action_blacklist_remove" class="fa fa-ban text-danger"
+ title="This phone number is blacklisted for SMS Marketing. Click to unblacklist."
+ type="object" context="{'default_phone': phone}" groups="base.group_user"
+ attrs="{'invisible': [('phone_blacklisted', '=', False)]}"/>
+ <field name="phone" widget="phone"/>
+ </div>
+ </xpath>
+ <xpath expr="//field[@name='mobile']" position="replace">
+ <field name="phone_blacklisted" invisible="1"/>
+ <field name="mobile_blacklisted" invisible="1"/>
+ <label for="mobile" class="oe_inline"/>
+ <div class="o_row o_row_readonly">
+ <button name="phone_action_blacklist_remove" class="fa fa-ban text-danger"
+ title="This phone number is blacklisted for SMS Marketing. Click to unblacklist."
+ type="object" context="{'default_phone': mobile}" groups="base.group_user"
+ attrs="{'invisible': [('mobile_blacklisted', '=', False)]}"/>
+ <field name="mobile" widget="phone"/>
+ </div>
+ </xpath>
+ </field>
+ </record>
+
+ <!-- Add action entry in the Action Menu for Partners -->
+ <record id="res_partner_act_window_sms_composer_multi" model="ir.actions.act_window">
+ <field name="name">Send SMS Text Message</field>
+ <field name="res_model">sms.composer</field>
+ <field name="view_mode">form</field>
+ <field name="target">new</field>
+ <field name="context">{
+ 'default_composition_mode': 'mass',
+ 'default_mass_keep_log': True,
+ 'default_res_ids': active_ids
+ }</field>
+ <field name="binding_model_id" ref="base.model_res_partner"/>
+ <field name="binding_view_types">list</field>
+ </record>
+ <record id="res_partner_act_window_sms_composer_single" model="ir.actions.act_window">
+ <field name="name">Send SMS Text Message</field>
+ <field name="res_model">sms.composer</field>
+ <field name="view_mode">form</field>
+ <field name="target">new</field>
+ <field name="context">{
+ 'default_composition_mode': 'comment',
+ 'default_res_id': active_id,
+ }</field>
+ <field name="binding_model_id" ref="base.model_res_partner"/>
+ <field name="binding_view_types">form</field>
+ </record>
+
+</odoo>
diff --git a/addons/sms/views/sms_sms_views.xml b/addons/sms/views/sms_sms_views.xml
new file mode 100644
index 00000000..cf60fae6
--- /dev/null
+++ b/addons/sms/views/sms_sms_views.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo><data>
+ <record id="sms_tsms_view_form" model="ir.ui.view">
+ <field name="name">sms.sms.view.form</field>
+ <field name="model">sms.sms</field>
+ <field name="arch" type="xml">
+ <form string="SMS">
+ <header>
+ <button name="send" string="Send Now" type="object" states='outgoing' class="oe_highlight"/>
+ <button name="cancel" string="Cancel" type="object" states='outgoing'/>
+ <field name="state" widget="statusbar"/>
+ </header>
+ <sheet>
+ <group>
+ <group>
+ <field name="partner_id" string="Contact"/>
+ <field name="mail_message_id" readonly="1" attrs="{'invisible': [('mail_message_id', '=', False)]}"/>
+ </group>
+ <group>
+ <field name="number" required="1"/>
+ <field name="error_code" readonly="1" attrs="{'invisible': [('error_code', '=', False)]}"/>
+ </group>
+ </group>
+ <group>
+ <field name="body" widget="sms_widget" string="Message" required="1"/>
+ </group>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="sms_sms_view_tree" model="ir.ui.view">
+ <field name="name">sms.sms.view.tree</field>
+ <field name="model">sms.sms</field>
+ <field name="arch" type="xml">
+ <tree string="SMS Templates">
+ <field name="number"/>
+ <field name="partner_id"/>
+ <field name="state"/>
+ <field name="error_code"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="sms_sms_view_search" model="ir.ui.view">
+ <field name="name">sms.sms.view.search</field>
+ <field name="model">sms.sms</field>
+ <field name="arch" type="xml">
+ <search string="Search SMS Templates">
+ <field name="number"/>
+ <field name="partner_id"/>
+ </search>
+ </field>
+ </record>
+
+ <record id="sms_sms_action" model="ir.actions.act_window">
+ <field name="name">SMS</field>
+ <field name="res_model">sms.sms</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <menuitem id="sms_sms_menu"
+ parent="phone_validation.phone_menu_main"
+ action="sms_sms_action"
+ sequence="1"/>
+
+</data>
+</odoo>
diff --git a/addons/sms/views/sms_template_views.xml b/addons/sms/views/sms_template_views.xml
new file mode 100644
index 00000000..78ddb6ed
--- /dev/null
+++ b/addons/sms/views/sms_template_views.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<odoo><data>
+ <record id="sms_template_view_form" model="ir.ui.view">
+ <field name="name">sms.template.view.form</field>
+ <field name="model">sms.template</field>
+ <field name="arch" type="xml">
+ <form string="SMS Templates">
+ <sheet>
+ <div class="oe_button_box" name="button_box">
+ <field name="sidebar_action_id" invisible="1"/>
+ <button name="action_create_sidebar_action" type="object"
+ groups="base.group_system"
+ class="oe_stat_button"
+ attrs="{'invisible':[('sidebar_action_id','!=',False)]}" icon="fa-plus"
+ help="Add a contextual action on the related model to open a sms composer with this template">
+ <div class="o_field_widget o_stat_info">
+ <span class="o_stat_text">Add</span>
+ <span class="o_stat_text">Context Action</span>
+ </div>
+ </button>
+ <button name="action_unlink_sidebar_action" type="object"
+ groups="base.group_system"
+ class="oe_stat_button" icon="fa-minus"
+ attrs="{'invisible':[('sidebar_action_id','=',False)]}"
+ help="Remove the contextual action of the related model" widget="statinfo">
+ <div class="o_field_widget o_stat_info">
+ <span class="o_stat_text">Remove</span>
+ <span class="o_stat_text">Context Action</span>
+ </div>
+ </button>
+ <button class="oe_stat_button" name="%(sms_template_preview_action)d" icon="fa-search-plus" string="Preview" type="action" target="new"/>
+ </div>
+ <div class="oe_title">
+ <label for="name" class="oe_edit_only" string="SMS Template"/>
+ <h1><field name="name" required="1"/></h1>
+ <group>
+ <field name="model_id" required="1" options="{'no_create': True}"/>
+ <field name="model" invisible="1"/>
+ <field name="lang" groups="base.group_no_one" placeholder="e.g. en_US or ${object.partner_id.lang}"/>
+ </group>
+ </div>
+ <notebook>
+ <page string="Content" name="content">
+ <group>
+ <field name="body" widget="sms_widget" nolabel="1"/>
+ </group>
+ </page>
+ <page string="Dynamic Placeholder Generator" name="dynamic_placeholder_generator" groups="base.group_no_one">
+ <group>
+ <field name="model_object_field"
+ domain="[('model_id','=',model_id),('ttype','!=','one2many'),('ttype','!=','many2many')]"/>
+ <field name="sub_object" readonly="1"/>
+ <field name="sub_model_object_field"
+ domain="[('model_id','=',sub_object),('ttype','!=','one2many'),('ttype','!=','many2many')]"
+ attrs="{'readonly':[('sub_object','=',False)],'required':[('sub_object','!=',False)]}"/>
+ <field name="null_value"/>
+ <field name="copyvalue"/>
+ </group>
+ </page>
+ </notebook>
+ </sheet>
+ </form>
+ </field>
+ </record>
+
+ <record id="sms_template_view_tree" model="ir.ui.view">
+ <field name="name">sms.template.view.tree</field>
+ <field name="model">sms.template</field>
+ <field name="arch" type="xml">
+ <tree string="SMS Templates">
+ <field name="name"/>
+ <field name="model_id"/>
+ </tree>
+ </field>
+ </record>
+
+ <record id="sms_template_view_search" model="ir.ui.view">
+ <field name="name">sms.template.view.search</field>
+ <field name="model">sms.template</field>
+ <field name="arch" type="xml">
+ <search string="Search SMS Templates">
+ <field name="name"/>
+ <field name="model_id"/>
+ </search>
+ </field>
+ </record>
+
+ <record id="sms_template_action" model="ir.actions.act_window">
+ <field name="name">Templates</field>
+ <field name="res_model">sms.template</field>
+ <field name="view_mode">tree,form</field>
+ </record>
+
+ <menuitem id="sms_template_menu"
+ name="SMS Templates"
+ parent="phone_validation.phone_menu_main"
+ sequence="2"
+ action="sms_template_action"/>
+
+</data></odoo>