Tweak how customer/person relationships are displayed

expose just a little more to make it easier to track down a data issue i had
This commit is contained in:
Lance Edgar 2017-07-03 16:58:30 -05:00
parent 24a2c15850
commit 4aa91414a5
4 changed files with 32 additions and 6 deletions

View file

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8; -*-
################################################################################
#
# Rattail -- Retail Software Framework
# Copyright © 2010-2015 Lance Edgar
# Copyright © 2010-2017 Lance Edgar
#
# This file is part of Rattail.
#
@ -121,6 +121,7 @@ class CustomersView(MasterView):
fs.append(forms.fields.DefaultPhoneField('default_phone', label="Phone Number"))
fs.append(forms.fields.DefaultEmailField('default_email', label="Email Address"))
fs.email_preference.set(renderer=forms.EnumFieldRenderer(self.enum.EMAIL_PREFERENCE))
fs.append(forms.AssociationProxyField('people', renderer=forms.renderers.PeopleFieldRenderer))
def configure_fieldset(self, fs):
fs.configure(
@ -132,6 +133,7 @@ class CustomersView(MasterView):
# fs.email.label("Email Address").readonly(),
fs.default_email,
fs.email_preference,
fs.people,
])
def configure_mobile_fieldset(self, fs):

View file

@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8; -*-
################################################################################
#
# Rattail -- Retail Software Framework
# Copyright © 2010-2016 Lance Edgar
# Copyright © 2010-2017 Lance Edgar
#
# This file is part of Rattail.
#
@ -32,6 +32,7 @@ import formalchemy as fa
from pyramid.httpexceptions import HTTPFound, HTTPNotFound
from webhelpers.html import HTML, tags
from tailbone import forms
from tailbone.views import MasterView, AutocompleteView
from rattail.db import model
@ -74,6 +75,9 @@ class PeopleView(MasterView):
g.filters['phone'] = g.make_filter('phone', model.PersonPhoneNumber.number,
label="Phone Number")
g.joiners['customer_id'] = lambda q: q.outerjoin(model.CustomerPerson).outerjoin(model.Customer)
g.filters['customer_id'] = g.make_filter('customer_id', model.Customer.id, label="Customer ID")
g.filters['first_name'].default_active = True
g.filters['first_name'].default_verb = 'contains'
@ -122,6 +126,7 @@ class PeopleView(MasterView):
fs.phone.set(label="Phone Number", readonly=True)
fs.email.set(label="Email Address", readonly=True)
fs.address.set(label="Mailing Address", readonly=True)
fs.employee.set(renderer=forms.renderers.EmployeeFieldRenderer, attrs={'hyperlink': True})
fs._customers.set(renderer=CustomersFieldRenderer, readonly=True)
def configure_fieldset(self, fs):
@ -134,6 +139,7 @@ class PeopleView(MasterView):
fs.phone,
fs.email,
fs.address,
fs.employee,
fs._customers,
])