Lance Edgar
ad4f882c2e
Update changelog
2023-06-17 18:11:19 -05:00
Lance Edgar
052b8277b2
Add basic support for quickie_lookup()
in people handler
...
meant to locate a person by e.g. customer number
2023-06-17 15:07:34 -05:00
Lance Edgar
c9c613936f
Add enum for PersonNote.type
values
2023-06-17 14:12:11 -05:00
Lance Edgar
65905a18d3
Update usage of get_product_key_field()
...
avoid deprecation warnings
2023-06-17 10:07:42 -05:00
Lance Edgar
854a1b4352
Update changelog
2023-06-16 22:20:11 -05:00
Lance Edgar
8d66402f1a
Add get_short_display_name()
method for auth handler
...
supersedes `User.get_short_name()`
2023-06-16 22:15:02 -05:00
Lance Edgar
b51237c10a
Update changelog
2023-06-16 20:42:02 -05:00
Lance Edgar
248af14f9c
Add default logic for membership.ensure_member()
2023-06-16 17:03:07 -05:00
Lance Edgar
f7d024f604
Fix SQLAlchemy 2.x warnings for rattail mysql-chars
command
2023-06-16 13:35:32 -05:00
Lance Edgar
abd5b00760
Output emptry string for rattail setting-get
if no value
2023-06-16 11:54:26 -05:00
Lance Edgar
087b93827d
Update changelog
2023-06-16 11:41:20 -05:00
Lance Edgar
8c36af516d
Cache phone/email maxlens for datasync too
2023-06-16 10:25:01 -05:00
Lance Edgar
df753b462c
Update changelog
2023-06-15 21:25:26 -05:00
Lance Edgar
70b2a3b993
Revert "Add logic to allow/ignore cache objects which do not normalize"
...
This reverts commit f96f1794be
.
pretty sure that was misguided somehow..in particular the scenario
described in that commit comment is no longer quite relevant, as the
CORE -> Rattail import no longer uses that composite key
2023-06-15 20:06:42 -05:00
Lance Edgar
859b469818
Flush periodically during the delete phase of importer
2023-06-15 11:55:01 -05:00
Lance Edgar
3cd486575e
Update changelog
2023-06-15 10:46:33 -05:00
Lance Edgar
d7ca0c7d2a
Prefer account holder, shoppers over legacy Customers.people
...
but until all are migrated, support both
also add `get_contact_email()` and `get_contact_email_address()`
methods to app handler; deprecate similar things in various places
2023-06-14 23:32:31 -05:00
Lance Edgar
2481cdfad2
Be a little smarter when parsing datetime values from CSV
...
sometimes they may contain microseconds
2023-06-13 16:37:56 -05:00
Lance Edgar
9ebc8dea85
Add account holder first/last name support for Customer importer
2023-06-13 16:37:15 -05:00
Lance Edgar
27817675c9
Update changelog
2023-06-12 20:31:38 -05:00
Lance Edgar
9fc34c4993
Don't auto-sort query unless it appears to support that
2023-06-12 20:31:04 -05:00
Lance Edgar
445dc7c94a
Fix edge case when creating new shopper record
2023-06-12 20:01:30 -05:00
Lance Edgar
71f83afae3
Add account_holder
field for CustomerShopper import
...
boolean flag, can auto-set Customer.account_holder to one of the
shoppers
this also fixes some session-related bugs when updating phone/email
2023-06-11 14:49:32 -05:00
Lance Edgar
b11313e6f1
Auto-sort sqlalchemy queries for importer host objects
...
hopefully this does not break anything..but can fix if so
2023-06-11 11:52:04 -05:00
Lance Edgar
3e863b1117
Make get_person()
handle an Employee
2023-06-10 23:21:16 -05:00
Lance Edgar
2377d7523d
Be more thorough for get_customers_for_account_holder()
2023-06-10 22:28:27 -05:00
Lance Edgar
08da58de71
Make default configs require instead of include rattail.conf
2023-06-10 22:05:51 -05:00
Lance Edgar
fcbb9f04e9
Add phone/email support for CustomerShopper importer
...
store contact info on the Person
2023-06-10 21:09:09 -05:00
Lance Edgar
710fba9841
Allow -l
shortcut for make-config --list-types
2023-06-10 18:59:06 -05:00
Lance Edgar
6d1b77006e
Add logic to get member from customer object
2023-06-10 14:29:14 -05:00
Lance Edgar
ec2f018dec
Allow suppress warnings for unknown membership type when importing
2023-06-10 13:05:32 -05:00
Lance Edgar
78d54c2897
Fix type check to avoid errors
...
apparently can't just check attr.type.impl ..since that isn't always
there
2023-06-09 22:48:02 -05:00
Lance Edgar
7e0e709969
Add decimal support for CSV -> Rattail data coersion
2023-06-09 22:34:20 -05:00
Lance Edgar
e8d66f964f
Assume email settings come from entry points, by default
...
this may or may not slightly break some setups, but the fix is easy
enough if so
2023-06-09 19:58:03 -05:00
Lance Edgar
5ab56e5e9e
Assume app/quiet.conf
for config path if none is specified
...
hopefully makes running ad-hoc commands a bit simpler
2023-06-09 19:48:46 -05:00
Lance Edgar
c46bd878e7
Add models for CustomerShopper, CustomerShopperHistory
...
also Customer.account_holder
and basic importers for each etc. also some related logic was tweaked
accordingly, since now `Customer.shoppers` is allowed instead of using
`Customer.people` for instance
2023-06-07 20:58:11 -05:00
Lance Edgar
6967ec46da
Update changelog
2023-06-06 19:27:43 -05:00
Lance Edgar
ae6f3b533d
Add basic support for membership types
...
just tracks which member has which type so far; the types do not
contain any useful attributes other than name
2023-06-06 13:11:13 -05:00
Lance Edgar
2feee2d629
Add get_customer_key_field()
and _label()
to AppHandler
...
also `get_member_key_field()` and `_label()`
2023-06-06 11:34:35 -05:00
Lance Edgar
57ef54dec3
Add get_product_key_field()
and _label()
to AppHandler
...
and deprecate corresponding config methods
2023-06-06 10:21:31 -05:00
Lance Edgar
f96f1794be
Add logic to allow/ignore cache objects which do not normalize
...
i hope this is a safe change..? fingers crossed but i think it should
be okay.. this came up in the following scenario:
- CORE API -> Rattail import for Person data
- importer key was (customer_uuid, customer_person_ordinal)
- but some People already existed in Rattail app, w/ no customer
- so normalize_local_object() needed to return None if no customer
- but doing so caused errors, hence this change, which "fixed" it (?)
a bit surprising actually that such a thing never came up..maybe i am
just missing something obvious that is the typical pattern for this?
at any rate seems like normalize_local_object() should be allowed to
return None with implication that such an object would be "invisible"
and hence never be deleted by importer. (so maybe the normal pattern
is just to override can_delete_object or whatever? but this seems good
to have too..)
2023-06-05 20:40:44 -05:00
Lance Edgar
2997769b2f
Add basic maxlen validation when importing phone numbers
2023-06-05 20:17:23 -05:00
Lance Edgar
97d34c7f9b
Allow for -l
instead of --list-all-models
for importer commands
...
much friendlier given the common need for that
2023-06-05 20:15:47 -05:00
Lance Edgar
b517a77e13
Disable cascade_backrefs for Subdepartment.department
2023-06-05 20:15:23 -05:00
Lance Edgar
74affdd277
Lower log level when poser reports module not found
2023-06-05 08:52:44 -05:00
Lance Edgar
aaf083ff8c
Update changelog
2023-06-02 14:19:13 -05:00
Lance Edgar
eab96d6625
Prefer [rattail.mail]handler
over [rattail]email.handler
...
we now expose the former in tailbone config UI
2023-06-02 14:13:10 -05:00
Lance Edgar
65549777b1
Update changelog
2023-06-02 13:04:33 -05:00
Lance Edgar
51814468c2
Fix typo in employment handler
2023-06-02 13:04:09 -05:00
Lance Edgar
51a4c236ee
Update changelog
2023-06-01 19:15:31 -05:00