65 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								# -*- 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/>.
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								################################################################################
							 | 
						||
| 
								 | 
							
								"""
							 | 
						||
| 
								 | 
							
								Customer Views
							 | 
						||
| 
								 | 
							
								"""
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								from tailbone.views import customers as base
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class CustomerView(base.CustomersView):
							 | 
						||
| 
								 | 
							
								    """
							 | 
						||
| 
								 | 
							
								    Master view for the Customer class.
							 | 
						||
| 
								 | 
							
								    """
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    labels = {
							 | 
						||
| 
								 | 
							
								        'corepos_account_id': "CORE-POS Account ID",
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @property
							 | 
						||
| 
								 | 
							
								    def form_fields(self):
							 | 
						||
| 
								 | 
							
								        fields = super(CustomerView, self).form_fields
							 | 
						||
| 
								 | 
							
								        return fields + [
							 | 
						||
| 
								 | 
							
								            'corepos_account_id',
							 | 
						||
| 
								 | 
							
								        ]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def query(self, session):
							 | 
						||
| 
								 | 
							
								        query = super(CustomerView, self).query(session)
							 | 
						||
| 
								 | 
							
								        model = self.rattail_config.get_model()
							 | 
						||
| 
								 | 
							
								        return query.outerjoin(model.CoreCustomer)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def configure_grid(self, g):
							 | 
						||
| 
								 | 
							
								        super(CustomerView, self).configure_grid(g)
							 | 
						||
| 
								 | 
							
								        model = self.rattail_config.get_model()
							 | 
						||
| 
								 | 
							
								        g.set_filter('corepos_account_id', model.CoreCustomer.corepos_account_id)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def get_version_child_classes(self):
							 | 
						||
| 
								 | 
							
								        model = self.rattail_config.get_model()
							 | 
						||
| 
								 | 
							
								        return super(CustomerView, self).get_version_child_classes() + [
							 | 
						||
| 
								 | 
							
								            model.CoreCustomer,
							 | 
						||
| 
								 | 
							
								        ]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def includeme(config):
							 | 
						||
| 
								 | 
							
								    CustomerView.defaults(config)
							 |