Commit graph

285 commits

Author SHA1 Message Date
Lance Edgar 2ca9cd8f76 Fix how customerAccountID is imported from CORE API
geez.

also optimize joinedloads when fetching Rattail member data for CORE
export
2023-06-11 15:21:30 -05:00
Lance Edgar 914fcbe192 Add customer "account holder" support for CORE -> Rattail 2023-06-11 14:53:14 -05:00
Lance Edgar 15bac1dc23 Add core-office export-csv command; deprecate crepes export-csv 2023-06-11 11:55:29 -05:00
Lance Edgar 77bd9e34e4 Be smarter about member datasync for Rattail -> CORE
per new CustomerShopper schema etc.
2023-06-10 22:29:50 -05:00
Lance Edgar 6e50ea58a8 Fix how we select changes from CORE DB in datasync
to placate SQLAlchemy warnings
2023-06-10 22:13:42 -05:00
Lance Edgar 87bd1faa58 Make some importer logic datasync-friendly 2023-06-10 21:58:24 -05:00
Lance Edgar 43cd63c1f5 Add phone/email support for Rattail -> CORE export for Member 2023-06-10 21:18:14 -05:00
Lance Edgar 7489d4a4a9 Add phone/email support in CORE -> Rattail importer for CustomerShopper 2023-06-10 21:10:09 -05:00
Lance Edgar 76b0791831 Add support for Customer address fields in CORE -> Rattail 2023-06-10 20:27:12 -05:00
Lance Edgar f4384f8b1d Add CoreCustomerShopper to default model for pkg 2023-06-10 18:55:05 -05:00
Lance Edgar bde8200cdf Add core-office ping-install command, for DB setup 2023-06-10 18:35:49 -05:00
Lance Edgar 13e5f2a801 Add version importer for CoreCustomerShopper model 2023-06-10 18:01:24 -05:00
Lance Edgar 660637522d Add CustomerShopper.corepos_customer_id and refactor importers
removes phone/email support for now..also change how we handle
default/empty values for member start/end date..
2023-06-10 14:35:08 -05:00
Lance Edgar 86a8e2d241 Detect bad memtype number early, for CORE API -> Rattail import
to avoid false diffs when we give a bad value
2023-06-10 13:06:18 -05:00
Lance Edgar 2cf865d879 Add core-office import-csv command; deprecate crepes import-csv 2023-06-09 19:53:47 -05:00
Lance Edgar 6267205966 Avoid the Change model by default, for CSV -> CORE import 2023-06-09 17:41:32 -05:00
Lance Edgar 95fcf054ef Fix import to avoid deprecation warning 2023-06-09 15:28:08 -05:00
Lance Edgar 6c21073182 Fix datasync for CORE -> Rattail, per CustomerShopper changes 2023-06-08 10:53:54 -05:00
Lance Edgar a45d28cd6f Add initial/basic CustomerShopper importer for CORE -> Rattail
this replaces previous importers for Person and CustomerPerson

