245 lines
6.9 KiB
Text
245 lines
6.9 KiB
Text
|
|
0.3a24
|
|
------
|
|
|
|
- [feature] Added ``__eq__()`` and ``__ne__()`` methods to ``GPC`` class.
|
|
|
|
- [general] Moved ``GPCType`` SQLAlchemy type class to ``rattail.db`` module.
|
|
This was necessary to make the ``GPC`` class more generally available to
|
|
callers who don't want or need SQLAlchemy to be installed.
|
|
|
|
- [general] Moved enumerations from database extension to "core" ``enum``
|
|
module. This is mostly for convenience to callers.
|
|
|
|
- [bug] Fixed a few bugs with label batches. These existed mostly because this
|
|
feature hasn't been used in production...
|
|
|
|
- [feature] Added ``default_format`` attribute to ``LabelFormatter`` class.
|
|
Now when a label profile is edited, this default format is used if no format
|
|
is provided by the user.
|
|
|
|
- [feature] Changed ``LabelProfile.get_formatter()`` method so that it assigns
|
|
the formatter's ``format`` attribute using the value from the profile. The
|
|
formatter is free to use or ignore this value, at its discretion.
|
|
|
|
- [feature] Improved the database synchronizer so that it is *somewhat*
|
|
tolerant of database server restarts. This likely will need further
|
|
improvement as more testing is done. The current implementation wraps the
|
|
entire sync loop in a ``try/catch`` block and when a disconnect is detected,
|
|
will wait 5 seconds before re-entering the loop and trying again.
|
|
|
|
0.3a23
|
|
------
|
|
|
|
- [general] Fixed namespace packages, per ``setuptools`` documentation.
|
|
|
|
- [feature] Added connection timeout support to ``CommandNetworkPrinter``.
|
|
|
|
0.3a22
|
|
------
|
|
|
|
- [feature] Added ``LabelProfile.visible`` field.
|
|
|
|
- [feature] Added generic ``CommandNetworkPrinter`` label printer class. This
|
|
class sends textual commands directly to a networked printer.
|
|
|
|
0.3a21
|
|
------
|
|
|
|
- [feature] Refactored database synchronization logic into a proper class,
|
|
which can be overridden based on configuration.
|
|
|
|
0.3a20
|
|
------
|
|
|
|
- [feature] Tweaked the SIL writer so that it doesn't quote row values when
|
|
they're of data type ``float``.
|
|
|
|
- [bug] Fixed database sync to properly handle ``Vendor`` deletions. Now any
|
|
associated ``ProductCost`` records are also deleted, so no more foreign key
|
|
violations.
|
|
|
|
0.3a19
|
|
------
|
|
|
|
- [bug] Fixed "price toggle" bug in database sync. It was noticed that
|
|
whenever a product's regular price did not change, yet the product instance
|
|
itself *did* have a change, the regular price association was being removed
|
|
in one sync, then reestablished in the next sync (then removed, etc.). The
|
|
sync operation now ensures the relationship is removed only when it really
|
|
should be, and that it remains intact when that is appropriate.
|
|
|
|
0.3a18
|
|
------
|
|
|
|
- [bug] Added special delete logic to the database sync. Currently, only the
|
|
Department and Subdepartment classes are affected. When deletions of these
|
|
classes are to be synced between databases, some effort is made to ensure
|
|
that associations with any dependent objects (e.g. Product) are removed
|
|
before the primary instance (e.g. Department) is deleted.
|
|
|
|
0.3a17
|
|
------
|
|
|
|
- [bug] Added 'delete, delete-orphan' to cascade on ``Product.costs``
|
|
relationship. This was causing an error when syncing databases.
|
|
|
|
0.3a16
|
|
------
|
|
|
|
- [bug] Added 'delete, delete-orphan' to cascade on ``Product.prices``
|
|
relationship. This was causing an error when syncing databases.
|
|
|
|
0.3a15
|
|
------
|
|
|
|
- [bug] Fixed database sync logic to ensure ``Product`` changes are processed
|
|
before ``ProductPrice`` changes. Since the underlying tables are mutually
|
|
dependent, the ``dependency_sort()`` call can't *quite* take care of it. Now
|
|
a lexical sort is applied to the class names before the dependency sort
|
|
happens. This is somewhat of a hack, merely taking advantage of the fact
|
|
that "Product" comes before "ProductPrice" when lexically sorted. If other
|
|
mutually-dependent tables come about in the future, this approach may need to
|
|
be revised if their class names don't jive.
|
|
|
|
0.3a14
|
|
------
|
|
|
|
- [bug] Fixed database synchonization logic to properly handle merging
|
|
``Product`` instances between database sessions. Since ``Product`` is so
|
|
interdependent on ``ProductPrice``, a pretty custom merge hack is required.
|
|
|
|
0.3a13
|
|
------
|
|
|
|
- [bugfix] Fixed ``rattail.db.record_changes()`` so that it also ignores
|
|
``UserRole`` instance changes if configuration dictates that ``Role`` changes
|
|
are to be ignored.
|
|
|
|
0.3a12
|
|
------
|
|
|
|
- [bugfix] Fixed foreign key uuid handling in ``rattail.db.record_changes()``.
|
|
Some tables are meant to be used solely as providers of "association proxy"
|
|
fields, the ``uuid`` column is not only a primary key, but also a *foreign
|
|
key* to the "primary" entity table. In such cases, the uuid value was not
|
|
present at session flush time, so a new one was being generated.
|
|
Unfortunately this meant that the ``Change`` record would point to a
|
|
nonexistent entity record, so the sync would not work. Now uuid fields are
|
|
inspected to determine if a foreign key is present, in which case the
|
|
relationship is traversed and the true uuid value is used.
|
|
|
|
- [feature] Added "extra classes" configuration for the ``load-host-data``
|
|
command. This is necessary when initially populating a "store" (er,
|
|
"non-host") database instance if custom schema extensions are in use (and
|
|
need to be synchronized with the host).
|
|
|
|
0.3a11
|
|
------
|
|
|
|
- Add R49 SIL column.
|
|
|
|
- Add ``rattail.pricing`` module.
|
|
|
|
0.3a10
|
|
------
|
|
|
|
- Ignore batch data when recording changes.
|
|
|
|
0.3a9
|
|
-----
|
|
|
|
- Bump edbob dependency.
|
|
|
|
0.3a8
|
|
-----
|
|
|
|
- Tweak database sync.
|
|
|
|
- Tweak batch processing.
|
|
|
|
0.3a7
|
|
-----
|
|
|
|
- Add ``Vendor.special_discount``.
|
|
|
|
0.3a6
|
|
-----
|
|
|
|
- Bump edbob dependency.
|
|
|
|
0.3a5
|
|
-----
|
|
|
|
- Added ``Store`` and related models.
|
|
|
|
- Added ``Customer.email_preference`` field.
|
|
|
|
- Added ``load-host-data`` command.
|
|
|
|
- Added database changes/synchronization framework.
|
|
|
|
- Fixed batch table create/drop.
|
|
|
|
0.3a4r1
|
|
-------
|
|
|
|
- Added ``Product.cost``, ``Product.vendor``.
|
|
|
|
- Added basic one-up label printing support.
|
|
|
|
- Added initial batch support, with ``PrintLabels`` provider.
|
|
|
|
- Added GPC data type.
|
|
|
|
- Changed internal name of file monitor Windows service.
|
|
|
|
- Added progress support for label printing.
|
|
|
|
- Label profiles moved from config to database model.
|
|
|
|
- Removed ``rattail.db.init_database()`` function.
|
|
|
|
- Moved some enum values from db extension to core (``rattail.enum`` module).
|
|
|
|
- Improved SIL support: moved ``rattail.sil`` to subpackage, added ``Writer``
|
|
class etc.
|
|
|
|
- Fixed file monitor in Linux.
|
|
|
|
- Added ``delete-orphan`` to ``Vendor.contacts`` relationship cascade.
|
|
|
|
0.3a4
|
|
-----
|
|
|
|
- Update file monitor per changes in ``edbob``.
|
|
|
|
0.3a3
|
|
-----
|
|
|
|
- Move database extension to subdir (``rattail.db.extension``).
|
|
|
|
- Make database extension require ``auth`` extension.
|
|
|
|
- Fix ``rattail.db.init()``.
|
|
|
|
- Add lots of classes to database extension model.
|
|
|
|
- Add ``rattail.labels`` module.
|
|
|
|
- Add ``rattail.db.cache`` module.
|
|
|
|
- Add SIL output functions.
|
|
|
|
- Remove some batch code (for now?).
|
|
|
|
0.3a2
|
|
-----
|
|
|
|
- Added Windows file monitor service.
|
|
|
|
0.3a1
|
|
-----
|
|
|
|
- Refactored to rely on `edbob <http://edbob.org/>`_. (Most of Rattail's
|
|
"guts" now live there instead.)
|