summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/im_livechat/models/im_livechat_channel.py2
-rw-r--r--addons/im_livechat/models/mail_channel.py1
-rw-r--r--addons/im_livechat/report/im_livechat_report_channel.py2
-rw-r--r--addons/im_livechat/report/im_livechat_report_operator.py2
-rw-r--r--addons/website/models/website.py3
-rw-r--r--addons/website_crm_partner_assign/report/crm_lead_report.py76
-rw-r--r--addons/website_customer/models/res_partner.py2
-rw-r--r--addons/website_event_questions/models/event.py3
-rw-r--r--addons/website_event_questions/report/report_event_registrations_questions.py1
-rw-r--r--addons/website_event_track/models/event.py1
-rw-r--r--addons/website_event_track/models/event_track.py6
-rw-r--r--addons/website_form/models/models.py2
-rw-r--r--addons/website_forum/models/forum.py2
-rw-r--r--addons/website_sale/models/product.py2
-rw-r--r--addons/website_sale_wishlist/models/product_wishlist.py1
-rw-r--r--addons/website_slides/models/slides.py2
-rw-r--r--addons/website_theme_install/models/ir_module_module.py1
-rw-r--r--addons/website_theme_install/models/theme_models.py5
-rw-r--r--addons/website_twitter/models/website_twitter_tweet.py1
19 files changed, 30 insertions, 85 deletions
diff --git a/addons/im_livechat/models/im_livechat_channel.py b/addons/im_livechat/models/im_livechat_channel.py
index f7368853ffc..f5547e8cd66 100644
--- a/addons/im_livechat/models/im_livechat_channel.py
+++ b/addons/im_livechat/models/im_livechat_channel.py
@@ -208,7 +208,7 @@ class ImLivechatChannelRule(models.Model):
"""
_name = 'im_livechat.channel.rule'
- _description = 'Channel Rules'
+ _description = 'Livechat Channel Rules'
_order = 'sequence asc'
diff --git a/addons/im_livechat/models/mail_channel.py b/addons/im_livechat/models/mail_channel.py
index db90ff357e6..4572ba64848 100644
--- a/addons/im_livechat/models/mail_channel.py
+++ b/addons/im_livechat/models/mail_channel.py
@@ -30,6 +30,7 @@ class MailChannel(models.Model):
_name = 'mail.channel'
_inherit = ['mail.channel', 'rating.mixin']
+ _description = 'Discussion channel'
anonymous_name = fields.Char('Anonymous Name')
channel_type = fields.Selection(selection_add=[('livechat', 'Livechat Conversation')])
diff --git a/addons/im_livechat/report/im_livechat_report_channel.py b/addons/im_livechat/report/im_livechat_report_channel.py
index 5749177b388..ffae21169ab 100644
--- a/addons/im_livechat/report/im_livechat_report_channel.py
+++ b/addons/im_livechat/report/im_livechat_report_channel.py
@@ -8,7 +8,7 @@ class ImLivechatReportChannel(models.Model):
""" Livechat Support Report on the Channels """
_name = "im_livechat.report.channel"
- _description = "Livechat Support Report"
+ _description = "Livechat Support Channel Report"
_order = 'start_date, technical_name'
_auto = False
diff --git a/addons/im_livechat/report/im_livechat_report_operator.py b/addons/im_livechat/report/im_livechat_report_operator.py
index 4a561296eaf..30adad7a5d7 100644
--- a/addons/im_livechat/report/im_livechat_report_operator.py
+++ b/addons/im_livechat/report/im_livechat_report_operator.py
@@ -8,7 +8,7 @@ class ImLivechatReportOperator(models.Model):
""" Livechat Support Report on the Operator """
_name = "im_livechat.report.operator"
- _description = "Livechat Support Report"
+ _description = "Livechat Support Operator Report"
_order = 'livechat_channel_id, partner_id'
_auto = False
diff --git a/addons/website/models/website.py b/addons/website/models/website.py
index 7504fa5c2ec..fc6ff771e1c 100644
--- a/addons/website/models/website.py
+++ b/addons/website/models/website.py
@@ -755,6 +755,7 @@ class SeoMetadata(models.AbstractModel):
class WebsiteMultiMixin(models.AbstractModel):
_name = 'website.multi.mixin'
+ _description = 'Multi Website Mixin'
website_id = fields.Many2one('website', string='Website', help='Restrict publishing to this website.')
@@ -771,6 +772,7 @@ class WebsiteMultiMixin(models.AbstractModel):
class WebsitePublishedMixin(models.AbstractModel):
_name = "website.published.mixin"
+ _description = 'Website Published Mixin'
website_published = fields.Boolean('Visible on current website', related='is_published')
is_published = fields.Boolean('Is published')
@@ -803,6 +805,7 @@ class WebsitePublishedMultiMixin(WebsitePublishedMixin):
_name = 'website.published.multi.mixin'
_inherit = ['website.published.mixin', 'website.multi.mixin']
+ _description = 'Multi Website Published Mixin'
website_published = fields.Boolean(compute='_compute_website_published',
inverse='_inverse_website_published',
diff --git a/addons/website_crm_partner_assign/report/crm_lead_report.py b/addons/website_crm_partner_assign/report/crm_lead_report.py
deleted file mode 100644
index 5971c239b2e..00000000000
--- a/addons/website_crm_partner_assign/report/crm_lead_report.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-from odoo import api, fields, models
-from odoo import tools
-from odoo.addons.crm.models import crm_stage
-
-
-class CrmLeadReportAssign(models.Model):
- """ CRM Lead Report """
- _name = "crm.lead.report.assign"
- _auto = False
- _description = "Opp. Assignment Analysis"
-
- partner_assigned_id = fields.Many2one('res.partner', 'Partner', readonly=True)
- grade_id = fields.Many2one('res.partner.grade', 'Grade', readonly=True)
- user_id = fields.Many2one('res.users', 'User', readonly=True)
- country_id = fields.Many2one('res.country', 'Country', readonly=True)
- team_id = fields.Many2one('crm.team', 'Sales Team', oldname='section_id', readonly=True)
- company_id = fields.Many2one('res.company', 'Company', readonly=True)
- date_assign = fields.Date('Assign Date', readonly=True)
- delay_open = fields.Float('Delay to Assign', digits=(16, 2), readonly=True, group_operator="avg", help="Number of Days to open the case")
- delay_close = fields.Float('Delay to Close', digits=(16, 2), readonly=True, group_operator="avg", help="Number of Days to close the case")
- delay_expected = fields.Float('Overpassed Deadline', digits=(16, 2), readonly=True, group_operator="avg")
- probability = fields.Float('Avg Probability', digits=(16, 2), readonly=True, group_operator="avg")
- probability_max = fields.Float('Max Probability', digits=(16, 2), readonly=True, group_operator="max")
- planned_revenue = fields.Float('Planned Revenue', digits=(16, 2), readonly=True)
- probable_revenue = fields.Float('Probable Revenue', digits=(16, 2), readonly=True)
- tag_ids = fields.Many2many('crm.lead.tag', 'crm_lead_tag_rel', 'lead_id', 'tag_id', 'Tags')
- partner_id = fields.Many2one('res.partner', 'Customer', readonly=True)
- opening_date = fields.Datetime('Opening Date', readonly=True)
- date_closed = fields.Datetime('Close Date', readonly=True)
- nbr_cases = fields.Integer('# of Cases', readonly=True, oldname='nbr')
- priority = fields.Selection(crm_stage.AVAILABLE_PRIORITIES, 'Priority')
- type = fields.Selection([
- ('lead', 'Lead'),
- ('opportunity', 'Opportunity')
- ], 'Type', help="Type is used to separate Leads and Opportunities")
-
- @api.model_cr
- def init(self):
- """
- CRM Lead Report
- @param cr: the current row, from the database cursor
- """
- tools.drop_view_if_exists(self._cr, 'crm_lead_report_assign')
- self._cr.execute("""
- CREATE OR REPLACE VIEW crm_lead_report_assign AS (
- SELECT
- c.id,
- c.date_open as opening_date,
- c.date_closed as date_closed,
- c.date_assign,
- c.user_id,
- c.probability,
- c.probability as probability_max,
- c.type,
- c.company_id,
- c.priority,
- c.team_id,
- c.partner_id,
- c.country_id,
- c.planned_revenue,
- c.partner_assigned_id,
- p.grade_id,
- p.date as partner_date,
- c.planned_revenue*(c.probability/100) as probable_revenue,
- 1 as nbr_cases,
- c.create_date as create_date,
- extract('epoch' from (c.write_date-c.create_date))/(3600*24) as delay_close,
- extract('epoch' from (c.date_deadline - c.date_closed))/(3600*24) as delay_expected,
- extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open
- FROM
- crm_lead c
- left join res_partner p on (c.partner_assigned_id=p.id)
- )""")
diff --git a/addons/website_customer/models/res_partner.py b/addons/website_customer/models/res_partner.py
index 680a6c95f2d..a70dd40bab3 100644
--- a/addons/website_customer/models/res_partner.py
+++ b/addons/website_customer/models/res_partner.py
@@ -14,7 +14,7 @@ class Partner(models.Model):
class Tags(models.Model):
_name = 'res.partner.tag'
- _description = 'Partner Tags - These tags can be used on website to find customers by sector, or ... '
+ _description = 'Partner Tags - These tags can be used on website to find customers by sector, or ...'
_inherit = 'website.published.mixin'
@api.model
diff --git a/addons/website_event_questions/models/event.py b/addons/website_event_questions/models/event.py
index 8bf6a0f2d86..43b33d1368f 100644
--- a/addons/website_event_questions/models/event.py
+++ b/addons/website_event_questions/models/event.py
@@ -46,6 +46,7 @@ class EventRegistrationAnswer(models.Model):
_name = 'event.registration.answer'
_table = 'event_registration_answer'
+ _description = 'Event Registration Answer'
event_answer_id = fields.Many2one('event.answer', required=True, ondelete='cascade')
event_registration_id = fields.Many2one('event.registration', required=True, ondelete='cascade')
@@ -62,6 +63,7 @@ class EventQuestion(models.Model):
_name = 'event.question'
_rec_name = 'title'
_order = 'sequence,id'
+ _description = 'Event Question'
title = fields.Char(required=True, translate=True)
event_type_id = fields.Many2one('event.type', 'Event Type', ondelete='cascade')
@@ -93,6 +95,7 @@ class EventQuestion(models.Model):
class EventAnswer(models.Model):
_name = 'event.answer'
_order = 'sequence,id'
+ _description = 'Event Answer'
name = fields.Char('Answer', required=True, translate=True)
question_id = fields.Many2one('event.question', required=True, ondelete='cascade')
diff --git a/addons/website_event_questions/report/report_event_registrations_questions.py b/addons/website_event_questions/report/report_event_registrations_questions.py
index 0cf362bbf0d..8d229c55469 100644
--- a/addons/website_event_questions/report/report_event_registrations_questions.py
+++ b/addons/website_event_questions/report/report_event_registrations_questions.py
@@ -7,6 +7,7 @@ from odoo import api, fields, models, tools
class ReportEventRegistrationQuestions(models.Model):
_name = "event.question.report"
_auto = False
+ _description = 'Event Question Report'
attendee_id = fields.Many2one(comodel_name='event.registration', string='Registration')
question_id = fields.Many2one(comodel_name='event.question', string='Question')
diff --git a/addons/website_event_track/models/event.py b/addons/website_event_track/models/event.py
index ca08ddcd616..422b91bef67 100644
--- a/addons/website_event_track/models/event.py
+++ b/addons/website_event_track/models/event.py
@@ -20,6 +20,7 @@ class EventType(models.Model):
class EventMenu(models.Model):
_name = "website.event.menu"
+ _description = "Website Event Menu"
menu_id = fields.Many2one('website.menu', string='Menu', ondelete='cascade')
event_id = fields.Many2one('event.event', string='Event', ondelete='cascade')
diff --git a/addons/website_event_track/models/event_track.py b/addons/website_event_track/models/event_track.py
index 9929f6e5519..1661167e0cd 100644
--- a/addons/website_event_track/models/event_track.py
+++ b/addons/website_event_track/models/event_track.py
@@ -8,7 +8,7 @@ from odoo.addons.http_routing.models.ir_http import slug
class TrackTag(models.Model):
_name = "event.track.tag"
- _description = 'Track Tag'
+ _description = 'Event Track Tag'
_order = 'name'
name = fields.Char('Tag')
@@ -22,14 +22,14 @@ class TrackTag(models.Model):
class TrackLocation(models.Model):
_name = "event.track.location"
- _description = 'Track Location'
+ _description = 'Event Track Location'
name = fields.Char('Room')
class TrackStage(models.Model):
_name = 'event.track.stage'
- _description = 'Track Stage'
+ _description = 'Event Track Stage'
_order = 'sequence, id'
name = fields.Char(string='Stage Name', required=True, translate=True)
diff --git a/addons/website_form/models/models.py b/addons/website_form/models/models.py
index fb51dacc570..6ad987f89e6 100644
--- a/addons/website_form/models/models.py
+++ b/addons/website_form/models/models.py
@@ -23,6 +23,7 @@ class ResConfigSettings(models.TransientModel):
class website_form_model(models.Model):
_name = 'ir.model'
+ _description = 'Models'
_inherit = 'ir.model'
website_form_access = fields.Boolean('Allowed to use in forms', help='Enable the form builder feature for this model.')
@@ -74,6 +75,7 @@ class website_form_model(models.Model):
class website_form_model_fields(models.Model):
""" fields configuration for form builder """
_name = 'ir.model.fields'
+ _description = 'Fields'
_inherit = 'ir.model.fields'
@api.model_cr
diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py
index ad0885b9ebb..d1dce1b378e 100644
--- a/addons/website_forum/models/forum.py
+++ b/addons/website_forum/models/forum.py
@@ -863,7 +863,7 @@ class PostReason(models.Model):
class Vote(models.Model):
_name = 'forum.post.vote'
- _description = 'Vote'
+ _description = 'Post Vote'
post_id = fields.Many2one('forum.post', string='Post', ondelete='cascade', required=True)
user_id = fields.Many2one('res.users', string='User', required=True, default=lambda self: self._uid)
diff --git a/addons/website_sale/models/product.py b/addons/website_sale/models/product.py
index 1f70b83b563..b4674d62ca2 100644
--- a/addons/website_sale/models/product.py
+++ b/addons/website_sale/models/product.py
@@ -10,6 +10,7 @@ from odoo.tools import float_is_zero
class ProductStyle(models.Model):
_name = "product.style"
+ _description = 'Product Style'
name = fields.Char(string='Style Name', required=True)
html_class = fields.Char(string='HTML Classes')
@@ -232,6 +233,7 @@ class ProductAttributeValue(models.Model):
class ProductImage(models.Model):
_name = 'product.image'
+ _description = 'Product Image'
name = fields.Char('Name')
image = fields.Binary('Image', attachment=True)
diff --git a/addons/website_sale_wishlist/models/product_wishlist.py b/addons/website_sale_wishlist/models/product_wishlist.py
index 006473a5ce6..bea6c0931b6 100644
--- a/addons/website_sale_wishlist/models/product_wishlist.py
+++ b/addons/website_sale_wishlist/models/product_wishlist.py
@@ -6,6 +6,7 @@ from odoo.http import request
class ProductWishlist(models.Model):
_name = 'product.wishlist'
+ _description = 'Product Wishlist'
_sql_constrains = [
("product_unique_partner_id",
"UNIQUE(product_id, partner_id)",
diff --git a/addons/website_slides/models/slides.py b/addons/website_slides/models/slides.py
index 50d6641f964..f120e388964 100644
--- a/addons/website_slides/models/slides.py
+++ b/addons/website_slides/models/slides.py
@@ -25,7 +25,7 @@ class Channel(models.Model):
allowing to configure slide upload and access. Slides can be promoted in
channels. """
_name = 'slide.channel'
- _description = 'Channel for Slides'
+ _description = 'Slide Channel'
_inherit = ['mail.thread', 'website.seo.metadata', 'website.published.multi.mixin']
_order = 'sequence, id'
_order_by_strategy = {
diff --git a/addons/website_theme_install/models/ir_module_module.py b/addons/website_theme_install/models/ir_module_module.py
index 35d562485a6..51c225655df 100644
--- a/addons/website_theme_install/models/ir_module_module.py
+++ b/addons/website_theme_install/models/ir_module_module.py
@@ -10,6 +10,7 @@ _logger = logging.getLogger(__name__)
class IrModuleModule(models.Model):
_name = "ir.module.module"
+ _description = 'Module'
_inherit = _name
image_ids = fields.One2many('ir.attachment', 'res_id',
diff --git a/addons/website_theme_install/models/theme_models.py b/addons/website_theme_install/models/theme_models.py
index cb904b48f07..28c0b79b50f 100644
--- a/addons/website_theme_install/models/theme_models.py
+++ b/addons/website_theme_install/models/theme_models.py
@@ -10,6 +10,7 @@ _logger = logging.getLogger(__name__)
class ThemeView(models.Model):
_name = 'theme.ir.ui.view'
+ _description = 'Theme UI View'
def compute_arch_fs(self):
path_info = get_resource_from_path(self._context['install_filename'])
@@ -30,6 +31,7 @@ class ThemeView(models.Model):
class ThemeAttachment(models.Model):
_name = 'theme.ir.attachment'
+ _description = 'Theme Attachments'
name = fields.Char(required=True)
key = fields.Char(required=True)
@@ -39,6 +41,7 @@ class ThemeAttachment(models.Model):
class ThemeMenu(models.Model):
_name = 'theme.website.menu'
+ _description = 'Website Theme Menu'
name = fields.Char(required=True)
url = fields.Char(default='')
@@ -51,6 +54,7 @@ class ThemeMenu(models.Model):
class ThemePage(models.Model):
_name = 'theme.website.page'
+ _description = 'Website Theme Page'
url = fields.Char()
view_id = fields.Many2one('theme.ir.ui.view', required=True, ondelete="cascade")
@@ -60,6 +64,7 @@ class ThemePage(models.Model):
class Theme(models.AbstractModel):
_name = 'theme.utils'
+ _description = 'Theme Utils'
_auto = False
def _post_copy(self, mod):
diff --git a/addons/website_twitter/models/website_twitter_tweet.py b/addons/website_twitter/models/website_twitter_tweet.py
index 267c6ac8db3..4e80e439296 100644
--- a/addons/website_twitter/models/website_twitter_tweet.py
+++ b/addons/website_twitter/models/website_twitter_tweet.py
@@ -6,6 +6,7 @@ from odoo import fields, models
class WebsiteTwitterTweet(models.Model):
_name = 'website.twitter.tweet'
+ _description = 'Website Twitter'
website_id = fields.Many2one('website', string='Website')
screen_name = fields.Char(string='Screen Name')