Improve integration for Catapult somewhat
custom schema, importers, web views
This commit is contained in:
		
							parent
							
								
									dd4226fcd6
								
							
						
					
					
						commit
						77102fb3ac
					
				
					 6 changed files with 111 additions and 16 deletions
				
			
		|  | @ -38,13 +38,18 @@ class TheoConfig(ConfigExtension): | ||||||
|         # call the app "Theo" by default |         # call the app "Theo" by default | ||||||
|         config.setdefault('rattail', 'app_title', "Theo") |         config.setdefault('rattail', 'app_title', "Theo") | ||||||
| 
 | 
 | ||||||
|         # Theo may define a custom data model |  | ||||||
|         if integrate_corepos(config): |  | ||||||
|             config.setdefault('rattail', 'model', 'theo.db.model_corepos') |  | ||||||
| 
 |  | ||||||
|         # Theo comes with its own menu for web app |         # Theo comes with its own menu for web app | ||||||
|         config.setdefault('tailbone', 'menus', 'theo.web.menus') |         config.setdefault('tailbone', 'menus', 'theo.web.menus') | ||||||
| 
 | 
 | ||||||
|  |         # do we integrate w/ Catapult? | ||||||
|  |         if integrate_catapult(config): | ||||||
|  |             config.setdefault('rattail', 'model', 'theo.db.model_catapult') | ||||||
|  |             config.setdefault('rattail.importing', 'versions.handler', 'theo.importing.versions_catapult:FromTheoToTheoVersions') | ||||||
|  | 
 | ||||||
|  |         # do we integrate w/ CORE-POS? | ||||||
|  |         elif integrate_corepos(config): | ||||||
|  |             config.setdefault('rattail', 'model', 'theo.db.model_corepos') | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def integrate_catapult(config): | def integrate_catapult(config): | ||||||
|     return config.getbool('theo', 'integrate_catapult', default=False, |     return config.getbool('theo', 'integrate_catapult', default=False, | ||||||
|  |  | ||||||
							
								
								
									
										31
									
								
								theo/db/model_catapult.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								theo/db/model_catapult.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,31 @@ | ||||||
|  | # -*- coding: utf-8; -*- | ||||||
|  | ################################################################################ | ||||||
|  | # | ||||||
|  | #  Rattail -- Retail Software Framework | ||||||
|  | #  Copyright © 2010-2020 Lance Edgar | ||||||
|  | # | ||||||
|  | #  This file is part of Rattail. | ||||||
|  | # | ||||||
|  | #  Rattail is free software: you can redistribute it and/or modify it under the | ||||||
|  | #  terms of the GNU General Public License as published by the Free Software | ||||||
|  | #  Foundation, either version 3 of the License, or (at your option) any later | ||||||
|  | #  version. | ||||||
|  | # | ||||||
|  | #  Rattail is distributed in the hope that it will be useful, but WITHOUT ANY | ||||||
|  | #  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  | #  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more | ||||||
|  | #  details. | ||||||
|  | # | ||||||
|  | #  You should have received a copy of the GNU General Public License along with | ||||||
|  | #  Rattail.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | ################################################################################ | ||||||
|  | """ | ||||||
|  | Theo data model w/ Catapult integration | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | # bring in all the normal stuff from Rattail | ||||||
|  | from rattail.db.model import * | ||||||
|  | 
 | ||||||
|  | # also bring in Catapult integration models | ||||||
|  | from rattail_onager.db.model import * | ||||||
							
								
								
									
										0
									
								
								theo/importing/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								theo/importing/__init__.py
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										35
									
								
								theo/importing/versions_catapult.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								theo/importing/versions_catapult.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | ||||||
|  | # -*- coding: utf-8; -*- | ||||||
|  | ################################################################################ | ||||||
|  | # | ||||||
|  | #  Rattail -- Retail Software Framework | ||||||
|  | #  Copyright © 2010-2020 Lance Edgar | ||||||
|  | # | ||||||
|  | #  This file is part of Rattail. | ||||||
|  | # | ||||||
|  | #  Rattail is free software: you can redistribute it and/or modify it under the | ||||||
|  | #  terms of the GNU General Public License as published by the Free Software | ||||||
|  | #  Foundation, either version 3 of the License, or (at your option) any later | ||||||
|  | #  version. | ||||||
|  | # | ||||||
|  | #  Rattail is distributed in the hope that it will be useful, but WITHOUT ANY | ||||||
|  | #  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS | ||||||
|  | #  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more | ||||||
|  | #  details. | ||||||
|  | # | ||||||
|  | #  You should have received a copy of the GNU General Public License along with | ||||||
|  | #  Rattail.  If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | # | ||||||
|  | ################################################################################ | ||||||
|  | """ | ||||||
|  | Theo -> Theo "versions" data import, w/ Catapult integration | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | from rattail_onager.importing import versions as onager_base | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class FromTheoToTheoVersions(onager_base.FromRattailToRattailVersions): | ||||||
|  |     """ | ||||||
|  |     Handler for Theo -> Theo "versions" data import | ||||||
|  |     """ | ||||||
|  |     host_title = "Theo" | ||||||
|  |     local_title = "Theo (Versions)" | ||||||
|  | @ -112,6 +112,11 @@ def simple_menus(request): | ||||||
|                 'url': url('vendors'), |                 'url': url('vendors'), | ||||||
|                 'perm': 'vendors.list', |                 'perm': 'vendors.list', | ||||||
|             }, |             }, | ||||||
|  |             { | ||||||
|  |                 'title': "Taxes", | ||||||
|  |                 'url': url('taxes'), | ||||||
|  |                 'perm': 'taxes.list', | ||||||
|  |             }, | ||||||
|         ], |         ], | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -38,29 +38,48 @@ def includeme(config): | ||||||
|     config.include('tailbone.views.progress') |     config.include('tailbone.views.progress') | ||||||
| 
 | 
 | ||||||
