Changeset - 05ac42d97863
[Not reviewed]
v0.9.345
0 2 0
Lance Edgar (lance) - 21 months ago 2023-01-18 18:57:32
lance@edbob.org
Update changelog
2 files changed with 11 insertions and 1 deletions:
0 comments (0 inline, 0 general)
CHANGES.rst
Show inline comments
 

	
 
CHANGELOG
 
=========
 

	
 
0.9.345 (2023-01-18)
 
--------------------
 

	
 
* Include menu views for new projects.
 

	
 
* Tweak new table template, add FK/relationship support.
 

	
 
* Move common logic for ``poser install`` commands into rattail.
 

	
 

	
 
0.9.344 (2023-01-16)
 
--------------------
 

	
 
* Add ``get_tailbone_handler()`` method for app handler.
 

	
 
* Remove some cruft from new project template.
 

	
 
* Add DB handler methods to generate and run alembic scripts.
 

	
 
* Add basic template for new model view class; related logic.
 

	
 

	
 
0.9.343 (2023-01-14)
 
--------------------
 

	
 
* Overhaul logic for launching backfill task.
 

	
 

	
 
0.9.342 (2023-01-13)
 
--------------------
 

	
 
* Be a little smarter when parsing invoice for receiving.
 

	
 
* Use upstream admin menu for new projects.
 

	
 
* Add "new" logic for writing table model class to file.
 

	
 
* Handle lists and datetimes in ``app.json_friendly()``.
 

	
 

	
 
0.9.341 (2023-01-11)
 
--------------------
 

	
 
* Add basic logic for receiving from multiple invoice files.
 

	
 
* Add support for per-item default discounts, for new custorder.
 

	
 

	
 
0.9.340 (2023-01-08)
 
--------------------
 

	
 
* Tweak default beaker key for new projects.
 

	
 
* Prevent invalid chars in Excel sheet title.
 

	
 

	
 
0.9.339 (2023-01-07)
 
--------------------
 

	
 
* Tweaks for import/export batch.
 

	
 
* Add "units only" setting for products.
 

	
 

	
 
0.9.338 (2023-01-05)
 
--------------------
 

	
 
* Let report types declare a help URL.
 

	
 
* Let reports w/ Excel output write more than one data sheet.
 

	
 
* Optionally include all costs, when normalizing product data.
 

	
 
* Fix relative import bug on python2.
 

	
 

	
 
0.9.337 (2023-01-04)
 
--------------------
 

	
 
* Fix typo in app handler.
 

	
 

	
 
0.9.336 (2023-01-03)
 
--------------------
 

	
 
* Avoid ``print`` keyword for python2, in command ``rprint`` method.
 

	
 

	
 
0.9.335 (2023-01-02)
 
--------------------
 

	
 
* Add ``rattail make-project`` command, for simpler quickstart.
 

	
 
* Optionally force email address to lower-case.
 

	
 
* Auto-clear invalid flag when email address is changed.
 

	
 
* Add problem report for missing Trainwreck DB.
 

	
 
* Add problem report for Trainwreck current DB pruning.
 

	
 

	
 
0.9.334 (2022-12-28)
 
--------------------
 

	
 
* Update help text for Buefy version setting.
 

	
 
* Require caller to import tasks directly from ``rattail.luigi.tasks``.
 

	
 
* Be a bit smarter about making url for upgrade emails.
 

	
 
* Make static files optional, for new tailbone-integration project.
 

	
 
* Add initial logic for ``rattail cleanup`` command.
 

	
 
* Add basic models for tailbone page/fields help.
 

	
 
* Let handler strip batch execution kwargs which aren't JSON-safe.
 

	
 
* Avoid writing CSV file export when in dry-run mode.
 

	
 

	
 
0.9.333 (2022-12-22)
 
--------------------
 

	
 
* Use decimal instead of int, for storing case size.
 

	
 

	
 
0.9.332 (2022-12-21)
 
--------------------
 

	
 
* Recommend 0.8.17 for Buefy version (per Tailbone).
 

	
 
* Add ``terms`` column for Vendor table.
 

	
 

	
 
0.9.331 (2022-12-15)
 
--------------------
 

	
 
* Add ``normalize_host_object_all()`` method to importer.
 

	
 
* Add ``get_filepath()`` method for batch handlers.
 

	
 

	
 
0.9.330 (2022-12-10)
 
--------------------
 

	
 
* Write simple error to stdout, when batch command fails.
 

	
 
* Misc. tweaks for new integration project templates.
 

	
 
* Provide default factory for ``app.short_session()``.
 

	
 

	
 
0.9.329 (2022-12-06)
 
--------------------
 

	
 
* Add ``get_email_address()`` method for AuthHandler.
 

	
 
* Add way to preserve exit code when executing upgrade.
 

	
 
* Avoid "cost confirmed" data when cloning purchase batch.
 

	
 
* Add flag for receiving batch, if editing catalog cost is allowed.
 

	
 
* Add receiving workflow as param, when making receiving batch.
 

	
 
* Add flag for editing invoice cost, in receiving batch.
 

	
 
* Fallback to product master for case size, in vendor invoice batch.
 

	
 

	
 
0.9.328 (2022-12-02)
 
--------------------
 

	
 
* Add ``populate_from_query()`` method for pricing batch handler.
 

	
 
* Fix the % price diff status logic for pricing batch.
 

	
 

	
 
0.9.327 (2022-12-01)
 
--------------------
 

	
 
* Use ``--glob-archives`` instead of ``--prefix`` for ``borg prune``.
 

	
 
* Add option to launch overnight task with ``silent.conf``.
 

	
 

	
 
0.9.326 (2022-11-28)
 
--------------------
 

	
 
* Normalize percentage values in vendor catalog batch.
 

	
 
* Fix logic for rendering percentage value, when null.
 

	
 

	
 
0.9.325 (2022-11-28)
 
--------------------
 

	
 
* Auto-record last run date when overnight task completes okay.
 

	
 
* Keep current rattail config, when launching overnight task.
 

	
 
* Fix how failed command output is shown for luigi.
 

	
 
* Remove the 'backup' extra from ``setup.py``.
 

	
 

	
 
0.9.324 (2022-11-21)
 
--------------------
 

	
 
* Add way to purge overnight luigi settings.
 

	
 

	
 
0.9.323 (2022-11-21)
 
--------------------
 

	
 
* Fix the ``shlex_join()`` workaround for python2.
 

	
 
* Wrap script with run-n-mail too, for overnight luigi tasks.
 

	
 

	
 
0.9.322 (2022-11-20)
 
--------------------
 

	
 
* Tweak fallback for backfill task settings.
 

	
 
* Add luigi module/class awareness to overnight task launcher.
 

	
 

	
 
0.9.321 (2022-11-20)
 
--------------------
 

	
 
* Add ``enabled`` and per-day scheduling flags for problem reports.
 

	
 
* Fix how keys are stored for luigi overnight/backfill tasks.
 

	
 
* Add basic ``rattail overnight`` command, for running luigi tasks.
 

	
 

	
 
0.9.320 (2022-11-17)
 
--------------------
 

	
 
* Allow misc. date formats for certain versions of KeHE invoices.
 

	
 
* Ignore bad date parsing for vendor invoice batch.
 

	
 

	
 
0.9.319 (2022-11-15)
 
--------------------
 

	
 
* Add merge logic for users, to AuthHandler.
 

	
 

	
 
0.9.318 (2022-11-03)
 
--------------------
 

	
 
* Add handler methods to add/update address for person.
 

	
 
* Assume XLSX for pricing batch upload.
 

	
 
* Update logic for calculating markup from margin.
 

	
 
* Convert all percentage values to assume 0 - 100 range.
 

	
 
* Make some behavior optional, for writing Excel reports.
 

	
 
* Add workaround for ``shlex.join()`` prior to python 3.8.
 

	
 
* Fix config prefix for Luigi service info.
 

	
 
* Include ``make_filename()`` method for new poser report.
 

	
 

	
 
0.9.317 (2022-09-09)
 
--------------------
 

	
 
* Add basic per-item discount support for custorders.
 

	
 
* Make past item lookup optional for custorders.
 

	
 
* Add ``get_unconfirmed_counts()`` method for receiving batch handler.
 

	
 

	
 
0.9.316 (2022-09-06)
 
--------------------
 

	
 
* Add ``WorkOrder.estimated_total`` to schema.
 

	
 
* Add generic-ish ``rattail.db.util.get_fieldnames()`` function.
 

	
 

	
 
0.9.315 (2022-08-30)
 
--------------------
 

	
 
* Fix how newline chars are handled for UNFI invoice parser.
 

	
 
* Add more attrs for new product batch row.
 

	
 
* Consider 'Y' (or 'y') as true when parsing bool value.
 

	
 

	
 
0.9.314 (2022-08-30)
 
--------------------
 

	
 
* Fix import in backfill runner script.
 

	
 
* Add ``pricing.calculate_variance()`` function.
 

	
 
* Add ``pricing.calculate_price_from_margin()`` function.
 

	
 
* Do not deprecate ``BatchHandler.locate_product_for_entry()``.
 

	
 
* Add unit_size, uom, cleanup refresh logic for newproduct batch.
 

	
 

	
 
0.9.313 (2022-08-24)
 
--------------------
 

	
 
* Fix how we parse collectd interval.
 

	
 
* Add basic support for backfill Luigi tasks.
 

	
 

	
 
0.9.312 (2022-08-21)
 
--------------------
 

	
 
* Allow an "upgrade" to target "any" system.
 

	
 
* Allow config to force hostname for use with collectd output.
 

	
 
* Let datasync watcher kwargs be configured via DB settings table.
 

	
 
* Add "admin-ish" flag for roles.
 

	
 
* Add collectd helper methods to AppHandler.
 

	
 

	
 
0.9.311 (2022-08-18)
 
--------------------
 

	
 
* Add basic Luigi handler logic.
 

	
 
* Add logic to auto-correct unit vs. case when receiving from invoice.
 

	
 

	
 
0.9.310 (2022-08-17)
 
--------------------
 

	
 
* Detect when output path is a folder, for ``rattail make-config``.
 

	
 
* Add datasync handler class; let it talk to supervisor.
 

	
 
* Add setting etc. for user feedback to request reply email.
 

	
 

	
 
0.9.309 (2022-08-14)
 
--------------------
 

	
 
* Fix regression bug.
 

	
 

	
 
0.9.308 (2022-08-14)
 
--------------------
 

	
 
* Add ``process_changes_proper()`` method for datasync consumers.
 

	
 
* Remove unique constraint for ``Brand.name``.
 

	
 
* Refactor usage of ``get_vendor()`` lookup.
 

	
 

	
 
0.9.307 (2022-08-12)
 
--------------------
 

	
 
* Add the ``MergeMixin`` class, for common logic among feature handlers.
 

	
 
* Allow for case where none of importer's fields are "simple".
 

	
 

	
 
