Fannie develop #15

Open
wants to merge 5,691 commits into
from

Conversation

Projects
None yet
4 participants

the only commit i was TRYING to push was this one:
CORE-POS/IS4C@af9e0c5

gohanman added some commits Jan 14, 2015

@gohanman gohanman Lane Plugins refactored to use CoreLocal. Basic unit-test included
to validate all plugin files
3549b26
@gohanman gohanman Show refunds as separate line items from sales on department movement 9524999
@gohanman gohanman Smart movement mirrors refund handling of department movement 84b5899
@gohanman gohanman Remove CORE_LOCAL references from unit tests b534ab8
@gohanman gohanman Support for reading settings from ini.json if present 54843cc
@gohanman gohanman Migrate parsers to use CoreLocal 35ddde5
@gohanman gohanman Axe old, unused drivers "c-wrappers" concept f99f46b
@gohanman gohanman Last couple test scripts w/ CORE_LOCAL references efe96cd
@gohanman gohanman NOTICEFIX: validate array index correctly 862a4f8
@gohanman gohanman Lookup AR activity for statements in ar history, not dlogs b9161db
@gohanman gohanman When reading limited number of lines from fannie log files, do not
load the entire file into memory
22446c3
@gohanman gohanman BUGFIX: SigImage needs setLogger to masquarade as FanniePage 7fb772e
@gohanman gohanman Change vendorItems.units from INT to DOUBLE to support fractional
case sizes
52bf404
@gohanman gohanman Custom invoice import tool for CPW 30e8684
@gohanman gohanman BUGFIX: member search by firstname had a markup error in the form 4bce656
@gohanman gohanman Fannie API class for extracting data from spreadsheet files bfe9b1d
@gohanman gohanman Eliminated direct references to global variable and config.php in
Fannie API classes
b4ce33d
@gohanman gohanman Eliminate direct config.php & global references in item editor b4da58d
@gohanman gohanman Department Movement w/o globals or config.php 60ab70f
@gohanman gohanman Reduce globals & config.php usage in user authentication 0ba85b8
@gohanman gohanman BUGFIXES: leaving out config.php on FannieTask was premature 3b99190
@gohanman gohanman Update tasks to use FannieLogger. Use RFC standard severity levels
on email alert configuration. Send PHP syntax messages and failed
queries to debug_fannie.log, everything else to fannie.log. Cron
page will auto-switch output redirection although tasks are no
longer using stdout
be7a29a
@gohanman gohanman Prioritize batches so that the lowest price applies if multiple
sales are available
5e9bf9a
@gohanman gohanman Clone Item feature on item maintenance e0efcb7
@gohanman gohanman BAD QUERY: don't try to log prodUpdate for zero items 1f3eef7
@gohanman gohanman NOTICEFIX: use preg_replace instead of deprecated ereg d28f0a8
@gohanman gohanman NOTICEFIX: call static getter in static context ed685c5
@gohanman gohanman Default inUse setting to one on ProductListPage so sending
advanced search results works as expected
3cb453a
@gohanman gohanman New tool to import DataGateWeigh's item export format
Handle safe-handling graphics flag correctly
35157aa
@gohanman gohanman NOTICEFIX: check for index on column 6db02d6
@gohanman gohanman Put bootstrap CSS files inside <head> tag for smarter page rendering 751658e
@gohanman gohanman Finishing up upstream merge with calendar changes d7f8434
@gohanman gohanman BUGFIX: don't let spaces creep into batch UPCs 7235ac6
@gohanman gohanman Add inUse flag setting to item editor e6a19b8
@gohanman gohanman Windows bugfix for reading signature. Waits less following writes dc8dbb9
@gohanman gohanman New report of local items on purchase orders & invoices
Revised index page for POs
Tag custom imports as userID=0 to match UNFI import behavior
Add column-header sorting to list of invoices view
1c181f6
@gohanman gohanman BUGFIX: advanced item search filtering by vendorID should actually
be simpler for better accuracy
2485189
@gohanman gohanman Add usage report link to house coupon list 8369e91
@gohanman gohanman NOTICEFIX: array_pop-ing is so naggy... 802cf48
@gohanman gohanman Better looking POS buttons. Some rounded edges. 756e6ec
@gohanman gohanman Scroll buttons & javascript on member list page 288e41f
@gohanman gohanman Update QuickKeys plugin to match the visual style of other buttons
Let QuickKeys access the QuickLookups table if it's present so
menus can be data driven instead of file driven. Include some sample
data (needs to be filled out more).
56e6879
@gohanman gohanman Update plugins unit test to avoid double include fb11992
@gohanman gohanman Move arrow keys next to select, make arrow keys conditional on
enabling the touchscreen settig
61e11ff
@gohanman gohanman Setting for separating vs combining the savings listed on receipts b767b28
@gohanman gohanman Tabs to spaces for consistency a41231d
@gohanman gohanman BUGFIX: bad variable reference 3dbfd23
@gohanman gohanman Memberlist with icon scroll buttons, enter button 1a4c0d2
@gohanman gohanman Show tenders.ChangeMessage as the description for any "change"
records associated with that tender
81d23e2
@gohanman gohanman Suppress on-screen display of PHP errors more thoroughly 729bf79
@gohanman gohanman Allow quantity multiplier to work with input-rewriting on WFC
class registration PLUs
21866cf
@gohanman gohanman Advanced Search:
* Implicit 1000 result limit to help prevent runaway queries
* Unpack superdepartments in department numbers so index product.department
  gets utilized
