本文整理汇总了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
示例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
示例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
示例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
示例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
示例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
示例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
示例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
示例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)