0.9.306 (2022-08-10)
 
--------------------
 

	
 
* Add ``choice_uses_dropdown()`` method for customer handler.
 

	
 
* Raise error if ``invoice2data`` is not able to find matching template.
 

	
 
* Try to detect tab- vs. comma-delimited CSV for handheld batch.
 

	
 
* Add basic model, handler for work orders.
 

	
 

	
 
0.9.305 (2022-08-08)
 
--------------------
 

	
 
* Fix how "available" email profiles are got.
 

	
 

	
 
0.9.304 (2022-08-08)
 
--------------------
 

	
 
* Add ``get_single_host_object()`` to importer base class.
 

	
 
* Add ``force_create`` param for ``AppHandler.save_setting()``.
 

	
 
* Make sure cache is invalidated when purging datasync settings.
 

	
 
* Invalidate beaker config cache when setting is deleted.
 

	
 
* Add support for alerting when sending an email fails.
 

	
 

	
 
0.9.303 (2022-08-07)
 
--------------------
 

	
 
* Replace deprecated method call.
 

	
 
* Lower log level when mailmon fails to check for / process messages.
 

	
 

	
 
0.9.302 (2022-08-07)
 
--------------------
 

	
 
* Try to use app-specific namespace for beaker config caching.
 

	
 
* Honor the configured email collection module(s), even w/ entry points.
 

	
 

	
 
0.9.301 (2022-08-06)
 
--------------------
 

	
 
* Add entry points support for locating email profiles.
 

	
 
* Add support for memcached as beaker config cache backend.
 

	
 

	
 
0.9.300 (2022-08-05)
 
--------------------
 

	
 
* Add basic ``rattail postfix-summary`` command.
 

	
 

	
 
0.9.299 (2022-08-05)
 
--------------------
 

	
 
* Add debug logging of DB pool status, when creating Session.
 

	
 
* Be sure to close connections for rattail -> rattail datasync.
 

	
 

	
 
0.9.298 (2022-08-05)
 
--------------------
 

	
 
* Fix recipients for sending email.
 

	
 

	
 
0.9.297 (2022-08-04)
 
--------------------
 

	
 
* Use app node title as default email subject prefix.
 

	
 

	
 
0.9.296 (2022-08-03)
 
--------------------
 

	
 
* Add "touch" logic for employee handler.
 

	
 
* Deprecate the old ``rattail.db.api.settings`` module.
 

	
 
* Add initial support for Beaker caching of config values from DB.
 

	
 

	
 
0.9.295 (2022-08-02)
 
--------------------
 

	
 
* Use single comma-delimited To: header for multiple email recipients.
 

	
 

	
 
0.9.294 (2022-07-29)
 
--------------------
 

	
 
* Avoid more sessions in datasync, when fetching config from DB.
 

	
 

	
 
0.9.293 (2022-07-27)
 
--------------------
 

	
 
* Avoid extra sessions in datasync, when fetching config from DB.
 

	
 
* Add ``--list-types`` arg for ``make-config`` cmd.
 

	
 
* Add basic python3 support for ``rattail import-sample`` cmd.
 

	
 

	
 
0.9.292 (2022-07-25)
 
--------------------
 

	
 
* Add ``primary`` flag for ``ContactMixin.add_email()`` and ``add_phone()``.
 

	
 
* Maybe omit rows w/ no qty when making purchase from ordering batch.
 

	
 
* Improve how receiving batch is created from purchase.
 

	
 
* Add ``AppHandler.today()`` method.
 

	
 
* Add ``can_auto_receive()`` method for purchase batch handler.
 

	
 
* Update invoice parser for KeHE, per new format.
 

	
 

	
 
0.9.291 (2022-07-22)
 
--------------------
 

	
 
* Reverse default flags for auto-creating brand in product importers.
 

	
 

	
 
0.9.290 (2022-07-22)
 
--------------------
 

	
 
* Add ``upc_check_digits_needed()`` method for products handler.
 

	
 
* Make caching products optional, when creating vendor catalog batch.
 

	
 
* Add flags for auto-creating brand in product importers.
 

	
 

	
 
0.9.289 (2022-07-19)
 
--------------------
 

	
 
* We always want "unit name" for UOM choices.
 

	
 
* Add ``get_last_patronage_date()`` method for membership handler.
 

	
 
* Add retry loop for starting transaction in datasync consumer.
 

	
 

	
 
0.9.288 (2022-07-18)
 
--------------------
 

	
 
* Stash data when generating report output.
 

	
 

	
 
0.9.287 (2022-07-18)
 
--------------------
 

	
 
* Add web app setting for default grid pagesize.
 

	
 
* Add basic ``pricing.calculate_markup()`` function.
 

	
 
* Add ``is_active_for_store()`` method to products handler.
 

	
 
* Properly encode output for ``str(Brand)``.
 

	
 

	
 
0.9.286 (2022-06-24)
 
--------------------
 

	
 
* Add basic autocompleter for subdepartments.
 

	
 
* Add basic date parsing for ExcelReaderXLSX.
 

	
 

	
 
0.9.285 (2022-06-14)
 
--------------------
 

	
 
* Add basic start date support for "future" pricing batch.
 

	
 

	
 
0.9.284 (2022-06-02)
 
--------------------
 

	
 
* Bump version to avoid last upload (?).
 

	
 

	
 
0.9.283 (2022-06-02)
 
--------------------
 

	
 
* Allow suppression of warnings when removing duplicate key values.
 

	
 
* Stop using deprecated kwargs for product lookup.
 

	
 

	
 
0.9.282 (2022-05-15)
 
--------------------
 

	
 
* Add ``render_vendor()`` method for VendorHandler.
 

	
 

	
 
0.9.281 (2022-05-14)
 
--------------------
 

	
 
* Tweaks for rattail -> rattail datasync.
 

	
 

	
 
0.9.280 (2022-05-03)
 
--------------------
 

	
 
* Tweak some string encoding for python2.
 

	
 

	
 
0.9.279 (2022-04-13)
 
--------------------
 

	
 
* Tweak some things for customer importer esp. for ``group_ids`` field.
 

	
 
* Tweak how output is decoded, for ``run-n-mail`` command.
 

	
 

	
 
0.9.278 (2022-04-06)
 
--------------------
 

	
 
* Add ``rattail mysql-chars`` command to view/fix charset, collation.
 

	
 
* Add more error handling to datasync; more docs.
 

	
 

	
 
0.9.277 (2022-04-04)
 
--------------------
 

	
 
* Let cases and/or units be (dis)allowed for new custorder.
 

	
 
* Tweak logging when datasync watcher fails.
 

	
 
* Add transaction logic for rattail->rattail datasync.
 

	
 

	
 
0.9.276 (2022-03-29)
 
--------------------
 

	
 
* Allow errors to raise when fetching poser reports.
 

	
 

	
 
0.9.275 (2022-03-26)
 
--------------------
 

	
 
* Try harder to cleanup when datasync error happens.
 

	
 

	
 
0.9.274 (2022-03-24)
 
--------------------
 

	
 
* Refactor session usage for datasync consumers.
 

	
 

	
 
0.9.273 (2022-03-22)
 
--------------------
 

	
 
* Define some "pre-process" logic for datasync consumers.
 

	
 

	
 
0.9.272 (2022-03-21)
 
--------------------
 

	
 
* Define email settings for ``run_n_mail``.
 

	
 

	
 
0.9.271 (2022-03-17)
 
--------------------
 

	
 
* Add custorder xref markers for trainwreck; import logic.
 

	
 

	
 
0.9.270 (2022-03-10)
 
--------------------
 

	
 
* Add basic UNFI catalog parser for tab-separated format.
 

	
 
* Render empty string if no price given.
 

	
 
* Assign report output id explicitly, via counter value.
 

	
 

	
 
0.9.269 (2022-03-09)
 
--------------------
 

	
 
* Fallback to showing employee name field when person missing/empty.
 

	
 
* Record execution kwargs as special params, when executing batch.
 

	
 
* Can't return poser reports if can't import ``poser.reports`` module.
 

	
 

	
 
0.9.268 (2022-03-08)
 
--------------------
 

	
 
* Allow "default" batch handlers to be registered in config.
 

	
 

	
 
0.9.267 (2022-03-07)
 
--------------------
 

	
 
* Add upload "temp dir" setting for pyramid in "complete" ``web.conf``.
 

	
 

	
 
0.9.266 (2022-03-05)
 
--------------------
 

	
 
* Add commands, ``setting-get`` and ``setting-put``.
 

	
 
* Assume remote borg command is just ``borg`` by default.
 

	
 
* Enable email by default in "complete" rattail config template.
 

	
 
* Record app package name in complete config file template.
 

	
 
* Add initial/stub support for managing poser views.
 

	
 
* Add ``AppHandler.render_mako_template()`` convenience method.
 

	
 

	
 
0.9.265 (2022-03-02)
 
--------------------
 

	
 
* Add basic Poser support for custom reports.
 

	
 

	
 
0.9.264 (2022-03-01)
 
--------------------
 

	
 
* Define appdir in complete config template.
 

	
 
* Add very basic / beginnings of Poser Handler.
 

	
 
* Add "vendor not shipped" status for receiving batch.
 

	
 

	
 
0.9.263 (2022-02-26)
 
--------------------
 

	
 
* Some tweaks for importing data from Excel (xlsx) files.
 

	
 
* Add ``config.parse_list()`` method.
 

	
 
* Auto filter by date, for ``trainwreck import-self``.
 

	
 
* Add problem report for "mailmon misses".
 

	
 

	
 
0.9.262 (2022-02-25)
 
--------------------
 

	
 
* Add ``make_appdir()`` and ``make_config_file()`` to AppHandler.
 

	
 
* Add "complete" mako templates for rattail, web config.
 

	
 
* Fetch discounts along with line items for ``trainwreck import-self``.
 

	
 
* Add "discount type" for Trainwreck line item discounts.
 

	
 

	
 
0.9.261 (2022-02-20)
 
--------------------
 

	
 
* Add patronage to trainwreck schema; skeleton for ``import-self`` cmd.
 

	
 
* Add per-item discounts to trainwreck; importing support.
 

	
 
* Add ``AppHandler.render_percent()`` convenience method.
 

	
 

	
 
0.9.260 (2022-02-15)
 
--------------------
 

	
 
* Add AppHandler methods to get/save/delete settings.
 

	
 
* Add "fuzzy fields" support for int/float/decimal.
 

	
 
* Render empty string if currency value is ``None``.
 

	
 

	
 
0.9.259 (2022-02-13)
 
--------------------
 

	
 
* Add "fuzzy fields" concept for importers.
 

	
 
* Make ``locate_product_for_vendor_code()`` prefer unit items.
 

	
 
* Compare received vs. shipped to check row status.
 

	
 
* Add ``AppHandler.render_duration()`` convenience method.
 

	
 
* Stop using legacy syntax to define entry points.
 

	
 

	
 
