本文整理汇总了Python中trytond.transaction.Transaction.set_user方法的典型用法代码示例。如果您正苦于以下问题:Python Transaction.set_user方法的具体用法?Python Transaction.set_user怎么用?Python Transaction.set_user使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类trytond.transaction.Transaction
的用法示例。
在下文中一共展示了Transaction.set_user方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_user_root_company
# 需要导入模块: from trytond.transaction import Transaction [as 别名]
# 或者: from trytond.transaction.Transaction import set_user [as 别名]
def test_user_root_company(self):
"Test root user company"
pool = Pool()
User = pool.get('res.user')
transaction = Transaction()
company = create_company()
root = User(0)
root.company = None
root.main_company = None
root.save()
with transaction.set_user(0):
with Transaction().set_context(company=company.id):
root = User(0)
self.assertEqual(root.company, company)
示例2: test_user_root_employee
# 需要导入模块: from trytond.transaction import Transaction [as 别名]
# 或者: from trytond.transaction.Transaction import set_user [as 别名]
def test_user_root_employee(self):
"Test root user employee"
pool = Pool()
User = pool.get('res.user')
transaction = Transaction()
company = create_company()
employee = create_employee(company, "Jim Halper")
root = User(0)
root.employee = None
root.employees = None
root.save()
with transaction.set_user(0):
with Transaction().set_context(employee=employee.id):
root = User(0)
self.assertEqual(root.employee, employee)
示例3: test_user_employee
# 需要导入模块: from trytond.transaction import Transaction [as 别名]
# 或者: from trytond.transaction.Transaction import set_user [as 别名]
def test_user_employee(self):
"Test user employee"
pool = Pool()
User = pool.get('res.user')
transaction = Transaction()
company = create_company()
employee1 = create_employee(company, "Jim Halper")
employee2 = create_employee(company, "Pam Bessly")
employee3 = create_employee(company, "Michael Scott")
user1, user2 = User.create([{
'name': "Jim Halper",
'login': "jim",
'main_company': company.id,
'company': company.id,
'employees': [('add', [employee1.id, employee2.id])],
'employee': employee1.id,
}, {
'name': "Pam Beesly",
'login': "pam",
'main_company': company.id,
'company': company.id,
'employees': [('add', [employee2.id])],
'employee': employee2.id,
}])
with transaction.set_user(user1.id):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.employee, employee1)
self.assertEqual(user2.employee, employee2)
with transaction.set_context(employee=employee2.id):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.employee, employee2)
self.assertEqual(user2.employee, employee2)
with transaction.set_context(employee=None):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.employee, None)
self.assertEqual(user2.employee, employee2)
with transaction.set_context(employee=employee3.id):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.employee, employee1)
self.assertEqual(user2.employee, employee2)
示例4: test_user_company
# 需要导入模块: from trytond.transaction import Transaction [as 别名]
# 或者: from trytond.transaction.Transaction import set_user [as 别名]
def test_user_company(self):
'Test user company'
pool = Pool()
User = pool.get('res.user')
transaction = Transaction()
company1 = create_company()
company2 = create_company('Michael Scott Paper Company',
currency=company1.currency)
company2.parent = company1
company2.save()
company3 = create_company()
user1, user2 = User.create([{
'name': 'Jim Halper',
'login': 'jim',
'main_company': company1.id,
'company': company1.id,
}, {
'name': 'Pam Beesly',
'login': 'pam',
'main_company': company2.id,
'company': company2.id,
}])
self.assertTrue(user1)
with transaction.set_user(user1.id):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.company, company1)
self.assertEqual(user2.company, company2)
with transaction.set_context({'company': company2.id}):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.company, company2)
self.assertEqual(user2.company, company2)
with transaction.set_context({'company': None}):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.company, None)
self.assertEqual(user2.company, company2)
with transaction.set_context(company=company3.id):
user1, user2 = User.browse([user1.id, user2.id])
self.assertEqual(user1.company, company1)
self.assertEqual(user2.company, company2)
示例5: transition_create_account
# 需要导入模块: from trytond.transaction import Transaction [as 别名]
# 或者: from trytond.transaction.Transaction import set_user [as 别名]
def transition_create_account(self):
pool = Pool()
AnalyticAccountTemplate = \
pool.get('analytic_account.account.template')
Config = pool.get('ir.configuration')
Account = pool.get('analytic_account.account')
transaction = Transaction()
company = self.account.company
# Skip access rule
with transaction.set_user(0):
accounts = Account.search([('company', '=', company.id),
('type','=','root'),
('parent','=',None),
('root','=',None)])
if len(accounts)>=3:
self.raise_user_warning('duplicated_chart.%d' % company,
'account_chart_exists', {
'company': company.rec_name,
})
with transaction.set_context(language=Config.get_language(),
company=company.id):
# Create analytic plan
analytic_templates = AnalyticAccountTemplate.search([
('type','=','root'),
('parent','=',None),
('root','=',None)
])
for template in analytic_templates:
template2account = {}
#print ("TEMPLATE: ", str(template))
template.create_analytic_account(
company.id,
template2account=template2account,
)
return 'end'
示例6: transition_create_budget
# 需要导入模块: from trytond.transaction import Transaction [as 别名]
# 或者: from trytond.transaction.Transaction import set_user [as 别名]
def transition_create_budget(self):
pool = Pool()
BudgetTemplate = \
pool.get('account.budget.template')
Budget = pool.get('account.budget')
Config = pool.get('ir.configuration')
transaction = Transaction()
company = self.account.company
fiscalyear = self.account.fiscalyear
template = self.account.template
# Skip access rule
with transaction.set_user(0):
budgets = Budget.search([
('company', '=', company.id),
('fiscalyear','=',fiscalyear),
('parent','=',None),
])
if budgets:
#raise BudgetExistForFiscalYear(
# gettext('account_budget.msg_budget_already_exist',
# fiscalyear=fiscalyear.name,
# company=company.rec_name))
self.raise_user_error('budget_already_exists', {
'fiscalyear': fiscalyear.name,
'company': company.rec_name,
})
with transaction.set_context(language=Config.get_language(),
company=company.id):
template2budget = {}
template.create_budget(
company.id,
fiscalyear.id,
template2budget=template2budget,
)
return 'end'
示例7: transition_create_account
# 需要导入模块: from trytond.transaction import Transaction [as 别名]
# 或者: from trytond.transaction.Transaction import set_user [as 别名]
def transition_create_account(self):
pool = Pool()
TaxCodeTemplate = pool.get('account.tax.code.template')
TaxCodeLineTemplate = pool.get('account.tax.code.line.template')
TaxTemplate = pool.get('account.tax.template')
TaxRuleTemplate = pool.get('account.tax.rule.template')
TaxRuleLineTemplate = \
pool.get('account.tax.rule.line.template')
Config = pool.get('ir.configuration')
Account = pool.get('account.account')
transaction = Transaction()
company = self.account.company
# Skip access rule
with transaction.set_user(0):
accounts = Account.search([('company', '=', company.id)], limit=1)
if accounts:
self.raise_user_warning('duplicated_chart.%d' % company.id,
'account_chart_exists', {
'company': company.rec_name,
})
with transaction.set_context(language=Config.get_language(),
company=company.id):
account_template = self.account.account_template
account_meta_template = self.account.meta_type
# Get account meta types
template2meta_type = {}
account_meta_template.update_type(template2type=template2meta_type)
# Create account types
template2type = {}
account_template.type.create_type(
company.id,
template2type=template2type,
template2meta_type=template2meta_type)
# Create accounts
template2account = {}
account_template.create_account(
company.id,
template2account=template2account,
template2type=template2type)
# Create taxes
template2tax = {}
TaxTemplate.create_tax(
account_template.id, company.id,
template2account=template2account,
template2tax=template2tax)
# Create tax codes
template2tax_code = {}
TaxCodeTemplate.create_tax_code(
account_template.id, company.id,
template2tax_code=template2tax_code)
# Create tax code lines
template2tax_code_line = {}
TaxCodeLineTemplate.create_tax_code_line(
account_template.id,
template2tax=template2tax,
template2tax_code=template2tax_code,
template2tax_code_line=template2tax_code_line)
# Update taxes and replaced_by on accounts
account_template.update_account2(template2account, template2tax)
# Create tax rules
template2rule = {}
TaxRuleTemplate.create_rule(
account_template.id, company.id,
template2rule=template2rule)
# Create tax rule lines
template2rule_line = {}
TaxRuleLineTemplate.create_rule_line(
account_template.id, template2tax, template2rule,
template2rule_line=template2rule_line)
return 'properties'