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/google_drive/views | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/google_drive/views')
| -rw-r--r-- | addons/google_drive/views/google_drive_templates.xml | 17 | ||||
| -rw-r--r-- | addons/google_drive/views/google_drive_views.xml | 115 | ||||
| -rw-r--r-- | addons/google_drive/views/res_config_settings_views.xml | 77 |
3 files changed, 209 insertions, 0 deletions
diff --git a/addons/google_drive/views/google_drive_templates.xml b/addons/google_drive/views/google_drive_templates.xml new file mode 100644 index 00000000..7a02753a --- /dev/null +++ b/addons/google_drive/views/google_drive_templates.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <template id="assets_backend" name="google_drive assets" inherit_id="web.assets_backend"> + <xpath expr="." position="inside"> + <link rel="stylesheet" href="/google_drive/static/src/css/google_drive.css"/> + <script type="text/javascript" src="/google_drive/static/src/js/gdrive.js"></script> + </xpath> + </template> + + <template id="qunit_suite" name="google_drive tests" inherit_id="web.qunit_suite_tests"> + <xpath expr="." position="inside"> + <script type="text/javascript" src="/google_drive/static/tests/mock_server.js"></script> + <script type="text/javascript" src="/google_drive/static/tests/gdrive_test.js"></script> + </xpath> + </template> +</odoo> diff --git a/addons/google_drive/views/google_drive_views.xml b/addons/google_drive/views/google_drive_views.xml new file mode 100644 index 00000000..2879c4e6 --- /dev/null +++ b/addons/google_drive/views/google_drive_views.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="utf-8"?> +<odoo> + + <!-- add google drive config field in user form --> + <record id="view_google_drive_config_tree" model="ir.ui.view"> + <field name="name">google_drive.config.tree</field> + <field name="model">google.drive.config</field> + <field name="arch" type="xml"> + <tree string="Google Drive Configuration"> + <field name="name" /> + <field name="model_id" /> + </tree> + </field> + </record> + + <record id="view_google_drive_config_form" model="ir.ui.view"> + <field name="name">google_drive.config.form</field> + <field name="model">google.drive.config</field> + <field name="arch" type="xml"> + <form string="Google Drive Configuration"> + <field name="model" invisible="1" /> + <group> + <field name="name" /> + <field name="active" widget="boolean_toggle"/> + <field name="model_id"/> + <label for='filter_id' /> + <div> + <field name='filter_id' /> + <p class="oe_grey"> + <b>To create a new filter:</b><br/> + - Go to the Odoo document you want to filter. For instance, go to Opportunities and search on Sales Department.<br/> + - In this "Search" view, select the option "Save Current Filter", enter the name (Ex: Sales Department)<br/> + - If you select "Share with all users", link of google document in "More" options will appear for all users in opportunities of Sales Department.<br/> + - If you don't select "Share with all users", link of google document in "More" options will not appear for other users in opportunities of Sales Department.<br/> + - If filter is not specified, link of google document will appear in "More" option for all users for all opportunities. + </p> + </div> + <field name='google_drive_template_url' placeholder="https://docs.google.com/document/d/1vOtpJK9scIQz6taD9tJRIETWbEw3fSiaQHArsJYcua4/edit" required="1" /> + <field name='google_drive_resource_id' invisible="1" /> + <label for='name_template' /> + <div> + <field name='name_template' /> + <p class="oe_grey"> + The name of the attached document can use fixed or variable data. To distinguish between documents in + Google Drive, use fixed words and fields. For instance, in the example above, if you wrote Deco_Addict_%%(name)s_Sales + in the Google Drive name field, the document in your Google Drive and in Odoo attachment will be named + 'Deco_Addict_SO0001_Sales'. + </p> + </div> + </group> + </form> + </field> + </record> + + <record id="view_google_drive_config_kanban" model="ir.ui.view"> + <field name="name">google.drive.config.kanban</field> + <field name="model">google.drive.config</field> + <field name="arch" type="xml"> + <kanban> + <field name="name"/> + <field name="active"/> + <field name="model_id"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_global_click"> + <div class="row o_kanban_record_title"> + <div class="col-4 text-center"><strong>Template</strong></div> + <div class="col-4 text-center"><strong>Model</strong></div> + <div class="col-4 text-center"><strong>Active</strong></div> + </div> + <hr class="mb4 mt4"/> + <div class="row o_kanban_record_subtitle"> + <div class="col-4 text-center"><field name="name"/></div> + <div class="col-4 text-center"><field name="model_id"/></div> + <div class="col-4 text-center"> + <field name="active" widget="boolean"/> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + + <record id="google_drive_config_view_search" model="ir.ui.view"> + <field name="name">google.drive.config.view.search</field> + <field name="model">google.drive.config</field> + <field name="arch" type="xml"> + <search string="Search Google Drive Config"> + <field name="name"/> + <separator/> + <filter name="archived" string="Archived" domain="[('active', '=', False)]"/> + </search> + </field> + </record> + + <record id='action_google_drive_users_config' model='ir.actions.act_window'> + <field name='name'>Templates</field> + <field name='res_model'>google.drive.config</field> + <field name='type'>ir.actions.act_window</field> + <field name="view_mode">tree,kanban,form</field> + <field name='view_id' ref='view_google_drive_config_tree'/> + <field name="search_view_id" ref="google_drive_config_view_search"/> + <field name="help" type="html"> + <p class="o_view_nocontent_smiling_face"> + Add a new template + </p> + <p> + Link your own google drive templates to any record of Odoo. If you have really specific documents you want your collaborator fill in, e.g. Use a spreadsheet to control the quality of your product or review the delivery checklist for each order in a foreign country, ... Its very easy to manage them, link them to Odoo and use them to collaborate with your employees. + </p> + </field> + </record> + +</odoo> diff --git a/addons/google_drive/views/res_config_settings_views.xml b/addons/google_drive/views/res_config_settings_views.xml new file mode 100644 index 00000000..42965daa --- /dev/null +++ b/addons/google_drive/views/res_config_settings_views.xml @@ -0,0 +1,77 @@ +<?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.google.drive</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="msg_module_google_drive" position="replace"> + <div class="content-group" + attrs="{'invisible': [('module_google_drive','=',False)]}"> + <div class="mt8 row"> + <div class="col-sm"> + <field name="is_google_drive_token_generated" invisible="1"/> + <div role="alert" + attrs="{'invisible': [('is_google_drive_token_generated', '=', False)]}"> + <i class="text-success fa fa-check"></i> &nbsp; Refresh token set + </div> + <div role="alert" + attrs="{'invisible': [('is_google_drive_token_generated', '=', True)]}"> + <i class="fa fa-exclamation-triangle text-warning"></i> &nbsp; No refresh token set + </div> + </div> + <div class="col-sm text-center" + attrs="{'invisible': [('is_google_drive_token_generated', '=', True)]}"> + <button class="btn btn-link" + name="action_setup_token" + type="object"><i class="fa fa-arrow-right"></i> Set up token</button> + </div> + <div class="col-sm text-center" + attrs="{'invisible': [('is_google_drive_token_generated', '=', False)]}"> + <button class="btn btn-link" + name="action_setup_token" + type="object"><i class="fa fa-arrow-right"></i> Reset token</button> + </div> + </div> + <div class="mt8"> + <button type="action" + name="%(action_google_drive_users_config)d" + string="Google Drive Templates" + icon="fa-arrow-right" + class="btn-link pl-0"/> + </div> + </div> + </div> + </field> + </record> + + <record id="google_drive_auth_code_wizard" model="ir.ui.view"> + <field name="name">google.drive.authorization.wizard</field> + <field name="model">res.config.settings</field> + <field name="mode">primary</field> + <field name="priority">2048</field> + <field name="arch" type="xml"> + <form> + <group> + <span>Get an authorization code and set it in the field below.</span> + <field name="google_drive_uri" + class="fa fa-arrow-right mt-1" + widget="url" + text="Get Authorization Code" + nolabel="1"/> + </group> + <group class="mt-3"> + <field name="google_drive_authorization_code" required="1"/> + </group> + <footer> + <button string="Confirm" + class="btn btn-primary" + name="confirm_setup_token" + type="object"/> + <button special="cancel" string="Cancel" /> + </footer> + </form> + </field> + </record> +</odoo> |