* Default inUse checkbox to checked
2ea9349
@gohanman gohanman Product List:
* Initialize subdepartment lists when page first loads to match
  the selected departments shown
* When changing a range start, change the range end to match.
4f4e742
@gohanman gohanman 500 item limit on product search to prevent runaway queries 95bb5c1
@gohanman gohanman Populate item cost when loading new item from known vendor catalog entry 0d66701
@gohanman gohanman Use chosen.js selects for department fields to add filter-as-you-type 8af84b9
@gohanman gohanman Link BadScanTool to OpenRingReceipts tool so you can get a list of
receipts where a given bad UPC occurred
1f97083
@gohanman gohanman Autocomplete UPCs numerically as well as descriptions b672064
@gohanman gohanman Do not try to upload CC tables if Paycards plugin is not enabled 9cb0854
@gohanman gohanman Fixed advanced search bug with tablesorter (column header sorting)
interfering with the select-all checkbox.

Also took off the 1000 item limit. This may not be ideal with really
large item sets but the search can involve more than one query. When
looking for items in a particular type of batch, the first query looks
up matching items based on product attributes. The resulting list of
UPCs is *then* filtered against batches. Limiting the result set of
the first query gives the second random & incomplete results. This
could be mitigated somewhat by storing information about what batch
an item is currently in directly in products. But filtering by past
or future batches really needs to two step approach (well, I could
join products against every batch ever created but I doubt that
would yield faster performance).
093922c
@gohanman gohanman Adjusted batch Print Signs link to select price a bit more
sensibly based on batch type and start date.
96692ee
@gohanman gohanman Increment dates by loan term 546f5dd
@gohanman gohanman BUGFIX: package name changed. composer.json needs an update 6e0e86e
@gohanman gohanman Fixed line-endings in scale driver module d0b2bc2
@gohanman gohanman HOTFIX: package name changed; updated composer.json e878c87
@gohanman gohanman Update MemNameNumImportPage.php
BUGFIX: memtype column not detected correctly
638efa5
@gohanman gohanman BUGFIX: preserve leading zeroes in numeric values when using
emulated prepared statements in POS
1791890
@gohanman gohanman Add receipt setting for different ways of displaying local total 7a5947a
@gohanman gohanman Disable option on ZipCodeReport that requires warehouse plugin
if the warehouse plugin is not available. Include a note explaining
the option is missing.
eaee635
@gohanman gohanman Include date column in joins on reprint receipt. Mercury references
numbers are not unique and can occasionally loop on year-over-year
basis.
1ea6e02
@gohanman gohanman Use parameters to display appropriate discount value in member editor 27def61
@gohanman gohanman Disable "replace" option on vendor plu mapping tool. It's unintuitive
and makes accidentally deleting a bunch of data really easy
3bcee53
@gohanman gohanman Advanced Search as table for tighter rendering ed8e0b5
@gohanman gohanman Put item editor fields into table to tighten up layout. Add some
vendor related fields and tie them together so updating either will
change its counterpart. Create a vendorItems record if needed when
editing an item that has a vendor assigned.
307c846
@gohanman gohanman Allow advanced search to jump into a movement report b0f9dca
@gohanman gohanman Forgot to make sure sale row looked correct. Also fiddling with
smaller inputs and labels
af7be2e
@gohanman gohanman Fill in newer vendor fields on item editor correctly when a new item
is found in an existing vendor catalog
51b5616
@gohanman gohanman Interactive editor interface for vendor SKU => PLU mapping 06ac489
@gohanman gohanman New loan/equity report for tax records a69b95a
@gohanman gohanman Purchase Order entry interface with grid layout and autocomplete
on existing vendor catalogs
af65df1
@gohanman gohanman Added fields in ExtraInfo directly to the Base editor. Fields are linked
by javascript so they change in tandem if both modules are enabled.
Added some width specifications to hint at preferred table layout
992133d
@gohanman gohanman Chrome layout fixes. Seems like Chrome starts expanding cells
on the right side of the table to reach 100% where as FF starts
on the left side.
bf2b86b
@gohanman gohanman Join against vendor by SKU for SKU=>PLU mapping view 3c84545
@gohanman gohanman Alberts invoice import doesn't create vendorItems. Not sure if this f…
…ixes.
6ea4125
@gohanman gohanman Fine-tune manual purchase order entry form with defined widths
and hover text on the description field
7e81811
@gohanman gohanman Update AutoCoupon behavior to avoid error beeps 590ee9a
@gohanman gohanman Turn POS logo path in git into a symlink 73d0e40
@gohanman gohanman Add tablesorting to individual purchase orders 4070909
@gohanman gohanman New "trend" column on OBF report 946475a
@gohanman gohanman Merge branch 'fannieDevelop'
Conflicts:
	fannie/composer.json
cea4659
@gohanman gohanman Merge remote-tracking branch 'origin/posDevelop' 4b6c13b
@gohanman gohanman Doxygen update for 1.1.0 86965b1
@gohanman gohanman Updated version file 67f9bf7
@gohanman gohanman Add 0XA prefix to scanned input bf548db
@gohanman gohanman Add DISCOUNT record with trans_type='S' instead of trying to change
it after the fact
6005781
@gohanman gohanman Alternate receipt handlers fa50730
@gohanman gohanman Update DISCOUNT line to use trans_type S, unit test needs to match 5e8e6ab
@gohanman gohanman Merge tag '1.1.0-2015.02.09' into fannieDevelop
1.1.0-2015-02-09 RELEASE NOTES
=================================
This release of POS *will* automatically
migrate existing settings in ini.php into
the opdata.parameters table. This process
should be seamless but backing up your ini.php
file before updating wouldn't hurt.

This release of Fannie changes log location
and format. All logs now follow RFC 5424 (i.e., they
look a lot like syslog). By default, both php-errors.log
and queries.log are now written to debug_fannie.log.
All other messages are written to fannie.log. Task
classes should switch over automatically. The old-style
scripts will change the next time the cron webinterface
is submitted.

POS CHANGES
=================================
* New table SpecialDeptMap replaces previous setting
  of the same name. This setting did not fit in the
  structure of opdata.parameters. Migration occurs
  automatically here as well.
* New class CoreLocal provides access to session settings
  with referencing a global variable. Currently still
  interchangeable with $CORE_LOCAL. The latter may go
  away in the future.
* Scale driver supports Code-128 barcodes
* idEnforced and qttyEnforced can now be used on the same item
* Expanded unit-tests on house coupons
* Experimental support for Ingenico isc250 with serial,
  ethernet, or USB interface.
* Expanded use of touchscreen capable UI elements. Standardizing
  on placing keyboard key names inside [square brackets].
* CC Terminal driver now prints which state change mode it's using
  on startup. Driver also ignores screen change requests from POS
  when running in auto mode.
* Additional unit tests for pricemethods zero through four
* Unit test for plugins to avoid basic include-related errors
* Support for ini.json instead of ini.php. If both are present,
  ini.php takes precedent.
* New receipt setting for detailed vs simple list of amount(s) saved
* New receipt setting for showing numeric vs graphed local total
* Use tenders.ChangeMessage for change records associated with
  a given tender.
* Skip uploading card transaction info when Paycards is not enabled
* Suppress error messages when checking qualifications on an automatic
  coupon. If conditions are not met the coupon simply does not apply.

FANNIE CHANGES
=================================
* Table sorting included on batch list
* Table sorting on product list tool as well as
  simplified queries and advanced search integration
* Link correctly to receipts with a four digit employee number
  rather than interpretting value as a date
* Automatically create a vendorItems record for a product
  when one is missing but the vendor exists.