0.9.258 (2022-02-10)
 
--------------------
 

	
 
* Always pass along associated products when printing label batch.
 

	
 
* Add generic ``get_next_counter_value()`` method for importers.
 

	
 

	
 
0.9.257 (2022-02-09)
 
--------------------
 

	
 
* Show email address for new custorder person autocomplete.
 

	
 

	
 
0.9.256 (2022-02-08)
 
--------------------
 

	
 
* Add common normalize logic to ``ProductsHandler``.
 

	
 

	
 
0.9.255 (2022-02-07)
 
--------------------
 

	
 
* Show pseudo-progress when saving Excel report.
 

	
 
* Lower log level when disconnecting IMAP for mailmon.
 

	
 

	
 
0.9.254 (2022-02-06)
 
--------------------
 

	
 
* Add ``match_on_time_field`` for Trainwreck importers.
 

	
 

	
 
0.9.253 (2022-02-05)
 
--------------------
 

	
 
* Add "all" product locate methods to products handler.
 

	
 
* Commit (or rollback) local transaction before host, when importing.
 

	
 

	
 
0.9.252 (2022-02-04)
 
--------------------
 

	
 
* Tweak vendor catalog batch input params; fix tests.
 

	
 
* Make sure default phone number is first, when importing.
 

	
 
* Add ``group_ids`` field for Customer model importer.
 

	
 

	
 
0.9.251 (2022-02-01)
 
--------------------
 

	
 
* Misc. flexibility improvements for vendor catalog batch.
 

	
 

	
 
0.9.250 (2022-02-01)
 
--------------------
 

	
 
* Allow rattail watcher to get deleted before new/dirty changes.
 

	
 

	
 
0.9.249 (2022-01-31)
 
--------------------
 

	
 
* Rename permission for generating new report.
 

	
 
* Add ``CSVReport`` base class.
 

	
 

	
 
0.9.248 (2022-01-31)
 
--------------------
 

	
 
* Stash docstring for ReportParam in its ``helptext`` attr.
 

	
 
* Add ``safe_filename()`` method for reports.
 

	
 

	
 
0.9.247 (2022-01-31)
 
--------------------
 

	
 
* Always establish start/end date+time range for all importers.
 

	
 
* Fix typo for printing batch of labels.
 

	
 
* Add project generators for rattail-integration, tailbone-integration.
 

	
 
* Add ``--list-all-models`` flag for all import/export commands.
 

	
 
* Avoid cache query when fetching single local object for importer.
 

	
 
* Only delete object if importer allows it, from datasync.
 

	
 
* Change default initial delay for luigi OvernightTask datasync wait.
 

	
 

	
 
0.9.246 (2022-01-26)
 
--------------------
 

	
 
* Fix label printing for 2-up style formatter.
 

	
 
* Allow report output fields to vary based on params.
 

	
 

	
 
0.9.245 (2022-01-18)
 
--------------------
 

	
 
* Be a little smarter about IMAP server disconnect.
 

	
 

	
 
0.9.244 (2022-01-15)
 
--------------------
 

	
 
* Add label handler; refactor label formatting logic.
 

	
 
* Refactor mailmon daemon to ensure only 1 thread per IMAP account.
 

	
 

	
 
0.9.243 (2022-01-13)
 
--------------------
 

	
 
* Add ``AppHandler.make_object()`` convenience method.
 

	
 

	
 
0.9.242 (2022-01-10)
 
--------------------
 

	
 
* Add problem report for stale inventory batches.
 

	
 
* Batch handlers declare versioning is okay for delete action.
 

	
 
* Add explicit Sale, TPR, Current price columns for label batch.
 

	
 
* Add some more logging for mailmon daemon.
 

	
 

	
 
0.9.241 (2022-01-08)
 
--------------------
 

	
 
* Misc. changes for vendor catalog batch and related features.
 

	
 
* Add vendor handler, to better organize catalog parser logic.
 

	
 
* Add ``AppHandler.next_counter_value()`` magic.
 

	
 
* Add nominal support for mysql db backend.
 

	
 
* Refactor some usage of ``cache_model()``.
 

	
 

	
 
0.9.240 (2022-01-06)
 
--------------------
 

	
 
* Remove deprecated use of ``rattail.batch.handlers.get_batch_handler()``.
 

	
 

	
 
0.9.239 (2022-01-03)
 
--------------------
 

	
 
* Fix a couple of dynamic class names, for python2.
 

	
 
* Let datasync consumers declare handler key instead of spec.
 

	
 
* Deprecate the name ``NewDataSyncConsumer`` and update docs.
 

	
 
* Remove usage of ``app.get_designated_import_handler()``.
 

	
 
* Add basic Trainwreck handler.
 

	
 

	
 
0.9.238 (2021-12-29)
 
--------------------
 

	
 
* Remove unused module ``rattail.db.diffs``.
 

	
 
* Move main product lookup logic to products handler.
 

	
 
* Add basic "resolve" support for person, product from new custorder.
 

	
 

	
 
0.9.237 (2021-12-23)
 
--------------------
 

	
 
* Add ``load_object()`` convenience method for AppHandler.
 

	
 
* Make ``config.getint()`` smarter about using default value.
 

	
 
* Add basic "pending product" support for new custorder batch.
 

	
 
* Store copy of msg file just for bouncer, when using.
 

	
 
* Refactor mailmon daemon structure to minimize IMAP connections.
 

	
 
* Add error delay for mailmon, continuum comment for bounce handling.
 

	
 
* Remove support for "daemonize" option in filemon, datasync etc..
 

	
 
* Remove deprecated "dbsync" logic.
 

	
 

	
 
0.9.236 (2021-12-20)
 
--------------------
 

	
 
* Add way to handle an email bounce via filemon.
 

	
 

	
 
0.9.235 (2021-12-20)
 
--------------------
 

	
 
* Set ``app`` attribute for problem report handler, pass to email context.
 

	
 

	
 
0.9.234 (2021-12-20)
 
--------------------
 

	
 
* Make ``app.get_all_import_handlers()`` a bit smarter.
 

	
 

	
 
0.9.233 (2021-12-17)
 
--------------------
 

	
 
* Assign enum and app attrs in datasync consumer constructor.
 

	
 
* Add setting for tailbone grid "sticky headers".
 

	
 
* Expose settings for tailbone vue.js and buefy versions.
 

	
 
* Add basic time-related methods to AppHandler.
 

	
 

	
 
0.9.232 (2021-12-14)
 
--------------------
 

	
 
* Let config know if/when versioning has been enabled.
 

	
 
* Add "missing" tallies for receiving, plus allow un-declare credit.
 

	
 
* Default to false for all config flags in purchase batch handler.
 

	
 
* Stop "requiring" config files by default, it was too problematic.
 

	
 

	
 
0.9.231 (2021-12-11)
 
--------------------
 

	
 
* Fix calculation of seconds since last run for datasync watcher.
 

	
 
* Allow running a problem report just to get results, but avoid email.
 

	
 
* Let progress be passed in late, when running problem report.
 

	
 

	
 
0.9.230 (2021-12-09)
 
--------------------
 

	
 
* Add some purchase order abstractions to purchase batch handler.
 

	
 
* Add default logic for purchase batch ``make_row_from_po_item()``.
 

	
 

	
 
0.9.229 (2021-12-08)
 
--------------------
 

	
 
* Add ``get_problem_report_handler()`` method to AppHandler.
 

	
 
* Use python's ``importlib`` instead of doing our own thing.
 

	
 
* Add ``pre_process_changes()`` and ``post_process_changes()`` for datasync.
 

	
 

	
 
0.9.228 (2021-12-07)
 
--------------------
 

	
 
* Set the ``model`` attr when making new ``AppHandler`` object.
 

	
 

	
 
0.9.227 (2021-12-07)
 
--------------------
 

	
 
* Add some methods/attrs to import handlers, for exposing in web app.
 

	
 
* Overhaul import handler config etc.:
 
  * add ``AppHandler.get_designated_import_handlers()`` and friends
 
  * exit w/ code 1 when command line makes no sense and must print help
 
  * register all core import/export handlers via setup.py and config
 
  * use "handler key" lookup for all core import/export commands
 
  * stop displaying model list in help for import/export command
 
  * migrate datasync "change" permissions, per tailbone changes
 
  * log warning w/ traceback if loading entry point fails
 

	
 
* Mark only certain handlers as being safe for web app.
 

	
 
* Add ``get_active_stores()`` method for app handler.
 

	
 
* Make config object required, for Report constructor.
 

	
 

	
 
0.9.226 (2021-12-03)
 
--------------------
 

	
 
* Make stale timeout configurable, change default for datasync/collectd.
 

	
 
* Use common logic for basic product refresh in label batch.
 

	
 

	
 
0.9.225 (2021-11-29)
 
--------------------
 

	
 
* Allow loading "disabled" datasync profiles, if caller specifies.
 

	
 
* Add ``rattail datasync remove-settings`` command.
 

	
 
* Always "require" config files when making config object.
 

	
 

	
 
0.9.224 (2021-11-28)
 
--------------------
 

	
 
* Add setting for receiving from PO w/ invoice.
 

	
 
* Add some sale pricing logic for custorder batch.
 

	
 
* Include current time in datasync/collectd output.
 

	
 

	
 
0.9.223 (2021-11-27)
 
--------------------
 

	
 
* Only specify interval if we receive one from collectd.
 

	
 
* Add basic stale queue detection for datasync/collectd.
 

	
 

	
 
0.9.222 (2021-11-27)
 
--------------------
 

	
 
* Add workarounds if collectd does not pass env variables (?).
 

	
 

	
 
0.9.221 (2021-11-27)
 
--------------------
 

	
 
* Postpone import in case no sqlalchemy.
 

	
 
* Move datasync command logic to its own module.
 

	
 
* Add ``rattail datasync collectd`` sub-sub-command.
 

	
 

	
 
0.9.220 (2021-11-26)
 
--------------------
 

	
 
* Add way to "require" included config files.
 

	
 
* Only coerce logging timestamps if we have a timezone set.
 

	
 
* Set ``Subcommand.app`` within constructor, for convenience.
 

	
 

	
 
0.9.219 (2021-11-25)
 
--------------------
 

	
 
* Add basic support for receiving from PO with invoice.
 

	
 

	
 
0.9.218 (2021-11-14)
 
--------------------
 

	
 
* Add ``Role.sync_users`` flag and make importer logic honor it.
 

	
 

	
 
0.9.217 (2021-11-11)
 
--------------------
 

	
 
* Add no-op ``parse_date()`` method for ``ExcelReaderXLSX`` class.
 

	
 

	
 
0.9.216 (2021-11-11)
 
--------------------
 

	
 
* Add basic model, status enum for PendingProduct.
 

	
 

	
 
0.9.215 (2021-11-08)
 
--------------------
 

	
 
* Only show POD image if so configured; use "image not found" fallback.
 

	
 
