Commit graph

3860 commits

Author SHA1 Message Date
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
Lance Edgar 33cb06c354 Fix typo in employment handler 2023-06-01 19:15:06 -05:00
Lance Edgar aac8c68b08 Update changelog 2023-06-01 12:15:10 -05:00
Lance Edgar 5905e7999c Fix some datasync config logic 2023-06-01 11:37:58 -05:00
Lance Edgar 62a1a8820a Refactor some config "profile" parsing per new RattailConfiguration
in particular fixes datasync, filemon, mailmon config

but this *changes* some config keys, in particular for datasync:

- watcher.spec
- consumers.list
- consumer.*.spec
2023-06-01 11:08:44 -05:00
Lance Edgar 1be426d72a Update changelog 2023-05-25 12:19:59 -05:00
Lance Edgar 980d6a1356 Use absolute file paths in new config class
also log full command line..
2023-05-23 09:54:56 -05:00
Lance Edgar 9fdfe83cea Add logging to show which config files were read on startup 2023-05-22 15:39:21 -05:00
Lance Edgar 05be593502 Flesh out the byjove project generator 2023-05-19 19:56:46 -05:00
Lance Edgar a20599b091 Don't expose settings for hello/test email
those should always be specified by caller
2023-05-19 17:15:20 -05:00
Lance Edgar b072de0cf3 Add "hello world" email for testing send config etc. 2023-05-19 17:03:30 -05:00
Lance Edgar 94aa985830 Lower log level for telling current config type 2023-05-19 16:22:47 -05:00
Lance Edgar c48fb56065 Tweak deprecated methods for membership handler 2023-05-19 16:00:41 -05:00
Lance Edgar 4600f8990f Fix bug in clientele handler 2023-05-19 15:43:05 -05:00
Lance Edgar d399abddfa Rename setting for rattail.problems.modules
b/c the `rattail.problems` key won't work to define module list, with
new configuration class
2023-05-19 09:55:35 -05:00
Lance Edgar ff01525aa7 Add get_person(), get_customer() etc. to AppHandler
make it delegate to appropriate handler for each method.  also the
various handler methods with actual logic, are a bit more generic in
what they accept
2023-05-18 23:23:56 -05:00
Lance Edgar b1a6557657 Add mock stub to RattailConfiguration, for legacy method 2023-05-18 19:58:26 -05:00
Lance Edgar e6fc18e4e1 Add new RattailConfiguration class based on python-configuration 2023-05-18 19:30:59 -05:00
Lance Edgar c727ae4f97 Avoid deprecated import for OrderedDict 2023-05-18 18:12:45 -05:00
Lance Edgar 8c0514e49d Update changelog 2023-05-18 13:49:58 -05:00
Lance Edgar fc3aa4d772 Avoid lookup of continuum user for short session
at least by default..
2023-05-18 00:00:34 -05:00
Lance Edgar 98d5a594a0 Add get_version() and get_node_title() to app handler 2023-05-16 23:09:07 -05:00