Add problem report for CORE phone numbers too long
This commit is contained in:
parent
2af89f2cbf
commit
66d1cdd0a9
3 changed files with 66 additions and 0 deletions
|
@ -56,3 +56,32 @@ class InvalidPersonNumbers(ProblemReport):
|
|||
|
||||
core_session.close()
|
||||
return problems
|
||||
|
||||
|
||||
class PhoneNumbersTooLong(ProblemReport):
|
||||
"""
|
||||
Looks for ``meminfo`` records in CORE which have a phone number
|
||||
value which is too long to fit into the corresponding
|
||||
``Customers`` table column in CORE.
|
||||
"""
|
||||
system_key = 'corepos'
|
||||
problem_key = 'phone_numbers_too_long'
|
||||
problem_title = "Phone numbers too long"
|
||||
|
||||
def find_problems(self, **kwargs):
|
||||
problems = []
|
||||
core_session = CoreSession()
|
||||
|
||||
maxlen = self.app.maxlen(corepos.Customer.phone)
|
||||
core_members = core_session.query(corepos.MemberInfo)\
|
||||
.order_by(corepos.MemberInfo.card_number)\
|
||||
.all()
|
||||
|
||||
def inspect(member, i):
|
||||
if member.phone and len(member.phone) > maxlen:
|
||||
problems.append(member)
|
||||
|
||||
self.progress_loop(inspect, core_members,
|
||||
message="Looking for phone numbers too long")
|
||||
core_session.close()
|
||||
return problems
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue