[IMP] Account,...: Change 'string' attribute on some fields to avoid repeated names

In odoo at many places the filter items are having repeated strings eventhough the
fiter works differently , so find all the places where this happens and give
proper string to each filter..
This commit is contained in:
rap-odoo
2016-06-08 14:02:23 +02:00
committed by Yannick Tivisse
parent 74936dbb64
commit a5e7a4c8ae
36 changed files with 76 additions and 76 deletions
+8 -8
View File
@@ -102,7 +102,7 @@ class AccountAccount(models.Model):
deprecated = fields.Boolean(index=True, default=False)
user_type_id = fields.Many2one('account.account.type', string='Type', required=True, oldname="user_type",
help="Account Type is used for information purpose, to generate country-specific legal reports, and set the rules to close a fiscal year and generate opening entries.")
internal_type = fields.Selection(related='user_type_id.type', store=True, readonly=True)
internal_type = fields.Selection(related='user_type_id.type', string="Internal Type", store=True, readonly=True)
#has_unreconciled_entries = fields.Boolean(compute='_compute_has_unreconciled_entries',
# help="The account has at least one unreconciled debit and credit since last time the invoices & payments matching was performed.")
last_time_entries_checked = fields.Datetime(string='Latest Invoices & Payments Matching Date', readonly=True, copy=False,
@@ -746,16 +746,16 @@ class AccountOperationTemplate(models.Model):
tax_id = fields.Many2one('account.tax', string='Tax', ondelete='restrict', domain=[('type_tax_use', '=', 'purchase')])
analytic_account_id = fields.Many2one('account.analytic.account', string='Analytic Account', ondelete='set null')
second_account_id = fields.Many2one('account.account', string='Account', ondelete='cascade', domain=[('deprecated', '=', False)])
second_journal_id = fields.Many2one('account.journal', string='Journal', ondelete='cascade', help="This field is ignored in a bank statement reconciliation.")
second_label = fields.Char(string='Journal Item Label')
second_account_id = fields.Many2one('account.account', string='Second Account', ondelete='cascade', domain=[('deprecated', '=', False)])
second_journal_id = fields.Many2one('account.journal', string='Second Journal', ondelete='cascade', help="This field is ignored in a bank statement reconciliation.")
second_label = fields.Char(string='Second Journal Item Label')
second_amount_type = fields.Selection([
('fixed', 'Fixed'),
('percentage', 'Percentage of amount')
], string='Amount type', required=True, default='percentage')
second_amount = fields.Float(string='Amount', digits=0, required=True, default=100.0, help="Fixed amount will count as a debit if it is negative, as a credit if it is positive.")
second_tax_id = fields.Many2one('account.tax', string='Tax', ondelete='restrict', domain=[('type_tax_use', '=', 'purchase')])
second_analytic_account_id = fields.Many2one('account.analytic.account', string='Analytic Account', ondelete='set null')
], string="Second Amount type",required=True, default='percentage')
second_amount = fields.Float(string='Second Amount', digits=0, required=True, default=100.0, help="Fixed amount will count as a debit if it is negative, as a credit if it is positive.")
second_tax_id = fields.Many2one('account.tax', string='Second Tax', ondelete='restrict', domain=[('type_tax_use', '=', 'purchase')])
second_analytic_account_id = fields.Many2one('account.analytic.account', string='Second Analytic Account', ondelete='set null')
@api.onchange('name')
def onchange_name(self):
+8 -8
View File
@@ -208,7 +208,7 @@ class AccountInvoice(models.Model):
refund_invoice_id = fields.Many2one('account.invoice', string="Invoice for which this invoice is the refund")
number = fields.Char(related='move_id.name', store=True, readonly=True, copy=False)
move_name = fields.Char(string='Journal Entry', readonly=True,
move_name = fields.Char(string='Journal Entry Name', readonly=True,
default=False, copy=False,
help="Technical field holding the number given to the invoice, automatically set when the invoice is validated then stored to set the same number again if the invoice is cancelled, set to draft and re-validated.")
reference = fields.Char(string='Vendor Reference',
@@ -270,22 +270,22 @@ class AccountInvoice(models.Model):
amount_untaxed = fields.Monetary(string='Untaxed Amount',
store=True, readonly=True, compute='_compute_amount', track_visibility='always')
amount_untaxed_signed = fields.Monetary(string='Untaxed Amount', currency_field='company_currency_id',
amount_untaxed_signed = fields.Monetary(string='Untaxed Amount in Company Currency', currency_field='company_currency_id',
store=True, readonly=True, compute='_compute_amount')
amount_tax = fields.Monetary(string='Tax',
store=True, readonly=True, compute='_compute_amount')
amount_total = fields.Monetary(string='Total',
store=True, readonly=True, compute='_compute_amount')
amount_total_signed = fields.Monetary(string='Total', currency_field='currency_id',
amount_total_signed = fields.Monetary(string='Total in Invoice Currency', currency_field='currency_id',
store=True, readonly=True, compute='_compute_amount',
help="Total amount in the currency of the invoice, negative for credit notes.")
amount_total_company_signed = fields.Monetary(string='Total', currency_field='company_currency_id',
amount_total_company_signed = fields.Monetary(string='Total in Company Currency', currency_field='company_currency_id',
store=True, readonly=True, compute='_compute_amount',
help="Total amount in the currency of the company, negative for credit notes.")
currency_id = fields.Many2one('res.currency', string='Currency',
required=True, readonly=True, states={'draft': [('readonly', False)]},
default=_default_currency, track_visibility='always')
company_currency_id = fields.Many2one('res.currency', related='company_id.currency_id', readonly=True)
company_currency_id = fields.Many2one('res.currency', related='company_id.currency_id', string="Company Currency", readonly=True)
journal_id = fields.Many2one('account.journal', string='Journal',
required=True, readonly=True, states={'draft': [('readonly', False)]},
default=_default_journal,
@@ -302,12 +302,12 @@ class AccountInvoice(models.Model):
residual = fields.Monetary(string='Amount Due',
compute='_compute_residual', store=True, help="Remaining amount due.")
residual_signed = fields.Monetary(string='Amount Due', currency_field='currency_id',
residual_signed = fields.Monetary(string='Amount Due in Invoice Currency', currency_field='currency_id',
compute='_compute_residual', store=True, help="Remaining amount due in the currency of the invoice.")
residual_company_signed = fields.Monetary(string='Amount Due', currency_field='company_currency_id',
residual_company_signed = fields.Monetary(string='Amount Due in Company Currency', currency_field='company_currency_id',
compute='_compute_residual', store=True, help="Remaining amount due in the currency of the company.")
payment_ids = fields.Many2many('account.payment', 'account_invoice_payment_rel', 'invoice_id', 'payment_id', string="Payments", copy=False, readonly=True)
payment_move_line_ids = fields.Many2many('account.move.line', string='Payments', compute='_compute_payments', store=True)
payment_move_line_ids = fields.Many2many('account.move.line', string='Payment Move Lines', compute='_compute_payments', store=True)
user_id = fields.Many2one('res.users', string='Salesperson', track_visibility='onchange',
readonly=True, states={'draft': [('readonly', False)]},
default=lambda self: self.env.user)
+2 -2
View File
@@ -355,7 +355,7 @@ class AccountMoveLine(models.Model):
credit_cash_basis = fields.Monetary(currency_field='company_currency_id', default=0.0, compute='_compute_cash_basis', store=True)
balance_cash_basis = fields.Monetary(compute='_compute_cash_basis', store=True, currency_field='company_currency_id', default=0.0, help="Technical field holding the debit_cash_basis - credit_cash_basis in order to open meaningful graph views from reports")
amount_currency = fields.Monetary(default=0.0, help="The amount expressed in an optional other currency if it is a multi-currency entry.")
company_currency_id = fields.Many2one('res.currency', related='company_id.currency_id', readonly=True,
company_currency_id = fields.Many2one('res.currency', related='company_id.currency_id', string="Company Currency", readonly=True,
help='Utility field to express amount currency', store=True)
currency_id = fields.Many2one('res.currency', string='Currency', default=_get_currency,
help="The optional other currency if it is a multi-currency entry.")
@@ -367,7 +367,7 @@ class AccountMoveLine(models.Model):
ondelete="cascade", domain=[('deprecated', '=', False)], default=lambda self: self._context.get('account_id', False))
move_id = fields.Many2one('account.move', string='Journal Entry', ondelete="cascade",
help="The move of this entry line.", index=True, required=True, auto_join=True)
narration = fields.Text(related='move_id.narration', string='Internal Note')
narration = fields.Text(related='move_id.narration', string='Narration')
ref = fields.Char(related='move_id.ref', string='Partner Reference', store=True, copy=False)
payment_id = fields.Many2one('account.payment', string="Originator Payment", help="Payment that created this entry")
statement_id = fields.Many2one('account.bank.statement', string='Statement',
+1 -1
View File
@@ -31,7 +31,7 @@ class account_abstract_payment(models.AbstractModel):
_description = "Contains the logic shared between models which allows to register payments"
payment_type = fields.Selection([('outbound', 'Send Money'), ('inbound', 'Receive Money')], string='Payment Type', required=True)
payment_method_id = fields.Many2one('account.payment.method', string='Payment Type', required=True, oldname="payment_method")
payment_method_id = fields.Many2one('account.payment.method', string='Payment Method Type', required=True, oldname="payment_method")
payment_method_code = fields.Char(related='payment_method_id.code',
help="Technical field used to adapt the interface to the payment type selected.", readonly=True)
@@ -135,8 +135,8 @@
<field name="user_id"/>
<field name="date_due"/>
<field name="origin"/>
<field name="amount_total_signed"/>
<field name="residual_signed"/>
<field name="amount_total_signed" string="Total"/>
<field name="residual_signed" string="Amount Due"/>
<field name="currency_id" invisible="1"/>
<field name="company_currency_id" invisible="1"/>
<field name="state"/>
@@ -200,7 +200,7 @@
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}"/>
<field name="date_due"/>
<field name="origin"/>
<field name="amount_total_signed"/>
<field name="amount_total_signed" string="Total"/>
<field name="residual_signed" string="To Pay"/>
<field name="currency_id" invisible="1"/>
<field name="company_currency_id" invisible="1"/>
+7 -7
View File
@@ -787,19 +787,19 @@
</div>
<group attrs="{'invisible':[('has_second_line','!=',True)]}">
<group>
<field name="second_account_id" domain="[('company_id', '=', company_id)]"/>
<field name="second_amount_type"/>
<field name="second_tax_id" domain="[('company_id', '=', company_id)]" widget="selection"/>
<field name="second_analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('company_id', '=', company_id)]"/>
<field name="second_account_id" string="Account" domain="[('company_id', '=', company_id)]"/>
<field name="second_amount_type" string="Amount type"/>
<field name="second_tax_id" string="Tax" domain="[('company_id', '=', company_id)]" widget="selection"/>
<field name="second_analytic_account_id" string="Analytic Account" groups="analytic.group_analytic_accounting" domain="[('company_id', '=', company_id)]"/>
</group>
<group>
<field name="second_label"/>
<label for="second_amount"/>
<field name="second_label" string="Journal Item Label"/>
<label for="second_amount" string="Amount"/>
<div>
<field name="second_amount" class="oe_inline"/>
<label string="%" class="oe_inline" attrs="{'invisible':[('amount_type','!=','percentage')]}" />
</div>
<field name="second_journal_id" domain="[('company_id', '=', company_id)]" widget="selection"/>
<field name="second_journal_id" string="Journal" domain="[('company_id', '=', company_id)]" widget="selection"/>
</group>
</group>
</sheet>
+1 -1
View File
@@ -931,7 +931,7 @@ class calendar_event(osv.Model):
'color_partner_id': fields.related('user_id', 'partner_id', 'id', type="integer", string="Color index of creator", store=False), # Color of creator
'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the event alarm information without removing it."),
'categ_ids': fields.many2many('calendar.event.type', 'meeting_category_rel', 'event_id', 'type_id', 'Tags'),
'attendee_ids': fields.one2many('calendar.attendee', 'event_id', 'Attendees', ondelete='cascade'),
'attendee_ids': fields.one2many('calendar.attendee', 'event_id', 'Participant', ondelete='cascade'),
'partner_ids': fields.many2many('res.partner', 'calendar_event_res_partner_rel', string='Attendees', states={'done': [('readonly', True)]}),
'alarm_ids': fields.many2many('calendar.alarm', 'calendar_alarm_calendar_event_rel', string='Reminders', ondelete="restrict", copy=False),
}
+1 -1
View File
@@ -14,7 +14,7 @@ class StockMove(models.Model):
return self.env['product.uom'].search([('category_id', '=', uom_categ_id), ('factor', '=', 1)], limit=1)
weight = fields.Float(compute='_cal_move_weight', digits=dp.get_precision('Stock Weight'), store=True)
weight_uom_id = fields.Many2one('product.uom', string='Unit of Measure', required=True, readonly=True, help="Unit of Measure (Unit of Measure) is the unit of measurement for Weight", default=_default_uom)
weight_uom_id = fields.Many2one('product.uom', string='Weight Unit of Measure', required=True, readonly=True, help="Unit of Measure (Unit of Measure) is the unit of measurement for Weight", default=_default_uom)
@api.depends('product_id', 'product_uom_qty', 'product_uom')
def _cal_move_weight(self):
+1 -1
View File
@@ -72,7 +72,7 @@ class event_event(models.Model):
oldname='register_current', string='Reserved Seats',
store=True, readonly=True, compute='_compute_seats')
seats_available = fields.Integer(
oldname='register_avail', string='Maximum Attendees',
oldname='register_avail', string='Available Seats',
store=True, readonly=True, compute='_compute_seats')
seats_unconfirmed = fields.Integer(
oldname='register_prospect', string='Unconfirmed Seat Reservations',
+1 -1
View File
@@ -176,7 +176,7 @@ class GoogleDrive(models.Model):
name = fields.Char('Template Name', required=True)
model_id = fields.Many2one('ir.model', 'Model', ondelete='set null', required=True)
model = fields.Char('Model', related='model_id.model', readonly=True)
model = fields.Char('Related Model', related='model_id.model', readonly=True)
filter_id = fields.Many2one('ir.filters', 'Filter', domain="[('model_id', '=', model)]")
google_drive_template_url = fields.Char('Template URL', required=True)
google_drive_resource_id = fields.Char('Resource Id', compute='_compute_ressource_id')
+1 -1
View File
@@ -108,7 +108,7 @@ class Employee(models.Model):
return tools.image_resize_image_big(open(image_path, 'rb').read().encode('base64'))
# we need a related field in order to be able to sort the employee by name
name_related = fields.Char('Name', related='resource_id.name', readonly=True, store=True)
name_related = fields.Char(related='resource_id.name', string="Resource Name", readonly=True, store=True)
country_id = fields.Many2one('res.country', string='Nationality (Country)')
birthday = fields.Date('Date of Birth')
ssnid = fields.Char('SSN No', help='Social Security Number')
+1 -1
View File
@@ -130,7 +130,7 @@ class LunchOrderLine(models.Model):
_name = 'lunch.order.line'
_description = 'lunch order line'
name = fields.Char(related='product_id.name', readonly=True)
name = fields.Char(related='product_id.name', string="Product Name", readonly=True)
order_id = fields.Many2one('lunch.order', 'Order', ondelete='cascade', required=True)
product_id = fields.Many2one('lunch.product', 'Product', required=True)
category_id = fields.Many2one('lunch.product.category', string='Product Category',
+1 -1
View File
@@ -14,7 +14,7 @@
<search string="Search">
<filter name='is_mine' string="My Orders" domain="[('user_id','=',uid)]"/>
<separator/>
<field name="name" filter_domain="['|', ('name', 'ilike', self), ('note', 'ilike', self)]"/>
<field name="name" string="Product" filter_domain="['|', ('name', 'ilike', self), ('note', 'ilike', self)]"/>
<filter name="not_confirmed" string="Not Received" domain="[('state','!=',('confirmed'))]"/>
<filter name="confirmed" string="Received" domain="[('state','=','confirmed')]"/>
<filter name="cancelled" string="Cancelled" domain="[('state','=','cancelled')]"/>
+1 -1
View File
@@ -605,7 +605,7 @@ class mrp_production(osv.osv):
'user_id': fields.many2one('res.users', 'Responsible'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'ready_production': fields.function(_moves_assigned, type='boolean', string="Ready for production", store={'stock.move': (_mrp_from_move, ['state'], 10)}),
'product_tmpl_id': fields.related('product_id', 'product_tmpl_id', type='many2one', relation='product.template', string='Product'),
'product_tmpl_id': fields.related('product_id', 'product_tmpl_id', type='many2one', relation='product.template', string='Product Template'),
}
_defaults = {
+1 -1
View File
@@ -102,7 +102,7 @@ class mrp_production_workcenter_line(osv.osv):
"* When the user cancels the work order it will be set in 'Canceled' status.\n" \
"* When order is completely processed that time it is set in 'Finished' status."),
'date_planned': fields.datetime('Scheduled Date', select=True),
'date_planned_end': fields.function(_get_date_end, string='End Date', type='datetime', fnct_inv=_set_date_end, fnct_search=_search_date_planned_end),
'date_planned_end': fields.function(_get_date_end, string='Planned End Date', type='datetime', fnct_inv=_set_date_end, fnct_search=_search_date_planned_end),
'date_start': fields.datetime('Start Date'),
'date_finished': fields.datetime('End Date'),
'delay': fields.float('Working Hours',help="The elapsed time between operation start and stop in this Work Center",readonly=True),
@@ -85,7 +85,7 @@
<group>
<group string="Planned Date">
<field name="date_planned"/>
<field name="date_planned_end" readonly="1"/>
<field name="date_planned_end" string="End Date" readonly="1"/>
</group>
<group string="Duration">
+2 -2
View File
@@ -186,7 +186,7 @@ class project(osv.osv):
'type_ids': fields.many2many('project.task.type', 'project_task_type_rel', 'project_id', 'type_id', 'Tasks Stages', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
'task_count': fields.function(_task_count, type='integer', string="Tasks",),
'task_needaction_count': fields.function(_task_needaction_count, type='integer', string="Tasks",),
'task_ids': fields.one2many('project.task', 'project_id',
'task_ids': fields.one2many('project.task', 'project_id', string='Tasks',
domain=['|', ('stage_id.fold', '=', False), ('stage_id', '=', False)]),
'color': fields.integer('Color Index'),
'user_id': fields.many2one('res.users', 'Project Manager'),
@@ -888,7 +888,7 @@ class account_analytic_account(osv.osv):
return result
_columns = {
'use_tasks': fields.boolean('Tasks', help="Check this box to manage internal activities through this project"),
'use_tasks': fields.boolean(string='Use Tasks', help="Check this box to manage internal activities through this project"),
'company_uom_id': fields.related('company_id', 'project_time_mode_id', string="Company UOM", type='many2one', relation='product.uom'),
'project_ids': fields.one2many('project.project', 'analytic_account_id', 'Projects'),
'project_count': fields.function(_compute_project_count, string='Project Count', type='integer')
+2 -2
View File
@@ -100,8 +100,8 @@
</h1>
<div name="options_active" class="oe_edit_only">
<div>
<field name="use_tasks" class="oe_inline" string="Use Tasks"/>
<label for="use_tasks" class="oe_inline"/>
<field name="use_tasks" class="oe_inline"/>
<label for="use_tasks" class="oe_inline" string="Tasks"/>
<span attrs="{'invisible':[('use_tasks', '=', False)]}">as </span>
<field name="label_tasks" class="oe_inline oe_input_align" attrs="{'invisible': [('use_tasks', '=', False)]}"/>
</div>
+1 -1
View File
@@ -507,7 +507,7 @@ class account_analytic_account(osv.Model):
_description = 'Analytic Account'
_columns = {
'use_issues': fields.boolean('Issues', help="Check this box to manage customer activities through this project"),
'use_issues': fields.boolean('Use Issues', help="Check this box to manage customer activities through this project"),
}
def on_change_template(self, cr, uid, ids, template_id, date_start=False, context=None):
+2 -2
View File
@@ -271,9 +271,9 @@
</xpath>
<xpath expr='//div[@name="options_active"]' position='inside'>
<div>
<field name="use_issues" class="oe_inline" string="Use Issues"
<field name="use_issues" class="oe_inline"
on_change="on_change_use_tasks_or_issues(use_tasks, use_issues)"/>
<label for="use_issues" class="oe_inline"/>
<label for="use_issues" class="oe_inline" string="Issues"/>
<span attrs="{'invisible':[('use_issues', '=', False)]}">as </span>
<field name="label_issues" class="oe_inline oe_input_align" attrs="{'invisible': [('use_issues', '=', False)]}"/>
</div>
+2 -2
View File
@@ -49,9 +49,9 @@ class Project(models.Model):
self.percentage_satisfaction_task = activity['great'] * 100 / sum(activity.values()) if sum(activity.values()) else -1
percentage_satisfaction_task = fields.Integer(
compute='_compute_percentage_satisfaction_task', string='% Happy', store=True, default=-1)
compute='_compute_percentage_satisfaction_task', string="Happy % on Task", store=True, default=-1)
percentage_satisfaction_project = fields.Integer(
compute="_compute_percentage_satisfaction_project", string="% Happy", store=True, default=-1)
compute="_compute_percentage_satisfaction_project", string="Happy % on Project", store=True, default=-1)
is_visible_happy_customer = fields.Boolean(string="Customer Satisfaction", default=False,
help="Display information about rating of the project on kanban and form view. This buttons will only be displayed if at least a rating exists.")
@@ -68,7 +68,7 @@ class Project(models.Model):
activity = project_issue.rating_get_grades()
self.percentage_satisfaction_issue = activity['great'] * 100 / sum(activity.values()) if sum(activity.values()) else -1
percentage_satisfaction_issue = fields.Integer(compute='_compute_percentage_satisfaction_issue', string='% Happy', store=True, default=-1)
percentage_satisfaction_issue = fields.Integer(compute='_compute_percentage_satisfaction_issue', string="Happy % on Issue", store=True, default=-1)
@api.multi
def action_view_issue_rating(self):
+1 -1
View File
@@ -45,7 +45,7 @@ class StockMove(models.Model):
states={'done': [('readonly', True)]})
ordered_qty = fields.Float('Ordered Quantity', digits_compute=dp.get_precision('Product Unit of Measure'))
product_qty = fields.Float(
'Quantity', compute='_compute_product_qty', inverse='_set_product_qty',
'Real Quantity', compute='_compute_product_qty', inverse='_set_product_qty',
digits=0, store=True,
help='Quantity in the default UoM of the product')
product_uom_qty = fields.Float(
+1 -1
View File
@@ -9,7 +9,7 @@ class ReportStockForecat(models.Model):
date = fields.Date(string='Date')
product_id = fields.Many2one('product.product', string='Product', readonly=True)
product_tmpl_id = fields.Many2one('product.template', string='Product', related='product_id.product_tmpl_id', readonly=True)
product_tmpl_id = fields.Many2one('product.template', string='Product Template', related='product_id.product_tmpl_id', readonly=True)
cumulative_quantity = fields.Float(string='Cumulative Quantity', readonly=True)
quantity = fields.Float(readonly=True)
+2 -2
View File
@@ -604,7 +604,7 @@ class survey_question(osv.Model):
'validation_max_float_value': fields.float('Maximum value'),
'validation_min_date': fields.datetime('Minimum Date'),
'validation_max_date': fields.datetime('Maximum Date'),
'validation_error_msg': fields.char('Error message',
'validation_error_msg': fields.char('Validation Error message',
oldname='validation_valid_err_msg',
translate=True),
@@ -807,7 +807,7 @@ class survey_label(osv.Model):
_columns = {
'question_id': fields.many2one('survey.question', 'Question',
ondelete='cascade'),
'question_id_2': fields.many2one('survey.question', 'Question',
'question_id_2': fields.many2one('survey.question', 'Question 2',
ondelete='cascade'),
'sequence': fields.integer('Label Sequence order'),
'value': fields.char("Suggested value", translate=True,
+1 -1
View File
@@ -135,7 +135,7 @@ class BlogPost(osv.Model):
select=True, readonly=True,
),
'create_uid': fields.many2one(
'res.users', 'Author',
'res.users', 'Created by',
select=True, readonly=True,
),
'write_date': fields.datetime(
@@ -8,9 +8,9 @@ class EventEvent(models.Model):
_inherit = 'event.event'
question_ids = fields.One2many('event.question', 'event_id', 'Questions', copy=True)
general_question_ids = fields.One2many('event.question', 'event_id', 'Questions',
general_question_ids = fields.One2many('event.question', 'event_id', 'General Questions',
domain=[('is_individual', '=', False)])
specific_question_ids = fields.One2many('event.question', 'event_id', 'Questions',
specific_question_ids = fields.One2many('event.question', 'event_id', 'Specific Questions',
domain=[('is_individual', '=', True)])
+1 -1
View File
@@ -231,7 +231,7 @@ class Post(models.Model):
# vote
vote_ids = fields.One2many('forum.post.vote', 'post_id', string='Votes')
user_vote = fields.Integer('My Vote', compute='_get_user_vote')
vote_count = fields.Integer('Votes', compute='_get_vote_count', store=True)
vote_count = fields.Integer('Total Votes', compute='_get_vote_count', store=True)
# favorite
favourite_ids = fields.Many2many('res.users', string='Favourite')
+1 -1
View File
@@ -88,7 +88,7 @@ class ProductTemplate(models.Model):
website_size_x = fields.Integer('Size X', default=1)
website_size_y = fields.Integer('Size Y', default=1)
website_style_ids = fields.Many2many('product.style', string='Styles')
website_sequence = fields.Integer('Sequence', help="Determine the display order in the Website E-commerce",
website_sequence = fields.Integer('Website Sequence', help="Determine the display order in the Website E-commerce",
default=lambda self: self._default_website_sequence())
public_categ_ids = fields.Many2many('product.public.category', string='Website Product Category',
help="Those categories are used to group similar products for e-commerce.")
+2 -2
View File
@@ -512,7 +512,7 @@ class IrActionsServer(models.Model):
# Workflow signal
use_relational_model = fields.Selection([('base', 'Use the base model of the action'),
('relational', 'Use a relation field on the base model')],
string='Target Model', default='base', required=True)
string='Relational Target Model', default='base', required=True)
wkf_transition_id = fields.Many2one('workflow.transition', string='Signal to Trigger',
help="Select the workflow signal to trigger.")
wkf_model_id = fields.Many2one('ir.model', string='Target Model',
@@ -529,7 +529,7 @@ class IrActionsServer(models.Model):
('copy_current', 'Copy the current record'),
('copy_other', 'Choose and copy a record in the database')],
string="Creation Policy", default='new', required=True)
crud_model_id = fields.Many2one('ir.model', string='Target Model',
crud_model_id = fields.Many2one('ir.model', string='Create/Write Target Model',
oldname='srcmodel_id', help="Model for record creation / update. Set this field only to specify a different model than the base model.")
crud_model_name = fields.Char(string='Create/Write Target Model Name', related='crud_model_id.model', store=True, readonly=True)
ref_object = fields.Reference(string='Reference record', selection='_select_objects', oldname='copy_object')
+6 -6
View File
@@ -27,12 +27,12 @@ class Property(models.Model):
res_id = fields.Char(string='Resource', index=True, help="If not set, acts as a default value for new resources",)
company_id = fields.Many2one('res.company', string='Company', index=True)
fields_id = fields.Many2one('ir.model.fields', string='Field', ondelete='cascade', required=True, index=True)
value_float = fields.Float(string='Value')
value_integer = fields.Integer(string='Value')
value_text = fields.Text(string='Value') # will contain (char, text)
value_binary = fields.Binary(string='Value')
value_reference = fields.Char(string='Value')
value_datetime = fields.Datetime(string='Value')
value_float = fields.Float()
value_integer = fields.Integer()
value_text = fields.Text() # will contain (char, text)
value_binary = fields.Binary()
value_reference = fields.Char()
value_datetime = fields.Datetime()
type = fields.Selection([('char', 'Char'),
('float', 'Float'),
('boolean', 'Boolean'),
+6 -6
View File
@@ -31,12 +31,12 @@
<field name="res_id"/>
</group>
<group>
<field name="value_integer" attrs="{'invisible' : [('type', 'not in', ('integer', 'boolean'))]}"/>
<field name="value_float" attrs="{'invisible' : [('type', '!=', 'float')]}"/>
<field name="value_datetime" attrs="{'invisible' : [('type', 'not in', ('date', 'datetime'))]}"/>
<field name="value_text" attrs="{'invisible' : [('type', 'not in', ('char', 'text'))]}"/>
<field name="value_reference" attrs="{'invisible' : [('type', '!=', 'many2one')]}"/>
<field name="value_binary" attrs="{'invisible' : [('type', '!=', 'binary')]}"/>
<field name="value_integer" string="Value" attrs="{'invisible' : [('type', 'not in', ('integer', 'boolean'))]}"/>
<field name="value_float" string="Value" attrs="{'invisible' : [('type', '!=', 'float')]}"/>
<field name="value_datetime" string="Value" attrs="{'invisible' : [('type', 'not in', ('date', 'datetime'))]}"/>
<field name="value_text" string="Value" attrs="{'invisible' : [('type', 'not in', ('char', 'text'))]}"/>
<field name="value_reference" string="Value" attrs="{'invisible' : [('type', '!=', 'many2one')]}"/>
<field name="value_binary" string="Value" attrs="{'invisible' : [('type', '!=', 'binary')]}"/>
</group>
</sheet>
</form>
+1 -1
View File
@@ -125,7 +125,7 @@ class Company(models.Model):
rml_header1 = fields.Char(string='Company Tagline', help="Appears by default on the top right corner of your printed documents (report header).")
rml_header2 = fields.Text(string='RML Internal Header', required=True, default=_header2)
rml_header3 = fields.Text(string='RML Internal Header for Landscape Reports', required=True, default=_header3)
rml_footer = fields.Text(string='Report Footer', translate=True, help="Footer text displayed at the bottom of all reports.")
rml_footer = fields.Text(string='Custom Report Footer', translate=True, help="Footer text displayed at the bottom of all reports.")
rml_footer_readonly = fields.Text(related='rml_footer', string='Report Footer', readonly=True)
custom_footer = fields.Boolean(help="Check this to define the report footer manually. Otherwise it will be filled in automatically.")
font = fields.Many2one('res.font', string="Font", default=lambda self: self._get_font(),
+1 -1
View File
@@ -136,7 +136,7 @@ class Partner(models.Model, FormatAddress):
return self.env['res.company']._company_default_get('res.partner')
name = fields.Char(index=True)
display_name = fields.Char(compute='_compute_display_name', string='Name', store=True, index=True)
display_name = fields.Char(compute='_compute_display_name', store=True, index=True)
date = fields.Date(index=True)
title = fields.Many2one('res.partner.title')
parent_id = fields.Many2one('res.partner', string='Related Company', index=True)
+1 -1
View File
@@ -55,7 +55,7 @@
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree string="Contacts">
<field name="display_name"/>
<field name="display_name" string="Name"/>
<field name="function" invisible="1"/>
<field name="phone"/>
<field name="email"/>
+1 -1
View File
@@ -150,7 +150,7 @@ class Message(models.Model):
display_name = fields.Char(string='Abstract', compute='_compute_display_name')
size = fields.Integer(compute='_compute_size', search='_search_size')
double_size = fields.Integer(compute='_compute_double_size')
discussion_name = fields.Char(related='discussion.name')
discussion_name = fields.Char(related='discussion.name', string="Discussion Name")
author_partner = fields.Many2one(
'res.partner', compute='_compute_author_partner',
search='_search_author_partner')