no contact info support just yet..need to decide where to put that
2023-06-07 16:39:57 -05:00
Lance Edgar 2c38e4d5d3 Import membership types from CORE API 2023-06-06 13:14:36 -05:00
Lance Edgar dde729b959 Import the Member.active flag from CORE API 2023-06-06 11:45:35 -05:00
Lance Edgar bfc52a6fb3 Make card_number more central for CORE API -> Rattail importers
let's track that as (effectively) `Customer.corepos_card_number` and
use that when possible for importer key
2023-06-05 20:45:45 -05:00
Lance Edgar c1276c998a Update changelog 2023-06-03 07:28:59 -05:00
Lance Edgar 5dc1392ef7 Skip customer record with no member type, for blue line update
otherwise would just raise error, and prevent the rest of updates from
happening
2023-06-03 07:27:57 -05:00
Lance Edgar 02107d32a4 Update changelog 2023-06-02 14:27:34 -05:00
Lance Edgar d57f18a1fe Add problem report for invalid custdata person number sequence 2023-06-02 14:16:20 -05:00
Lance Edgar e838e5b514 Add support for htdigest auth when using CORE webservices API 2023-05-22 21:36:04 -05:00
Lance Edgar 66a6c8f5a0 Update changelog 2023-05-18 15:57:23 -05:00
Lance Edgar 80084e13da Add core-office import-self command, to fix custdata.blueLine 2023-05-18 15:55:56 -05:00
Lance Edgar 5e1afa2c5c Update changelog 2023-05-17 06:57:51 -05:00
Lance Edgar 65b62ad241 Update changelog 2023-05-11 15:24:32 -05:00
Lance Edgar e74a47b99a Add behavior options for CORE member importer 2023-05-11 15:23:39 -05:00
Lance Edgar 1cb7d45e23 Update changelog 2023-05-09 20:32:26 -05:00
Lance Edgar f8de832294 Add support for member_type_id in CORE MemberInfoImporter
also improve support for first, last name sync
2023-05-09 20:25:52 -05:00
Lance Edgar 4bb03b9cd9 Update changelog 2023-05-08 15:28:33 -05:00
Lance Edgar 24d4afa22b Move CORE DB import handler to more general location 2023-05-08 14:56:49 -05:00
Lance Edgar ef823260ab Move logic for CORE importing to "more precise" module path
should distinguish "office vs. lane"
2023-05-08 14:56:46 -05:00
Lance Edgar 519ed0a594 Avoid deprecated import for OrderedDict 2023-05-05 01:48:39 -05:00
Lance Edgar 20a587ccdd Update changelog 2023-05-01 22:19:24 -05:00
Lance Edgar e11963c4fc Show all deprecation warnings occurring within corepos pkg 2023-02-14 15:57:01 -06:00
Lance Edgar cb58a26cb1 Update changelog 2023-02-12 10:12:11 -06:00
Lance Edgar 82892be096 More refactoring, Query.get() => Session.get() 2023-02-12 09:37:31 -06:00
Lance Edgar 0b5930a511 Refactor Query.get() => Session.get() per SQLAlchemy 1.4 2023-02-11 22:06:43 -06:00
Lance Edgar 6696973868 Update changelog 2023-01-03 18:12:03 -06:00
Lance Edgar 4d49d4235b Define default handler for corepos_member batch type 2023-01-03 18:11:24 -06:00
Lance Edgar c8f55bf472 Update changelog 2023-01-02 16:58:06 -06:00
Lance Edgar 63a1172408 Update usage of short_session() per upstream changes 2022-08-21 20:00:15 -05:00
Lance Edgar 7eb7c25172 Fix datasync bug for CORE API -> Rattail 2022-08-21 11:33:51 -05:00
Lance Edgar 82ad5ad441 Configure DB connections for CORE trans archive on app startup 2022-03-26 23:04:40 -05:00
Lance Edgar 57ea39acb5 Update changelog 2022-03-15 11:36:01 -05:00
Lance Edgar 8daec28faf Add "raw" card number value to CORE Member Import batch
b/c source file may not have it, or may not be numeric
2022-03-15 11:34:37 -05:00
Lance Edgar 90cb4cf028 Update changelog 2022-03-02 21:37:33 -06:00
Lance Edgar 82f73276ba Refactor some importer method calls to avoid deprecation warnings 2022-01-08 19:51:47 -06:00
Lance Edgar 1f3ab43e91 Avoid error if CORE product data is missing some fields 2022-01-08 19:51:31 -06:00
Lance Edgar e91fef0e8d Refactor CORE API hack to use custdata instead of Customers table
the older table seems more reliable?  at least i just ran across an
example where it was, albeit a demo..
2022-01-08 19:49:51 -06:00
Lance Edgar 802ffddc6d Update import per pycorepos changes 2021-12-30 21:49:00 -06:00
Lance Edgar 74b9ec5e1e Avoid deprecated base class, per upstream changes 2021-12-30 15:53:59 -06:00
Lance Edgar 9045965035 Mark some import handlers as safe for web app 2021-12-06 21:29:56 -06:00
Lance Edgar 3140245857 OMG a ridiculous commit to overhaul import handler config etc.
- register all import/export handlers via setup.py and config
- use "handler key" lookup for all import/export commands
- fix logic bugs w/ CORE -> Trainwreck importer
2021-12-06 20:07:42 -06:00
Lance Edgar 0e28a6ee2b Some tweaks to expose CORE <-> Rattail import handlers in web app 2021-12-05 17:24:54 -06:00
Lance Edgar 4a36c417e7 Update changelog 2021-11-05 20:37:25 -05:00
Lance Edgar 1c9f1ef515 Add support for 2nd "member type" file in CORE member batch
still just feature preview mode here, this is terribly specific
2021-11-05 20:35:38 -05:00
Lance Edgar 0c817fb7d0 Update changelog 2021-11-04 21:28:25 -05:00
Lance Edgar 5f1d6d76ed Add batch to update CORE member records directly via SQL 2021-11-04 21:21:37 -05:00
Lance Edgar 7522dd14cb Add custdata importer for CORE Office -> Lane
to double-check sync issues
2021-11-04 17:42:38 -05:00
Lance Edgar affd8a6453 Update changelog 2021-08-31 22:43:08 -05:00
Lance Edgar 980c2fa952 Add CORE Office -> Lane op importer for Department 2021-08-31 22:41:32 -05:00
Lance Edgar 710f629d9c Update changelog 2021-08-02 09:09:00 -05:00
Lance Edgar ca723ffde8 Add email setting for CORE Office -> CORE Lane export 2021-07-22 12:15:26 -05:00
Lance Edgar 36b6109993 Update changelog 2021-07-21 20:18:57 -05:00
Lance Edgar 6c9d9964dc Add basic support for CORE Office -> CORE Lane export
just products data so far
2021-07-21 20:05:16 -05:00
Lance Edgar 236ae12d20 Update changelog 2021-06-11 18:06:00 -05:00
Lance Edgar 78a00ce89f Add basic (incomplete) support for CORE -> Trainwreck import
proves the concepts more or less, but needs a lot of polish yet
2021-02-18 20:04:00 -06:00
Lance Edgar a72fd9ef77 Use sku instead of upc when fetching CORE vendorItems record
since that is what API client now expects
2021-02-09 16:12:32 -06:00
Lance Edgar 83ba5c9ace Fix typo 2021-02-09 15:41:27 -06:00
Lance Edgar d0bb4b105d Add custom vendor catalog batch handler for CORE
capable of directly updating `vendorItems` etc. via CORE API
2021-02-09 15:31:43 -06:00
Lance Edgar 1be258246c Add make_corepos_api() convenience function 2021-02-09 14:28:38 -06:00
Lance Edgar 67618d4784 Fix CORE API -> Rattail datasync for ProductCost 2021-01-31 21:53:26 -06:00
Lance Edgar f61a0a7dd9 Add importer support for VendorItem
this was done mostly for CORE <-> CORE diffs
2021-01-30 13:17:45 -06:00
Lance Edgar ef68d4b2d0 Populate Vendor.id when importing from CORE API 2021-01-27 22:21:31 -06:00
Lance Edgar 95952c665e Add schema extension for Stores, importing from CORE API 2021-01-27 22:21:06 -06:00
Lance Edgar 9b00de26c6 Be sure to update Rattail Product, when VendorItem changes in CORE
b/c of the `Product.case_size` field
2021-01-27 10:12:46 -06:00
Lance Edgar 5b1305ddbd Don't choke when vendorItems record has no modified timestamp 2021-01-27 09:28:35 -06:00
Lance Edgar da55a07982 Add support for importing Product.case_size from CORE API 2021-01-27 09:21:02 -06:00
Lance Edgar 59abc4995e Fix 'size' and push 'unitofmeasure' when exporting to CORE Products 2021-01-21 18:16:56 -06:00
Lance Edgar ca14884c46 Don't choke when unit size is not decimal-compatible 2021-01-21 17:58:11 -06:00
Lance Edgar 2faa0cb18b Add support for importing full size, uom data from CORE
also add core-specific product handler and mixin, to find all UOM abbreviations
in the wild.
2021-01-21 17:41:13 -06:00
Lance Edgar 10c119ea60 Prevent importing zero as department number, from CORE API 2021-01-21 12:28:01 -06:00
Lance Edgar ba31725ad1 Update changelog 2020-09-19 17:24:16 -05:00
Lance Edgar deec1cd929 Add some common email profiles, for importer diff warnings 2020-09-19 14:03:54 -05:00
Lance Edgar ded09c719c Update changelog 2020-09-16 19:58:22 -05:00
Lance Edgar ae6700a530 Update changelog 2020-09-16 19:40:20 -05:00
Lance Edgar aff04035ff Add datasync support for CORE VendorItem -> ProductCost 2020-09-04 20:22:24 -05:00
Lance Edgar 580f2093ae Add schema, logic for importing CORE VendorItem -> ProductCost 2020-09-04 19:10:48 -05:00
Lance Edgar b96a4bc7b9 Only assign new CORE ID if not in dry run mode
b/c if dry run, we didn't really make the API call so there is no ID
2020-08-20 20:19:01 -05:00
Lance Edgar d3e2619944 Refactor the Rattail <-> CORE product importers
this should allow for more seamless "dual authority" mode
2020-08-20 20:00:13 -05:00
Lance Edgar de628b387a Convert CORE-specific version import handler into a mixin class
so that we don't have to "choose" it as our final handler
2020-08-19 22:31:56 -05:00
Lance Edgar 6dbf7cf174 Use custom data model where possible, when importing from CORE API
not sure if this really does much good, but what the heck
2020-07-30 21:07:39 -05:00
Lance Edgar 1fe48d91f6 Use member split_street() method when exporting to Catapult workbook 2020-07-21 15:07:54 -05:00
Lance Edgar 8037de7efe Add support for importing product last sold from CORE API 2020-07-15 21:19:27 -05:00
Lance Edgar 9f3cfa0d8e Add basic exporter for CORE -> Catapult Membership Workbook
this only does what i need it to for the moment...still missing equity fields
2020-07-13 11:04:32 -05:00
Lance Edgar a32753a04a Let CORE-POS datasync watcher use alternate "changes" table name
i needed this for sake of online demo, so that 2 separate rattail apps could
both watch the same CORE DB simultaneously
2020-07-09 17:01:23 -05:00
Lance Edgar 6ce4b59509 Add more schema extensions; importing support 2020-07-07 19:58:57 -05:00
Lance Edgar 4402d79052 Allow for missing vendor abbreviation, when importing from CORE 2020-06-29 19:06:57 -05:00
Lance Edgar 40cb18f0cc Avoid touching DB records when dry-run importing
just in case storage engine doesn't support transactions!
2020-04-15 20:54:35 -05:00
Lance Edgar a193a3458a Include product UPC as original item id, for Catapult export
in case data needs to be imported back into CORE, from spreadsheet
2020-04-15 20:54:35 -05:00
Lance Edgar 20e8aa97ca Try to be smarter about the "size" column for Catapult export 2020-04-15 20:54:33 -05:00
Lance Edgar 190ba506e5 Combine size and UOM for "size" column in export 2020-04-14 16:00:31 -05:00
Lance Edgar 6905b387d0 Add "alternate for" column in Catapult export, based on like codes
this is more of an FYI column, user must do with it what they will
2020-04-10 14:12:10 -05:00
Lance Edgar ae58b7c55a Refactor Catapult export a bit, for sake of "duplicate" item_id
also improve certain warnings and exclusion rules
2020-04-10 13:02:34 -05:00
Lance Edgar 7e450e11b1 Allow suppression of logging for unknown bottle deposits 2020-04-09 10:39:30 -05:00
Lance Edgar aefaaf8351 Fix how bottle deposit amounts are calculated, for Catapult export 2020-04-08 16:14:35 -05:00
Lance Edgar c330cfccb5 Use subdept. number and name for pf1 field in Catapult export 2020-04-08 16:13:51 -05:00
Lance Edgar c3ecf828fc Remove support for pos_menu_group field in Catapult export
since it's not clear what that value should be, "objectively"
2020-04-08 16:12:55 -05:00
Lance Edgar 74deef63ab Allow some warnings to be suppressed for Catapult inventory export 2020-04-08 14:15:51 -05:00
Lance Edgar 28f17ca31a Move a block of code
somehow it was stuck right in the middle of some other contiguous blocks, and
the sequence just seemed wrong
2020-04-01 17:21:25 -05:00
Lance Edgar 16c80082ad Log warning if null byte is detected in size field 2020-04-01 00:03:00 -05:00
Lance Edgar c5b1cf01af Dang it, size could also be None... 2020-03-31 23:29:10 -05:00
Lance Edgar fcbba9608c Remove null characters from product size field, during export 2020-03-31 23:26:37 -05:00
Lance Edgar 4a03a7f57d Dang it, use datetime instead of date, for that sorting hack 2020-03-31 23:11:46 -05:00
Lance Edgar d00e3b6312 Provide fall back date when sorting, to avoid None 2020-03-31 23:09:35 -05:00
Lance Edgar 2e5f7d3cd5 Add initial 'tax' support for Catapult export 2020-03-31 14:11:39 -05:00
Lance Edgar e71e06f837 Add 'location' to Catapult export 2020-03-30 13:32:02 -05:00
Lance Edgar d87c889d26 Add 'auto_discount' to Catapult export 2020-03-30 13:32:02 -05:00
Lance Edgar e3204993b1 Add 'memo' field to Catapult export 2020-03-30 13:32:02 -05:00
Lance Edgar c5e618d517 Add scale info fields to Catapult export 2020-03-30 13:32:02 -05:00
Lance Edgar e30cbf374e Add supplier info to Catapult export 2020-03-30 13:32:02 -05:00
Lance Edgar 6dc65f1aa5 Update various warnings to use product upc 2020-03-30 13:32:02 -05:00
Lance Edgar 45f05032fb Add 'pf1' (subdepartment number) to Catapult export 2020-03-30 13:32:02 -05:00
Lance Edgar c2c10de64b Add 'price_divider' for Catapult export 2020-03-30 13:32:02 -05:00
Lance Edgar 4cb42d06ea Add support for 'alt_id' and friends, in Catapult export
just the basic support here, for e.g. Zevia sodas where the single barcode
matches the pack
2020-03-30 13:32:02 -05:00
Lance Edgar 06f40f350e Add 'ideal_margin' for Catapult export 2020-03-30 13:31:59 -05:00
Lance Edgar 3a956c444d Add 'age_required' to Catapult export 2020-03-29 23:35:53 -05:00
Lance Edgar 5a75a99263 Add 'pos_menu_group' and 'weight_profile' to Catapult export 2020-03-29 23:13:52 -05:00
Lance Edgar 5e2fa46650 Fix some logging bugs 2020-03-27 20:57:23 -05:00
Lance Edgar 5a5927dce6 Add "low-hanging fruit" fields for Catapult inventory export 2020-03-27 20:50:36 -05:00
Lance Edgar 3d145d0314 Add very basic support for CORE -> Catapult Inventory Workbook export
more fields to come
2020-03-27 19:11:26 -05:00
Lance Edgar 4f300f1036 Prevent exporting "Change" data to CSV 2020-03-27 19:11:26 -05:00
Lance Edgar 99a67403f8 Move the CORE -> CSV exporter to subfolder 2020-03-27 19:08:34 -05:00
Lance Edgar 1fea95be97 Import Member.person_uuid from CORE 2020-03-18 13:15:37 -05:00
Lance Edgar 154722b78d Change how we import Member.id from CORE
to match what we do for `Customer.id`
2020-03-18 12:37:18 -05:00
Lance Edgar 6e51f36fc5 Import Member.number from CORE 2020-03-18 12:29:35 -05:00
Lance Edgar 8917316a21 Add 2-way sync for basic Member data, CORE <-> Rattail 2020-03-18 11:30:18 -05:00
Lance Edgar 9dbdb81f07 Add 2-way sync for customer contact data, for CORE API <-> Rattail 2020-03-17 18:52:08 -05:00
Lance Edgar 15a99164f2 Fix another refactoring bug 2020-03-17 16:40:29 -05:00
Lance Edgar 42184e34b7 Fix refactoring bugs 2020-03-17 16:36:31 -05:00
Lance Edgar cb63644c7d Add support for Rattail -> CORE export/sync for Member data
also refactor CORE -> Rattail logic to use `api.set_member()` etc.
2020-03-17 16:29:35 -05:00
Lance Edgar 8d47a1449c Add core_office_customer_account_url() convenience/config function 2020-03-17 12:46:13 -05:00
Lance Edgar 35c74ff996 Add data version importers for CorePerson, CoreVendor 2020-03-16 20:44:22 -05:00
Lance Edgar 8f9f77b6b7 Add proper importing for Customer/Person data from CORE API
includes datasync support.  i think it even works right, but we'll see
2020-03-16 19:45:54 -05:00