* New status check page for viewing but not editing items
* New meminfo.modified column to track date of last change
* Helper methods in FormLib for constructing common form html
  and common SQL clauses
* Added super department to item editor
* Chain super=>dept=>sub selects together more consistently
* ShelfAudit supports entering multiple counts for a single item
* Experimental support for loading data from PDFs (requires composer)
* New FannieLogger class implements PSR-3. By default failed queries
  and PHP notice/warning/error information is written to debug_fannie.log.
  All other log entries are written to fannie.log. Format follows
  RFC 5424.
* New FannieConfig class provides read access to config.php settings.
* SPINS reporting plugin updated for 2015 dates. Offset setting should be zero.
* Built-in version checks that read from github directly and suggest
  commands for applying udpates & troubleshooting.
* New tool for finding open ring transactions.
* Backend shrink entry tools
* Movement report breaks out refunds as separate line items from sales.
* Prioritize batch application so that the lowest price applies if
  multiple batches are in effect on the same item.
* Clone item button on item maintenance.
* New tool to import service scale item data based on DataGateWeight exports.
* Put bootstrap CSS files in <head> tag so menu loads quicker
* Usage report links on house coupons
* Use filter-as-you-type on department fields in item editor as well as vendor
* Autocomplete UPC fields numerically as well as searching brands & descriptions
* Batch "Print Signs" link selects better defaults.
* ZipCodeReport notices if warehouse is missing and adjusts options.
* Revised tool for mapping vendor SKUs to store PLUs. More visual, auditable.
* Item maintenance fields put into a table for more compact layout. The ExtraInfo
  module is unnecessary now but it will work in tandem with the base module
  if both are enabled.
* Movement report integration w/ advanced search.
* New interface for entering invoice or purchase order line by line. Uses autocomplete
  where feasible. Adds vendorItems entries as needed.
11159a0
@gohanman gohanman Merge tag '1.1.0-2015.02.09'
1.1.0-2015-02-09 RELEASE NOTES
=================================
This release of POS *will* automatically
migrate existing settings in ini.php into
the opdata.parameters table. This process
should be seamless but backing up your ini.php
file before updating wouldn't hurt.

This release of Fannie changes log location
and format. All logs now follow RFC 5424 (i.e., they
look a lot like syslog). By default, both php-errors.log
and queries.log are now written to debug_fannie.log.
All other messages are written to fannie.log. Task
classes should switch over automatically. The old-style
scripts will change the next time the cron webinterface
is submitted.

POS CHANGES
=================================
* New table SpecialDeptMap replaces previous setting
  of the same name. This setting did not fit in the
  structure of opdata.parameters. Migration occurs
  automatically here as well.
* New class CoreLocal provides access to session settings
  with referencing a global variable. Currently still
  interchangeable with $CORE_LOCAL. The latter may go
  away in the future.
* Scale driver supports Code-128 barcodes
* idEnforced and qttyEnforced can now be used on the same item
* Expanded unit-tests on house coupons
* Experimental support for Ingenico isc250 with serial,
  ethernet, or USB interface.
* Expanded use of touchscreen capable UI elements. Standardizing
  on placing keyboard key names inside [square brackets].
* CC Terminal driver now prints which state change mode it's using
  on startup. Driver also ignores screen change requests from POS
  when running in auto mode.
* Additional unit tests for pricemethods zero through four
* Unit test for plugins to avoid basic include-related errors
* Support for ini.json instead of ini.php. If both are present,
  ini.php takes precedent.
* New receipt setting for detailed vs simple list of amount(s) saved
* New receipt setting for showing numeric vs graphed local total
* Use tenders.ChangeMessage for change records associated with
  a given tender.
* Skip uploading card transaction info when Paycards is not enabled
* Suppress error messages when checking qualifications on an automatic
  coupon. If conditions are not met the coupon simply does not apply.

FANNIE CHANGES
=================================
* Table sorting included on batch list
* Table sorting on product list tool as well as
  simplified queries and advanced search integration
* Link correctly to receipts with a four digit employee number
  rather than interpretting value as a date
* Automatically create a vendorItems record for a product
  when one is missing but the vendor exists.
* New status check page for viewing but not editing items
* New meminfo.modified column to track date of last change
* Helper methods in FormLib for constructing common form html
  and common SQL clauses
