Files
Odoo-Modules/fusion_ringcentral/views/rc_config_views.xml
gsinghpal e8e554de95 changes
2026-02-23 00:32:20 -05:00

171 lines
8.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- RC Config Form View -->
<record id="view_rc_config_form" model="ir.ui.view">
<field name="name">rc.config.form</field>
<field name="model">rc.config</field>
<field name="arch" type="xml">
<form string="RingCentral Configuration">
<header>
<button name="action_test_connection" type="object"
string="Test Connection" icon="fa-plug"
class="btn-secondary"/>
<button name="action_oauth_connect" type="object"
string="Connect (OAuth)" icon="fa-sign-in"
class="btn-primary"
invisible="state == 'connected'"
confirm="You will be redirected to RingCentral to authorize. Continue?"/>
<button name="action_disconnect" type="object"
string="Disconnect" icon="fa-sign-out"
class="btn-danger"
invisible="state != 'connected'"
confirm="This will revoke the RingCentral connection. Continue?"/>
<button name="action_import_historical_calls" type="object"
string="Import Call History (12 months)"
icon="fa-history"
class="btn-secondary"
invisible="state != 'connected'"
confirm="This will import up to 12 months of call history from RingCentral. This may take a few minutes. Continue?"/>
<button name="action_import_historical_voicemails" type="object"
string="Import Voicemails (12 months)"
icon="fa-voicemail"
class="btn-secondary"
invisible="state != 'connected'"
confirm="This will import up to 12 months of voicemails from RingCentral. This runs in the background. Continue?"/>
<button name="action_import_historical_faxes" type="object"
string="Import Faxes (12 months)"
icon="fa-fax"
class="btn-secondary"
invisible="state != 'connected'"
confirm="This will import up to 12 months of faxes from RingCentral. This runs in the background. Continue?"/>
<button name="action_backfill_voicemail_media" type="object"
string="Download Voicemail Audio"
icon="fa-download"
class="btn-secondary"
invisible="state != 'connected'"
confirm="This will download audio files and transcriptions for voicemails that are missing them. Continue?"/>
<button name="action_rematch_contacts" type="object"
string="Re-match Contacts"
icon="fa-users"
class="btn-secondary"
invisible="state != 'connected'"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,connected"/>
</header>
<sheet>
<div class="oe_title">
<h1>
<field name="name" placeholder="Configuration Name"/>
</h1>
</div>
<group>
<group string="Application Credentials">
<field name="client_id" placeholder="Client ID from RingCentral Developer Console"/>
<field name="client_secret" password="True"
placeholder="Client Secret"/>
<field name="server_url"
placeholder="https://platform.ringcentral.com"/>
</group>
<group string="Connection Status">
<field name="extension_name" invisible="state != 'connected'"/>
<field name="phone_widget_enabled"/>
<field name="webhook_subscription_id" invisible="not webhook_subscription_id"/>
<field name="token_expiry" invisible="state != 'connected'"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</group>
<group string="Proxy Settings (Optional)" col="4">
<field name="proxy_url" placeholder="http://proxy.company.com"/>
<field name="proxy_port" placeholder="8080"/>
<field name="ssl_verify"/>
</group>
<div class="alert alert-info" role="alert"
invisible="state == 'connected'">
<strong>Setup Instructions:</strong>
<ol class="mb-0">
<li>Enter your Client ID and Client Secret from the
<a href="https://developers.ringcentral.com/my-account.html"
target="_blank">RingCentral Developer Console</a>.</li>
<li>Click <strong>Test Connection</strong> to verify connectivity.</li>
<li>Click <strong>Connect (OAuth)</strong> to authorize with your RingCentral account.</li>
<li>Add these redirect URIs to your RingCentral app:
<ul>
<li><code>{your-odoo-url}/ringcentral/oauth</code></li>
<li><code>https://apps.ringcentral.com/integration/ringcentral-embeddable/latest/redirect.html</code></li>
</ul>
</li>
</ol>
</div>
<div class="alert alert-success" role="alert"
invisible="state != 'connected'">
<i class="fa fa-check-circle"/> Connected to RingCentral as
<strong><field name="extension_name" nolabel="1" readonly="1" class="d-inline"/></strong>.
The phone widget, call history sync, and webhooks are active.
</div>
</sheet>
</form>
</field>
</record>
<!-- RC Config List View -->
<record id="view_rc_config_list" model="ir.ui.view">
<field name="name">rc.config.list</field>
<field name="model">rc.config</field>
<field name="arch" type="xml">
<list string="RingCentral Configurations">
<field name="name"/>
<field name="server_url"/>
<field name="extension_name"/>
<field name="phone_widget_enabled"/>
<field name="state" widget="badge"
decoration-success="state == 'connected'"
decoration-warning="state == 'draft'"
decoration-danger="state == 'error'"/>
</list>
</field>
</record>
<!-- Action and Menu -->
<record id="action_rc_config" model="ir.actions.act_window">
<field name="name">RingCentral Settings</field>
<field name="res_model">rc.config</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Configure RingCentral Integration
</p>
<p>
Create a configuration record to connect Odoo with your RingCentral account.
</p>
</field>
</record>
<!-- Top-level menu: Fusion Connect (visible to all RC users) -->
<menuitem id="menu_rc_root"
name="Fusion Connect"
web_icon="fusion_ringcentral,static/description/icon.png"
groups="group_rc_user"
sequence="44"/>
<!-- Configuration submenu (managers only) -->
<menuitem id="menu_rc_configuration"
name="Configuration"
parent="menu_rc_root"
groups="group_rc_manager"
sequence="90"/>
<menuitem id="menu_rc_config_settings"
name="RingCentral Settings"
parent="menu_rc_configuration"
action="action_rc_config"
groups="group_rc_manager"
sequence="10"/>
</odoo>