* Add some "case price" logic for custorder batch.
 

	
 
* Add ``get_past_products()`` method for custorder batch handler.
 

	
 
* Add support for finding past items, for new custorder.
 

	
 
* Add basic support for ``invoice2data`` for InvoiceParser.
 

	
 
* Let purchase batch handler declare supported invoice parsers.
 

	
 
* Add simple ``ExcelInvoicParser`` class.
 

	
 

	
 
0.9.214 (2021-11-05)
 
--------------------
 

	
 
* Add ``progress_loop()`` method for app and generic handlers.
 

	
 
* Add "generic" vendor catalog parser.
 

	
 

	
 
0.9.213 (2021-11-04)
 
--------------------
 

	
 
* Add some product info fetchers to custorder batch handler.
 

	
 
* Add setting for "product price may be questionable" for custorders.
 

	
 

	
 
0.9.212 (2021-11-02)
 
--------------------
 

	
 
* Add "did not receive" status for purchase batch rows.
 

	
 
* Add "cannot calculate price" row status for new product batch.
 

	
 

	
 
0.9.211 (2021-10-22)
 
--------------------
 

	
 
* Assign ``app`` and ``model`` attributes when ProblemReport instantiates.
 

	
 

	
 
0.9.210 (2021-10-21)
 
--------------------
 

	
 
* Record 'lastrun' time when mailmon watcher succeeds.
 

	
 

	
 
0.9.209 (2021-10-20)
 
--------------------
 

	
 
* Improve default autocomplete for products.
 

	
 
* Add ``why_not_add_product()`` for custorder batch handler.
 

	
 
* Limit autocomplete results for customer/phone lookup in new custorder.
 

	
 
* Consolidate "new custorder" autocomplete logic for people, customers.
 

	
 
* Restore "pending" customer when unassigning batch contact.
 

	
 
* Add ``add_product()`` method for custorder batch handler.
 

	
 
* Calculate invoice totals when overlaying onto PO for purchase batch.
 

	
 
* Allow for alternate encoding in CSV importers.
 

	
 
* Add basic "price needs confirmation" support for custorder.
 

	
 
* Make ``product`` the first kwarg to ``get_image_url()``.
 

	
 
* Add new 'products.neworder' autocompleter; refactor a bit.
 

	
 

	
 
0.9.208 (2021-10-14)
 
--------------------
 

	
 
* Fix merge logic when employee needs to be transferred to new person.
 

	
 

	
 
0.9.207 (2021-10-14)
 
--------------------
 

	
 
* Invoke auth handler when deleting a user via importer.
 

	
 

	
 
0.9.206 (2021-10-14)
 
--------------------
 

	
 
* Add support for syncing roles, with users and permissions for each.
 

	
 

	
 
0.9.205 (2021-10-13)
 
--------------------
 

	
 
* Try to guess unit or case cost from invoice, if only one is specified.
 

	
 
* Add basic auth handler concept.
 

	
 

	
 
0.9.204 (2021-10-11)
 
--------------------
 

	
 
* Increase precision for cost fields in purchase, batch.
 

	
 

	
 
0.9.203 (2021-10-07)
 
--------------------
 

	
 
* Add ``PendingCustomer`` model, for sake of new custorder workflow.
 

	
 
* Add ``contact_name`` for custorder and batch.
 

	
 
* Add ``update_pending_customer()`` for custorder batch handler.
 

	
 
* Let ``InventoryBatchRow.case_cost`` equal zero.
 

	
 

	
 
0.9.202 (2021-10-06)
 
--------------------
 

	
 
* Add costing batch logic to overlay invoice onto PO data.
 

	
 
* Always add new/dirty first, deleted last, for RattailWatcher.
 

	
 
* Fix bug in products autocomplete.
 

	
 
* Add custorder batch settings to control contact info choice/editing.
 

	
 
* Add "contact update request" workflow for new custorders.
 

	
 

	
 
0.9.201 (2021-10-05)
 
--------------------
 

	
 
* Add ``get_contact_notes()`` method for custorder batch handler.
 

	
 
* Add ``get_contact_phones()`` method for custorder batch handler.
 

	
 
* Add PeopleHandler methods for add/update of phone, email.
 

	
 
* Improve ``get_context_employee()`` for EmploymentHandler.
 

	
 

	
 
0.9.200 (2021-10-03)
 
--------------------
 

	
 
* Remove some assertions which aren't always true...
 

	
 
* Tweak how we call the change recorder.
 

	
 

	
 
0.9.199 (2021-10-03)
 
--------------------
 

	
 
* Add initial version of the "mailmon" daemon.
 

	
 

	
 
0.9.198 (2021-10-01)
 
--------------------
 

	
 
* Add support for Autocomplete Handlers.
 

	
 
* Add config object to ``ChangeRecorder`` class.
 

	
 
* Add simple error logging when bouncer fails to login to server.
 

	
 

	
 
0.9.197 (2021-09-30)
 
--------------------
 

	
 
* Add basic workflow support for invoice costing (purchase) batches.
 

	
 
* Try to parse invoice number from invoice file.
 

	
 

	
 
0.9.196 (2021-09-28)
 
--------------------
 

	
 
* Add ``format_phone_number()`` method to app handler.
 

	
 
* Make ``get_first_email()`` type methods skip invalid addresses.
 

	
 

	
 
0.9.195 (2021-09-27)
 
--------------------
 

	
 
* Add "all" enum values for custorder item status, event.
 

	
 
* Declare model for CustomerOrderItemNote.
 

	
 

	
 
0.9.194 (2021-09-27)
 
--------------------
 

	
 
* Fix bugs in new clientele methods.
 

	
 

	
 
0.9.193 (2021-09-27)
 
--------------------
 

	
 
* Make custorder batch handler responsible for (un)assigning contact.
 

	
 
* Add ``cache_model()`` method to app handler.
 

	
 

	
 
0.9.192 (2021-09-26)
 
--------------------
 

	
 
* Add ``render_quantity()`` method to app handler.
 

	
 
* Always assign ``app`` attribute when instantiating batch handler.
 

	
 
* Assign store, fix sequence when making a new custorder/batch.
 

	
 

	
 
0.9.191 (2021-09-25)
 
--------------------
 

	
 
* Add "custom" customer autocomplete for new custorder handler.
 

	
 
* Add ``render_price()`` method for products handler.
 

	
 

	
 
0.9.190 (2021-09-21)
 
--------------------
 

	
 
* Flush after deleting batch rows.
 

	
 
* Some tweaks for customer orders.
 

	
 

	
 
0.9.189 (2021-09-16)
 
--------------------
 

	
 
* Add "request merge" logic to people handler; send email alert.
 

	
 

	
 
0.9.188 (2021-09-15)
 
--------------------
 

	
 
* Version bump per botched PyPI upload.
 

	
 

	
 
0.9.187 (2021-09-15)
 
--------------------
 

	
 
* Add ``AppHandler.normalize_phone_number()`` method.
 

	
 
* Cache the configured model when making a datasync watcher.
 

	
 

	
 
0.9.186 (2021-09-12)
 
--------------------
 

	
 
* Add way to customize product autocomplete for new custorder.
 

	
 
* Let "has activity" win over "has inventory" for delproduct row status.
 

	
 

	
 
0.9.185 (2021-09-09)
 
--------------------
 

	
 
* Add basic membership handler structure; tweak people, clientele.
 

	
 
* Allow specifying alternate name for association proxy.
 

	
 
* Raise specific error if batch is already executed.
 

	
 
* Make model importer "extensions" more..extensible.
 

	
 

	
 
0.9.184 (2021-09-01)
 
--------------------
 

	
 
* Tweak some customization hooks for custorder batch handler.
 

	
 

	
 
0.9.183 (2021-08-26)
 
--------------------
 

	
 
* Add ``app.get_email_handler()`` method.
 

	
 
* Add more helpful error, if trainwreck import is missing transaction.
 

	
 
* Add merge-related methods to ``PeopleHandler``, plus some docs.
 

	
 
* Add model for ``MergePeopleRequest`` to track people in need of merge.
 

	
 

	
 
0.9.182 (2021-08-04)
 
--------------------
 

	
 
* Ignore ProductPriceAssociation changes for legacy Rattail datasync consumer.
 

	
 
* Fix datasync bug for Rattail -> Rattail "import".
 

	
 

	
 
0.9.181 (2021-08-01)
 
--------------------
 

	
 
* Refactor how we handle product "price xref" fields via datasync.
 

	
 

	
 
0.9.180 (2021-07-27)
 
--------------------
 

	
 
* Improve default subject logic for importer warning emails.
 

	
 
* Add email config for Rattail <-> Rattail data import/export.
 

	
 

	
 
0.9.179 (2021-07-22)
 
--------------------
 

	
 
* Fix ``super()`` parent bug.
 

	
 

	
 
0.9.178 (2021-07-21)
 
--------------------
 

	
 
* Add dict-specific logic for normalizing "local" object.
 

	
 

	
 
0.9.177 (2021-07-21)
 
--------------------
 

	
 
* Raise error if unknown product scanned for inventory.
 

	
 
* Add special datasync logic for product/price associations.
 

	
 

	
 
0.9.176 (2021-07-15)
 
--------------------
 

	
 
* Auto-expand delproduct batch to include unit + all packs.
 

	
 

	
 
0.9.175 (2021-06-18)
 
--------------------
 

	
 
* Fix template context for importer diff warning email preview.
 

	
 
* Exclude ``suggested_price_uuid`` for rattail->rattail Product import.
 

	
 

	
 
0.9.174 (2021-06-18)
 
--------------------
 

	
 
* Let config set flags for product importing.
 

	
 

	
 
0.9.173 (2021-06-18)
 
--------------------
 

	
 
* Avoid blank upc when caching products.
 

	
 
* Lower log level when product not found.
 

	
 

	
 
0.9.172 (2021-06-17)
 
--------------------
 

	
 
* Add ``--no-collect-changes`` arg for importer commands.
 

	
 

	
 
0.9.171 (2021-06-11)
 
--------------------
 

	
 
* Assume empty string means null, in datetime conversion for CSV import.
 

	
 
* Require ``config`` and ``key`` args for ``ConfigProfile`` constructor.
 

	
 
* Accept extra kwargs for ``util.capture_output()``.
 

	
 
* Fix how cost diffs are checked for vendor catalog batch.
 

	
 
* Fix bug when refreshing single label batch row.
 

	
 
* Tweak basic project template, per LOC SMS integration.
 

	
 
* Add ``PeopleHandler.ensure_address()`` method.
 

	
 

	
 
0.9.170 (2021-04-28)
 
--------------------
 

	
 
* Only make batch data dir if it doesn't exist.
 

	
 
* Add "has inventory" status for delete item batch (rows).
 

	
 
* Add ``batch_id_str()`` convenience function.
 

	
 

	
 
0.9.169 (2021-04-27)
 
--------------------
 

	
 
* Allow "batch importers" to avoid collecting changes for processing.
 

	
 

	
 
0.9.168 (2021-04-12)
 
--------------------
 

	
 
* Don't use ``log.warn()``.
 

	
 
* Add ``render_date()`` method for app handler.
 

	
 

	
 
0.9.167 (2021-03-30)
 
--------------------
 

	
 
* Add ``Store.archived`` flag to schema.
 

	
 
* Only cache departments which have a number.
 

	
 
* Freeze version of SQLAlchemy to 1.3.x.
 

	
 

	
 
0.9.166 (2021-03-11)
 
--------------------
 

	
 
* Fix preview for user_feedback emails.
 

	
 
* Add trainwreck alembic files to project manifest.
 

	
 
* Create the ``data/uploads`` folder when making app dir.
 

	
 
* Better handle cost diff when old value is null, for catalog batch.
 

	
 
* Fix how rsync excludes are used as fallback for borg backup.
 

	
 
* Add ``inactivity_months`` field for delete product batch.
 

	
 
* Add misc. more fields to base Trainwreck schema.
 

	
 

	
 
0.9.165 (2021-03-05)
 
--------------------
 

	
 
* Let include/exclude lists differ for rsync vs. borg, in backup command.
 

	
 
* Add ``date_created`` field for "delete product" batch row.
 

	
 

	
 
0.9.164 (2021-03-02)
 
--------------------
 

	
 
* Move some enum values to rattail-onager.
 

	
 
* Add "pending customer orders" status for delete product batch row.
 

	
 

	
 
0.9.163 (2021-02-19)
 
--------------------
 

	
 
* Add trainwreck enum entry for CORE-POS.
 

	
 
* Add "full" support for Trainwreck <-> Trainwreck import/export commands.
 

	
 

	
 
0.9.162 (2021-02-18)
 
--------------------
 

	
 
* Describe execution for some common batches.
 

	
 
* More improvements to "delete products" batch.
 

	
 
* Misc. tweaks for vendor catalog batch.
 

	
 
* Add proper "default" model for Trainwreck.
 

	
 

	
 
0.9.161 (2021-02-10)
 
--------------------
 

	
 
* Relax validation of phone numbers a bit.
 

	
 

	
 
0.9.160 (2021-02-10)
 
--------------------
 

	
 
* Rename tables for purchase batches.
 

	
 
* Add XLSX-flavored ExcelReader class.
 

	
 
* Fix execution description for purchase batches.
 

	
 
* Always use versioning workarounds for vendor catalog batches.
 

	
 

	
 
0.9.159 (2021-02-04)
 
--------------------
 

	
 
* Add ``make_temp_dir()`` and ``make_temp_path()`` for app handlers.
 

	
 
* Rename tables, models for various batches.
 
  
 
* Add ``BatchHandler.is_mutable()``.
 

	
 

	
 
0.9.158 (2021-02-01)
 
--------------------
 

	
 
* Add ``Purchase.id`` column to schema.
 

	
 
* Fix ``PurchaseItem.po_total`` when creating from ordering batch.
 

	
 
* Add ``BatchHandler.describe_execution()`` method.
 

	
 
* Add ``render_currency()`` and ``render_datetime()`` for app handler.
 

	
 
* Misc. reporting tweaks; add "Customer Mailing" sample report.
 

	
 
* Purge things for legacy (jquery) mobile apps.
 

	
 
* Let ``PurchaseBatchHandler`` define which receiving workflows are supported.
 

	
 
* Add ``ProductsHandler.get_image_url()`` etc.
 

	
 

	
 
0.9.157 (2021-01-28)
 
--------------------
 

	
 
* Add basic PeopleHandler, for consistently updating names.
 

	
 

	
 
0.9.156 (2021-01-27)
 
--------------------
 

	
 
* Let win32 share the 'auth' extra.
 

	
 

	
 
0.9.155 (2021-01-27)
 
--------------------
 

	
 
* Initial support for adding items to, executing customer order batch.
 

	
 
* Add simple ``rattail checkdb`` command.
 

	
 

	
 
0.9.154 (2021-01-25)
 
--------------------
 

	
 
* Add some default logic to ``FromFile`` importer base.
 

	
 
* Tweak borg requirement for 'backup' extra.
 

	
 
* Add ``AppHandler.get_report_handler()`` and improve related docs a bit.
 

	
 
* Add feature to generate new features...
 

	
 
* Add basic dev bootstrap for new projects.
 

	
 
* Add new batch type for deleting products.
 

	
 
* Show import vs. export direction in warnings/diff email.
 

	
 
* Set ``self.model`` when constructing new Importer.
 

	
 
* Avoid meaningless flushes within importer main loop.
 

	
 
* Don't use list for ``Product.shopfoo_product`` type relationships.
 

	
 
* Set ``self.model`` when constructing a DataSyncConsumer.
 

	
 
* Add generic ``FromRattailConsumer`` base class for datasync.
 

	
 
* Add "Units of Measure" table, and mapping logic in products handler.
 

	
 
* Add ``webapi.conf`` file for use with ``rattail make-config``.
 

	
 
* Fix some discrepancies in primary vs. version table schema.
 

	
 

	
 
0.9.153 (2020-12-15)
 
--------------------
 

	
 
* Add basic model, importer for IFPS PLU Codes.
 

	
 

	
 
0.9.152 (2020-12-04)
 
--------------------
 

	
 
* Add ``phone_number_is_invalid()`` method to app handler.
 

	
 
* Add basic structure for "Board Handler" feature.
 

	
 
* Add 'datadir' to sample config files.
 

	
 

	
 
0.9.151 (2020-12-01)
 
--------------------
 

	
 
* Add new "app handler" concept, w/ handlers for employment, clientele.
 

	
 

	
 
0.9.150 (2020-11-24)
 
--------------------
 

	
 
* Add vendor catalog parser for Equal Exchange.
 

	
 
* Refresh product record, when attaching new price via importer.
 

	
 

	
 
0.9.149 (2020-10-14)
 
--------------------
 

	
 
* Simplify how certain "list" data is cleared, when importing to Rattail.
 

	
 

	
 
0.9.148 (2020-10-13)
 
--------------------
 

	
 
* Log warning instead of assertion error, if runas_user doesn't exist.
 

	
 
* Stop trying to use win32 api to know "default config paths".
 

	
 
* Stop creating separate 'batch' folder for ``rattail make-appdir``.
 

	
 
* Allow datasync to export to rattail but *not* record changes.
 

	
 

	
 
0.9.147 (2020-10-02)
 
--------------------
 

	
 
* Fix how record associations are removed for rattail importing.
 

	
 
* Load "runas user" into current session, for X -> Rattail importers.
 

	
 
* Make sure model extension tables are eagerly joined for Rattail importing.
 

	
 

	
 
0.9.146 (2020-09-24)
 
--------------------
 

	
 
* Add methods to create new sheet, and toggle grid lines for ExcelWriter.
 

	
 
* Add "summary" sheet to Excel-based reports.
 

	
 

	
 
0.9.145 (2020-09-22)
 
--------------------
 

	
 
* Use static default timezone for new 'fabric' project.
 

	
 
* Add more flexible "extensions" mechanism for Rattail model importers.
 

	
 
* Turn on display of rattail deprecation warnings by default.
 

	
 

	
 
0.9.144 (2020-09-19)
 
--------------------
 

	
 
* Small tweaks for default config in 'fabric' projects.
 

	
 
* Allow overriding column header labels when writing Excel file.
 

	
 
* Add ``makedirs`` kwarg for ``Batch.absolute_filepath()`` method.
 

	
 
* Add batch handler methods for writing, updating from worksheet.
 

	
 
* Give importer diff emails an automatic default subject.
 

	
 
* Add ``--no-password`` flag for ``rattail make-user`` command.
 

	
 

	
 
0.9.143 (2020-09-16)
 
--------------------
 

	
 
* Always create 'data' dir when making app dir.
 

	
 
* Add support for generating a 'fabric' project.
 

	
 

	
 
0.9.142 (2020-09-14)
 
--------------------
 

	
 
* Add basic handler/template for generating new custom projects.
 

	
 

	
 
0.9.141 (2020-09-02)
 
--------------------
 

	
 
* Ignore bad UPC when reading products from file for label batch.
 

	
 
* Add ``Product.average_weight`` to schema.
 

	
 

	
 
0.9.140 (2020-08-21)
 
--------------------
 

	
 
* Add ``--skip-if-empty`` flag for ``rattail run-n-mail`` command.
 

	
 
* Add base classes for Rattail -> Rattail (local) imports.
 

	
 
* Always try to set ``runas_user`` etc. when making an importer.
 

	
 
* Allow override of header row for CSV exporters.
 

	
 
* Add base data model for "shopfoo" pattern.
 

	
 
* Add base pattern logic for Shopfoo data export.
 

	
 

	
 
0.9.139 (2020-08-17)
 
--------------------
 

	
 
* Add ``rattail version-check`` command, for consistency checks.
 

	
 

	
 
0.9.138 (2020-08-13)
 
--------------------
 

	
 
* Include alt code lookup for inventory "quick entry" logic.
 

	
 
* Fix how we obtain local system title for importers.
 

	
 

	
 
0.9.137 (2020-08-10)
 
--------------------
 

	
 
* Add ``PricingBatchRow.old_true_margin`` column to schema.
 

	
 
* Tweak how/when we set "manually priced" status for pricing batch rows.
 

	
 
* Add basic TXT template for user feedback emails.
 

	
 
* Grow column for permission name.
 

	
 

	
 
0.9.136 (2020-08-09)
 
--------------------
 

	
 
* Always import the data model module early, when running commands.
 

	
 
* Add new base classes for customer order/item models.
 

	
 
* Add data models for "customer order" batches.
 

	
 
* Add ``first_email()``, ``first_phone()`` etc. for ContactMixin.
 

	
 
* Fix some encoding bugs on python 2.
 

	
 
* Add association proxy for ``Employee.users``.
 

	
 

	
 
0.9.135 (2020-07-30)
 
--------------------
 

	
 
* Add base classes for "purging" subcommands.
 

	
 

	
 
0.9.134 (2020-07-29)
 
--------------------
 

	
 
* Add ``BatchHandler.delete_extra_data()`` method.
 

	
 
* Add ``BatchHandler.do_delete()`` method.
 

	
 

	
 
0.9.133 (2020-07-29)
 
--------------------
 

	
 
* Be smarter about deleting rows, when deleting batch.
 

	
 

	
 
0.9.132 (2020-07-28)
 
--------------------
 

	
 
* Tweak logic for purging batches to avoid warnings, duplicate progress.
 

	
 

	
 
0.9.131 (2020-07-26)
 
--------------------
 

	
 
* Grow ``Product.item_id`` to allow 50 chars.
 

	
 
* Don't create empty department, when importing subdepartment.
 

	
 
* Remove unused "fablib" line from manifest.
 

	
 