* Added super department to item editor
* Chain super=>dept=>sub selects together more consistently
* ShelfAudit supports entering multiple counts for a single item
* Experimental support for loading data from PDFs (requires composer)
* New FannieLogger class implements PSR-3. By default failed queries
  and PHP notice/warning/error information is written to debug_fannie.log.
  All other log entries are written to fannie.log. Format follows
  RFC 5424.
* New FannieConfig class provides read access to config.php settings.
* SPINS reporting plugin updated for 2015 dates. Offset setting should be zero.
* Built-in version checks that read from github directly and suggest
  commands for applying udpates & troubleshooting.
* New tool for finding open ring transactions.
* Backend shrink entry tools
* Movement report breaks out refunds as separate line items from sales.
* Prioritize batch application so that the lowest price applies if
  multiple batches are in effect on the same item.
* Clone item button on item maintenance.
* New tool to import service scale item data based on DataGateWeight exports.
* Put bootstrap CSS files in <head> tag so menu loads quicker
* Usage report links on house coupons
* Use filter-as-you-type on department fields in item editor as well as vendor
* Autocomplete UPC fields numerically as well as searching brands & descriptions
* Batch "Print Signs" link selects better defaults.
* ZipCodeReport notices if warehouse is missing and adjusts options.
* Revised tool for mapping vendor SKUs to store PLUs. More visual, auditable.
* Item maintenance fields put into a table for more compact layout. The ExtraInfo
  module is unnecessary now but it will work in tandem with the base module
  if both are enabled.
* Movement report integration w/ advanced search.
* New interface for entering invoice or purchase order line by line. Uses autocomplete
  where feasible. Adds vendorItems entries as needed.
2e9eddb
@gohanman gohanman HOTFIX: update instructions were wrong. git merge <version tag> works,
git merge upstream/<version tag> does not
773109f
Contributor

gohanman commented on ab64d1e Feb 27, 2015

I don't know if this is really a movement report. It's attempting to identify all customers who bought a particular item. The (speculative, thankfully) use case was to contact members in the event of a product recall or contamination.

It doesn't have to be used that way, but I don't know if movement individual items by individual customer is all that useful. It's too granular in both respects to show any real trend or pattern.

Contributor

jdpurdyvi replied Mar 1, 2015

+1 to the title change

gohanman added some commits Feb 27, 2015

@gohanman gohanman HTML fix in calendar entries f8f9f53
@gohanman gohanman Merge remote-tracking branch 'origin/fannieDevelop' into fannieDevelop
Conflicts:
	fannie/modules/plugins2.0/CalendarPlugin/CalendarFeed.php
11099a2
@gohanman gohanman Optional WHERE parameter to build archive temporary tables 29464ad
@gohanman gohanman Simple speed testing report e915b91
@gohanman gohanman Simple aggregate by department temporary table method, updated speed …
…test
e6a54b1
@gohanman gohanman Experimenting with RabbitMQ as a communication channel for
sending driver messages to the browser efficiently
d853a15
@gohanman gohanman Support for loading an existing purchase order into the manual
order entry interface
377d259
@gohanman gohanman Increase item limit for direct editable catalogs 7270759
@gohanman gohanman 1099s for equity dividends 545544e
@gohanman gohanman Font style change in PI Plugin d865d85
@gohanman gohanman Member snapshot/summary warehouse table & report cfa7d1a
@gohanman gohanman Code cleanup in NewMagellan. Getting rid of references to ancient,
unused code
e718e12
@gohanman gohanman Avoid creating extra database connection objects w/ FannieDB 6a19d90
@gohanman gohanman Properly mark FormLib methods as static ed79e2d
@gohanman gohanman Handle dates better on equity history 7d31ddd
@gohanman gohanman NOTICEFIX: don't concat an unititialized var 9b4cd67
@gohanman gohanman Injection DB connection into FanniePage at runtime as dependency afe8de6
@gohanman gohanman Move dependency intialization down so plugin discovery doesn't
alter database selection.
3049e72
@gohanman gohanman Write nicer HTML for report tables with newlines and tabs and such 3da86c0
@gohanman gohanman End read in finally block w/ mono in case an exception occurs 87635b6
@gohanman gohanman Add iCal subscription support to calendar plugin 76d7992
@gohanman gohanman Merge remote-tracking branch 'origin/fannieDevelop' into fannieDevelop
Conflicts:
	fannie/modules/plugins2.0/CalendarPlugin/CalendarPluginDisplayLib.php
