@@ -2329,7 +2329,8 @@ class GeneralLedgerLine(DescriptionOriginMixin, ModelSQL, ModelView):
|
||||
|
||||
move = fields.Many2One('account.move', 'Move')
|
||||
date = fields.Date('Date')
|
||||
account = fields.Many2One('account.general_ledger.account', 'Account')
|
||||
account = fields.Many2One(
|
||||
'account.general_ledger.account', 'Account', required=True)
|
||||
party = fields.Many2One('party.party', 'Party',
|
||||
states={
|
||||
'invisible': ~Eval('party_required', False),
|
||||
|
||||
@@ -40,7 +40,8 @@ class MoveLine(metaclass=PoolMeta):
|
||||
class MoveLineGroup(MoveLineMixin, ModelSQL, ModelView):
|
||||
__name__ = 'account.move.line.group'
|
||||
|
||||
move = fields.Many2One('account.move', "Move", readonly=True)
|
||||
move = fields.Many2One(
|
||||
'account.move', "Move", readonly=True, required=True)
|
||||
account = fields.Many2One(
|
||||
'account.account', "Account", readonly=True,
|
||||
context={
|
||||
|
||||
@@ -1086,7 +1086,8 @@ del _states
|
||||
class LineGroup(ModelSQL, ModelView):
|
||||
__name__ = 'account.statement.line.group'
|
||||
_rec_name = 'number'
|
||||
statement = fields.Many2One('account.statement', 'Statement')
|
||||
statement = fields.Many2One(
|
||||
'account.statement', 'Statement', required=True)
|
||||
journal = fields.Function(fields.Many2One('account.statement.journal',
|
||||
'Journal'), 'get_journal', searcher='search_journal')
|
||||
number = fields.Char('Number')
|
||||
|
||||
@@ -254,7 +254,7 @@ class CurrencyRate(ModelSQL, ModelView):
|
||||
],
|
||||
help="The floating exchange rate used to convert the currency.")
|
||||
currency = fields.Many2One('currency.currency', 'Currency',
|
||||
ondelete='CASCADE',
|
||||
required=True, ondelete='CASCADE',
|
||||
help="The currency on which the rate applies.")
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -819,7 +819,7 @@ class Identifier(sequence_ordered(), DeactivableMixin, ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.__access__.update(['party', 'address'])
|
||||
cls.__access__.add('party')
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module_name):
|
||||
|
||||
@@ -237,7 +237,7 @@ class Image(ImageMixin, sequence_ordered(), ModelSQL, ModelView, MatchMixin):
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.__access__.update(['product', 'template'])
|
||||
cls.__access__.add('template')
|
||||
|
||||
def _store_cache(self, size, image):
|
||||
cache = super()._store_cache(size, image)
|
||||
|
||||
@@ -245,7 +245,7 @@ class Component(ComponentMixin, ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super().__setup__()
|
||||
cls.__access__.update(['parent_template', 'parent_product'])
|
||||
cls.__access__.add('parent_template')
|
||||
|
||||
@fields.depends(
|
||||
'parent_product', '_parent_parent_product.template')
|
||||
|
||||
@@ -186,7 +186,7 @@ class ActionKeyword(ModelSQL, ModelView):
|
||||
('graph_open', 'Open Graph'),
|
||||
], string='Keyword', required=True)
|
||||
model = fields.Reference('Model', selection='models_get')
|
||||
action = fields.Many2One('ir.action', 'Action',
|
||||
action = fields.Many2One('ir.action', 'Action', required=True,
|
||||
ondelete='CASCADE')
|
||||
groups = fields.Function(
|
||||
fields.Many2Many('res.group', None, None, "Groups"),
|
||||
@@ -973,7 +973,7 @@ class ActionActWindowView(
|
||||
('model', '=', Eval('model', None)),
|
||||
])
|
||||
act_window = fields.Many2One('ir.action.act_window', 'Action',
|
||||
ondelete='CASCADE')
|
||||
required=True, ondelete='CASCADE')
|
||||
model = fields.Function(fields.Char("Model"), 'on_change_with_model')
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -416,6 +416,9 @@ class ModuleTestCase(_DBTestCase):
|
||||
msg="Wrong __access__ '%s' for %s" % (
|
||||
field_name, mname))
|
||||
field = Model._fields[field_name]
|
||||
self.assertTrue(field.required,
|
||||
msg=("Field '%s' of '%s' must be required in order to "
|
||||
"be used in __access__") % (field_name, mname))
|
||||
Target = field.get_target()
|
||||
self.assertTrue(
|
||||
Target,
|
||||
|
||||
Reference in New Issue
Block a user