From ac524f08dba8e65c5d5e466703c61b2f480689eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Mon, 14 Oct 2024 21:30:40 +0200 Subject: [PATCH] Simplify demo company The most common usage is to have a single company so the demo should show this use case. Also to help demonstrate the different access right, more users are created with a subset of groups. --- demo/avatars/charles-miner.jpg | Bin 20193 -> 0 bytes demo/avatars/darryl-philbin.jpg | Bin 0 -> 25787 bytes demo/avatars/michael-scott-paper-inc.jpg | Bin 40196 -> 0 bytes demo/company.py | 198 +++++++++++++++-------- 4 files changed, 135 insertions(+), 63 deletions(-) delete mode 100644 demo/avatars/charles-miner.jpg create mode 100644 demo/avatars/darryl-philbin.jpg delete mode 100644 demo/avatars/michael-scott-paper-inc.jpg diff --git a/demo/avatars/charles-miner.jpg b/demo/avatars/charles-miner.jpg deleted file mode 100644 index 677a1ee56152fc0362bc1ae0cd564485437ecf40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20193 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 diff --git a/demo/avatars/darryl-philbin.jpg b/demo/avatars/darryl-philbin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1fd54ce6086f1e60fa8de365e6d37f2792bba2f9 GIT binary patch literal 25787 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 Id>j40097}&vj6}9 diff --git a/demo/company.py b/demo/company.py index 3f03cf4664..126e3be251 100644 --- a/demo/company.py +++ b/demo/company.py @@ -10,22 +10,38 @@ from . import avatar def setup(config, modules): - Party = Model.get('party.party') + Address = Model.get('party.address') Company = Model.get('company.company') + Country = Model.get('country.country') Currency = Model.get('currency.currency') + Party = Model.get('party.party') + Subdivision = Model.get('country.subdivision') usd, = Currency.find([('code', '=', 'USD')]) rate = usd.rates.new() rate.date = dt.date(dt.date.today().year, 1, 1) rate.rate = Decimal('1') usd.save() + try: + us, = Country.find([('code', '=', 'US')]) + except ValueError: + us = None company_config = Wizard('company.company.config') company_config.execute('company') company = company_config.form - party = Party(name='Michael Scott Paper Company') + party = Party(name="Dunder Mifflin") + address = Address() + party.addresses.append(address) + address.street = "1725 Slough Avenue" + address.city = "Scranton" + address.country = us + try: + address.subdivision, = Subdivision.find([('code', '=', 'US-PA')]) + except ValueError: + pass if 'party_avatar' in modules: - party.avatar = avatar.get('michael-scott-paper-inc.jpg') + party.avatar = avatar.get('dunder-mifflin.jpg') party.save() company.party = party company.currency = usd @@ -40,95 +56,151 @@ def setup(config, modules): def setup_post(config, modules, company): - Party = Model.get('party.party') Company = Model.get('company.company') - Currency = Model.get('currency.currency') - Address = Model.get('party.address') - Country = Model.get('country.country') - Subdivision = Model.get('country.subdivision') Employee = Model.get('company.employee') + Group = Model.get('res.group') + Party = Model.get('party.party') + User = Model.get('res.user') party_avatar = 'party_avatar' in modules - usd, = Currency.find([('code', '=', 'USD')]) - try: - us, = Country.find([('code', '=', 'US')]) - except ValueError: - us = None - - party_scott = Party(name='Michael Scott') + party_scott = Party(name="Michael Scott") if party_avatar: party_scott.avatar = avatar.get('michael-scott.jpg') party_scott.save() - Employee(party=party_scott, company=company).save() - party_beesly = Party(name='Pam Beesly') + employee_scott = Employee(party=party_scott, company=company) + employee_scott.save() + user_scott = User() + user_scott.name = "Michael Scott" + user_scott.login = 'michael' + user_scott.groups.extend(Group.find([ + ('name', 'not ilike', "%Admin%"), + ])) + user_scott.companies.append(Company(company.id)) + user_scott.company = company + user_scott.employees.append(employee_scott) + user_scott.employee = employee_scott + user_scott.save() + + party_beesly = Party(name="Pam Beesly") if party_avatar: party_beesly.avatar = avatar.get('pam-beesly.jpg') party_beesly.save() - Employee(party=party_beesly, company=company).save() - party_howard = Party(name='Ryan Howard') + employee_beesly = Employee(party=party_beesly, company=company) + employee_beesly.save() + user_beesly = User() + user_beesly.name = "Pam Beesly" + user_beesly.login = 'pam' + user_beesly.groups.extend(Group.find(['OR', + ('name', 'ilike', "Party%"), + ('name', 'ilike', "Employee%"), + ('name', 'ilike', "Timesheet%"), + ('name', 'ilike', "Project%"), + ])) + user_beesly.companies.append(Company(company.id)) + user_beesly.company = company + user_beesly.employees.append(employee_beesly) + user_beesly.employee = employee_beesly + user_beesly.save() + + party_howard = Party(name="Ryan Howard") if party_avatar: party_howard.avatar = avatar.get('ryan-howard.jpg') party_howard.save() - Employee(party=party_howard, company=company).save() + employee_howard = Employee(party=party_howard, company=company) + employee_howard.save() + user_howard = User() + user_howard.name = "Ryan Howard" + user_howard.login = 'ryan' + user_howard.companies.append(Company(company.id)) + user_howard.company = company + user_howard.employees.append(employee_howard) + user_howard.employee = employee_howard + user_howard.save() - dmi = Company() - party_dmi = Party(name='Dunder Mifflin inc') - address = Address() - party_dmi.addresses.append(address) - address.city = 'New York' - address.country = us - try: - address.subdivision, = Subdivision.find([('code', '=', 'US-NY')]) - except ValueError: - pass - if party_avatar: - party_dmi.avatar = avatar.get('dunder-mifflin.jpg') - party_dmi.save() - dmi.party = party_dmi - dmi.currency = usd - dmi.save() - - dms = Company() - party_dms = Party(name='Dunder Mifflin Scranton') - address = Address() - party_dms.addresses.append(address) - address.city = 'Scranton' - address.country = us - try: - address.subdivision, = Subdivision.find([('code', '=', 'US-PA')]) - except ValueError: - pass - party_dms.save() - dms.party = party_dms - dms.currency = usd - dms.save() - - party_halper = Party(name='Jim Halper') + party_halper = Party(name="Jim Halper") if party_avatar: party_halper.avatar = avatar.get('jim-halper.jpg') party_halper.save() - Employee(party=party_halper, company=dms).save() - party_schrute = Party(name='Dwight Schrute') + employee_halper = Employee(party=party_halper, company=company) + employee_halper.save() + user_halper = User() + user_halper.name = "Jim Halper" + user_halper.login = 'jim' + user_halper.groups.extend(Group.find(['OR', + ('name', '=', "Sales"), + ('name', 'ilike', "Project%"), + ])) + user_halper.companies.append(Company(company.id)) + user_halper.company = company + user_halper.employees.append(employee_halper) + user_halper.employee = employee_halper + user_halper.save() + + party_schrute = Party(name="Dwight Schrute") if party_avatar: party_schrute.avatar = avatar.get('dwight-schrute.jpg') party_schrute.save() - Employee(party=party_schrute, company=dms).save() - party_martin = Party(name='Angela Martin') + employee_schrute = Employee(party=party_schrute, company=company) + employee_schrute.save() + user_schrute = User() + user_schrute.name = "Dwight Schrute" + user_schrute.login = 'dwight' + user_schrute.groups.extend(Group.find(['OR', + ('name', '=', "Sales"), + ('name', 'ilike', "Project%"), + ('name', 'ilike', "Product%"), + ])) + user_schrute.companies.append(Company(company.id)) + user_schrute.company = company + user_schrute.employees.append(employee_schrute) + user_schrute.employee = employee_schrute + user_schrute.save() + + party_martin = Party(name="Angela Martin") if party_avatar: party_martin.avatar = avatar.get('angela-martin.jpg') party_martin.save() - Employee(party=party_martin, company=dms).save() - party_miner = Party(name='Charles Miner') + employee_martin = Employee(party=party_martin, company=company) + employee_martin.save() + user_martin = User() + user_martin.name = "Angela Martin" + user_martin.login = 'angela' + user_martin.groups.extend(Group.find(['OR', + ('name', 'ilike', "Account%"), + ('name', 'ilike', "Bank%"), + ('name', 'ilike', "Currency%"), + ('name', 'ilike', "Payment%"), + ('name', 'ilike', "Statement%"), + ])) + user_martin.companies.append(Company(company.id)) + user_martin.company = company + user_martin.employees.append(employee_martin) + user_martin.employee = employee_martin + user_martin.save() + + party_philbin = Party(name="Darryl Philbin") if party_avatar: - party_miner.avatar = avatar.get('charles-miner.jpg') - party_miner.save() - Employee(party=party_miner, company=dms).save() + party_philbin.avatar = avatar.get('darryl-philbin.jpg') + party_philbin.save() + employee_philbin = Employee(party=party_philbin, company=company) + employee_philbin.save() + user_philbin = User() + user_philbin.name = "Darryl Philbin" + user_philbin.login = 'darryl' + user_philbin.groups.extend(Group.find(['OR', + ('name', 'ilike', "Stock%"), + ])) + user_philbin.companies.append(Company(company.id)) + user_philbin.company = company + user_philbin.employees.append(employee_philbin) + user_philbin.employee = employee_philbin + user_philbin.save() def get(): Company = Model.get('company.company') company, = Company.find([ - ('party.name', '=', 'Michael Scott Paper Company'), + ('party.name', '=', "Dunder Mifflin"), ]) return company