be2a4cb
@gohanman gohanman SigImage fake DI stub 9af19d6
@gohanman gohanman Use <tbody> instead of <thead> for repeated header sections 07c5e7e
@gohanman gohanman Allow zebra striping on all <tbody> tags
Style <th> in <tbody> similiar to <thead>
ac02706
@gohanman gohanman NOTICEFIX: ereg is deprecated 2777d53
@gohanman gohanman Apply consistent styling to StoreSummaryReport with or without sorting 30250e5
@gohanman gohanman Exlude backend equity adjustments that throw off OBF membership couns 5a5323e
@gohanman gohanman getopt style CLI argument handling for FannieTask 8cd65a0
@gohanman gohanman NOTICEFIX: make sure $buttons argument is an array 7ccb795
@gohanman gohanman Disable enter key for 500 milliseconds when a <select> POS
page loads to prevent accidental form submission
ba08861
@gohanman gohanman BUGFIX: no beep when pre-composing house coupon error dialog fdb32ce
@gohanman gohanman BUGFIX: rebate check tender discount is supposed to be disabled 3c3534b
@gohanman gohanman QuickMenu plugin uses standard selectSubmit.js instead of its
own custom keypress handling
e01ec5e
@gohanman gohanman Use AppDomain.CurrentDomain.BaseDirectory in NewMagellan driver so
corret path is detected regardless of the current working directory
pos.exe is executed from
cacc348
@gohanman gohanman STRICTFIX: PrintHandler:renderBitmapFromFile() method signature
mismatches
9615932
@gohanman gohanman STRICTFIX: method must be marked static 246aaa0
@gohanman gohanman Restore QuickMenu behavior where pressing number key selects
the option and submits form
9495dca
@gohanman gohanman Use unique per-request token to eliminate double submit c2d86b3
@gohanman gohanman NOTICEFIX: standard array_pop issue 9955e0e
@gohanman gohanman NOTICEFIXES: undefined variable, array_pop issue 711ed47
@gohanman gohanman Change warehouse spotlight length 42ea312
@gohanman gohanman Unit test for some basic fannie api libraries 072f82d
@gohanman gohanman Enable fannie api library unit test ffb85ec
@gohanman gohanman Merge remote-tracking branch 'origin/fannieDevelop' into fannieDevelop d9d0620
@gohanman gohanman Merge branch 'fannieDevelop' 486aeee
@gohanman gohanman Merge remote-tracking branch 'origin/posDevelop'
Conflicts:
	composer.json
0cc30b0
@gohanman gohanman Doxygen update for 1.2.0 1aee40c
@gohanman gohanman Update VERSION for 1.2.0 2408901
@gohanman gohanman Merge tag '1.2.0-2015.03.06' into fannieDevelop
===============================
1.2.0-2015.03.06 RELEASE NOTES
===============================
This release includes some changes in POS
appearance and optional interactions as
well as a few underlying data adjustments.

One specific area that merits attention
is house coupons using discount type "PD"
i.e. percent discount entered at any time
during the transaction. This should interact
more smoothly with member discounts from
custdata but since the underlying behavior has
changed stores using this type of coupon
should test before deployment to ensure discount
stacking works as expected.

===============================
POS CHANGES
===============================
* The DiscountModule API has changed pretty thoroughly.
  Multiple percentage discounts are now tracked separately
  during the transaction. Depending on stacking rules these
  are either added together or only the largest percentage
  is used. The total discount is still recorded as a single
  transaction record, but log records with upc DISCLINEITEM
  list the per-discount totals. Details:
  CORE-POS/IS4C#410
* A large number of optional touchscreen buttons have been
  added to POS. Each is equivalent to an existing keyboard
  command. These buttons generally replace existing
  instructional text OR were added in dialogs where the
  cashier's options were implied rather than shown on screen.
  By convention buttons include the name of keyboard key in
  square brackets. Buttons for scrolling up and down only
  appear if the touchscreen setting is enabled, but buttons
  presenting instructional text always appear. If you dislike
  the appearance, the "always-on" buttons all use the CSS
  class "pos-button" and can be restyled with a store-specific
  CSS file. Details:
  CORE-POS/IS4C#439
