summaryrefslogtreecommitdiff
path: root/odoo
diff options
context:
space:
mode:
authorFabien Pinckaers <fp@openerp.com>2018-08-05 22:31:32 +0200
committerFabien Pinckaers <fp@openerp.com>2018-08-06 00:29:51 +0200
commit7c8ab8a574cdef9f8fe3c2df3b2b56e9a03ef79b (patch)
tree2f50331d7d6df5de8e87543adaf402cf2981177c /odoo
parent0a6353216b0428941491fc8ebde58a47985955ea (diff)
[IMP] base: improve kanban of modules, cards not clickable (top-right menu)
[NEW] base: show enterprise module, with an 'upgrade' button [IMP] *: some modules renaming, and improved copywriting of manifest [IMP] *: utm on links to odoo.com
Diffstat (limited to 'odoo')
-rw-r--r--odoo/addons/base/__manifest__.py1
-rw-r--r--odoo/addons/base/data/base_data.sql1
-rw-r--r--odoo/addons/base/data/ir_module_category_data.xml7
-rw-r--r--odoo/addons/base/data/ir_module_module.xml239
-rw-r--r--odoo/addons/base/models/ir_module.py3
-rw-r--r--odoo/addons/base/static/img/icons/account_accountant.pngbin0 -> 1723 bytes
-rw-r--r--odoo/addons/base/static/img/icons/helpdesk.pngbin0 -> 5202 bytes
-rw-r--r--odoo/addons/base/static/img/icons/hr_appraisal.pngbin0 -> 2305 bytes
-rw-r--r--odoo/addons/base/static/img/icons/marketing_automation.pngbin0 -> 1603 bytes
-rw-r--r--odoo/addons/base/static/img/icons/mrp_plm.pngbin0 -> 9731 bytes
-rw-r--r--odoo/addons/base/static/img/icons/mrp_workorder.pngbin0 -> 3570 bytes
-rw-r--r--odoo/addons/base/static/img/icons/project_forecast.pngbin0 -> 1635 bytes
-rw-r--r--odoo/addons/base/static/img/icons/quality_control.pngbin0 -> 8970 bytes
-rw-r--r--odoo/addons/base/static/img/icons/sale_ebay.pngbin0 -> 2030 bytes
-rw-r--r--odoo/addons/base/static/img/icons/sale_subscription.pngbin0 -> 2649 bytes
-rw-r--r--odoo/addons/base/static/img/icons/sign.pngbin0 -> 2202 bytes
-rw-r--r--odoo/addons/base/static/img/icons/stock_barcode.pngbin0 -> 1672 bytes
-rw-r--r--odoo/addons/base/static/img/icons/timesheet_grid.pngbin0 -> 4151 bytes
-rw-r--r--odoo/addons/base/static/img/icons/voip.pngbin0 -> 3240 bytes
-rw-r--r--odoo/addons/base/static/img/icons/web_mobile.pngbin0 -> 4530 bytes
-rw-r--r--odoo/addons/base/static/img/icons/web_studio.pngbin0 -> 3148 bytes
-rw-r--r--odoo/addons/base/static/img/icons/website_calendar.pngbin0 -> 5153 bytes
-rw-r--r--odoo/addons/base/static/src/css/modules.css8
-rw-r--r--odoo/addons/base/views/ir_module_views.xml29
24 files changed, 271 insertions, 17 deletions
diff --git a/odoo/addons/base/__manifest__.py b/odoo/addons/base/__manifest__.py
index 637656cb70a..d47214a5ce9 100644
--- a/odoo/addons/base/__manifest__.py
+++ b/odoo/addons/base/__manifest__.py
@@ -46,6 +46,7 @@ The kernel of Odoo, needed for all installation.
'views/ir_qweb_widget_templates.xml',
'views/ir_module_views.xml',
'data/ir_module_category_data.xml',
+ 'data/ir_module_module.xml',
'report/ir_module_reports.xml',
'report/ir_module_report_templates.xml',
'wizard/base_module_update_views.xml',
diff --git a/odoo/addons/base/data/base_data.sql b/odoo/addons/base/data/base_data.sql
index 67d2fb9ada5..760205e3a89 100644
--- a/odoo/addons/base/data/base_data.sql
+++ b/odoo/addons/base/data/base_data.sql
@@ -64,6 +64,7 @@ CREATE TABLE ir_module_module (
license character varying(32),
sequence integer DEFAULT 100,
auto_install boolean default False,
+ to_buy boolean default False,
primary key(id)
);
ALTER TABLE ir_module_module add constraint name_uniq unique (name);
diff --git a/odoo/addons/base/data/ir_module_category_data.xml b/odoo/addons/base/data/ir_module_category_data.xml
index 9ee32afd9dd..64ae170d68a 100644
--- a/odoo/addons/base/data/ir_module_category_data.xml
+++ b/odoo/addons/base/data/ir_module_category_data.xml
@@ -161,6 +161,13 @@
<field name="sequence">25</field>
</record>
+ <record model="ir.module.category" id="module_category_helpdesk">
+ <field name="name">After-Sales</field>
+ <field name="description">After-sales services</field>
+ <field name="sequence">2</field>
+ </record>
+
+
<record model="ir.module.category" id="module_category_theme">
<field name="name">Theme</field>
<field name="exclusive" eval="1"/>
diff --git a/odoo/addons/base/data/ir_module_module.xml b/odoo/addons/base/data/ir_module_module.xml
new file mode 100644
index 00000000000..0cd9dd6189a
--- /dev/null
+++ b/odoo/addons/base/data/ir_module_module.xml
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <data>
+
+ <record model="ir.module.module" id="base.module_web_studio">
+ <field name="name">web_studio</field>
+ <field name="shortdesc">Studio</field>
+ <field name="sequence">17</field>
+ <field name="category_id" ref="base.module_category_administration"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Create and Customize Applications</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/web_studio.png</field>
+ <field name="website">https://odoo.com/page/studio?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_timesheet_grid">
+ <field name="name">timesheet_grid</field>
+ <field name="shortdesc">Timesheets</field>
+ <field name="sequence">11</field>
+ <field name="category_id" ref="base.module_category_hr_timesheet"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Track time &amp; costs</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/timesheet_grid.png</field>
+ <field name="website">https://www.odoo.com/page/timesheet-mobile-app?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_account_accountant">
+ <field name="name">account_accountant</field>
+ <field name="sequence">15</field>
+ <field name="shortdesc">Accounting</field>
+ <field name="category_id" ref="base.module_category_accounting_and_finance"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Accounting, Taxes, Budgets, Assets...</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/account_accountant.png</field>
+ <field name="website">https://www.odoo.com/page/accounting?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_helpdesk">
+ <field name="name">helpdesk</field>
+ <field name="shortdesc">Helpdesk</field>
+ <field name="sequence">65</field>
+ <field name="category_id" ref="base.module_category_helpdesk"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Track support tickets</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/helpdesk.png</field>
+ <field name="website">https://www.odoo.com/page/helpdesk?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_hr_appraisal">
+ <field name="name">hr_appraisal</field>
+ <field name="shortdesc">Appraisal</field>
+ <field name="category_id" ref="base.module_category_hr_appraisal"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Assess your employees</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/hr_appraisal.png</field>
+ <field name="website">https://www.odoo.com/page/appraisal?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_marketing_automation">
+ <field name="name">marketing_automation</field>
+ <field name="shortdesc">Marketing Automation</field>
+ <field name="sequence">111</field>
+ <field name="category_id" ref="base.module_category_mass_mailing"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Build automated mailing campaigns</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/marketing_automation.png</field>
+ <field name="website">https://www.odoo.com/page/marketing-automation?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_mrp_plm">
+ <field name="name">mrp_plm</field>
+ <field name="shortdesc">Product Lifecycle Management (PLM)</field>
+ <field name="category_id" ref="base.module_category_manufacturing"/>
+ <field name="sequence">17</field>
+ <field name="application" eval="True"/>
+ <field name="summary">PLM, ECOs, Versions</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/mrp_plm.png</field>
+ <field name="website">https://www.odoo.com/page/mrp-plm?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_quality_control">
+ <field name="name">quality_control</field>
+ <field name="shortdesc">Quality</field>
+ <field name="sequence">17</field>
+ <field name="category_id" ref="base.module_category_manufacturing"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Quality Alerts, Control Points</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/quality_control.png</field>
+ <field name="website">https://www.odoo.com/page/quality-management-software?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_sale_ebay">
+ <field name="name">sale_ebay</field>
+ <field name="shortdesc">eBay Connector</field>
+ <field name="category_id" ref="base.module_category_sales_management"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Sell on eBay easily</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/sale_ebay.png</field>
+ <field name="website">https://www.odoo.com/page/sales?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_project_forecast">
+ <field name="name">project_forecast</field>
+ <field name="shortdesc">Project Forecast</field>
+ <field name="category_id" ref="base.module_category_project_management"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Project forecasts, resource allocation</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/project_forecast.png</field>
+ <field name="website">https://www.odoo.com/page/project?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_sale_subscription">
+ <field name="name">sale_subscription</field>
+ <field name="shortdesc">Subscriptions</field>
+ <field name="category_id" ref="base.module_category_sales_management"/>
+ <field name="application" eval="True"/>
+ <field name="summary">MRR, Churn, Recurring payments</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/sale_subscription.png</field>
+ <field name="website">https://www.odoo.com/page/subscriptions?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_sign">
+ <field name="name">sign</field>
+ <field name="shortdesc">Sign</field>
+ <field name="category_id" ref="base.module_category_sign"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Send documents to sign online</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/sign.png</field>
+ <field name="website">https://www.odoo.com/page/sign?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_stock_barcode">
+ <field name="name">stock_barcode</field>
+ <field name="shortdesc">Barcode</field>
+ <field name="sequence">14</field>
+ <field name="category_id" ref="base.module_category_warehouse_management"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Barcode scanner for warehouses</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/stock_barcode.png</field>
+ <field name="website">https://www.odoo.com/page/warehouse?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_voip">
+ <field name="name">voip</field>
+ <field name="shortdesc">VoIP</field>
+ <field name="sequence">100</field>
+ <field name="category_id" ref="base.module_category_sales_management"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Call using VoIP</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/voip.png</field>
+ <field name="website">https://www.odoo.com/page/crm?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_website_calendar">
+ <field name="name">website_calendar</field>
+ <field name="shortdesc">Appointments</field>
+ <field name="category_id" ref="base.module_category_sales_management"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Online appointments scheduler</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/website_calendar.png</field>
+ <field name="website">https://www.odoo.com/page/appointments?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_mrp_workorder">
+ <field name="name">mrp_workorder</field>
+ <field name="sequence">16</field>
+ <field name="shortdesc">MRP II</field>
+ <field name="category_id" ref="base.module_category_manufacturing"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Work Orders, Planing, Routing</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/mrp_workorder.png</field>
+ <field name="website">https://www.odoo.com/page/mrp-cloud-software?utm_source=db&amp;utm_medium=module</field>
+ </record>
+
+ <record model="ir.module.module" id="base.module_web_mobile">
+ <field name="name">web_mobile</field>
+ <field name="sequence">220</field>
+ <field name="shortdesc">Android &amp; iPhone</field>
+ <field name="category_id" ref="base.module_category_administration"/>
+ <field name="application" eval="True"/>
+ <field name="summary">Support for Android &amp; iOS Apps</field>
+ <field name="license">OEEL-1</field>
+ <field name="author">Odoo S.A.</field>
+ <field name="to_buy" eval="True"/>
+ <field name="icon">/base/static/img/icons/web_mobile.png</field>
+ <field name="website">https://play.google.com/store/apps/details?id=com.odoo.mobile</field>
+ </record>
+
+
+ </data>
+</odoo>
diff --git a/odoo/addons/base/models/ir_module.py b/odoo/addons/base/models/ir_module.py
index caf9a51ca87..96ad1370808 100644
--- a/odoo/addons/base/models/ir_module.py
+++ b/odoo/addons/base/models/ir_module.py
@@ -292,6 +292,7 @@ class Module(models.Model):
application = fields.Boolean('Application', readonly=True)
icon = fields.Char('Icon URL')
icon_image = fields.Binary(string='Icon', compute='_get_icon_image')
+ to_buy = fields.Boolean('Odoo Enterprise Module', default=False)
_sql_constraints = [
('name_uniq', 'UNIQUE (name)', 'The name of the module must be unique!'),
@@ -685,7 +686,7 @@ class Module(models.Model):
values = self.get_values_from_terp(terp)
if mod:
- updated_values = {}
+ updated_values = {'to_buy': False}
for key in values:
old = getattr(mod, key)
updated = tools.ustr(values[key]) if isinstance(values[key], pycompat.string_types) else values[key]
diff --git a/odoo/addons/base/static/img/icons/account_accountant.png b/odoo/addons/base/static/img/icons/account_accountant.png
new file mode 100644
index 00000000000..9f0c5c6dad4
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/account_accountant.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/helpdesk.png b/odoo/addons/base/static/img/icons/helpdesk.png
new file mode 100644
index 00000000000..da83205e710
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/helpdesk.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/hr_appraisal.png b/odoo/addons/base/static/img/icons/hr_appraisal.png
new file mode 100644
index 00000000000..9728a68221a
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/hr_appraisal.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/marketing_automation.png b/odoo/addons/base/static/img/icons/marketing_automation.png
new file mode 100644
index 00000000000..018a04f691e
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/marketing_automation.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/mrp_plm.png b/odoo/addons/base/static/img/icons/mrp_plm.png
new file mode 100644
index 00000000000..4e74a62b9e0
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/mrp_plm.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/mrp_workorder.png b/odoo/addons/base/static/img/icons/mrp_workorder.png
new file mode 100644
index 00000000000..c8ecda7cfc2
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/mrp_workorder.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/project_forecast.png b/odoo/addons/base/static/img/icons/project_forecast.png
new file mode 100644
index 00000000000..cfa73818cd5
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/project_forecast.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/quality_control.png b/odoo/addons/base/static/img/icons/quality_control.png
new file mode 100644
index 00000000000..302e23dd4e8
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/quality_control.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/sale_ebay.png b/odoo/addons/base/static/img/icons/sale_ebay.png
new file mode 100644
index 00000000000..bd83ea1cb94
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/sale_ebay.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/sale_subscription.png b/odoo/addons/base/static/img/icons/sale_subscription.png
new file mode 100644
index 00000000000..d77f97979bc
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/sale_subscription.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/sign.png b/odoo/addons/base/static/img/icons/sign.png
new file mode 100644
index 00000000000..332788e6294
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/sign.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/stock_barcode.png b/odoo/addons/base/static/img/icons/stock_barcode.png
new file mode 100644
index 00000000000..41297d6a972
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/stock_barcode.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/timesheet_grid.png b/odoo/addons/base/static/img/icons/timesheet_grid.png
new file mode 100644
index 00000000000..fa79f0327ff
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/timesheet_grid.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/voip.png b/odoo/addons/base/static/img/icons/voip.png
new file mode 100644
index 00000000000..32e9057ddc2
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/voip.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/web_mobile.png b/odoo/addons/base/static/img/icons/web_mobile.png
new file mode 100644
index 00000000000..8eb7f8b4423
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/web_mobile.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/web_studio.png b/odoo/addons/base/static/img/icons/web_studio.png
new file mode 100644
index 00000000000..761e6d1fcfe
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/web_studio.png
Binary files differ
diff --git a/odoo/addons/base/static/img/icons/website_calendar.png b/odoo/addons/base/static/img/icons/website_calendar.png
new file mode 100644
index 00000000000..e03b8ac63b6
--- /dev/null
+++ b/odoo/addons/base/static/img/icons/website_calendar.png
Binary files differ
diff --git a/odoo/addons/base/static/src/css/modules.css b/odoo/addons/base/static/src/css/modules.css
index bbda49fd6cc..47216367186 100644
--- a/odoo/addons/base/static/src/css/modules.css
+++ b/odoo/addons/base/static/src/css/modules.css
@@ -13,12 +13,6 @@
padding-left: 85px;
}
-.oe_module_action .float-right {
- position: absolute;
- bottom: 8px;
- right: 8px;
-}
-
.oe_module_desc h4 {
margin: 0;
font-size: 13px;
@@ -27,7 +21,7 @@
.oe_module_name > span {
color: #999999;
- height: 36px;
+ min-height: 26px;
line-height: 1.2;
display: inline-block;
}
diff --git a/odoo/addons/base/views/ir_module_views.xml b/odoo/addons/base/views/ir_module_views.xml
index df5a741065a..2bb22ec606a 100644
--- a/odoo/addons/base/views/ir_module_views.xml
+++ b/odoo/addons/base/views/ir_module_views.xml
@@ -66,7 +66,8 @@
By <field name="author" class="oe_inline" placeholder="Author Name"/>
</h3>
<div>
- <button name="button_immediate_install" states="uninstalled" string="Install" type="object" class="btn btn-primary"/>
+ <button name="button_immediate_install" string="Install" attrs="{'invisible': ['|', ('to_buy','=',True), ('state','!=', 'uninstalled')]}" type="object" class="btn btn-primary"/>
+ <a href="https://odoo.com/pricing?utm_source=db&amp;utm_medium=module" class="btn btn-primary" states="uninstalled" attrs="{'invisible': [('to_buy','=',False)]}" role="button">Upgrade</a>
<button name="button_immediate_upgrade" states="installed" string="Upgrade" type="object" class="btn btn-primary"/>
<button name="button_discover" string="Discover" type="object" attrs="{'invisible':['|', ('website', '=', False), ('application', '=', False)]}" class="btn btn-secondary"/>
<button name="button_uninstall_wizard" states="installed" string="Uninstall" type="object" class="btn btn-secondary"/>
@@ -83,6 +84,7 @@
<field name="website" widget="url" attrs="{'invisible':[('website','=',False)]}"/>
<field name="category_id" widget="selection"/>
<field name="summary"/>
+ <field name="to_buy" invisible="1"/>
</group>
<group>
<field name="name"/>
@@ -139,6 +141,7 @@
<field name="shortdesc"/>
<field name="name" groups="base.group_no_one"/>
<field name="author"/>
+ <field name="website"/>
<field name="installed_version"/>
<field name="state"/>
<field name="category_id" invisible="1"/>
@@ -151,6 +154,7 @@
<field name="arch" type="xml">
<kanban create="false">
<field name="icon"/>
+ <field name="to_buy"/>
<field name="name"/>
<field name="state"/>
<field name="summary"/>
@@ -158,13 +162,14 @@
<field name="application"/>
<templates>
<t t-name="kanban-box">
- <div class="oe_module_vignette oe_kanban_global_click">
+ <div class="oe_module_vignette">
<t t-set="installed" t-value="record.state.raw_value == 'installed'"/>
<div t-if="installed or record.website.raw_value and record.application.raw_value" class="o_dropdown_kanban dropdown">
<a class="dropdown-toggle o-no-caret btn" data-toggle="dropdown" href="#" role="button" aria-label="Dropdown menu" title="Dropdown menu">
<span class="fa fa-ellipsis-v"/>
</a>
<div class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+ <a type="edit" class="dropdown-item">More Info</a>
<a t-if="record.website.raw_value and record.application.raw_value" role="menuitem" class="dropdown-item" t-att-href="record.website.raw_value" target="_blank">Discover</a>
<a t-if="installed" name="button_immediate_upgrade" type="object" role="menuitem" class="dropdown-item">Upgrade</a>
<a t-if="installed" name="button_uninstall_wizard" type="object" role="menuitem" class="dropdown-item">Uninstall</a>
@@ -172,16 +177,22 @@
</div>
<img t-attf-src="#{record.icon.value}" class="oe_module_icon" alt="Icon"/>
<div class="oe_module_desc" t-att-title="record.shortdesc.value">
- <h4 class="o_kanban_record_title"><field name="shortdesc"/></h4>
+ <h4 class="o_kanban_record_title">
+ <field name="shortdesc"/>&amp;nbsp;
+ <code groups="base.group_no_one"><field name="name"/></code>
+ </h4>
<p class="oe_module_name">
- <t t-if="record.summary.raw_value"><field name="summary"/><br/></t>
+ <t t-if="record.summary.raw_value"><field name="summary"/></t>
</p>
<div class="oe_module_action">
- <code groups="base.group_no_one"><small><field name="name"/></small></code>
- <button type="object" class="btn btn-primary float-right" name="button_immediate_install" states="uninstalled">Install</button>
- <span t-if="installed" class="float-right text-muted mr8">Installed</span>
- <button states="to remove" type="object" class="btn btn-primary float-right" name="button_uninstall_cancel">Cancel UnInstall</button>
- <button states="to install" type="object" class="btn btn-primary float-right" name="button_install_cancel">Cancel Install</button>
+
+ <button name="button_discover" type="object" attrs="{'invisible':[('website', '=', False)]}" class="btn btn-secondary float-right">Discover</button>
+ <button type="object" class="btn btn-primary" name="button_immediate_install" states="uninstalled" t-if="! record.to_buy.raw_value">Install</button>
+ <a href="https://odoo.com/pricing?utm_source=db&amp;utm_medium=module" class="btn btn-info" states="uninstalled" t-if="record.to_buy.raw_value" role="button">Upgrade</a>
+
+ <div t-if="installed" class="text-muted mt8 float-left">Installed</div>
+ <button states="to remove" type="object" class="btn btn-primary" name="button_uninstall_cancel">Cancel UnInstall</button>
+ <button states="to install" type="object" class="btn btn-primary" name="button_install_cancel">Cancel Install</button>
</div>
</div>
</div>