Add better links between CustData and MemberInfo tables
This commit is contained in:
		
							parent
							
								
									3ae1c9de1f
								
							
						
					
					
						commit
						acf6764cbb
					
				
					 2 changed files with 28 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -96,7 +96,7 @@ class CustomerView(CoreOfficeMasterView):
 | 
			
		|||
    def configure_form(self, f):
 | 
			
		||||
        super(CustomerView, self).configure_form(f)
 | 
			
		||||
 | 
			
		||||
        # member_type
 | 
			
		||||
        f.set_renderer('member_info', self.render_member_info)
 | 
			
		||||
        f.set_renderer('member_type', self.render_member_type)
 | 
			
		||||
 | 
			
		||||
        if self.creating or self.editing:
 | 
			
		||||
| 
						 | 
				
			
			@ -114,6 +114,15 @@ class CustomerView(CoreOfficeMasterView):
 | 
			
		|||
        url = self.request.route_url('corepos.member_types.view', id=memtype.id)
 | 
			
		||||
        return tags.link_to(text, url)
 | 
			
		||||
 | 
			
		||||
    def render_member_info(self, custdata, field):
 | 
			
		||||
        meminfo = custdata.member_info
 | 
			
		||||
        if not meminfo:
 | 
			
		||||
            return
 | 
			
		||||
        text = str(meminfo)
 | 
			
		||||
        url = self.request.route_url('corepos.members.view',
 | 
			
		||||
                                     card_number=meminfo.card_number)
 | 
			
		||||
        return tags.link_to(text, url)
 | 
			
		||||
 | 
			
		||||
    def core_office_object_url(self, office_url, customer):
 | 
			
		||||
        return core_office_customer_account_url(self.rattail_config,
 | 
			
		||||
                                                customer.card_number,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -26,7 +26,7 @@ CORE-POS member views
 | 
			
		|||
 | 
			
		||||
from corepos.db.office_op import model as corepos
 | 
			
		||||
 | 
			
		||||
from webhelpers2.html import HTML
 | 
			
		||||
from webhelpers2.html import HTML, tags
 | 
			
		||||
 | 
			
		||||
from .master import CoreOfficeMasterView
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -111,6 +111,10 @@ class MemberView(CoreOfficeMasterView):
 | 
			
		|||
 | 
			
		||||
        f.set_renderer('dates', self.render_member_dates)
 | 
			
		||||
 | 
			
		||||
        f.append('customers')
 | 
			
		||||
        f.set_readonly('customers')
 | 
			
		||||
        f.set_renderer('customers', self.render_customers)
 | 
			
		||||
 | 
			
		||||
    def render_member_dates(self, member, field):
 | 
			
		||||
        if not member.dates:
 | 
			
		||||
            return ""
 | 
			
		||||
| 
						 | 
				
			
			@ -120,6 +124,19 @@ class MemberView(CoreOfficeMasterView):
 | 
			
		|||
            items.append(HTML.tag('li', c=str(dates)))
 | 
			
		||||
        return HTML.tag('ul', c=items)
 | 
			
		||||
 | 
			
		||||
    def render_customers(self, member, field):
 | 
			
		||||
        customers = member.customers
 | 
			
		||||
        if not customers:
 | 
			
		||||
            return
 | 
			
		||||
 | 
			
		||||
        items = []
 | 
			
		||||
        for customer in customers:
 | 
			
		||||
            text = str(customer)
 | 
			
		||||
            url = self.request.route_url('corepos.customers.view', id=customer.id)
 | 
			
		||||
            link = tags.link_to(text, url)
 | 
			
		||||
            items.append(HTML.tag('li', c=[link]))
 | 
			
		||||
        return HTML.tag('ul', c=items)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def includeme(config):
 | 
			
		||||
    MemberTypeView.defaults(config)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue