changeset fd502b1ea80e in tryton-tools:default
details: https://hg.tryton.org/tryton-tools?cmd=changeset&node=fd502b1ea80e
description:
Add party avatar to demo
diffstat:
avatars/angela-martin.jpg | Bin
avatars/charles-miner.jpg | Bin
avatars/dunder-mifflin.jpg | Bin
avatars/dwight-schrute.jpg | Bin
avatars/jim-halper.jpg | Bin
avatars/michael-scott-paper-inc.jpg | Bin
avatars/michael-scott.jpg | Bin
avatars/pam-beesly.jpg | Bin
avatars/ryan-howard.jpg | Bin
avatars/saber.jpg | Bin
tryton_demo.py | 42 ++++++++++++++++++++++++++++++-----
11 files changed, 36 insertions(+), 6 deletions(-)
diffs (169 lines):
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/angela-martin.jpg
Binary file avatars/angela-martin.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/charles-miner.jpg
Binary file avatars/charles-miner.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/dunder-mifflin.jpg
Binary file avatars/dunder-mifflin.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/dwight-schrute.jpg
Binary file avatars/dwight-schrute.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/jim-halper.jpg
Binary file avatars/jim-halper.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/michael-scott-paper-inc.jpg
Binary file avatars/michael-scott-paper-inc.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/michael-scott.jpg
Binary file avatars/michael-scott.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/pam-beesly.jpg
Binary file avatars/pam-beesly.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/ryan-howard.jpg
Binary file avatars/ryan-howard.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e avatars/saber.jpg
Binary file avatars/saber.jpg has changed
diff -r b9cc32bbf2b6 -r fd502b1ea80e tryton_demo.py
--- a/tryton_demo.py Sun May 02 17:14:14 2021 +0200
+++ b/tryton_demo.py Sun May 02 20:03:28 2021 +0200
@@ -1,17 +1,24 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
+import os
+import random
+import sys
from dateutil.relativedelta import relativedelta
from decimal import Decimal
from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter
-import sys
-import random
from itertools import chain
from proteus import Model, Wizard
from proteus import config as pconfig
TODAY = datetime.date.today()
+AVATAR_DIR = os.path.join(os.path.dirname(__file__), 'avatars')
+
+
+def get_avatar(name):
+ with open(os.path.join(AVATAR_DIR, name), 'rb') as fp:
+ return fp.read()
def set_config(database, config_file):
@@ -104,13 +111,15 @@
party, = Party.find([('name', '=', name)])
except ValueError:
party = Party(name=name)
+ if 'party_avatar' in modules:
+ party.avatar = get_avatar('saber.jpg')
party.save()
suppliers.append(party)
return customers, suppliers
-def setup_company(config):
+def setup_company(config, modules):
Party = Model.get('party.party')
Company = Model.get('company.company')
Currency = Model.get('currency.currency')
@@ -127,6 +136,8 @@
company_config.execute('company')
company = company_config.form
party = Party(name='Michael Scott Paper Company')
+ if 'party_avatar' in modules:
+ party.avatar = get_avatar('michael-scott-paper-inc.jpg')
party.save()
company.party = party
company.currency = usd
@@ -140,7 +151,7 @@
return company
-def setup_company_post(config, company):
+def setup_company_post(config, modules, company):
Party = Model.get('party.party')
Company = Model.get('company.company')
Currency = Model.get('currency.currency')
@@ -149,16 +160,24 @@
Subdivision = Model.get('country.subdivision')
Employee = Model.get('company.employee')
+ party_avatar = 'party_avatar' in modules
+
usd, = Currency.find([('code', '=', 'USD')])
us, = Country.find([('code', '=', 'US')])
party_scott = Party(name='Michael Scott')
+ if party_avatar:
+ party_scott.avatar = get_avatar('michael-scott.jpg')
party_scott.save()
Employee(party=party_scott, company=company).save()
party_beesly = Party(name='Pam Beesly')
+ if party_avatar:
+ party_beesly.avatar = get_avatar('pam-beesly.jpg')
party_beesly.save()
Employee(party=party_beesly, company=company).save()
party_howard = Party(name='Ryan Howard')
+ if party_avatar:
+ party_howard.avatar = get_avatar('ryan-howard.jpg')
party_howard.save()
Employee(party=party_howard, company=company).save()
@@ -169,6 +188,8 @@
address.city = 'New York'
address.country = us
address.subdivision, = Subdivision.find([('code', '=', 'US-NY')])
+ if party_avatar:
+ party_dmi.avatar = get_avatar('dunder-mifflin.jpg')
party_dmi.save()
dmi.party = party_dmi
dmi.currency = usd
@@ -187,15 +208,23 @@
dms.save()
party_halper = Party(name='Jim Halper')
+ if party_avatar:
+ party_halper.avatar = get_avatar('jim-halper.jpg')
party_halper.save()
Employee(party=party_halper, company=dms).save()
party_schrute = Party(name='Dwight Schrute')
+ if party_avatar:
+ party_schrute.avatar = get_avatar('dwight-schrute.jpg')
party_schrute.save()
Employee(party=party_schrute, company=dms).save()
party_martin = Party(name='Angela Martin')
+ if party_avatar:
+ party_martin.avatar = get_avatar('angela-martin.jpg')
party_martin.save()
Employee(party=party_martin, company=dms).save()
party_miner = Party(name='Charles Miner')
+ if party_avatar:
+ party_miner.avatar = get_avatar('charles-miner.jpg')
party_miner.save()
Employee(party=party_miner, company=dms).save()
@@ -894,7 +923,7 @@
customers, suppliers = setup_party(config, modules)
if 'company' in to_activate:
- company = setup_company(config)
+ company = setup_company(config, activated)
elif 'company' in activated:
Company = Model.get('company.company')
company, = Company.find([
@@ -907,7 +936,7 @@
setup_account(config, activated, company)
if 'company' in to_activate:
- setup_company_post(config, company)
+ setup_company_post(config, activated, company)
if 'product' in to_activate:
setup_product(config, activated, company=company)
@@ -956,6 +985,7 @@
'account_statement',
'company',
'party',
+ 'party_avatar',
'product',
'purchase',
'sale',