Commit graph

361 commits

Author SHA1 Message Date
Lance Edgar
1c02325bc4 Add basic per-item discount support for custorders 2022-09-06 16:32:19 -05:00
Lance Edgar
9c695e57be Add unit_size, uom, cleanup refresh logic for newproduct batch 2022-08-30 10:55:04 -05:00
Lance Edgar
8f19e5b2a0 Do not deprecate BatchHandler.locate_product_for_entry()
leave it for now, it seems rather convenient to call from e.g. within
a `refresh_row()` method of batch handler
2022-08-27 22:20:14 -05:00
Lance Edgar
17b86cbfec Add logic to auto-correct unit vs. case when receiving from invoice 2022-08-18 17:27:02 -05:00
Lance Edgar
936675fa95 Fix regression bug 2022-08-14 13:29:10 -05:00
Lance Edgar
7c76a7839e Refactor usage of get_vendor() lookup 2022-08-13 23:55:30 -05:00
Lance Edgar
2603839930 Try to detect tab- vs. comma-delimited CSV for handheld batch 2022-08-09 16:33:13 -05:00
Lance Edgar
d094569b0b Add can_auto_receive() method for purchase batch handler 2022-07-24 22:28:44 -05:00
Lance Edgar
c6756e8416 Improve how receiving batch is created from purchase 2022-07-24 21:08:46 -05:00
Lance Edgar
e77ce7f536 Maybe omit rows w/ no qty when making purchase from ordering batch
probably this should be the default behavior, but for now i'm leaving
legacy behavior as default
2022-07-24 15:04:16 -05:00
Lance Edgar
dfadd3fbe2 Make caching products optional, when creating vendor catalog batch 2022-07-19 15:50:10 -05:00
Lance Edgar
72d1b070bd Add basic start date support for "future" pricing batch 2022-06-14 13:48:22 -05:00
Lance Edgar
b4fd338c93 Stop using deprecated kwargs for product lookup 2022-06-02 16:47:59 -05:00
Lance Edgar
50db7437f5 Let cases and/or units be (dis)allowed for new custorder
at least this sets the stage, probably more tweaks needed to fully
support the idea
2022-03-29 18:17:42 -05:00
Lance Edgar
e7c6c314d9 Record execution kwargs as special params, when executing batch 2022-03-08 16:44:19 -06:00
Lance Edgar
29691ad4ac Add "vendor not shipped" status for receiving batch 2022-03-01 16:12:13 -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
2d989e256f Always pass along associated products when printing label batch 2022-02-09 17:19:56 -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
9e72303087 Tweak vendor catalog batch input params; fix tests 2022-02-01 20:50:25 -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
dfb3e64fbe Fix typo for printing batch of labels 2022-01-28 18:13:30 -06:00
Lance Edgar
6ec042208f Add hack per poorly named label batch row columns 2022-01-13 21:38:40 -06:00
Lance Edgar
8e805ebb52 Add label handler; refactor label formatting logic 2022-01-13 21:24:41 -06:00
Lance Edgar
fa0d18f5ba Add explicit Sale, TPR, Current price columns for label batch
previously had no TPR, and line blurred between Sale and Current

batch logic will populate these but otherwise is not yet able to
leverage them for printing e.g. TPR prices.  but that is the plan
2022-01-10 14:53:42 -06:00
Lance Edgar
36b5d20fa8 Batch handlers declare versioning is okay for delete action
by default; subclass can do something else although some of the
requisite logic does not yet exist
2022-01-09 19:23:37 -06:00
Lance Edgar
d13f27223c Add nominal support for mysql db backend
*very* experimental at this point, but seems to work
2022-01-08 19:46:53 -06:00
Lance Edgar
e4277d80fb Add AppHandler.next_counter_value() magic
this is now used by `BatchHandler.consume_batch_id()` and hopefully is
able to auto-magically create a dedicated counter table if the
underlying db engine is not postgres.  at least that part seems to
work for tests using sqlite
2022-01-08 12:17:47 -06:00
Lance Edgar
4de258d09b Add vendor handler, to better organize catalog parser logic 2022-01-07 19:26:11 -06:00
Lance Edgar
1ac0139fd3 Misc. changes for vendor catalog batch and related features
not very targeted, but all is solid i think..
2022-01-07 15:01:37 -06:00
Lance Edgar
8ae4de7d59 Remove deprecated use of rattail.batch.handlers.get_batch_handler() 2022-01-03 22:07:59 -06:00
Lance Edgar
d2b0250a02 Add full test coverage, more docs, for rattail.app module 2022-01-01 01:21:53 -06:00
Lance Edgar
3129942279 Add basic "resolve" support for person, product from new custorder 2021-12-23 20:24:25 -06:00
Lance Edgar
c330f7fbc2 Move main product lookup logic to products handler
instead of base class for batch handlers

this also adds optional "type 2 upc" lookup logic, which may or may
not be sufficient for all use cases...
2021-12-23 14:49:01 -06:00
Lance Edgar
4c19bc4118 Add basic "pending product" support for new custorder batch 2021-12-22 16:30:38 -06:00
Lance Edgar
acdd8228a3 Default to false for all config flags in purchase batch handler
b/c a flag setting should never default to true, b/c lack of config
should imply false
2021-12-13 20:08:23 -06:00
Lance Edgar
213df9e651 Add "missing" tallies for receiving, plus allow un-declare credit
this adds various other things meant to improve the desktop receiving
workflow a bit
2021-12-13 17:51:41 -06:00
Lance Edgar
f6c4859c48 Add default logic for purchase batch make_row_from_po_item() 2021-12-08 21:57:46 -06:00
Lance Edgar
8f4ecdd362 Add some purchase order abstractions to purchase batch handler 2021-12-08 20:25:33 -06:00
Lance Edgar
113378dea2 Use common logic for basic product refresh in label batch 2021-12-02 14:40:01 -06:00
Lance Edgar
66d7910770 Add some sale pricing logic for custorder batch 2021-11-27 19:07:33 -06:00
Lance Edgar
6ea529132e Add basic support for receiving from PO with invoice 2021-11-25 16:56:23 -06:00
Lance Edgar
f78c23ff16 Let purchase batch handler declare supported invoice parsers 2021-11-07 17:09:33 -06:00
Lance Edgar
e9011c0275 Add basic support for invoice2data for InvoiceParser
also add `config` arg to InvoiceParser constructor - finally
2021-11-07 14:18:35 -06:00
Lance Edgar
331828e9ce Add support for finding past items, for new custorder
also misc. tweaks for new custorder feature
2021-11-06 20:31:02 -05:00
Lance Edgar
c2e9fa513d Add get_past_products() method for custorder batch handler
also add more to `get_product_info()`
2021-11-06 19:58:27 -05:00
Lance Edgar
dc0c65ea7b Add some "case price" logic for custorder batch 2021-11-06 17:35:51 -05:00
Lance Edgar
bb1a9ab6a3 Fix class name in NotImplementedError msg 2021-11-05 15:09:37 -05:00
Lance Edgar
d720f0f0ab Add setting for "product price may be questionable" for custorders 2021-11-03 20:19:23 -05:00
Lance Edgar
b80cb4af94 Add some product info fetchers to custorder batch handler
for easier customization
2021-11-03 19:13:42 -05:00