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',

Reply via email to