* Let config define arbitrary kwargs for datasync watcher.
 

	
 
* Add ``can_delete_object()`` method for importers.
 

	
 
* Add ``cache_model()`` convenience method for problem reports.
 

	
 
* Log info instead of debug, to show count of problems found.
 

	
 

	
 
0.9.130 (2020-06-18)
 
--------------------
 

	
 
* Remove 'fixture' use within tests; plus fix some tests.
 

	
 
* Add ``email_output()`` method for report handler, plus common template.
 

	
 

	
 
0.9.129 (2020-05-28)
 
--------------------
 

	
 
* Add ``require`` kwarg for ``Person.only_customer()`` method.
 

	
 
* Add some indexes, to optimize profile view.
 

	
 

	
 
0.9.128 (2020-05-20)
 
--------------------
 

	
 
* Add "shelved" flag for pricing batches.
 

	
 
* Add "safe" param logic for decimal report params.
 

	
 

	
 
0.9.127 (2020-04-17)
 
--------------------
 

	
 
* Add support for extra header rows, for Excel reader.
 

	
 
* Add generic ``FromFile`` importer base class.
 

	
 
* Change method call to allow for simpler signature.
 

	
 

	
 
0.9.126 (2020-04-06)
 
--------------------
 

	
 
* Fix how we assign ``Purchase.total`` when executing an ordering batch.
 

	
 
* Improve logic for making new Receiving batch from PO.
 

	
 
* Copy PO total from purchase object, when making new receiving batch.
 

	
 
* Add ``--borg-tag`` arg for ``rattail backup`` command.
 

	
 
* Add ``Product.get_default_pack_item()`` convenience method.
 

	
 
* Add ``Role.notes`` field to schema.
 

	
 
* Add way for report to provide available "choices" for any param.
 

	
 
* Add ``get_output_filename()`` method for ToFile exporters.
 

	
 
* Move most of inventory batch logic into the handler (from Tailbone).
 

	
 
* Add setting to disable old/legacy jQuery mobile app.
 

	
 

	
 
0.9.125 (2020-03-18)
 
--------------------
 

	
 
* Sever the "backref" tie for ``Person._customers``.
 

	
 
* Add setting for display of POD images in Tailbone.
 

	
 
* Add ``revoke_permission()`` convenience auth function.
 

	
 
* Fix the Subdepartment importer per real-time datasync use.
 

	
 
* Stash a reference to handler instance, when creating datasync consumer.
 

	
 
* Add "customer fields" for Person importer.
 

	
 
* Add ``ContactMixin`` for Rattail importers; use with Customer and Person.
 

	
 
* Declare the Member model to be a "contact" for related magic.
 

	
 
* Add version importers for member data.
 

	
 
* Add ``Member.number`` to schema.
 

	
 
* Add ``Customer.first_person()`` convenience method.
 

	
 

	
 
0.9.124 (2020-03-11)
 
--------------------
 

	
 
* Add logic for Order Form worksheet, in purchase batch handler.
 

	
 

	
 
0.9.123 (2020-03-05)
 
--------------------
 

	
 
* Add ``refresh_many()`` method for batch handlers.
 

	
 
* Raise explicit error in ``data_diffs()`` to tell which side is missing data.
 

	
 
* Add default implementation logic for ``Importer.cache_local_data()``.
 

	
 
* Fix some math/logic for calculating "pending" amounts in purchase batch.
 

	
 

	
 
0.9.122 (2020-03-02)
 
--------------------
 

	
 
* Grow ``item_entry`` field for batches, to accommodate product_uuid.
 

	
 

	
 
0.9.121 (2020-03-01)
 
--------------------
 

	
 
* Stop breaking on bad input, for purchase batch ``update_row_quantity()``.
 

	
 
* Delete each row in batch, one by one, when deleting batch.
 

	
 
* Add ``Employee.sorted_history()`` and improve ``get_current_history()``.
 

	
 
* Implement ``GPC.__lt__()`` rich comparison.
 

	
 

	
 
0.9.120 (2020-02-26)
 
--------------------
 

	
 
* Add ``update_row_quantity()``, ``order_row()`` methods for purchase batch handler.
 

	
 
* Update the *calculated* PO total when removing row from ordering batch.
 

	
 
* Add 60-second delay for "datasync wait" logic in Luigi overnight tasks.
 

	
 

	
 
0.9.119 (2020-02-21)
 
--------------------
 

	
 
* Tweak how output of ``rattail runsql`` command is handled.
 

	
 

	
 
0.9.118 (2020-02-19)
 
--------------------
 

	
 
* Let config define ``--keep-*`` args for ``borg prune`` command.
 

	
 
* Use progress when writing rows to Excel.
 

	
 

	
 
0.9.117 (2020-02-12)
 
--------------------
 

	
 
* Add new ``ProblemReportEmail`` base class, for simpler email previews.
 

	
 
* Add "current price" to schema for pricing batch; populate on refresh.
 

	
 
* Add support for newer file format, in KeHE invoice parser.
 

	
 

	
 
0.9.116 (2020-02-03)
 
--------------------
 

	
 
* Remove ``__future__`` imports from project scaffold template.
 

	
 
* Fix some password prompts, for python 3.
 

	
 
* Add some custom tables, model importers, web views for new project template.
 

	
 
* Don't consult the DB when fetching configured enum module.
 

	
 

	
 
0.9.115 (2020-01-28)
 
--------------------
 

	
 
* Allow populating a new pricing batch from products with "SRP breach".
 

	
 
* Remove versioning workarounds for core batch handlers.
 

	
 
* Add "invalid address" flags for primary contact types.
 

	
 
* Add "price breaches SRP" status for pricing batch rows.
 

	
 

	
 
0.9.114 (2020-01-20)
 
--------------------
 

	
 
* Add awareness of default "importer" batch handler.
 

	
 
* Explicitly avoid data versioning when executing import/export batch.
 

	
 
* Improve "batch" awareness for datasync queue logic.
 

	
 
* Add ``ProblemReportHandler.progress_loop()`` convenience method.
 

	
 

	
 
0.9.113 (2020-01-07)
 
--------------------
 

	
 
* Fix how "current" price is set for Product importer.
 

	
 

	
 
0.9.112 (2020-01-06)
 
--------------------
 

	
 
* Fix handling of tpr/sale prices for rattail Product datasync.
 

	
 

	
 
0.9.111 (2020-01-06)
 
--------------------
 

	
 
* Remove TPR, sale price refs from *simple* Product importer fields.
 

	
 

	
 
0.9.110 (2020-01-06)
 
--------------------
 

	
 
* Add ``Product.tpr_price`` and ``sale_price``, tweak model importer.
 

	
 

	
 
0.9.109 (2020-01-02)
 
--------------------
 

	
 
* Mark a Product as dirty, when ProductCost is deleted.
 

	
 
* Remove cascade settings for ``Person._customers`` relationship.
 

	
 

	
 
0.9.108 (2019-12-19)
 
--------------------
 

	
 
* Allow config to define datasync "batch" size limit.
 

	
 

	
 
0.9.107 (2019-12-02)
 
--------------------
 

	
 
* Add logic for updating row invoice cost/totals for receiving batch.
 

	
 
* Add catalog unit cost, confirmation flags for receiving batch rows.
 

	
 
* Add logic for updating catalog cost for receiving batch row.
 

	
 
* Add ``receiving_complete`` flag for PurchaseBatch.
 

	
 

	
 
0.9.106 (2019-11-15)
 
--------------------
 

	
 
* Add ``quick_entry()`` method signature for batch handlers.
 

	
 
* Try to set creator of new batch, if user is specified.
 

	
 
* Try to assign configured store when making new purchase batch.
 

	
 
* Add ``get_eligible_purchases()`` method for 'purchase' batch handler.
 

	
 
* Add proper "quick entry" logic for purchase batch.
 

	
 
* Fix some receiving row logic when null quantities present.
 

	
 

	
 
0.9.105 (2019-11-08)
 
--------------------
 

	
 
* Cascade delete for ProductStoreInfo.
 

	
 
* Add ``rattail make-batch`` command.
 

	
 
* Add ``finalize_session()`` convenience method for Subcommand.
 

	
 

	
 
0.9.104 (2019-10-30)
 
--------------------
 

	
 
* Fix issue with import diff email template, when extra fields present.
 

	
 
* Only retain "used importers" if instructed, in import handler.
 

	
 

	
 
0.9.103 (2019-10-25)
 
--------------------
 

	
 
* Add ``rattail purge-versions`` command.
 

	
 

	
 
0.9.102 (2019-10-23)
 
--------------------
 

	
 
* Add setting to "force unit item" for inventory batch.
 

	
 
* Add "generic" sequence for customer numbers.
 

	
 

	
 
0.9.101 (2019-10-15)
 
--------------------
 

	
 
* Add way for callers to assign "comment" for versioning transaction.
 

	
 
* Add ``-m`` flag option for ``rattail import-versions --comment``.
 

	
 

	
 
0.9.100 (2019-10-12)
 
--------------------
 

	
 
* Improve importer logic for "Global" objects, for sake of datasync.
 

	
 
* Add generic JSON ``params`` field to core batch schema.
 

	
 
* Make pricing batch population more robust for UPC/product.
 

	
 
* Add unit cost diff percentage for vendor catalog batch rows.
 

	
 
* Add "preferred vendor" flags for vendor catalog batch rows.
 

	
 
* Add unit cost diff, related status for vendor invoice batch rows.
 

	
 
* Add initial "problem report" framework.
 

	
 
* Use OrderedDict for configured db engines.
 

	
 

	
 
0.9.99 (2019-10-07)
 
-------------------
 

	
 
* Tweak Luigi summary filter logic for detecting "all good" message.
 

	
 
* Add ``local_only`` flag for Person, User, plus "Global" importers.
 

	
 

	
 
0.9.98 (2019-10-04)
 
-------------------
 

	
 
* Add ``remove_email()`` etc. for ContactMixin.
 

	
 
* Provide default/fallback node title for importers' sake.
 

	
 

	
 
0.9.97 (2019-10-02)
 
-------------------
 

	
 
* Declare 'sys' to be a built-in mysql db name, for ``rattail backup``.
 

	
 
* Add ``--groups`` arg to ``rattail make-user`` command.
 

	
 
* Add ``WarnSummaryIfProblems`` logging filter for Luigi.
 

	
 
* Provide default app title when generating mail.
 

	
 
* Convert command output to Unicode, for ``run-n-mail``.
 

	
 

	
 
0.9.96 (2019-09-24)
 
-------------------
 

	
 
* Add ``util.simple_error()`` for basic rendering of error message.
 

	
 
* Add ``default_importers_only`` flag for datasync consumers.
 

	
 
* Add progress support for some Excel writer methods.
 

	
 

	
 
0.9.95 (2019-09-18)
 
-------------------
 

	
 
* Strip whitespace from fieldnames by default, for ``ExcelReader``.
 

	
 