* POS now uses the dtransactions.tran_subtype fields on item
  records indicating the source of the item scan. Items entered
  via the scanner scale have subtype "SS" and items of unknown
  origin have subtype "NA". These two subtypes will begin appearing
  in transaction records immediately after upgrade. Optionally,
  keyboard macros and USB scanners can be reprogrammed to indicate
  a source. If desired, keyboard macros should apprend prefix "0XB"
  with will result in subtype "KB". USB scanners should append
  prefix "OXC" and will result in subtype "HI" (for HID). Details:
  CORE-POS/IS4C#446
* POS ignores scanned barcode values immediately after a manual
  tare weight is entered. Actual scanned by-weight items can
  probably set a tare directly in the products table. Post an
  issue if this needs more granularity. Details:
  CORE-POS/IS4C#441
* Transaction records with upc "DISCOUNT" are now recorded with
  trans_type "S". This is essentially a bugfix. They were always
  supposed to be recorded that way, but nevertheless this is
  now a change in behavior. In most situations the dlog views
  were implementing this transformation already.
* PrehLib methods memberID() and setMember() have been significantly
  refactored. Actual behavior should be unchanged. Developer
  details:
  CORE-POS/IS4C@97f1dc0
* New option to require manager approval on inactive memberships
* Max cash back for Paycards in a configuration setting. The IDTech
  code has more generic cashback buttons without implied values.
* Void limit now accounts for the item currently being voided.
* Line item discount command works with open rings.
* Transaction records with trans_type "L" now use trans_status "D"
  instead of trans_status "X". Log records should thus remain
  excluded in dlog views but not cause confusion regarding
  canceled / suspended transactions
* NewMagellan driver should now be able to find ports.conf and ss-output
  regardless of which directory it's executed from. Requires
  recompilation of course.
* Javascript selectSubmit function has an optional third parameter
  that allows for "filter-as-you-type" on the list. This is currently
  enabled on the member and product searches as well as department
  and tender lists.
* New ReceiptBuilding modules provide options to reorder DISCOUNT
  and SUBTOTAL lines or have dual SUBTOTAL lines

===============================
FANNIE CHANGES
===============================
* New table VendorBreakdowns for a single vendor SKU that's sold
  under separate UPCs. "Breakdowns" since this may mean opening
  a package and selling the items inside individually.
* Fixed a major bug in FannieSignage so it actually draws valid
  barcodes now.
* New setting for a patronage corrections department. Shifting
  sales from one member to another may need to use a different
  department than other corrections depending which departments
  are excluded when calculating patronage.
* Disable all item editor fields if login is required.
* New task for automatic download of Select invoices. Having multiple
  UNFI logins each with a different default account is the easiest
  approach if downloading both Select and UNFI automatically.
* New manual task for changing from monthly tables to partitioned archive.
* Highlight manufacturer prefix in item editor UPC. Clicking overlays
  a report of other items from same manufacturer.
* Item editor "Longform Info" retitled "Sign/Web Info"
* Manual entry purchase orders can now be saved and then re-opened again
  for further edits in the same interface.
* Connection management in FannieDB changed to avoid creating
  multiple connections.
* A database connection object is automatically inserted into FanniePage
  instances at runtime so it's always available.
* The HTML output on FannieReportPages is now non-horrible with tabs and
  newlines and such making the table structure human readable
* Only one <thead> tag is used in reports. Repeated headers appear as
  differently styled <tbody> tags.
* FannieTask can pass options and arugments at run time. Supports getopt
  style - e.g., FannieTask SomeTask -v --option=1
* Calendar plugin can subscribe to iCal formatted feeds
118fdcf
@gohanman gohanman More generic method for aggregating tlog into temporary table 7d955b2
@gohanman gohanman New fannie plugin for extracting email usage
activity from logs and storing it in DB
8bbb9e8
@gohanman gohanman Merge remote-tracking branch 'origin/fannieDevelop' into fannieDevelop 58026e3
@gohanman gohanman Allow comments on all member correction pages.
Prime candidates for refactoring, too. Lots of
duplicated code here.
9867e71
@gohanman gohanman Refactor MemArEquityDumpTool to use API methods to insert dtransactions
records rather than having its own implementation
c49dc96
@gohanman gohanman Merge remote-tracking branch 'origin/fannieDevelop' into fannieDevelop 5127855
@gohanman gohanman Update BasicModel to support re-creating view as tables df75b3a
@gohanman gohanman Use PHP_CodeSniffer if available during Fannie Plugin unit test
This will generate *warnings* for the following conditions:
  - class part of namespace
  - method name is not camelCase
