mirror of
https://github.com/bringout/oca-ocb-mail.git
synced 2026-04-21 04:21:59 +02:00
Initial commit: Mail packages
This commit is contained in:
commit
4e53507711
1948 changed files with 751201 additions and 0 deletions
|
|
@ -0,0 +1,22 @@
|
|||
<?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': model_name}"
|
||||
attrs="{'invisible': [('state', '!=', 'sms')],
|
||||
'required': [('state', '=', 'sms')]}"/>
|
||||
<field name="sms_method"
|
||||
string="Send as"
|
||||
attrs="{'invisible': [('state', '!=', 'sms')],
|
||||
'required': [('state', '=', 'sms')]}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data></odoo>
|
||||
|
|
@ -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_mail_id']" position="after">
|
||||
<field name="sms_id"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data></odoo>
|
||||
|
|
@ -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" hide_service="1"/>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
79
odoo-bringout-oca-ocb-sms/sms/views/res_partner_views.xml
Normal file
79
odoo-bringout-oca-ocb-sms/sms/views/res_partner_views.xml
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
<?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>
|
||||
|
||||
<record id="res_partner_view_search" model="ir.ui.view">
|
||||
<field name="name">res.partner.view.search.inherit.sms</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_res_partner_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='phone']" position="replace">
|
||||
<field name="phone_mobile_search"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
80
odoo-bringout-oca-ocb-sms/sms/views/sms_sms_views.xml
Normal file
80
odoo-bringout-oca-ocb-sms/sms/views/sms_sms_views.xml
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
<?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="action_set_outgoing" string="Retry" type="object" states='error,canceled'/>
|
||||
<button name="action_set_canceled" string="Cancel" type="object" states='error,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="failure_type" readonly="1" attrs="{'invisible': [('failure_type', '=', 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="failure_type"/>
|
||||
<field name="state" widget="badge" decoration-info="state == 'outgoing'" decoration-muted="state == 'canceled'" decoration-success="state == 'sent'" decoration-danger="state == 'error'"/>
|
||||
<button name="send" string="Send Now" type="object" icon="fa-paper-plane" states="outgoing"/>
|
||||
<button name="action_set_outgoing" string="Retry" type="object" icon="fa-repeat" states="error,canceled"/>
|
||||
<button name="action_set_canceled" string="Cancel" type="object" icon="fa-times-circle" states="error,outgoing"/>
|
||||
</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"/>
|
||||
|
||||
<record id="ir_actions_server_sms_sms_resend" model="ir.actions.server">
|
||||
<field name="name">Resend</field>
|
||||
<field name="model_id" ref="sms.model_sms_sms"/>
|
||||
<field name="binding_model_id" ref="sms.model_sms_sms"/>
|
||||
<field name="binding_view_types">list</field>
|
||||
<field name="state">code</field>
|
||||
<field name="code">action = records.resend_failed()</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
95
odoo-bringout-oca-ocb-sms/sms/views/sms_template_views.xml
Normal file
95
odoo-bringout-oca-ocb-sms/sms/views/sms_template_views.xml
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
<?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">
|
||||
<header>
|
||||
<field name="template_fs" invisible="1"/>
|
||||
<button string="Reset Template"
|
||||
name="%(sms_template_reset_action)d" type="action"
|
||||
groups="base.group_system"
|
||||
attrs="{'invisible': [('template_fs', '=', False)]}"/>
|
||||
</header>
|
||||
<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_no_one"
|
||||
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_no_one"
|
||||
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" string="SMS Template"/>
|
||||
<h1><field name="name" placeholder="e.g. Calendar Reminder" required="1"/></h1>
|
||||
<group>
|
||||
<field name="model_id" placeholder="e.g. Contact" 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" colspan="2"/>
|
||||
</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>
|
||||
Loading…
Add table
Add a link
Reference in a new issue