* Don't try to locate product if empty "entry" provided, for batch handlers.
 

	
 
* Add ``get_product_by_scancode()`` API function; leverage in batch handler.
 

	
 

	
 
0.9.94 (2019-09-17)
 
-------------------
 

	
 
* Add ``--dump-tables`` arg for ``rattail backup`` command.
 

	
 
* Add support for Borg backups, in ``rattail backup``.
 

	
 
* Add 'backup' requirements extra.
 

	
 
* Allow config to define where db dumps go for backup.
 

	
 
* Retain reference to "used" importer instances, when running via handler.
 

	
 
* Add ``ImportHandler.extra_importer_kwargs`` and associated logic.
 

	
 

	
 
0.9.93 (2019-09-10)
 
-------------------
 

	
 
* Add basis for a ``trainwreck prune`` command, to prune old data.
 

	
 

	
 
0.9.92 (2019-09-09)
 
-------------------
 

	
 
* Make sure new projects declare support for Python 3 (only).
 

	
 
* Remove some web templates from project scaffold.
 

	
 
* Make the Customer model use ContactMixin.
 

	
 
* Preserve "zeroes" when converting handheld batch to inventory batch.
 

	
 
* Check existence of ``psql`` command before using it, for backups.
 

	
 

	
 
0.9.91 (2019-08-04)
 
-------------------
 

	
 
* Add ``ContactMixin`` class to consolidate handling of phone/email/address.
 

	
 

	
 
0.9.90 (2019-07-30)
 
-------------------
 

	
 
* Add "from same to same" importer base class.
 

	
 
* Add basic support for Trainwreck <-> Trainwreck import/export.
 

	
 
* Add support for ``rattail export-csv`` command.
 

	
 
* Change progress message when caching local data for importer.
 

	
 
* Add basic support for ``rattail import-csv`` command.
 

	
 

	
 
0.9.89 (2019-07-13)
 
-------------------
 

	
 
* Add ``Employee.only_person()`` convenience method.
 

	
 

	
 
0.9.88 (2019-07-09)
 
-------------------
 

	
 
* Add ``RattailConfig.datadir()`` convenience method.
 

	
 
* Stop using deprecated RattailConfig methods.
 

	
 
* Fix main version query, to remove duplicate results.
 

	
 

	
 
0.9.87 (2019-06-16)
 
-------------------
 

	
 
* Allow session to define client IP address for data versioning.
 

	
 

	
 
0.9.86 (2019-06-13)
 
-------------------
 

	
 
* Copy item ID and UPC when refreshing row for pricing batch.
 

	
 
* Fix WinCE batch file parsing per python 3.
 

	
 
* Add ``po_total_calculated`` columns for purchasing batch, row.
 

	
 

	
 
0.9.85 (2019-05-09)
 
-------------------
 

	
 
* Add ``cache_model()`` convenience method for reports.
 

	
 

	
 
0.9.84 (2019-05-09)
 
-------------------
 

	
 
* Store report type key and params when generating new report.
 

	
 
* Add support for "totals" row to basic Excel report output.
 

	
 

	
 
0.9.83 (2019-05-07)
 
-------------------
 

	
 
* Add generic ``ExcelReport`` base class.
 

	
 

	
 
0.9.82 (2019-05-05)
 
-------------------
 

	
 
* Add basic support for custom number formats, in Excel writer.
 

	
 

	
 
0.9.81 (2019-04-30)
 
-------------------
 

	
 
* Add ``--kwargs`` argument for batch execution command line.
 

	
 

	
 
0.9.80 (2019-04-26)
 
-------------------
 

	
 
* Remove redundant setup when populating vendor catalog batch.
 

	
 
* Assign continuum versioning author when executing any batch.
 

	
 

	
 
0.9.79 (2019-04-25)
 
-------------------
 

	
 
* Comment out app_title in base_meta for new project template.
 

	
 
* Add 'newproduct' batch for importing new items from e.g. spreadsheet.
 

	
 
* Add "allowance" fields for Vendor Catalog batches.
 

	
 
* Add vendor item code, family code etc. for pricing batch.
 

	
 
* Add generic "products" batch type, can convert to labels or pricing batch.
 

	
 
* Fix data encoding when writing to progress socket for python3.
 

	
 

	
 
0.9.78 (2019-04-12)
 
-------------------
 

	
 
* Add ``Employee.get_current_history()`` convenience method.
 

	
 

	
 
0.9.77 (2019-04-04)
 
-------------------
 

	
 
* Let handler create importers for datasync consumer.
 

	
 

	
 
0.9.76 (2019-04-04)
 
-------------------
 

	
 
* Make sure importer knows "direction" when used within datasync.
 

	
 

	
 
0.9.75 (2019-04-03)
 
-------------------
 

	
 
* Remove deprecated web menu template in new project template.
 

	
 
* Set importer ``direction`` early, in case ``supported_fields`` needs it.
 

	
 

	
 
0.9.74 (2019-04-02)
 
-------------------
 

	
 
* Use "shipped" instead of "ordered" for truck dump child row "claims".
 

	
 
* Use shipped instead of ordered, for setting purchase batch row status.
 

	
 

	
 
0.9.73 (2019-03-29)
 
-------------------
 

	
 
* Some improvements to basic project template.
 

	
 
* Add new 'reporting' mini-framework.
 

	
 
* Allow "loose" product matching between truck dump parent and child.
 

	
 
* Add ``can_declare_credit()`` method for purchase batch handler.
 

	
 

	
 
0.9.72 (2019-03-21)
 
-------------------
 

	
 
* Add simple ``JSONTextDict`` data type for SQLAlchemy columns.
 

	
 

	
 
0.9.71 (2019-03-14)
 
-------------------
 

	
 
* Add ``BatchHandler.do_remove_row()`` caller method.
 

	
 
* Omit deprecated kwarg for ``session.is_modified()``.
 

	
 
* Add ``direction`` attribute for ImportHandler and Importer.
 

	
 
* Add debug logging when "stale changes" detected for datasync.
 

	
 
* Add ``declare_credit()`` method for purchase batch handler.
 

	
 

	
 
0.9.70 (2019-03-11)
 
-------------------
 

	
 
* Fix progress bar construction (for real).
 

	
 
* Add ``percentage`` kwarg to ``pricing.gross_margin()`` function.
 

	
 
* Add ``ProductVolatile`` model, for "volatile" product attributes.
 

	
 
* Tweak ``pretty_hours()`` to better handle negative values.
 

	
 

	
 
0.9.69 (2019-03-08)
 
-------------------
 

	
 
* Fix logic for calculating "credit total".
 

	
 
* Add "calculated" invoice total for receiving row, batch.
 

	
 
* Fix how some "receive row" logic worked, for aggregated product rows.
 

	
 
* Expand UPC-E to UPC-A when doing product receiving lookup.
 

	
 

	
 
0.9.68 (2019-03-07)
 
-------------------
 

	
 
* Fix progress bar error, as of ``progress==1.5`` package.
 

	
 

	
 
0.9.67 (2019-03-06)
 
-------------------
 

	
 
* Tweak how we create config parser object, for python 3 vs. 2.
 

	
 
* Refresh receiving batch after "auto-receiving" all items.
 

	
 
* Add ``mark_complete()`` and ``mark_incomplete()`` methods for batch handler.
 

	
 
* Add some basic docs for "product receiving" features.
 

	
 
* Add first implementation of ``receive_row()`` for purchase batch handler.
 

	
 
* Add "truck dump status" fields for purchase batch, row.
 

	
 
* Make "auto receive all" logic smarter, to handle split cases.
 

	
 
* Don't raise error if "removing" a batch row which was already "removed".
 

	
 
* Auto-create "missing" credits for product not accounted for, when receiving.
 

	
 

	
 
0.9.66 (2019-02-25)
 
-------------------
 

	
 
* Tweak CSV parsing for new handheld batch, per python3.
 

	
 

	
 
0.9.65 (2019-02-22)
 
-------------------
 

	
 
* Aggregate when adding truck dump child row already present in parent.
 

	
 
* Clean up Rattail <-> Rattail import/export handlers a bit.
 

	
 
* Add ``Customer.add_mailing_address()`` convenience method.
 

	
 
* Add ``CustomerNote`` and ``Customer.notes``.
 

	
 
* Add setting for whether 'vendor' fields should use autocomplete or dropdown.
 

	
 

	
 
0.9.64 (2019-02-14)
 
-------------------
 

	
 
* Refactor datasync consumer logic, for prettier email and retry support.
 

	
 
* Remove some old handler-less logic for emails.
 

	
 
* Add ``include_fields()`` and ``exclude_fields()`` importer methods.
 

	
 

	
 
0.9.63 (2019-02-12)
 
-------------------
 

	
 
* Fix help bug for ``export-rattail`` command.
 

	
 
* Add ``time.first_of_year()`` convenience function.
 

	
 
* Add ``--year`` arg for importer subcommands.
 

	
 
* Add convenience method ``Person.only_customer()``.
 

	
 

	
 
0.9.62 (2019-02-08)
 
-------------------
 

	
 
* Allow suppression of stderr from ``pip freeze`` when running upgrade.
 

	
 
* Introduce some new logic for "children first" truck dump receiving.
 

	
 
* Don't overwrite PO, invoice cost for purchase batch row upon refresh.
 

	
 

	
 
0.9.61 (2019-02-05)
 
-------------------
 

	
 
* Add "node title" app setting.
 

	
 
* Add support for importing member, member contact data.
 

	
 
* Add ``config.node_type()`` convenience method.
 

	
 
* Add app setting for background color.
 

	
 

	
 
0.9.60 (2019-01-31)
 
-------------------
 

	
 
* Improve logic for default ``repr(ModelBase)`` output.
 

	
 

	
 
0.9.59 (2019-01-28)
 
-------------------
 

	
 
* Tweak logic for fetching "runas user".
 

	
 

	
 
0.9.58 (2019-01-24)
 
-------------------
 

	
 
* Fix invoice parser for Albert's, per python3.
 

	
 

	
 
0.9.57 (2019-01-22)
 
-------------------
 

	
 
* Tweak contrib UNFI invoice parser, for python3 support.
 

	
 

	
 
0.9.56 (2019-01-21)
 
-------------------
 

	
 
* Accept hours as decimal instead of delta, for ``util.pretty_hours()``.
 

	
 
* Add python3 support for contrib KeHE vendor invoice parser.
 

	
 
* Tweak some label printing logic to support python 3.
 

	
 

	
 
0.9.55 (2019-01-17)
 
-------------------
 

	
 
* Add app settings for restart commands, for datasync/filemon daemons.
 

	
 
* Add generic ``rattail run-n-mail`` command.
 

	
 

	
 
0.9.54 (2019-01-10)
 
-------------------
 

	
 
* Add ``extra_data`` text column to all batch tables.
 

	
 
* Always refresh TD parent batch row, when transforming pack to unit.
 

	
 

	
 
