Commit graph

3398 commits

Author SHA1 Message Date
Lance Edgar be20cf01c1 Add problem report for "mailmon misses" 2022-02-26 20:07:49 -06:00
Lance Edgar 7c5b99be48 Auto filter by date, for trainwreck import-self 2022-02-26 17:58:54 -06:00
Lance Edgar afd4d154ee Add config.parse_list() method 2022-02-26 17:54:50 -06:00
Lance Edgar 6c89ca95f9 Some tweaks for importing data from Excel (xlsx) files
specifically some member patronage numbers for fiscal year
2022-02-25 19:50:48 -06:00
Lance Edgar 25e30fd378 Update changelog 2022-02-25 14:28:41 -06:00
Lance Edgar 0ccc2d37ec Add "discount type" for Trainwreck line item discounts
to distinguish general conceptual type, e.g. "customer level discount"
vs. "coupon" - b/c the accounting for them should be different
2022-02-24 10:37:44 -06:00
Lance Edgar 42ba55505d Fetch discounts along with line items for trainwreck import-self
i.e. joinedload for efficiency, since most reasons to use such an
importer will likely want to inspect discounts
2022-02-22 20:38:00 -06:00
Lance Edgar d899b60c13 Add "complete" mako templates for rattail, web config
at least a good enough starting point for now
2022-02-21 22:10:38 -06:00
Lance Edgar 845de3adbc Add make_appdir() and make_config_file() to AppHandler 2022-02-21 12:44:22 -06:00
Lance Edgar 4e74851f7c Update changelog 2022-02-20 15:24:24 -06:00
Lance Edgar af4f00c0fb Add AppHandler.render_percent() convenience method 2022-02-20 13:57:06 -06:00
Lance Edgar f1f2b885db Add per-item discounts to trainwreck; importing support
pretty basic so far, can override if more is needed
2022-02-19 17:30:19 -06:00
Lance Edgar 4a8ac33775 Add patronage to trainwreck schema; skeleton for import-self cmd 2022-02-19 13:22:52 -06:00
Lance Edgar cb16e61592 Update changelog 2022-02-15 17:33:38 -06:00
Lance Edgar f90e1ed739 Render empty string if currency value is None
also add `model` attribute for base email class
2022-02-15 17:32:11 -06:00
Lance Edgar fdbdfed586 Add "fuzzy fields" support for int/float/decimal 2022-02-15 15:40:27 -06:00
Lance Edgar 2c290643ff Add AppHandler methods to get/save/delete settings 2022-02-15 10:15:37 -06:00
Lance Edgar 4d5e8f8c73 Update changelog 2022-02-13 21:39:41 -06:00
Lance Edgar e3044f9dfe Stop using legacy syntax to define entry points
been meaning to get around to that, but setuptools v60.9.0 seems to
have forced my hand.  never did find docs saying that the syntax had
been deprecated, but updating that fixed a problem where apparently
none of the entry points were actually being recorded when the package
was installed, when setuptools 60.9 was present

https://setuptools.pypa.io/en/latest/history.html#v60-9-0
2022-02-13 20:19:06 -06:00
Lance Edgar e0186c7dd2 Add AppHandler.render_duration() convenience method 2022-02-12 19:15:26 -06:00
Lance Edgar fdfcd72580 Compare received vs. shipped to check row status
when a row has no received amount yet, it would be "incomplete" unless
there was nothing ordered.  but if the batch has an invoice file then
we would say unless there was nothing *shipped* instead.

