コード例 #1
0
ファイル: product.py プロジェクト: tinavas/FSERP
class Category:
    __name__ = 'product.category'
    account_depreciation = fields.Property(
        fields.Many2One('account.account',
                        'Account Depreciation',
                        domain=[
                            ('kind', '=', 'other'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval('context', {}).get('company')
                                          | Eval('account_parent')),
                        }))
    account_depreciation_used = MissingFunction(
        fields.Many2One('account.account', 'Account Depreciation Used'),
        'missing_account', 'get_account')
    account_asset = fields.Property(
        fields.Many2One('account.account',
                        'Account Asset',
                        domain=[
                            ('kind', '=', 'expense'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval('context', {}).get('company')
                                          | Eval('account_parent')),
                        }))
    account_asset_used = MissingFunction(
        fields.Many2One('account.account', 'Account Asset Used'),
        'missing_account', 'get_account')
コード例 #2
0
class Template:
    __name__ = 'product.template'
    account_cogs = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Cost of Goods Sold',
            domain=[
                ('kind', '!=', 'view'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'invisible': ((~Eval('context', {}).get('company'))
                              | Eval('account_category')
                              | (Eval('type') != 'goods')),
            },
            help='This account will be used instead of the one defined '
            'on the category.',
            depends=['account_category', 'type']))
    account_cogs_used = MissingFunction(
        fields.Many2One('account.account', 'Account Cost of Goods Sold Used'),
        'missing_account', 'get_account')
コード例 #3
0
class Category:
    __name__ = 'product.category'
    account_cogs = fields.Property(
        fields.Many2One('account.account',
                        'Account Cost of Goods Sold',
                        domain=[
                            ('kind', '!=', 'view'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval(
                                'context',
                                {},
                            ).get('company')
                                          | Eval('account_parent')),
                        },
                        depends=['account_parent']))
    account_cogs_used = MissingFunction(
        fields.Many2One('account.account', 'Account Cost of Goods Sold Used'),
        'missing_account', 'get_account')
コード例 #4
0
ファイル: product.py プロジェクト: tinavas/FSERP
class Template:
    __name__ = 'product.template'
    depreciable = fields.Boolean('Depreciable',
                                 states={
                                     'readonly': ~Eval('active', True),
                                     'invisible': Eval('type', '') != 'assets',
                                 },
                                 depends=['active', 'type'])
    account_depreciation = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Depreciation',
            domain=[
                ('kind', '=', 'other'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'readonly':
                ~Eval('active', True),
                'required':
                ~Eval('account_category') & Eval('depreciable'),
                'invisible': (~Eval('depreciable')
                              | (Eval('type', '') != 'assets')
                              | ~Eval('context', {}).get('company')
                              | Eval('account_category')),
            },
            depends=['active', 'depreciable', 'type', 'account_category']))
    account_depreciation_used = MissingFunction(
        fields.Many2One('account.account', 'Account Depreciation Used'),
        'missing_account', 'get_account')
    account_asset = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Asset',
            domain=[
                ('kind', '=', 'expense'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'readonly':
                ~Eval('active', True),
                'required':
                ~Eval('account_category') & Eval('depreciable'),
                'invisible': (~Eval('depreciable')
                              | (Eval('type', '') != 'assets')
                              | ~Eval('context', {}).get('company')
                              | Eval('account_category')),
            },
            depends=['active', 'depreciable', 'type', 'account_category']))
    account_asset_used = MissingFunction(
        fields.Many2One('account.account', 'Account Asset Used'),
        'missing_account', 'get_account')
    depreciation_duration = fields.Property(
        fields.Numeric('Depreciation Duration',
                       digits=(16, 0),
                       states={
                           'readonly':
                           ~Eval('active', True),
                           'invisible':
                           (~Eval('depreciable')
                            | (Eval('type', '') != 'assets')
                            | ~Eval('context', {}).get('company')),
                       },
                       depends=['active', 'depreciable', 'type'],
                       help='In months'))
コード例 #5
0
ファイル: product.py プロジェクト: tinavas/FSERP
class Category:
    __name__ = 'product.category'
    account_stock = fields.Property(
        fields.Many2One('account.account',
                        'Account Stock',
                        domain=[
                            ('kind', '=', 'stock'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval('context', {}).get('company')
                                          | Eval('account_parent')),
                        },
                        depends=['account_parent']))
    account_stock_supplier = fields.Property(
        fields.Many2One('account.account',
                        'Account Stock Supplier',
                        domain=[
                            ('kind', '=', 'stock'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval('context', {}).get('company')
                                          | Eval('account_parent')),
                        },
                        depends=['account_parent']))
    account_stock_customer = fields.Property(
        fields.Many2One('account.account',
                        'Account Stock Customer',
                        domain=[
                            ('kind', '=', 'stock'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval('context', {}).get('company')
                                          | Eval('account_parent')),
                        },
                        depends=['account_parent']))
    account_stock_production = fields.Property(
        fields.Many2One('account.account',
                        'Account Stock Production',
                        domain=[
                            ('kind', '=', 'stock'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval('context', {}).get('company')
                                          | Eval('account_parent')),
                        },
                        depends=['account_parent']))
    account_stock_lost_found = fields.Property(
        fields.Many2One('account.account',
                        'Account Stock Lost and Found',
                        domain=[
                            ('kind', '=', 'stock'),
                            ('company', '=', Eval('context',
                                                  {}).get('company', -1)),
                        ],
                        states={
                            'invisible': (~Eval('context', {}).get('company')
                                          | Eval('account_parent')),
                        },
                        depends=['account_parent']))
    account_stock_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Used'),
        'missing_account', 'get_account')
    account_stock_supplier_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Supplier Used'),
        'missing_account', 'get_account')
    account_stock_customer_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Customer Used'),
        'missing_account', 'get_account')
    account_stock_production_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Production Used'),
        'missing_account', 'get_account')
    account_stock_lost_found_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Lost and Found'),
        'missing_account', 'get_account')
コード例 #6
0
ファイル: product.py プロジェクト: tinavas/FSERP
class Template:
    __name__ = 'product.template'
    account_stock = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Stock',
            domain=[
                ('kind', '=', 'stock'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'invisible': (~Eval('context', {}).get('company')
                              | Eval('account_category')
                              | (Eval('type') != 'goods')),
            },
            help='This account will be used instead of the one defined '
            'on the category.',
            depends=['account_category', 'type']))
    account_stock_supplier = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Stock Supplier',
            domain=[
                ('kind', '=', 'stock'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'invisible': (~Eval('context', {}).get('company')
                              | Eval('account_category')
                              | (Eval('type') != 'goods')),
            },
            help='This account will be used instead of the one defined '
            'on the category.',
            depends=['account_category', 'type']))
    account_stock_customer = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Stock Customer',
            domain=[
                ('kind', '=', 'stock'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'invisible': (~Eval('context', {}).get('company')
                              | Eval('account_category')
                              | (Eval('type') != 'goods')),
            },
            help='This account will be used instead of the one defined '
            'on the category.',
            depends=['account_category', 'type']))
    account_stock_production = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Stock Production',
            domain=[
                ('kind', '=', 'stock'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'invisible': (~Eval('context', {}).get('company')
                              | Eval('account_category')
                              | (Eval('type') != 'goods')),
            },
            help='This account will be used instead of the one defined '
            'on the category.',
            depends=['account_category', 'type']))
    account_stock_lost_found = fields.Property(
        fields.Many2One(
            'account.account',
            'Account Stock Lost and Found',
            domain=[
                ('kind', '=', 'stock'),
                ('company', '=', Eval('context', {}).get('company', -1)),
            ],
            states={
                'invisible': (~Eval('context', {}).get('company')
                              | Eval('account_category')
                              | (Eval('type') != 'goods')),
            },
            help='This account will be used instead of the one defined '
            'on the category.',
            depends=['account_category', 'type']))
    account_stock_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Used'),
        'missing_account', 'get_account')
    account_stock_supplier_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Supplier Used'),
        'missing_account', 'get_account')
    account_stock_customer_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Customer Used'),
        'missing_account', 'get_account')
    account_stock_production_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Production Used'),
        'missing_account', 'get_account')
    account_stock_lost_found_used = MissingFunction(
        fields.Many2One('account.account', 'Account Stock Lost and Found'),
        'missing_account', 'get_account')

    @classmethod
    def __setup__(cls):
        super(Template, cls).__setup__()
        cls._modify_no_move.append(('cost_price', 'change_cost_price'))
        cls._error_messages.update({
            'change_cost_price':
            ('You cannot change the cost price for '
             'a product which is associated to stock moves.\n'
             'You must use the "Update Cost Price" wizard.'),
        })