Add initial support for WooCommerce integration

This commit is contained in:
Lance Edgar 2021-01-20 21:54:52 -06:00
parent 05ac07d2e6
commit 25bf17715c
9 changed files with 70 additions and 3 deletions

View file

@ -16,6 +16,7 @@ def main(global_config, **settings):
# prefer demo templates over tailbone
settings.setdefault('mako.directories', ['rattail_demo.web:templates',
'tailbone_corepos:templates',
'tailbone_woocommerce:templates',
'tailbone:templates',])
# for graceful handling of postgres restart

View file

@ -122,6 +122,12 @@ def simple_menus(request):
'url': url('shopfoo.product_exports'),
'perm': 'shopfoo.product_exports.list',
},
{'type': 'sep'},
{
'title': "WooCommerce Products",
'url': url('woocommerce.products'),
'perm': 'woocommerce.products.list',
},
],
},
{

View file

@ -0,0 +1,46 @@
## -*- coding: utf-8; -*-
<%inherit file="tailbone:templates/products/view.mako" />
<%namespace name="corepos" file="tailbone_corepos:templates/products/view.mako" />
<%namespace name="woocommerce" file="tailbone_woocommerce:templates/products/view.mako" />
<%def name="object_helpers()">
${parent.object_helpers()}
${self.render_xref_helper()}
<div class="object-helper">
<h3>Internal Links</h3>
<div class="object-helper-content">
<ul>
% if instance.corepos_id:
<li>${h.link_to("View CORE-POS Product", url('corepos.products.view', id=instance.corepos_id))}</li>
% endif
% if instance.demo_shopfoo_product:
<li>${h.link_to("View Shopfoo Product", url('shopfoo.products.view', uuid=instance.demo_shopfoo_product.uuid))}</li>
% endif
% if instance.woocommerce_cache_product:
<li>${h.link_to("View WooCommerce Product", url('woocommerce.products.view', uuid=instance.woocommerce_cache_product.uuid))}</li>
% endif
</ul>
</div>
</div>
</%def>
<%def name="render_xref_helper()">
<div class="object-helper">
<h3>Cross-Reference</h3>
<div class="object-helper-content buttons">
${corepos.render_xref_button()}
${woocommerce.render_xref_store_button()}
${woocommerce.render_xref_admin_button()}
</div>
</div>
</%def>
<%def name="extra_main_fields(form)">
${parent.extra_main_fields(form)}
${corepos.extra_main_fields_corepos(form)}
${woocommerce.extra_main_fields_woocommerce(form)}
</%def>
${parent.body()}

View file

@ -44,6 +44,9 @@ def includeme(config):
# shopfoo views
config.include('rattail_demo.web.views.shopfoo')
# woocommerce views
config.include('tailbone_woocommerce.views.woocommerce')
# batch views
config.include('tailbone.views.handheld')
config.include('tailbone.views.batch.inventory')

View file

@ -5,9 +5,10 @@ Product views
from tailbone.views import products as base
from tailbone_corepos.views import products as corepos_base
from tailbone_woocommerce.views import products as woocommerce_base
class ProductView(corepos_base.ProductView):
class ProductView(corepos_base.ProductView, woocommerce_base.ProductView):
"""
Product overrides for online demo
"""