当前位置: 首页>>代码示例>>Python>>正文


Python Pool.copy方法代码示例

本文整理汇总了Python中trytond.pool.Pool.copy方法的典型用法代码示例。如果您正苦于以下问题:Python Pool.copy方法的具体用法?Python Pool.copy怎么用?Python Pool.copy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在trytond.pool.Pool的用法示例。


在下文中一共展示了Pool.copy方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: copy

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def copy(cls, forecasts, default=None):
        Line = Pool().get("stock.forecast.line")

        if default is None:
            default = {}
        default = default.copy()
        default["lines"] = None

        new_forecasts = []
        for forecast in forecasts:
            new_forecast, = super(Forecast, cls).copy([forecast], default=default)
            Line.copy([x for x in forecast.lines], default={"forecast": new_forecast.id})
            new_forecasts.append(new_forecast)
        return new_forecasts
开发者ID:silpol,项目名称:tryton-bef,代码行数:16,代码来源:forecast.py

示例2: _credit

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def _credit(self):
        Selection = Pool().get('analytic_account.account.selection')

        result = super(InvoiceLine, self)._credit()

        if self.analytic_accounts:
            selection, = Selection.copy([self.analytic_accounts])
            result['analytic_accounts'] = selection.id
        return result
开发者ID:silpol,项目名称:tryton-bef,代码行数:11,代码来源:invoice.py

示例3: copy

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def copy(cls, forecasts, default=None):
        Line = Pool().get('stock.forecast.line')

        if default is None:
            default = {}
        default = default.copy()
        default['lines'] = None

        new_forecasts = []
        for forecast in forecasts:
            new_forecast, = super(Forecast, cls).copy([forecast],
                default=default)
            Line.copy([x for x in forecast.lines],
                default={
                    'forecast': new_forecast.id,
                    })
            new_forecasts.append(new_forecast)
        return new_forecasts
开发者ID:kret0s,项目名称:gnuhealth-live,代码行数:20,代码来源:forecast.py

示例4: copy

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def copy(cls, lines, default=None):
        Selection = Pool().get("analytic_account.account.selection")

        new_lines = super(PurchaseLine, cls).copy(lines, default=default)

        for line in lines:
            if line.analytic_accounts:
                selection, = Selection.copy([line.analytic_accounts])
                cls.write([line], {"analytic_accounts": selection.id})
        return new_lines
开发者ID:silpol,项目名称:tryton-bef,代码行数:12,代码来源:purchase.py

示例5: copy

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def copy(cls, lines, default=None):
        Selection = Pool().get('analytic_account.account.selection')

        new_lines = super(InvoiceLine, cls).copy(lines, default=default)

        for line in new_lines:
            if line.analytic_accounts:
                selection, = Selection.copy([line.analytic_accounts])
                cls.write([line], {
                        'analytic_accounts': selection.id,
                        })
        return new_lines
开发者ID:silpol,项目名称:tryton-bef,代码行数:14,代码来源:invoice.py

示例6: get_invoice_line

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def get_invoice_line(self, invoice_type):
        AccountSelection = Pool().get('analytic_account.account.selection')

        invoice_lines = super(SaleLine, self).get_invoice_line(invoice_type)
        if not invoice_lines:
            return invoice_lines

        selection = None
        if self.analytic_accounts:
            selection, = AccountSelection.copy([self.analytic_accounts])
        for invoice_line in invoice_lines:
            invoice_line.analytic_accounts = selection
        return invoice_lines
开发者ID:aleibrecht,项目名称:tryton-modules-ar,代码行数:15,代码来源:sale.py

示例7: copy

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def copy(self, ids, default=None):
        template_obj = Pool().get('product.template')

        int_id = False
        if isinstance(ids, (int, long)):
            int_id = True
            ids = [ids]
        if default is None:
            default = {}
        default = default.copy()
        default['products'] = None
        new_ids = []
        for product in self.browse(ids):
            default['template'] = template_obj.copy(product.template.id)
            new_id = super(Product, self).copy(product.id, default=default)
            new_ids.append(new_id)

        if int_id:
            return new_ids[0]
        return new_ids
开发者ID:tejastank,项目名称:tryton_module_product,代码行数:22,代码来源:product.py

示例8: copy

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def copy(cls, project_works, default=None):
        TimesheetWork = Pool().get('timesheet.work')

        if default is None:
            default = {}

        timesheet_default = default.copy()
        for key in timesheet_default.keys():
            if key in cls._fields:
                del timesheet_default[key]
        timesheet_default['children'] = None
        new_project_works = []
        for project_work in project_works:
            timesheet_work, = TimesheetWork.copy([project_work.work],
                default=timesheet_default)
            pwdefault = default.copy()
            pwdefault['children'] = None
            pwdefault['work'] = timesheet_work.id
            new_project_works.extend(super(Work, cls).copy([project_work],
                    default=pwdefault))
        return new_project_works
开发者ID:silpol,项目名称:tryton-bef,代码行数:23,代码来源:work.py

示例9: model_copy

# 需要导入模块: from trytond.pool import Pool [as 别名]
# 或者: from trytond.pool.Pool import copy [as 别名]
    def model_copy(cls, subscription_id):
        Cron = Pool().get('ir.cron')
        History = Pool().get('training.subscription.history')
        Invoice = Pool().get('account.invoice')
        Sale = Pool().get('sale.sale')
        SaleInvoice = Pool().get('sale.sale-account.invoice')
        
        subscription = cls(subscription_id)
        logger = logging.getLogger('training_subscription')
        number_calls = subscription.number_calls
        remaining = Cron.browse([subscription.cron.id])[0].number_calls
        actual = number_calls - remaining + 1
        model_id = subscription.model_source and subscription.model_source.id \
                or False
        if model_id:
            Model = Pool().get(subscription.model_source.__name__)
            default = {'state':'draft'}
            #default['subscription_code'] = subscription.model_source.subscription_code + ' ' +str(actual)
            default['subscription_code'] = subscription.model_source.subscription_code

            try:
                model = Model.copy([subscription.model_source], default)
            except:
                history_vals = {
                    'log': cls.raise_user_error(
                        error='error_creating',
                        error_args=subscription.model_source.__name__, 
                        raise_exception=False)
                }
            else:
                history_vals = {
                    'log': cls.raise_user_error(
                        error='created_successfully',
                        error_args=subscription.model_source.__name__, 
                        raise_exception=False)
                }
                history_vals['document'] = (subscription.model_source.__name__,
                                        model[0].id)
            History.create([history_vals])
            
            sales = Sale.search([
                         ('id','=',model[0].id)
                         ])
            
            for sale in sales:
                Sale.quote([sale])
                Sale.confirm([sale])
                Sale.process([sale])
                
                saleinvoices = SaleInvoice.search([
                    ('sale', '=', sale.id),
                    ])
                invoices = Invoice.search( [
                    ('id','=',saleinvoices[0].invoice.id)
                    ])
                Invoice.write(invoices, {
                    'reference': sale.subscription_code,
                    'invoice_date': sale.sale_date,
                    })
                Invoice.post(invoices)
                
                if invoices:
                    for invoice in invoices:
                        cls.write([subscription], 
                                           {'sales': [('add', [sale.id])],
                                           'invoices': [('add', [invoice.id])]
                                               })

            # If it is the last cron execution, set the state of the
            # subscription to done
            if remaining == 1:
                subscription.write([subscription], {'state': 'done'})
        else:
            logger.error('Document in subscription %s not found.\n' % \
                         subscription.code)   
开发者ID:iehoshia,项目名称:trytond-training_subscription,代码行数:77,代码来源:training.py


注:本文中的trytond.pool.Pool.copy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。