this also, finally, splits out the row status setter as separate
method.  probably need even more parts split out yet but it's a start
2022-02-11 15:33:11 -06:00
Lance Edgar 7e58b58180 Make locate_product_for_vendor_code() prefer unit items
i.e. when multiple matches are found, try to return a unit item if
possible.  that at least seems useful for e.g. SMS PO matching, and
presumably is good behavior generally?  can revisit if not
2022-02-11 15:29:26 -06:00
Lance Edgar dc2d7d61fc Add "fuzzy fields" concept for importers
to relax the diff check a little, for certain fields which don't have
the same level of accuracy between systems
2022-02-10 20:29:06 -06:00
Lance Edgar d2316887ca Update changelog 2022-02-10 09:09:15 -06:00
Lance Edgar 95d2b2dab7 Add generic get_next_counter_value() method for importers
useful when autoincrement value is needed, e.g. for pseudo-key
2022-02-09 18:01:27 -06:00
Lance Edgar 2d989e256f Always pass along associated products when printing label batch 2022-02-09 17:19:56 -06:00
Lance Edgar 346c2b6ca6 Update changelog 2022-02-09 12:01:11 -06:00
Lance Edgar 917f1417b4 Show email address for new custorder person autocomplete 2022-02-09 12:00:32 -06:00
Lance Edgar 7ae576ab84 Update changelog 2022-02-08 12:22:31 -06:00
Lance Edgar 2a726760e5 Add common normalize logic to ProductsHandler
about dang time..now still need to enhance and use it everywhere
2022-02-08 12:11:02 -06:00
Lance Edgar 5ad578cbe6 Update changelog 2022-02-07 20:22:14 -06:00
Lance Edgar 4677ba0660 Lower log level when disconnecting IMAP for mailmon
what seems to happen is a) connection fails, then b) attempting to
"close" the connection also fails.  let's just get one email from a)
and not get one from b)
2022-02-07 13:19:22 -06:00
Lance Edgar 4ca0fb73e9 Show pseudo-progress when saving Excel report 2022-02-06 17:40:00 -06:00
Lance Edgar a0d861c0e8 Update changelog 2022-02-06 13:22:00 -06:00
Lance Edgar 86f851c417 Add match_on_time_field for Trainwreck importers
we should match on whichever time field is "most reliable" from the
host transaction data.  for instance some POS systems include an
`upload_time` value which is most preferable, but we use `end_time` as
the default since it's more likely to exist in all systems.
2022-02-06 11:23:24 -06:00
Lance Edgar a2adc03f0a Update changelog 2022-02-05 21:51:47 -06:00
Lance Edgar 71640985d4 Commit (or rollback) local transaction before host, when importing
not exactly sure why it used to commit host before local, but it's
pretty dang frustrating to see a massive import fail at the very end,
which makes for a compelling reason to commit local before host.
2022-02-05 21:39:45 -06:00
Lance Edgar f12ebc3443 Add "all" product locate methods to products handler
should be able to use the handler to get exactly what you need now..

this also changes autocomplete to only fetch one product by key,
whereas previously multiple matches were *possible* - although they
were presumably not likely.  guess we'll see if there is blowback
2022-02-05 15:58:42 -06:00
Lance Edgar 2e2e2a299f Update changelog 2022-02-04 14:55:34 -06:00
Lance Edgar 41ad03cc23 Add group_ids field for Customer model importer
this should be preferred over the `group_id` and `group_id_2` fields
2022-02-04 14:41:03 -06:00
Lance Edgar 63d16b052c Make sure default phone number is first, when importing 2022-02-04 13:38:43 -06:00
Lance Edgar 9e72303087 Tweak vendor catalog batch input params; fix tests 2022-02-01 20:50:25 -06:00
Lance Edgar 24f1ebfe9d Update changelog 2022-02-01 20:01:34 -06:00
Lance Edgar ae3d120c89 Misc. flexibility improvements for vendor catalog batch
- ExcelReader now should ignore "pseudo-empty" columns
- add `ProductsHandler.get_case_size()` method
- vendor catalog batch input need not contain case sizes (we copy them
  from product master if not)
- vendor catalog batch input need not contain vendor item codes either
- vendor catalog product lookup now tries global default logic
  first (then falls back to its own traditional logic)
- generic catalog parser lets handlers do more of the work
2022-02-01 19:15:11 -06:00
Lance Edgar 449f1e3076 Update changelog 2022-02-01 13:39:59 -06:00
Lance Edgar 3c46e2bb77 Allow rattail watcher to get deleted before new/dirty changes
in particular this hopefully helps rattail -> rattail for certain edge
cases, but we'll see...
2022-02-01 13:38:47 -06:00
Lance Edgar b9e2de0aae Update changelog 2022-01-31 21:17:24 -06:00
Lance Edgar 8b7fc14269 Add CSVReport base class 2022-01-31 21:15:59 -06:00
Lance Edgar 0454551a4a Rename permission for generating new report
per corresponding changes in Tailbone
2022-01-31 19:33:47 -06:00
Lance Edgar 5e5e785e4e Update changelog 2022-01-31 17:52:44 -06:00