Changeset dd4226f in theo


Ignore:
Timestamp:
06/29/20 19:05:25 (7 weeks ago)
Author:
Lance Edgar <lance@…>
Branches:
master
Children:
77102fb
Parents:
0a4ae38
Message:

Add some basic support for CORE-POS integration

Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • setup.py

    r0a4ae38 rdd4226f  
    8383        'tailbone-onager',              # 0.2.3
    8484    ],
     85
     86    'corepos': [
     87        #
     88        # package                       # low                   high
     89
     90        # TODO: must cap this for now, b/c it breaks CORE-POS integration?!
     91        # (sometimes there are segfaults with basic grid queries)
     92        'mysql-connector-python==8.0.17',
     93
     94        'pyCOREPOS',                    # 0.1.0
     95        'rattail-corepos',              # 0.1.0
     96        'tailbone-corepos',             # 0.1.1
     97    ],
    8598}
    8699
  • theo/config.py

    r0a4ae38 rdd4226f  
    3939        config.setdefault('rattail', 'app_title', "Theo")
    4040
     41        # Theo may define a custom data model
     42        if integrate_corepos(config):
     43            config.setdefault('rattail', 'model', 'theo.db.model_corepos')
     44
    4145        # Theo comes with its own menu for web app
    4246        config.setdefault('tailbone', 'menus', 'theo.web.menus')
     
    4448
    4549def integrate_catapult(config):
    46     return config.getbool('theo', 'integrate_catapult', default=False)
     50    return config.getbool('theo', 'integrate_catapult', default=False,
     51                          usedb=False)
     52
     53
     54def integrate_corepos(config):
     55    return config.getbool('theo', 'integrate_corepos', default=False,
     56                          usedb=False)
  • theo/web/app.py

    r0a4ae38 rdd4226f  
    2727from tailbone import app
    2828
    29 from theo.config import integrate_catapult
     29from theo.config import integrate_catapult, integrate_corepos
    3030
    3131
     
    4545    pyramid_config = app.make_pyramid_config(settings)
    4646
    47     # maybe add catapult integrations
     47    # maybe configure integration db connections
    4848    if integrate_catapult(rattail_config):
    4949        from tailbone_onager.db import CatapultSession
    5050        CatapultSession.configure(bind=rattail_config.catapult_engine)
     51    if integrate_corepos(rattail_config):
     52        from tailbone_corepos.db import CoreOfficeSession
     53        CoreOfficeSession.configure(bind=rattail_config.corepos_engine)
    5154
    5255    # bring in the rest of Theo
  • theo/web/menus.py

    r0a4ae38 rdd4226f  
    2525"""
    2626
    27 from theo.config import integrate_catapult
     27from theo.config import integrate_catapult, integrate_corepos
    2828
    2929
     
    3333
    3434    include_catapult = integrate_catapult(rattail_config)
     35    include_corepos = integrate_corepos(rattail_config)
    3536
    3637    orders_menu = {
     
    154155        }
    155156
     157    if include_corepos:
     158        corepos_menu = {
     159            'title': "CORE-POS",
     160            'type': 'menu',
     161            'items': [
     162                {
     163                    'title': "Departments",
     164                    'url': url('corepos.departments'),
     165                    'perm': 'corepos.departments.list',
     166                },
     167                {
     168                    'title': "Subdepartments",
     169                    'url': url('corepos.subdepartments'),
     170                    'perm': 'corepos.subdepartments.list',
     171                },
     172                {
     173                    'title': "Vendors",
     174                    'url': url('corepos.vendors'),
     175                    'perm': 'corepos.vendors.list',
     176                },
     177                {
     178                    'title': "Products",
     179                    'url': url('corepos.products'),
     180                    'perm': 'corepos.products.list',
     181                },
     182                {
     183                    'title': "Customers",
     184                    'url': url('corepos.customers'),
     185                    'perm': 'corepos.customers.list',
     186                },
     187                {
     188                    'title': "Member Types",
     189                    'url': url('corepos.member_types'),
     190                    'perm': 'corepos.member_types.list',
     191                },
     192                {
     193                    'title': "Members",
     194                    'url': url('corepos.members'),
     195                    'perm': 'corepos.members.list',
     196                },
     197                {
     198                    'title': "Employees",
     199                    'url': url('corepos.employees'),
     200                    'perm': 'corepos.employees.list',
     201                },
     202                # {
     203                #     'title': "Transaction Details",
     204                #     'url': url('corepos.transaction_details'),
     205                #     'perm': 'corepos.transaction_details.list',
     206                # },
     207            ],
     208        }
     209
    156210    admin_menu = {
    157211        'title': "Admin",
     
    226280    if include_catapult:
    227281        menus.append(catapult_menu)
     282    if include_corepos:
     283        menus.append(corepos_menu)
    228284
    229285    menus.append(admin_menu)
  • theo/web/views/__init__.py

    r0a4ae38 rdd4226f  
    2525"""
    2626
    27 from theo.config import integrate_catapult
     27from theo.config import integrate_catapult, integrate_corepos
    2828
    2929
     
    6161    if integrate_catapult(rattail_config):
    6262        config.include('tailbone_onager.views')
     63
     64    # corepos views
     65    if integrate_corepos(rattail_config):
     66        config.include('tailbone_corepos.views')
Note: See TracChangeset for help on using the changeset viewer.