|     # main table views |     # main table views | ||||||
|     config.include('tailbone.views.brands') |  | ||||||
|     config.include('tailbone.views.customers') |  | ||||||
|     config.include('tailbone.views.customergroups') |     config.include('tailbone.views.customergroups') | ||||||
|     config.include('tailbone.views.custorders') |     config.include('tailbone.views.custorders') | ||||||
|     config.include('tailbone.views.datasync') |     config.include('tailbone.views.datasync') | ||||||
|     config.include('tailbone.views.departments') |  | ||||||
|     config.include('tailbone.views.email') |     config.include('tailbone.views.email') | ||||||
|     config.include('tailbone.views.employees') |  | ||||||
|     config.include('tailbone.views.messages') |     config.include('tailbone.views.messages') | ||||||
|     config.include('tailbone.views.people') |     config.include('tailbone.views.people') | ||||||
|     config.include('tailbone.views.products') |  | ||||||
|     config.include('tailbone.views.reportcodes') |     config.include('tailbone.views.reportcodes') | ||||||
|     config.include('tailbone.views.roles') |     config.include('tailbone.views.roles') | ||||||
|     config.include('tailbone.views.settings') |     config.include('tailbone.views.settings') | ||||||
|     config.include('tailbone.views.stores') |  | ||||||
|     config.include('tailbone.views.subdepartments') |     config.include('tailbone.views.subdepartments') | ||||||
|     config.include('tailbone.views.users') |     config.include('tailbone.views.users') | ||||||
|     config.include('tailbone.views.vendors') |  | ||||||
| 
 | 
 | ||||||
|     # catapult views |     # do we integrate w/ Catapult? | ||||||
|     if integrate_catapult(rattail_config): |     if integrate_catapult(rattail_config): | ||||||
|         config.include('tailbone_onager.views') |         config.include('tailbone_onager.views.stores') | ||||||
|  |         config.include('tailbone_onager.views.customers') | ||||||
|  |         config.include('tailbone_onager.views.employees') | ||||||
|  |         config.include('tailbone_onager.views.taxes') | ||||||
|  |         config.include('tailbone_onager.views.departments') | ||||||
|  |         config.include('tailbone_onager.views.brands') | ||||||
|  |         config.include('tailbone_onager.views.vendors') | ||||||
|  |         config.include('tailbone_onager.views.products') | ||||||
|  |         config.include('tailbone_onager.views.catapult') | ||||||
| 
 | 
 | ||||||
|     # corepos views |     # do we integrate w/ CORE-POS? | ||||||
|     if integrate_corepos(rattail_config): |     elif integrate_corepos(rattail_config): | ||||||
|         config.include('tailbone_corepos.views') |         config.include('tailbone.views.stores') | ||||||
|  |         config.include('tailbone.views.customers') | ||||||
|  |         config.include('tailbone.views.employees') | ||||||
|  |         config.include('tailbone.views.taxes') | ||||||
|  |         config.include('tailbone.views.departments') | ||||||
|  |         config.include('tailbone.views.brands') | ||||||
|  |         config.include('tailbone.views.vendors') | ||||||
|  |         config.include('tailbone.views.products') | ||||||
|  |         config.include('tailbone_corepos.views.corepos') | ||||||
|  | 
 | ||||||
|  |     else: # no POS integration | ||||||
|  |         config.include('tailbone.views.stores') | ||||||
|  |         config.include('tailbone.views.customers') | ||||||
|  |         config.include('tailbone.views.employees') | ||||||
|  |         config.include('tailbone.views.taxes') | ||||||
|  |         config.include('tailbone.views.departments') | ||||||
|  |         config.include('tailbone.views.brands') | ||||||
|  |         config.include('tailbone.views.vendors') | ||||||
|  |         config.include('tailbone.views.products') | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Lance Edgar
						Lance Edgar