0.9.53 (2019-01-08)
 
-------------------
 

	
 
* Grow markup field for pricing batch rows, ever so slightly.
 

	
 

	
 
0.9.52 (2019-01-05)
 
-------------------
 

	
 
* Always set "runas" user when making DB session for command.
 

	
 

	
 
0.9.51 (2019-01-01)
 
-------------------
 

	
 
* Tweak logging if duplicate keys found when making cache.
 

	
 
* Add basic Member table.
 

	
 

	
 
0.9.50 (2018-12-19)
 
-------------------
 

	
 
* Fix product version schema, for last migration.
 

	
 

	
 
0.9.49 (2018-12-19)
 
-------------------
 

	
 
* Grow ``Product.uom_abbreviation`` field to allow 10 chars.
 

	
 

	
 
0.9.48 (2018-12-19)
 
-------------------
 

	
 
* Add basic support for making new pricing batch from input file.
 

	
 
* Add subdepartment to core "product" batch row mixin schema.
 

	
 
* Add "label profile" field for label batches.
 

	
 
* Add way to declare label type for new label batch from data file.
 

	
 

	
 
0.9.47 (2018-12-12)
 
-------------------
 

	
 
* Refactor how we read some config values for datasync.
 

	
 

	
 
0.9.46 (2018-12-11)
 
-------------------
 

	
 
* Fix population logic when making batch from file via filemon.
 

	
 

	
 
0.9.45 (2018-12-05)
 
-------------------
 

	
 
* Add ``Object.setdefault()`` method.
 

	
 
* Add way to extend available types, for ``rattail make-config``.
 

	
 
* Add "sync me" flag to LabelProfile model, honor it within importers.
 

	
 
* Overhaul datasync consumer thread logic a bit.
 

	
 
* Add clue for checking perms, when pruning non-existing filemon folder.
 

	
 

	
 
0.9.44 (2018-12-02)
 
-------------------
 

	
 
* Add some default magic for importers reading from CSV file.
 

	
 
* Coerce generic import batch row keys to string, for description.
 

	
 
* Add ``rattail datasync check-watchers`` subcommand.
 

	
 
* Add basic "min % diff" logic for pricing batches.
 

	
 
* Grow some "margin" columns in pricing batch row table.
 

	
 
* Allow override of decimal places when converting hours.
 

	
 
* Tweak some label batch logic per python3.
 

	
 
* Add ``old_price_margin`` column for pricing batch rows.
 

	
 
* Update sample config and new project template.
 

	
 

	
 
0.9.43 (2018-11-19)
 
-------------------
 

	
 
* Tweak how we assign 'runas' user for commands.
 

	
 

	
 
0.9.42 (2018-11-19)
 
-------------------
 

	
 
* Add ``rattail purge-batches`` command.
 

	
 
* Add ``Customer.wholesale`` flag.
 

	
 
* Add ``suggested_price``, ``margin_diff``, ``price_diff_percent`` for pricing
 
  batch rows.
 

	
 

	
 
0.9.41 (2018-11-14)
 
-------------------
 

	
 
* Grow column for ``Role.name`` to 100 chars.
 

	
 
* Add "suggested price" hack for old-style rattail -> rattail datasync.
 

	
 

	
 
0.9.40 (2018-11-09)
 
-------------------
 

	
 
* Add index for trainwreck ``Transaction.receipt_number``.
 

	
 

	
 
0.9.39 (2018-11-09)
 
-------------------
 

	
 
* Add ``product_suggested_price`` field for ProductPrice model importer.
 

	
 

	
 
0.9.38 (2018-11-08)
 
-------------------
 

	
 
* Detect non-numeric entry when locating row for purchase batch.
 

	
 
* Add setup/teardown to handler, for batch populate.
 

	
 
* Add "suggested price" features for Product model, importer.
 

	
 

	
 
0.9.37 (2018-11-07)
 
-------------------
 

	
 
* Add "current discount" fields for ``ProductCost`` model.
 

	
 
* Add "true" unit cost, margin to pricing batch rows.
 

	
 
* Add client IP address to user feedback email.
 

	
 

	
 
0.9.36 (2018-10-25)
 
-------------------
 

	
 
* Add simple ``datasync check`` command.
 

	
 

	
 
0.9.35 (2018-10-24)
 
-------------------
 

	
 
* Add ``required`` flag for app settings.
 

	
 
* Add ``transform_pack_to_unit()`` method for purchase batch handler.
 

	
 

	
 
0.9.34 (2018-10-19)
 
-------------------
 

	
 
* Preserve "raw" data record when parsing KeHE invoice file.
 

	
 
* Add probe status for "critical low temp".
 

	
 

	
 
0.9.33 (2018-10-17)
 
-------------------
 

	
 
* Use builtin ``csv.DicReader`` if running on python3.
 

	
 
* Add ``cache_permissions()`` function to ``db.auth`` module.
 

	
 
* Add link to the upgrade, within upgrade success/failure emails.
 

	
 

	
 
0.9.32 (2018-10-11)
 
-------------------
 

	
 
* Fix "off by one" error in SIL writer.
 

	
 
* Use built-in ``csv.writer`` instead of custom one, for python3.
 

	
 

	
 
0.9.31 (2018-10-09)
 
-------------------
 

	
 
* Never record change for ``EmailAttempt``.
 

	
 
* Move the ``filename_column()`` function to ``rattail.db.core`` module.
 

	
 
* Refactor SIL writer a bit, per newer conventions.
 

	
 

	
 
0.9.30 (2018-10-03)
 
-------------------
 

	
 
* Add enum for tempmon disk type.
 

	
 
* Rewrite truck dump claiming logic for purchase batch.
 

	
 

	
 
0.9.29 (2018-09-26)
 
-------------------
 

	
 
* Don't allow NULL for batch ``complete`` flags.
 

	
 
* Add ``item_entry`` field to all product-related batch rows.
 

	
 
* Try to locate product by vendor item code before alt code, for purchase batch.
 

	
 
* Add ``locate_product_for_entry()`` method for purchase batch handler.
 

	
 
* Add basic "out of stock" awareness for vendor invoices, receiving.
 

	
 

	
 
0.9.28 (2018-09-20)
 
-------------------
 

	
 
* Let caller decide whether to auto-create departments for category import.
 

	
 

	
 
0.9.27 (2018-09-20)
 
-------------------
 

	
 
* Make sure we create unit item before the pack which references it.
 

	
 
* Add ``locate_product()`` method for 'purchase' batch handler.
 

	
 
* Prefer truck dump child row over parent, wrt case_quantity.
 

	
 
* Add app setting to show/hide product images for mobile purchasing.
 

	
 
* Add new "partially claimed" status for truck dump parent batch rows.
 

	
 

	
 
0.9.26 (2018-08-24)
 
-------------------
 

	
 
* Add new "quick receive" settings for mobile receiving.
 

	
 
* Increase size of ``Category.code`` to 20 chars.
 

	
 

	
 
0.9.25 (2018-08-14)
 
-------------------
 

	
 
* Various tweaks for refresh of receiving batch.
 

	
 
* Add ``PurchaseBatchRowClaim.is_empty()`` convenience method.
 

	
 
* Add backref for ``ProductCost._vendor_catalog_rows``.
 

	
 
* Add ``OvernightTask`` for use with overnight automation via Luigi.
 

	
 
* Add app setting for mobile products "quick lookup".
 

	
 
* Add support for ``product_item_id`` field in ProductCost importer.
 

	
 
* Claim 'expired' credits when adding child invoice to truck dump parent.
 

	
 

	
 
0.9.24 (2018-07-31)
 
-------------------
 

	
 
* Configure data versioning within ``make_config()``.
 

	
 

	
 
0.9.23 (2018-07-29)
 
-------------------
 

	
 
* Fix ``str(Message)`` when subject contains unicode chars.
 

	
 

	
 
0.9.22 (2018-07-26)
 
-------------------
 

	
 
* Allow consulting the db for core 'product_key' setting.
 

	
 
* Define some settings for purchasing / receiving.
 

	
 

	
 
0.9.21 (2018-07-19)
 
-------------------
 

	
 
* Add ``api.get_product_by_item_id()`` convenience function.
 

	
 
* Add ``RattailConfig.product_key()`` and ``product_key_title()``.
 

	
 
* Fix batch row count when removing row from batch.
 

	
 
* Various tweaks to purchase batch handler logic.
 

	
 
* Let config define a "not found" product image URL.
 

	
 
* Add ``PurchaseBatch.order_quantities_known`` and ``is_truck_dump_parent()`` etc.
 

	
 
* Add basic ``settings`` module.
 

	
 
* Tweak how we copy product key, do lookup for some receiving batches.
 

	
 
* Send email when upgrade is performed, whether success or failure.
 

	
 

	
 
0.9.20 (2018-07-11)
 
-------------------
 

	
 
* Allow sync of ``unit_uuid`` for Rattail -> Rattail ProductImporter.
 

	
 
* Add generic ``--verbose`` arg for all commands.
 

	
 
* Add ``modified`` timestamp to all batch rows.
 

	
 
* Refactor truck dump "claiming" a bit, add "case quantity differs" status.
 

	
 
* Fix logic for purchase batch ``calc_best_fit()``.
 

	
 
* Don't allow execute of truck dump parent batch until fully claimed by children.
 

	
 
* Increase size of source, consumer fields for datasync change.
 

	
 
* Add customization hook for datasync consumer when fetching local object.
 

	
 

	
 
0.9.19 (2018-07-09)
 
-------------------
 

	
 
* Grow size of ``total_cost`` field for inventory batch rows.
 

	
 

	
 
0.9.18 (2018-07-06)
 
-------------------
 

	
 
* Add new ``backup`` command.
 

	
 
* Add generic ``silent.conf`` config file.
 

	
 
* Defer some imports, to avoid errors when sqlalchemy not installed.
 

	
 

	
 
0.9.17 (2018-07-03)
 
-------------------
 

	
 
* Add ``Product.default_pack``, plus ``is_unit_item()`` and ``is_pack_item()``.
 

	
 

	
 
0.9.16 (2018-07-03)
 
-------------------
 

	
 
* Add customization flags for rattail's Product importer, category fields.
 

	
 
* Add basic support for "command line" filemon action.
 

	
 
* Add setup/teardown handler hooks when cloning a batch.
 

	
 

	
 
0.9.15 (2018-07-01)
 
-------------------
 

	
 
* Add some customization flags for rattail's Product importer.
 

	
 

	
 
0.9.14 (2018-06-28)
 
-------------------
 

	
 
* Fix bug when setting status text for vendor catalog row.
 

	
 
* Allow user to overwrite unit cost for inventory batch rows.
 

	
 
* Show subcommand help as early as possible (avoid logging).
rattail/_version.py
Show inline comments
 
# -*- coding: utf-8; -*-
 

	
 
__version__ = '0.9.344'
 
__version__ = '0.9.345'
0 comments (0 inline, 0 general)