Warnings can be ignored at this point; they stem from the CORE
standard being built off the PSR1 coding standard.

The test will generate *errors* if the file has unacceptable
side effects (or if the code analyzer doens't understand a
sequence of tokesn). The following side effects are permitted:
  - include() on config.php
  - include_once() on config.php
  - require() on config.php
  - require_once() on config.php
  - FannieDispatch::conditionalExec();
  - An "if !class_exists" block
  - An "if !function exists" block
  - An "if" construct checking __FILE__ against $_SERVER['PHP_SELF']
Note that any of the allowed "if" blocks *must* include
braces { } or the analyzer will mark them as errors.
e90866f
@gohanman gohanman More thorough renaming to systematically strike
"Fannie" from the UI.
d996467
@gohanman gohanman Merge remote-tracking branch 'origin/fannieDevelop' into fannieDevelop 72bbc5b
@gohanman gohanman Convert new-style menu structure to old-style menu structure c3e64c9
@gohanman gohanman Using CoreWarehouse plugin as optional report data source 130a0ed
@gohanman gohanman Merge remote-tracking branch 'origin/fannieDevelop' into fannieDevelop e5275cd
@gohanman gohanman Fix Fannie PluginsTest to account for files that *only* declare
a namespaced class without adding one to global scope
1fd485d
@gohanman gohanman method accessibility mismatch c6c844a
@gohanman gohanman Check for namespaced classes that are already defined before
including them. Use refletion to verify defining file
b0fa2fb
@gohanman gohanman BUGFIX: double-escape backslashes to stringify JSON into javascript 8e72dfc
@gohanman gohanman BUGFIX: trim whitespace to graph hourly sales correctly 39dfd03
@gohanman gohanman Same bug in hourly transaction graphing 32d1e1d
@gohanman gohanman Warehouse data source for General Day Report 05b0d96
@gohanman gohanman Batch Report re-written to query using UPCs and without
relying on the batchMergeTable
89a7032
@gohanman gohanman BUGFIX: bold tags needed closing 2625984
@gohanman gohanman Forcing a batch should update products.modified for accurate audit logs e69fa46
@gohanman gohanman Replace Fannie with BACKEND_NAME on non-bootstrap pages, help modals 4a3c4ff
@gohanman gohanman Strip time from Tender Usages report so receipts link cb8b65f
@gohanman gohanman Merge same-SKU purchase order lines together 77dc751
@gohanman gohanman Lookup current day activity in statements plugin correctly 86ca0e8
@gohanman gohanman BUGFIX: connect to remote DB for class info 1936622
@gohanman gohanman Mass re-write "Fannie" as "CORE-POS" in GPL comment blocks 3450365
@gohanman gohanman BUGFIX: do pathing sensibly 90f80c0
@gohanman gohanman BUGFIX: FannieDB::get() should attempt to create a database if
it does not already exist. Failure to create the database is
not handled by this fix as that would be a larger scale change
in behavior.
e58aa83
@gohanman gohanman BUGFIX: originName table doesn't necessarily exist 36abb96
@gohanman gohanman New GeneralRangeReport. Similar to GeneralDayReport but omits
transaction stats that cannot be (easily) calculated over
a longer range. GeneralDay provides a link to GeneralRange.
Both reports offer similar options for grouping sales figures.
af1e4ce
@gohanman gohanman Fix WFC range report for newer warehouse formats 4ee2f39
@gohanman gohanman NOTICEFIX: force batch only needs to update scale on price changes dacc99f
@gohanman gohanman Updated TendersModel to store TenderModule configuration in-table 329320f
@gohanman gohanman Changed order of shipping markup application. After walking through
equations it probably makes no difference. Improved 5/9 rounding.
249be91
@gohanman gohanman Added option to draw additional lines on a line graph c269b3e
@gohanman gohanman Added WarehouseDates table to CoreWarhouse. Allows grouping day-level
summary data into finite range segments.
c9b8a5f
@gohanman gohanman Update sample tenders data w/ TenderModule column eb4527c
@gohanman gohanman Old batch tool should not be discoverable on site map 0ab5a20
@gohanman gohanman Add no-cache=1 to query string to refresh cached reports d41f86f
@gohanman gohanman BUGFIX: bad include path in ShelfAudit af9a28d
@gohanman gohanman Add sorting, styling to demographic report cec7be8

gohanman deleted the CORE-POS:fannieDevelop branch Apr 2, 2015

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment