Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Tunisian Dinar currency #2517

Merged
merged 3 commits into from Jul 4, 2017
Merged

Conversation

stoufa88
Copy link

@stoufa88 stoufa88 commented Jul 2, 2017

Please provide the following information to help us approve your PR. Failure to provide this
information may result in your PR being closed without comment.

  • Clearly explain what your PR is trying to accomplish. A link to an issue is best
  • Provide us detailed instructions on how we can test your PR

@@ -463,6 +463,12 @@
"format": "%s%v",
"symbol": "฿"
},
"TND": {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We actually need two entries in this file. One for each shop.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zenweasel Right. I created a second commit for this.

@zenweasel zenweasel changed the base branch from master to development July 3, 2017 22:59
Copy link
Collaborator

@zenweasel zenweasel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just need to add the entry for the second shop

@zenweasel zenweasel merged commit 8561bd4 into reactioncommerce:development Jul 4, 2017
@stoufa88 stoufa88 deleted the patch-1 branch July 5, 2017 08:17
spencern added a commit that referenced this pull request Jul 11, 2017
* Allow customer to move past validation after one pass

* Silencing needless warning

* Add missing imports

* When we get a "GetTax" error, revert to addressbook

* Capture and parse errors

* Creating a "review and fix" address review screen

* Show highlited diff. Copy over values on click.

* Removing "debug" HTML

* Add "review address" translation

* Basic "review address" flow working

* Remove console.log

* Fix missing import

* Fix import error

* Return to edit and refresh address when you cancel out of review

* Make edit behave the same as add

* Tweak styling

* More and more style changes

* Use proper color variables

* Create proper behaviors

* Fix bad evaluation

* Fix import order

* Add i18n

* Don't throwback a step if tax fails

* Make this more of an "exception" flag

* Adding the license description with link on README (#2365)

* added Nigerian Naira to currency list in (#2366)

private/data/Shops.json

* CollectionFS  cfs:tempstore and cfs:worker to fix concurrency issues with GridFS uploads (#2096)

* added cfs tempstore and worker to fix concurrency issues

* linting

* Correct the way we record tax overrides

* [WIP] Meteor 1.5 (#2371)

* Meteor 1.5

- include Buffer polyfill
- replaces abernix:standard-minifier-js with standard-minifier-js
- properly pins job-collections to 1.4.0

* Updated to 1.5.0 base image

* Pin react-meteor-data to 0.2.9

* Remove unused vars

Cherry pick
b36709c19
e47b25049f90643739df4bcf5210d64

* update to reactioncommerce/base:v2.0.0

* transliteration 1.6.2 (#2389)

- Related to #2090 and #2091
- Reduces minified footprint by315k
- updates client import

* Meteor1.5 and docker updates (#2390)

* fix error handling in CI deploy script

* fix CI build script

* add docker-compose.yml for CircleCI

* install Docker Compose in CI

* set docker/docker-compose versions in CI env

* fix missing curl issue in CI test

* Updated 1.5 packages

* Declare variable (#2401)

* Implement missing router functions (#2393)

* Implement missing router functions

- Implement `Router.setQueryParam()`
- Fix `Router.getRouteName()`

* Fix function name for `setQueryParams`

* Fixes and tests

- Added jest config to package.json
- Added some jest unit tests for Router
- Added mocks for some dependencies
- Fixed route matching in Router.isActiveClassName method

* fix package.json to run tests (#2396)

* Removed comment

* Remove duplicated setQueryParams function

Fixed variable

* 2332 Fix Improper Cart Merge (#2387)

* add test suite to replicate #2332

* fix improper cart merge when user cart has items in anonymous cart already

* update anonymous cart `variants._id` to equal user cart `variants_id`

* fix console error when merging into newly logged in user cart

* implement review

* Change line width to match GH PR review width (#2407)

* Orders updates (#2400)

* add expandable header to summary

* i18n - move keys into local package

* new npm package

* new Badge component

* i18n updates

* badge style updates

* add Badge and clicktocopy to components

* clickToCopy component

* badge component

* i18n updates

* badge and ClicktoCopy components

* add card to summary section of orders

* Merge branch 'ek-orders' into ek-orders-summaryPanel

# Conflicts:
#	package.json

* update orderSummary fields

* fix imports

* ordersList react-ivize

* fix prop validation

* validation fixes for Badge component

* remove no longer used files

* comment out old blaze templates

leaving them here for a bit just to make sure no errors occur

* remove blaze templates

* orders panel LESS

* update workflow loop to remove extra headers

* removed errant test text

* fix translations

* update shrinkwrap

* tests

* simpleschema

* comment killing

* New test for <ClickToCopy />

* lint fixes

* fix

* add more props to Badge test

* refund button coming in phase2

* fix import / console error

* Update random.js

* lint fixes

* use route permissions in register.js files (#2388)

* Milestone 54 / Convert Navbar to React (#2306)

* Navbar dropdowns conversion to React (#2230)

* Implement currencies using Dropdown Menu Component

* Add active prop on list item in Dropdown menu

* Resolve reactivity for currency drop down

* Add language dropdown implementation

* Add select on current selected language

* Remove extra code

* Have language icon div be larger

* Fix pop over arrangement

* Fix spacing, add caret on language dropdown

* Deal with display when switches are pff

* Fix overflow issues on dropdown-menu

* Fix linting

* Close dropdown on menu item click

* Add import for Match

* Convert login views to React (#2250)

* Initial component/container setup for sign in page

* Replicate look of sign in form

* Replicate look of sign up form

* Use composeWithTracker in signInContainer

* Replicate look of forgot password form

* Create parent login container to hold general login for views

* Add switching between views logic

* Set up sign in form submission

* Set up sign up form submission

* Set up forgot password form submission

* Handle sign in action and error message display

* Remove template methods

* Remove template methods and alert message template

* Rewrite renderPasswordErrors method

* Render social buttons on login

* Add social login functionality

* Remove unnecessary blaze templates

* Move functions to React

* Implement sign up functionality

* Merge signin and signup containers

* Put back helper methods needed by other templates

* Abstract loginFormMessaged into react container

* Add forgot password functionality (part1)

* Remove unnecessary component in helper

* Remove forgot password template

* Clean up folder structure

* Solve invariant violation browser error

* updatepasswordOverlay react component/container

* completed updayePasswordOverlay functionality

* Remove stopPropagation function

* Capitalize social login name

* Show loading spinner while processing button clicks

* Solve onClick not working by removing 'event.stopPropagation()' on parent template

* Remove JQuery and use lodash

* Using 'event' instead of 'e' to reference event handlers

* Add validation for no email input on forgot password

* Add error message on social login

* Move capitalize function to helper file

* Move capitalize function to helper file

* [WIP]Main navbar container conversion to React (#2277)

Main navbar container conversion to React

* Convert to react: Tag navigation (#2251)

* Test tagnav component

* Use existing tag component

* Update component setup

* Use existing tagsList container

* Remove debugging

* Edit button

* Use tagItem loop to match styles instead of existing

* Base tagTree init

* Fix structure

* Fix dropdown mouseover event

* Edit conditional

* Base tag editatble

* Button switch fix

* On edit fix

* Selectable button icon

* Enable drop of tagtree by icon

* Init edit mode for tagTree

* Tagtree second level new tag

* Typo fix

* Fix top level width and classes

* Show Base tagList

* Lint clean up

* Remove commented code

* Style fix and show new tag on edit

* i18n

* Init saving top level tags

* Saving tags - cont

* New tag save fix

* Switching to Taglist custom

* Saving top level

* Enable new tag option

* Move class names to base comp

* Style on create new tag item

* Fix Hover back

* Move file

* Tag select prop

* Rename files

* Fix save and delete

* Reorder element wrapper

* Init passing the functions down

* Init editing new tag item on tree

* Separate the two new tagItems

* Adding new tags on tree + refactor 🎉

* Fix delete on subtags

* Reset form after save and prevent saving empty tags

* Prevent close of tree after save

* Restructure tree state to fix input

* Init refactor on tagTree

* Props setup after refactor

* Reposition button

* Autocompletion fixing

* Add componentWillReceiveProps to fix re-render and reset

* Refactor into container comp

* Remove debugs

* Use composewithTracker

* Remove props with spread

* Update props list

* Fix logic breaking new tag style

* Tag sort order after drag

* Clean un-used vars

* Add react tagNav to main navbar container

* Fix lint issue

* Init toggle visibility

* Close tags with overlay

* Remove JQuery references(part 1)

* Add router.go for tag click

* Mobile fixes and remove blaze files

* Fix click on mobile

* Remove jquery

* Remove jquery .closest

* UI tagnav classes update

* Fixes

* Fix undefined refs after merge with development

* Remove unused vars

* Editing should turn off on toggle

* Use Translation component over data-i18n

* Fix Brand name glitch

* Prefer standalone PropTypes import over React.PropTypes

* Inport i18next and Reaction in same line

* Space at end of self-closing tag

* One-lining imports

* Place '&nbsp' inside span for less random-looking code

* Add comment about style

* Use Divider component as separator

* import order

* remove duplicate babel preset packages

* Updated yarn.lock and removed npm-shrinkwrap.json

I’ll try to add back in the release branch, but something funky is
going on with shrink-wrap

* Admin should be able to invite a user with the same name (#2386)

* turn the user name to lowercase

* turn the user name to a lowercase string with a random number e.g michael-alade49

* add custom name field to users and accounts schema

* create new env var for setting default admin’s name

* publish new name field for users

* remove unnecessary typeof check for Reaction var

* switch priority for user’s displayName source

* remove redundant email update and only add user’s name if exists

* Update version

* switch to Reaction’s new fork of Nodemailer (#2427)

* Added module aliases (#2436)

* Added module aliases

- Added module alias for `core/ui`
- Added module alias for `core/router`

* Revert jest module name mapper

* fix tests

- Fixed duplicated mocks warning
- added some new mocks
- fix translaton component test

* LingoHub Update 🚀 (#2420)

Manual push by LingoHub User: Aaron Judd.
Project: reaction

Made with ❤️ by https://lingohub.com

* Add css style to differentiate read from unread notifications (#2442)

* Remove acceptance tests (#2430)

* Remove non-working tests

* Remove unneeded dependencies

* Fixed console error when dragging product images (#2443)

* Add closeOnClick option to DropDownMenu component (#2418)

* Add closeOnClick option to DropDownMenu component

* Fix lint issue - move handleDropdownToggle after componentWillReceiveProps

* add missing "orders not found" text (#2424)

* Updated chai package

- tested with reaction test, tests seemed to work normal

* Bunyan and Loggly updates (#2425)

* switch to official Loggly lib for Node and write new Bunyan connector for it

* update bunyan to 2.0.0

* add REACTION_LOG_FORMAT config option

* add extra comments about log formatting options

* refactor default admin user creation (#2453)

* update memory usage in CircleCI build (#2462)

* Navbar hover issue (#2451)

* added default hover style for languages and currencies class #2444

* added accounts css class to div in mainDropdownContainer #2444

* added hover styles for account class #2444

* added hover style for notification class #2444

* set css property overflow on horizontal to hidden (#2458)

* [WIP] 2452 fix on UI icon toolbar (#2460)

2452 fix on UI icon toolbar

* [WIP] 2356 fix on tag menu-sidebar glitch (#2472)

Fix on tag menu-sidebar glitch

* update media gallery new / deleted image indicators (#2469)

* add new status for mediaGalleryIndicator

* i18n translations for tooltips

* status-badge styles for media gallery

* update media gallery image new / deleted indicator

* style updates

* lint fix

* Remove random regex checks on names. Fixes #2461 (#2471)

* remove older Blaze based launchdock plugin (#2467)

* 2459 router range error fix (#2476)

* simple fix

* fix typo & linting

* fix linting issues

* 2422 Fix on email invite link leading to blank screen (#2437)

* imported LoginFormValidation to forgotContainer

* imported LoginFormValidation to passwordOverlayContainer

* added setTimeout function to delay rendering

* wrap component in translations (#2434)

* removed setTimeouts from updatePassword.js

* added spinner before mounting the component

* replaced setTimeout with life-cycle hook(componentWillRecieveProps) #2422

* imported LoginFormValidation to prevent console error

* Update current user's name on Navbar and profile page when address is added. (#2455)

* Update current user's name and profile when address is added

* Update user's name when address is updated

* Get correct admin user's name from env variables

* Updated dependencies (#2463)

* Move babelrc into package.json

* Updated dependencies

* Define missing options variable

* Revert minifier to abernix fork (#2486)

* Use abernix:standard-minifier-js

Replace standard-minifier-js with
abernix:standard-minifier-js@2.1.0-beta.0

This should be compatible with current 1.5 tools, and is what we were
using before 1.5, because of the faster compilation and reduced memory
footprint.  Restoring in an attempt to diagnose build issues related to
memory.

* updated meteor package versions

* Release 1.3.0 (#2417)

## Features

-   **Meteor 1.5 (#2371)**
-   **Order fulfillment UI updates (#2400)**
-   **React Router updated (#2123)**
-   **React Navbar (and deprecated Blaze navbar) (#2306)**
-   **Re-introduce icon toolbar as shortcutBar (#2261)**
-   **React unit testing example (#2170)**
-   **[WIP] [Style guide](https://styleguide.reactioncommerce.com)**

## Changes / Fixes
- __Update current user&#39;s name on Navbar and profile page when address is added. (#2455)__
- __Fix #2422 on email invite link leading to blank screen (#2437)__
- __Fix #2459 router range error fix (#2476)__
- __Remove older Blaze based launchdock plugin (#2467)__
- __Remove random regex checks on names. Fixes #2461 (#2471)__
- __Update media gallery new / deleted image indicators (#2469)__
- __Fix #2356 on tag menu-sidebar glitch (#2472)__
- __Fix #2452 on UI icon toolbar (#2460)__
- __set css property overflow on horizontal to hidden (#2458)__
- __Navbar hover issue (#2451)__
- __update memory usage in CircleCI build (#2462)__
- __refactor default admin user creation (#2453)__
- __Bunyan and Loggly updates (#2425)__
- __Updated chai package__
- __add missing &#34;orders not found&#34; text (#2424)__
- __Add closeOnClick option to DropDownMenu component (#2418)__
-   **Fixed console error when dragging product images (#2443)**
-   **Remove unmaintained Browserstack acceptance tests (#2430)**
-   **Add css style to differentiate read from unread notifications (#2442)**
-   **Added module aliases @reactioncommerce/reaction-ui (#2436)**
-   **Switch to Reaction’s new fork of Nodemailer (#2427)**
-   **Admin should be able to invite a user with the same name (#2386)**
-   **Updated yarn.lock and removed npm-shrinkwrap.json**
-   **use route permissions in register.js files (#2388)**
-   **Updated, refreshed order/fulfillment UI (#2400)**
-   **Change line width to match GH PR review width (#2407)**
-   **Fix Improper Cart Merge (#2387)**
-   **Implement missing router functions (#2393)**
-   **Correct the way we record tax overrides**
-   **CollectionFS  cfs:tempstore and cfs:worker to Fix concurrency issues with GridFS uploads (#2096)**
-   **Fix typo in inventory test description (#2364)**
-   **Added Nigerian Naira to currency list in (#2366)**
-   **Fix git tagging on CircleCI 2.0 (#2362)**
-   **Adding the license description with link on README (#2365)**
-   **Better handling for unique routes for React Router (#2327)**
-   **Don't throwback a step if tax fails**
-   **Updated UI colors for styleguide (#2339)**
-   **Add loading component to Fix error (#2340)**
-   **Allow a MAIL_URL string without auth (#2330)**
-   **Defer Fixture load until the default shop is loaded (#2329)**
-   **Fix conditional in Circle deploy script (#2338)**
-   **Fix refunds not showing (#2317)**
-   **Add Verification Url to Welcome Email (#2216)**
-   **CircleCI 2.0 and docker base update (#2334)**
-   **i18n translation updates (#2302 #2420)**
-   **Change customer notification message when order is processed. (#2290)**
-   **Allow loader to show when one is passed in and defined BUGFIX (#2303)**
-   **Add the Vietnamese Dong as a supported currency (#2248)**
-   **Updated shipping / payment error messages in checkout (#2271)**
-   **Fix #2203 Long Strings Handling in Product Option Title (#2266)**
-   **Simplify core layout component (#2257)**
-   **Fix multiple refunds for stripe (#2260)**

* Fix error when inviting already invited user (#2433)

* Refactor invite function to send invites only to non invited members

* Refactor error message to show status code

* Change the error message to use inline Alert

* Clear input fields when there is error

* Use Reaction's blaze inlineAlerts for error message

* Eliminate console error on inviteShopMember call

* Updated timeout time. (#2492)

* Updated timeout time.

* don't autohide

This should not autohide, the error should display until a user resubmits with a new email address. If the error is hidden, they might not see it right away and miss it. This is a blocking error for this field so it should stay until resolved.

* Fixed product images not displaying on order completed page (#2490)

* Fix hard refresh on clicking tag link on product detail page (#2489)

* Provide tag component with missing click function

* Remove hard refresh on PDP link in Grid settings

* Remove redundant risul:moment-timezone (#2491)

* Fix ESLint4 errors correct eslint config errors (#2450)

* Properly nest ecmafeatures

* Fix indentation errors

* Change Proptype

* Use react-create-class until Erik finishes upgrading Griddle

* Add back in missing PropType imports

* More missing PropType imports

* Replcae `reaction-create-class` with `create-react-class`

* Add rule for un-undef

* Add missing `PropTypes` imports that ESLint is finally finding

* Add missing imports

* Ignore missing imports for Mocha

* Add missing imports

* Add missing imports

* remove import

* add in missing imports

* add in missing imports

* enforce react/jsx-indent linting

* Adding missing imports

* Missing Gravatar imports

* Remove unused helper

* Add in mocks to fix React tests

* Missing import

* Fix missing domain variable

* Change comment to reflect new version

* Adding local versions of `loadMoreProducts`

* Replacing Meteor package with npm package

* Correct use of amplify-store

* Remove call to missing function setCurrentProduct

* Ignoring these last few globals

* Fix missing lodash import

* Remove duplicate import

* Remove jsx indent rule that's causing files to fail incorrectly

* New SortableTable component to replace MeteorGriddle (#2416)

* rename TacoTable to Legacy

* upgrade griddle NPM

* rename MeteorGriddle to SortableTable

* break up sortable table from sortabletablelegacy (TacoTable)

* merge

* change object key names to use with react-table instead of griddle

* kill griddle, add react-table

* remove useGriddleStyles prop

* remove testData

* sortableTable updates

* sortableTable Styles

* remove old ui-grid, move into components sortableTable

* update size of Templates dashboard for better usability

* ridding the wrapper of old Griddle info

* more props passed to wrapper

* fixes for email table

* update Email table to use ReactTable

* email table convert to ReactTable

* custom pagination component for React-Table

* update Avalara to use ReactTable

* add spacing below tables

* remove leftover console.logs

* lint fixes

* lint fix

* query prop validation

* pagination updates

* componetize pagination

* move emailconfig css to LESS file

* style updates for sortableTable

* update translations

* custom full-table filter for ReactTable

* custom full table filter

* new match-sorter package for custom filter

* add translations for default table text

* translations

* kill translations for the moment, something is acting up

* add catch for error when no data is available

* various fixes

* fix shippo status

* Shippo table update

* lint fixes

* lint fixes

* remove log

* lint fix

* Fix linting problems introduced in new SortableTable (#2505)

* Show proper error messages when Stripe payments fail (#2499)

* Don't display random error messages to client

* Debugging upstream message flow

* Normalize/sanitize error so you can just show the error from the server to the client

* Remove logger statement

* Handle Match failures

* removing extra logging

* Fix tests

* Fix missing reference (#2507)

* Default to using shop country code or GeoIP result for new addresses (#2515)

* For new address default to using shop’s country code if it exists.

* use GeoIP to determine user’s country and set it in address form

* Add Tunisian Dinar currency (#2517)

* Add Tunisian Dinar currency

* Add entry in second shop (TND)

* Fix issue dragging images in PDP when settings drawer is open (#2506)

* Fix condition that enables images to be displayed to product grid

* Fix main image upload handler to upload main product image

* Fix send sms method to read settings of shop and buyer userId (#2508)

* Fix Errors importing exported product data  (#2513)

* remove _id fields from documents to be imported

* Use _id to look up product before updating

* Refactor product import callback

* Refactor import method to avoid single-line if statement

* Convert product grid to React: Milestone 57 (#2402)

* Add search input field

* React component boilerplate

* Render products with pdpPath

* Add class names to li

* Render visible class name and overlay

* Render media

* React alerts/content component boilerplate

* Remove unnecesarry div wrapper in prodict grid component

* Grid content

* Grid notices

* Grid controls (part 1)

* Grid controls (part 2)

* Remove grid control templates

* Add in functionality for modal

* Init product grid

* Products sub setup

* Use product object as props from productGrid component

* Refactor grid layout

* handleSelectProductItem handler on grid container

* Remove item and content templates

* Include itemSelectHandler in grid controls

* Add some more functions

* Handle product double click

* Handle product click of non-admins

* Init drag drop

* Add index to drag; and udpate call

* Update state indexes after drag release

* make method call after drag state change

* Fix css issue

* Enable drag based on permission

* Handle product click of admins(part 1)

* Use standalone PropTypes import over React.PropTypes

* Add componentDidMount and componentWillUnmount conditions to item container

* Subscription working right

* Handle product click of admins(part 2)

* Save products in state

* Add product grid to search grid

* Fix product display/click in search modal

* Handle product click of admins(part 3)

* Add order and account tables onto search

* Fix broken product drag & drop

* Display accounts and order tables using React

* Remove tag results when order/account search

* Add onRowClick for orders and accounts

* Change folder structure and add unMount

* Remove logs

* Replace unmountComponentAtNode with prop change

* Close modal working well

* Add proptypes

* Display products

* Fix import order

* Handle load more products

* Add permissions to search tabs

* Fix setState error

* Fix hover-over-preview on search, add it to default product-grid

* render loadMoreProducts button

* Fix search result onClick close modal

* Add active classes on tags

* Remove unused code

* Remove import on index

* Move react components/containers out of client folder into lib folder

* Move react components/containers out of lib folder

* Remove jquery

* Remove product hover over in grid

* Product search click of non-admins

* Use Translation component over data-i18n

* Fix error o searchorders

* Fix broken loadMoreProducts button

* Remove product hover over in grid: less file

* Remove infinite scroll on product grid

* Tweek orders search

* Remove logs

* Fix Bithound issues

* update state with new data when available

* update table to use SortableTableLegacy

* Fix switch of accounts on search

* Remove bnd

* Add on rowclick function to sortTableLegacy

* Fix bitHound failing file issue

* Add esc functionality on search

* Persist searchQuery on search re-open

* Set initialLoad state to false to avoid reload of all the product grid data on loadMoreProducts click (yet to fix setState error)

* Set initialLoad state to false on loadMoreProducts button click; fixes setState error on console

* Fix scroll in Search Modal when products go longer than the page

* Remove unnecessary function usage

* Fix import order

* Use Array.isArray over lodash

* Import $ from meteor/jquery

* Remove unnecessary variables

* Refactor repeated code into common function

* Correct error throwing

* update import alias

* use import alias

* use import alias

* use import alias

* use import alias

* update import order

* update import order

* import order

* Fix for no scrollbar in Dashboard (#2511)

* Add ability to scroll on dashbord

* Add scrolling to vertical toolbar only

* Hide horizontal scrollbar

* Remove duplicate declaration

* Eslint autofix indentation

* Fix missing imports

* Remove errant `only`

* Restore marketplace core methods

* This test sometimes returns an empty array and sometimes returns undefined. Either way it’s not returning products

* Restore missing marketplace helpers in profile.js

* Fix for issue #1993 (#2518)

* Fix for #1993

* Fix linter errors.

* Cleanup.

* Fix unable to open fulfill order action view (#2530)

* Fix hard refresh when clicking View All notifications

* Fix click action for rendering orders on dashboard

* Add click handler to render action panel

* Fix sneaky bug - someone changed `name` to `packageName` - caused shops not to create

* Fix Exception in delivering result of invoking 'email/verifySettings' (#2512)

* Only verify email settings when saving settings

* Move server method call to container component

* Fix import order

* Fix permissions issue blocking shop owners from updating their shop.

I _swear_ this worked before, but I’m not sure what got changed and when I go back to older commits, the same issue is present.
The apparent problem is that the Security.permit / Security.deny collection permission security methods are running before a users Id has been loaded.

The fix here is to create a new security method `ifHasRoleForActiveShop` that moves checking `Reaction.getShopId()` to the security method instead of on the `permit` or `deny` method.

* Remove leftover console.log

* update Docker base to v2.0.2 (#2537)

* Fix order action button reverting status to processing (#2541)

* correct order action workflow change

* always update selected order

* Update eslint to v4 (#2542)

* Update Eslint

* Auto-fix eslint errors

* Fix publish-counts module name map for jest

* Fixes typo

* Fix more typos
@spencern spencern mentioned this pull request Jul 14, 2017
@aaronjudd aaronjudd mentioned this pull request Jul 14, 2017
spencern added a commit that referenced this pull request Jul 18, 2017
* Allow customer to move past validation after one pass

* Silencing needless warning

* Add missing imports

* When we get a "GetTax" error, revert to addressbook

* Capture and parse errors

* Creating a "review and fix" address review screen

* Show highlited diff. Copy over values on click.

* Removing "debug" HTML

* Add "review address" translation

* Basic "review address" flow working

* Remove console.log

* Fix missing import

* Fix import error

* Return to edit and refresh address when you cancel out of review

* Make edit behave the same as add

* Tweak styling

* More and more style changes

* Use proper color variables

* Create proper behaviors

* Fix bad evaluation

* Fix import order

* Add i18n

* Don't throwback a step if tax fails

* Make this more of an "exception" flag

* Adding the license description with link on README (#2365)

* added Nigerian Naira to currency list in (#2366)

private/data/Shops.json

* CollectionFS  cfs:tempstore and cfs:worker to fix concurrency issues with GridFS uploads (#2096)

* added cfs tempstore and worker to fix concurrency issues

* linting

* Correct the way we record tax overrides

* [WIP] Meteor 1.5 (#2371)

* Meteor 1.5

- include Buffer polyfill
- replaces abernix:standard-minifier-js with standard-minifier-js
- properly pins job-collections to 1.4.0

* Updated to 1.5.0 base image

* Pin react-meteor-data to 0.2.9

* Remove unused vars

Cherry pick
https://github.com/reactioncommerce/reaction/pull/2306/commits/b36709c19
e47b25049f90643739df4bcf5210d64

* update to reactioncommerce/base:v2.0.0

* transliteration 1.6.2 (#2389)

- Related to #2090 and #2091
- Reduces minified footprint by315k
- updates client import

* Meteor1.5 and docker updates (#2390)

* fix error handling in CI deploy script

* fix CI build script

* add docker-compose.yml for CircleCI

* install Docker Compose in CI

* set docker/docker-compose versions in CI env

* fix missing curl issue in CI test

* Updated 1.5 packages

* Declare variable (#2401)

* Implement missing router functions (#2393)

* Implement missing router functions

- Implement `Router.setQueryParam()`
- Fix `Router.getRouteName()`

* Fix function name for `setQueryParams`

* Fixes and tests

- Added jest config to package.json
- Added some jest unit tests for Router
- Added mocks for some dependencies
- Fixed route matching in Router.isActiveClassName method

* fix package.json to run tests (#2396)

* Removed comment

* Remove duplicated setQueryParams function

Fixed variable

* 2332 Fix Improper Cart Merge (#2387)

* add test suite to replicate #2332

* fix improper cart merge when user cart has items in anonymous cart already

* update anonymous cart `variants._id` to equal user cart `variants_id`

* fix console error when merging into newly logged in user cart

* implement review

* Change line width to match GH PR review width (#2407)

* Orders updates (#2400)

* add expandable header to summary

* i18n - move keys into local package

* new npm package

* new Badge component

* i18n updates

* badge style updates

* add Badge and clicktocopy to components

* clickToCopy component

* badge component

* i18n updates

* badge and ClicktoCopy components

* add card to summary section of orders

* Merge branch 'ek-orders' into ek-orders-summaryPanel

# Conflicts:
#	package.json

* update orderSummary fields

* fix imports

* ordersList react-ivize

* fix prop validation

* validation fixes for Badge component

* remove no longer used files

* comment out old blaze templates

leaving them here for a bit just to make sure no errors occur

* remove blaze templates

* orders panel LESS

* update workflow loop to remove extra headers

* removed errant test text

* fix translations

* update shrinkwrap

* tests

* simpleschema

* comment killing

* New test for <ClickToCopy />

* lint fixes

* fix

* add more props to Badge test

* refund button coming in phase2

* fix import / console error

* Update random.js

* lint fixes

* use route permissions in register.js files (#2388)

* Milestone 54 / Convert Navbar to React (#2306)

* Navbar dropdowns conversion to React (#2230)

* Implement currencies using Dropdown Menu Component

* Add active prop on list item in Dropdown menu

* Resolve reactivity for currency drop down

* Add language dropdown implementation

* Add select on current selected language

* Remove extra code

* Have language icon div be larger

* Fix pop over arrangement

* Fix spacing, add caret on language dropdown

* Deal with display when switches are pff

* Fix overflow issues on dropdown-menu

* Fix linting

* Close dropdown on menu item click

* Add import for Match

* Convert login views to React (#2250)

* Initial component/container setup for sign in page

* Replicate look of sign in form

* Replicate look of sign up form

* Use composeWithTracker in signInContainer

* Replicate look of forgot password form

* Create parent login container to hold general login for views

* Add switching between views logic

* Set up sign in form submission

* Set up sign up form submission

* Set up forgot password form submission

* Handle sign in action and error message display

* Remove template methods

* Remove template methods and alert message template

* Rewrite renderPasswordErrors method

* Render social buttons on login

* Add social login functionality

* Remove unnecessary blaze templates

* Move functions to React

* Implement sign up functionality

* Merge signin and signup containers

* Put back helper methods needed by other templates

* Abstract loginFormMessaged into react container

* Add forgot password functionality (part1)

* Remove unnecessary component in helper

* Remove forgot password template

* Clean up folder structure

* Solve invariant violation browser error

* updatepasswordOverlay react component/container

* completed updayePasswordOverlay functionality

* Remove stopPropagation function

* Capitalize social login name

* Show loading spinner while processing button clicks

* Solve onClick not working by removing 'event.stopPropagation()' on parent template

* Remove JQuery and use lodash

* Using 'event' instead of 'e' to reference event handlers

* Add validation for no email input on forgot password

* Add error message on social login

* Move capitalize function to helper file

* Move capitalize function to helper file

* [WIP]Main navbar container conversion to React (#2277)

Main navbar container conversion to React

* Convert to react: Tag navigation (#2251)

* Test tagnav component

* Use existing tag component

* Update component setup

* Use existing tagsList container

* Remove debugging

* Edit button

* Use tagItem loop to match styles instead of existing

* Base tagTree init

* Fix structure

* Fix dropdown mouseover event

* Edit conditional

* Base tag editatble

* Button switch fix

* On edit fix

* Selectable button icon

* Enable drop of tagtree by icon

* Init edit mode for tagTree

* Tagtree second level new tag

* Typo fix

* Fix top level width and classes

* Show Base tagList

* Lint clean up

* Remove commented code

* Style fix and show new tag on edit

* i18n

* Init saving top level tags

* Saving tags - cont

* New tag save fix

* Switching to Taglist custom

* Saving top level

* Enable new tag option

* Move class names to base comp

* Style on create new tag item

* Fix Hover back

* Move file

* Tag select prop

* Rename files

* Fix save and delete

* Reorder element wrapper

* Init passing the functions down

* Init editing new tag item on tree

* Separate the two new tagItems

* Adding new tags on tree + refactor 🎉

* Fix delete on subtags

* Reset form after save and prevent saving empty tags

* Prevent close of tree after save

* Restructure tree state to fix input

* Init refactor on tagTree

* Props setup after refactor

* Reposition button

* Autocompletion fixing

* Add componentWillReceiveProps to fix re-render and reset

* Refactor into container comp

* Remove debugs

* Use composewithTracker

* Remove props with spread

* Update props list

* Fix logic breaking new tag style

* Tag sort order after drag

* Clean un-used vars

* Add react tagNav to main navbar container

* Fix lint issue

* Init toggle visibility

* Close tags with overlay

* Remove JQuery references(part 1)

* Add router.go for tag click

* Mobile fixes and remove blaze files

* Fix click on mobile

* Remove jquery

* Remove jquery .closest

* UI tagnav classes update

* Fixes

* Fix undefined refs after merge with development

* Remove unused vars

* Editing should turn off on toggle

* Use Translation component over data-i18n

* Fix Brand name glitch

* Prefer standalone PropTypes import over React.PropTypes

* Inport i18next and Reaction in same line

* Space at end of self-closing tag

* One-lining imports

* Place '&nbsp' inside span for less random-looking code

* Add comment about style

* Use Divider component as separator

* import order

* remove duplicate babel preset packages

* Updated yarn.lock and removed npm-shrinkwrap.json

I’ll try to add back in the release branch, but something funky is
going on with shrink-wrap

* Admin should be able to invite a user with the same name (#2386)

* turn the user name to lowercase

* turn the user name to a lowercase string with a random number e.g michael-alade49

* add custom name field to users and accounts schema

* create new env var for setting default admin’s name

* publish new name field for users

* remove unnecessary typeof check for Reaction var

* switch priority for user’s displayName source

* remove redundant email update and only add user’s name if exists

* Update version

* switch to Reaction’s new fork of Nodemailer (#2427)

* Added module aliases (#2436)

* Added module aliases

- Added module alias for `core/ui`
- Added module alias for `core/router`

* Revert jest module name mapper

* fix tests

- Fixed duplicated mocks warning
- added some new mocks
- fix translaton component test

* LingoHub Update :rocket: (#2420)

Manual push by LingoHub User: Aaron Judd.
Project: reaction

Made with :heart: by https://lingohub.com

* Add css style to differentiate read from unread notifications (#2442)

* Remove acceptance tests (#2430)

* Remove non-working tests

* Remove unneeded dependencies

* Fixed console error when dragging product images (#2443)

* Add closeOnClick option to DropDownMenu component (#2418)

* Add closeOnClick option to DropDownMenu component

* Fix lint issue - move handleDropdownToggle after componentWillReceiveProps

* add missing "orders not found" text (#2424)

* Updated chai package

- tested with reaction test, tests seemed to work normal

* Bunyan and Loggly updates (#2425)

* switch to official Loggly lib for Node and write new Bunyan connector for it

* update bunyan to 2.0.0

* add REACTION_LOG_FORMAT config option

* add extra comments about log formatting options

* refactor default admin user creation (#2453)

* update memory usage in CircleCI build (#2462)

* Navbar hover issue (#2451)

* added default hover style for languages and currencies class #2444

* added accounts css class to div in mainDropdownContainer #2444

* added hover styles for account class #2444

* added hover style for notification class #2444

* set css property overflow on horizontal to hidden (#2458)

* [WIP] 2452 fix on UI icon toolbar (#2460)

2452 fix on UI icon toolbar

* [WIP] 2356 fix on tag menu-sidebar glitch (#2472)

Fix on tag menu-sidebar glitch

* update media gallery new / deleted image indicators (#2469)

* add new status for mediaGalleryIndicator

* i18n translations for tooltips

* status-badge styles for media gallery

* update media gallery image new / deleted indicator

* style updates

* lint fix

* Remove random regex checks on names. Fixes #2461 (#2471)

* remove older Blaze based launchdock plugin (#2467)

* 2459 router range error fix (#2476)

* simple fix

* fix typo & linting

* fix linting issues

* 2422 Fix on email invite link leading to blank screen (#2437)

* imported LoginFormValidation to forgotContainer

* imported LoginFormValidation to passwordOverlayContainer

* added setTimeout function to delay rendering

* wrap component in translations (#2434)

* removed setTimeouts from updatePassword.js

* added spinner before mounting the component

* replaced setTimeout with life-cycle hook(componentWillRecieveProps) #2422

* imported LoginFormValidation to prevent console error

* Update current user's name on Navbar and profile page when address is added. (#2455)

* Update current user's name and profile when address is added

* Update user's name when address is updated

* Get correct admin user's name from env variables

* Updated dependencies (#2463)

* Move babelrc into package.json

* Updated dependencies

* Define missing options variable

* Revert minifier to abernix fork (#2486)

* Use abernix:standard-minifier-js

Replace standard-minifier-js with
abernix:standard-minifier-js@2.1.0-beta.0

This should be compatible with current 1.5 tools, and is what we were
using before 1.5, because of the faster compilation and reduced memory
footprint.  Restoring in an attempt to diagnose build issues related to
memory.

* updated meteor package versions

* Release 1.3.0 (#2417)

## Features

-   **Meteor 1.5 (#2371)**
-   **Order fulfillment UI updates (#2400)**
-   **React Router updated (#2123)**
-   **React Navbar (and deprecated Blaze navbar) (#2306)**
-   **Re-introduce icon toolbar as shortcutBar (#2261)**
-   **React unit testing example (#2170)**
-   **[WIP] [Style guide](https://styleguide.reactioncommerce.com)**

## Changes / Fixes
- __Update current user&#39;s name on Navbar and profile page when address is added. (#2455)__
- __Fix #2422 on email invite link leading to blank screen (#2437)__
- __Fix #2459 router range error fix (#2476)__
- __Remove older Blaze based launchdock plugin (#2467)__
- __Remove random regex checks on names. Fixes #2461 (#2471)__
- __Update media gallery new / deleted image indicators (#2469)__
- __Fix #2356 on tag menu-sidebar glitch (#2472)__
- __Fix #2452 on UI icon toolbar (#2460)__
- __set css property overflow on horizontal to hidden (#2458)__
- __Navbar hover issue (#2451)__
- __update memory usage in CircleCI build (#2462)__
- __refactor default admin user creation (#2453)__
- __Bunyan and Loggly updates (#2425)__
- __Updated chai package__
- __add missing &#34;orders not found&#34; text (#2424)__
- __Add closeOnClick option to DropDownMenu component (#2418)__
-   **Fixed console error when dragging product images (#2443)**
-   **Remove unmaintained Browserstack acceptance tests (#2430)**
-   **Add css style to differentiate read from unread notifications (#2442)**
-   **Added module aliases @reactioncommerce/reaction-ui (#2436)**
-   **Switch to Reaction’s new fork of Nodemailer (#2427)**
-   **Admin should be able to invite a user with the same name (#2386)**
-   **Updated yarn.lock and removed npm-shrinkwrap.json**
-   **use route permissions in register.js files (#2388)**
-   **Updated, refreshed order/fulfillment UI (#2400)**
-   **Change line width to match GH PR review width (#2407)**
-   **Fix Improper Cart Merge (#2387)**
-   **Implement missing router functions (#2393)**
-   **Correct the way we record tax overrides**
-   **CollectionFS  cfs:tempstore and cfs:worker to Fix concurrency issues with GridFS uploads (#2096)**
-   **Fix typo in inventory test description (#2364)**
-   **Added Nigerian Naira to currency list in (#2366)**
-   **Fix git tagging on CircleCI 2.0 (#2362)**
-   **Adding the license description with link on README (#2365)**
-   **Better handling for unique routes for React Router (#2327)**
-   **Don't throwback a step if tax fails**
-   **Updated UI colors for styleguide (#2339)**
-   **Add loading component to Fix error (#2340)**
-   **Allow a MAIL_URL string without auth (#2330)**
-   **Defer Fixture load until the default shop is loaded (#2329)**
-   **Fix conditional in Circle deploy script (#2338)**
-   **Fix refunds not showing (#2317)**
-   **Add Verification Url to Welcome Email (#2216)**
-   **CircleCI 2.0 and docker base update (#2334)**
-   **i18n translation updates (#2302 #2420)**
-   **Change customer notification message when order is processed. (#2290)**
-   **Allow loader to show when one is passed in and defined BUGFIX (#2303)**
-   **Add the Vietnamese Dong as a supported currency (#2248)**
-   **Updated shipping / payment error messages in checkout (#2271)**
-   **Fix #2203 Long Strings Handling in Product Option Title (#2266)**
-   **Simplify core layout component (#2257)**
-   **Fix multiple refunds for stripe (#2260)**

* Fix error when inviting already invited user (#2433)

* Refactor invite function to send invites only to non invited members

* Refactor error message to show status code

* Change the error message to use inline Alert

* Clear input fields when there is error

* Use Reaction's blaze inlineAlerts for error message

* Eliminate console error on inviteShopMember call

* Updated timeout time. (#2492)

* Updated timeout time.

* don't autohide

This should not autohide, the error should display until a user resubmits with a new email address. If the error is hidden, they might not see it right away and miss it. This is a blocking error for this field so it should stay until resolved.

* Fixed product images not displaying on order completed page (#2490)

* Fix hard refresh on clicking tag link on product detail page (#2489)

* Provide tag component with missing click function

* Remove hard refresh on PDP link in Grid settings

* Remove redundant risul:moment-timezone (#2491)

* Fix ESLint4 errors correct eslint config errors (#2450)

* Properly nest ecmafeatures

* Fix indentation errors

* Change Proptype

* Use react-create-class until Erik finishes upgrading Griddle

* Add back in missing PropType imports

* More missing PropType imports

* Replcae `reaction-create-class` with `create-react-class`

* Add rule for un-undef

* Add missing `PropTypes` imports that ESLint is finally finding

* Add missing imports

* Ignore missing imports for Mocha

* Add missing imports

* Add missing imports

* remove import

* add in missing imports

* add in missing imports

* enforce react/jsx-indent linting

* Adding missing imports

* Missing Gravatar imports

* Remove unused helper

* Add in mocks to fix React tests

* Missing import

* Fix missing domain variable

* Change comment to reflect new version

* Adding local versions of `loadMoreProducts`

* Replacing Meteor package with npm package

* Correct use of amplify-store

* Remove call to missing function setCurrentProduct

* Ignoring these last few globals

* Fix missing lodash import

* Remove duplicate import

* Remove jsx indent rule that's causing files to fail incorrectly

* New SortableTable component to replace MeteorGriddle (#2416)

* rename TacoTable to Legacy

* upgrade griddle NPM

* rename MeteorGriddle to SortableTable

* break up sortable table from sortabletablelegacy (TacoTable)

* merge

* change object key names to use with react-table instead of griddle

* kill griddle, add react-table

* remove useGriddleStyles prop

* remove testData

* sortableTable updates

* sortableTable Styles

* remove old ui-grid, move into components sortableTable

* update size of Templates dashboard for better usability

* ridding the wrapper of old Griddle info

* more props passed to wrapper

* fixes for email table

* update Email table to use ReactTable

* email table convert to ReactTable

* custom pagination component for React-Table

* update Avalara to use ReactTable

* add spacing below tables

* remove leftover console.logs

* lint fixes

* lint fix

* query prop validation

* pagination updates

* componetize pagination

* move emailconfig css to LESS file

* style updates for sortableTable

* update translations

* custom full-table filter for ReactTable

* custom full table filter

* new match-sorter package for custom filter

* add translations for default table text

* translations

* kill translations for the moment, something is acting up

* add catch for error when no data is available

* various fixes

* fix shippo status

* Shippo table update

* lint fixes

* lint fixes

* remove log

* lint fix

* Fix linting problems introduced in new SortableTable (#2505)

* Show proper error messages when Stripe payments fail (#2499)

* Don't display random error messages to client

* Debugging upstream message flow

* Normalize/sanitize error so you can just show the error from the server to the client

* Remove logger statement

* Handle Match failures

* removing extra logging

* Fix tests

* Fix missing reference (#2507)

* Default to using shop country code or GeoIP result for new addresses (#2515)

* For new address default to using shop’s country code if it exists.

* use GeoIP to determine user’s country and set it in address form

* Add Tunisian Dinar currency (#2517)

* Add Tunisian Dinar currency

* Add entry in second shop (TND)

* Fix issue dragging images in PDP when settings drawer is open (#2506)

* Fix condition that enables images to be displayed to product grid

* Fix main image upload handler to upload main product image

* Fix send sms method to read settings of shop and buyer userId (#2508)

* Fix Errors importing exported product data  (#2513)

* remove _id fields from documents to be imported

* Use _id to look up product before updating

* Refactor product import callback

* Refactor import method to avoid single-line if statement

* Convert product grid to React: Milestone 57 (#2402)

* Add search input field

* React component boilerplate

* Render products with pdpPath

* Add class names to li

* Render visible class name and overlay

* Render media

* React alerts/content component boilerplate

* Remove unnecesarry div wrapper in prodict grid component

* Grid content

* Grid notices

* Grid controls (part 1)

* Grid controls (part 2)

* Remove grid control templates

* Add in functionality for modal

* Init product grid

* Products sub setup

* Use product object as props from productGrid component

* Refactor grid layout

* handleSelectProductItem handler on grid container

* Remove item and content templates

* Include itemSelectHandler in grid controls

* Add some more functions

* Handle product double click

* Handle product click of non-admins

* Init drag drop

* Add index to drag; and udpate call

* Update state indexes after drag release

* make method call after drag state change

* Fix css issue

* Enable drag based on permission

* Handle product click of admins(part 1)

* Use standalone PropTypes import over React.PropTypes

* Add componentDidMount and componentWillUnmount conditions to item container

* Subscription working right

* Handle product click of admins(part 2)

* Save products in state

* Add product grid to search grid

* Fix product display/click in search modal

* Handle product click of admins(part 3)

* Add order and account tables onto search

* Fix broken product drag & drop

* Display accounts and order tables using React

* Remove tag results when order/account search

* Add onRowClick for orders and accounts

* Change folder structure and add unMount

* Remove logs

* Replace unmountComponentAtNode with prop change

* Close modal working well

* Add proptypes

* Display products

* Fix import order

* Handle load more products

* Add permissions to search tabs

* Fix setState error

* Fix hover-over-preview on search, add it to default product-grid

* render loadMoreProducts button

* Fix search result onClick close modal

* Add active classes on tags

* Remove unused code

* Remove import on index

* Move react components/containers out of client folder into lib folder

* Move react components/containers out of lib folder

* Remove jquery

* Remove product hover over in grid

* Product search click of non-admins

* Use Translation component over data-i18n

* Fix error o searchorders

* Fix broken loadMoreProducts button

* Remove product hover over in grid: less file

* Remove infinite scroll on product grid

* Tweek orders search

* Remove logs

* Fix Bithound issues

* update state with new data when available

* update table to use SortableTableLegacy

* Fix switch of accounts on search

* Remove bnd

* Add on rowclick function to sortTableLegacy

* Fix bitHound failing file issue

* Add esc functionality on search

* Persist searchQuery on search re-open

* Set initialLoad state to false to avoid reload of all the product grid data on loadMoreProducts click (yet to fix setState error)

* Set initialLoad state to false on loadMoreProducts button click; fixes setState error on console

* Fix scroll in Search Modal when products go longer than the page

* Remove unnecessary function usage

* Fix import order

* Use Array.isArray over lodash

* Import $ from meteor/jquery

* Remove unnecessary variables

* Refactor repeated code into common function

* Correct error throwing

* update import alias

* use import alias

* use import alias

* use import alias

* use import alias

* update import order

* update import order

* import order

* Fix for no scrollbar in Dashboard (#2511)

* Add ability to scroll on dashbord

* Add scrolling to vertical toolbar only

* Hide horizontal scrollbar

* Fix for issue #1993 (#2518)

* Fix for #1993

* Fix linter errors.

* Cleanup.

* Fix unable to open fulfill order action view (#2530)

* Fix hard refresh when clicking View All notifications

* Fix click action for rendering orders on dashboard

* Add click handler to render action panel

* Fix Exception in delivering result of invoking 'email/verifySettings' (#2512)

* Only verify email settings when saving settings

* Move server method call to container component

* Fix import order

* update Docker base to v2.0.2 (#2537)

* Fix order action button reverting status to processing (#2541)

* correct order action workflow change

* always update selected order

* Update eslint to v4 (#2542)

* Update Eslint

* Auto-fix eslint errors

* fix 2547: vertically-center navbar link using @navbar-height height variable instead of percentage height (#2551)

* Fix issue 2535. Transliteration in Safari/IE (#2553)

* Use official Reaction fork

* Go back to standard import

* Provide sort parameter to Products subscription and remove duplicate sorting of products (#2552)

* Fix LoadMoreProducts button not working as it should (#2554)

* Apply limit to  products publication selector for admin users

* Get correct top level products from publications

* Set correct scroll check to load more products

* Version 1.3.1

* Meteor 1.5.1

* Fix You may not observe cursor with fields _id: 0 (#2555)

Fixes console error
```
Error: You may not observe a cursor with {fields: {_id: 0}}
```
Not really sure when it got introduced, perhaps in Meteor `1.5.1rc5`?

@erik and I had both seen this issue intermittently

* Version 1.4.0

- Release 1.3.1 renamed to 1.4.0 as there as some potential breaking
changes in the new React components (PDP Grid, ReactTables replacement
of Griddle).

* Rename emailTableColumn -> shippoTableColumn (#2564)

* LingoHub based on development (#2566)

* LingoHub Update :rocket:

Manual push by LingoHub User: Aaron Judd.
Project: reaction

Made with :heart: by https://lingohub.com

* LingoHub Update :rocket:

Manual push by LingoHub User: Spencer Norman.
Project: reaction

Made with :heart: by https://lingohub.com

* Longer timeout for circleci to run build.sh (#2565)

* longer timeout for circleci to run build.sh

* update no_output_timeout with unit of time

* Adds inline validation to variant & child variant form (#2531)

* Adds inline validation to form variant form

* remove commented code

* Save data only if form is valid

* move validation to a seperate plugin

* Simplify passing validation object into components

Adds ability to pass an entire validation status object into TextField component, and with a provided name, get the validation messages if available.

* fixed card open / close states

* Add validation to child variant form

* Fixed variable name typo

* Fixed typos on comment

* Fixed broken checkbox update handler

* Fixed top variant card closing on edit of some fields

* Fix issues with validation and other fields

- Changed variant form and child variant forms are now validaded on initial render.
- Changed flash top varient field red if error, green if valid
- Added `fields` object to validationStatus with field validation status and value
- Added helper function to validation status to test field validity

* Remove unused import

* Release 1.4.0 (#2558)

* Removing unnecessary orders/count method

* Adding i18n on Show More button

* Adding optional check on filter in PaginatedOrders publication

* Sending subscription limit as props to React component

* Don't subscribe to all media (#2073)

* Don't subscribe to all media

- Publish brand assets globally in media publication
- Publish product media in the `Products` and `Product` publications
- Limit media to only published products

* De-duplicate fetch product media functionality

Ensure permissions and workflows are checked when fetching the media.

* Update logic of if / else inclusion / exclusion by workflow

* Fix endless spinner issue

* Add requirements to readme

Adds link to requirements docs above installation instructions

* Move requirements below installation

* Remove isHidden check from core startup b/c blocking safari - fixes #2088

* Request versions (reaction -v) output in issue template (#2087)

* Fetch all Shippo carriers (#2078)

* Init second request on after next url returned

* Refactor to fetch carriers recursively from api

* Fix transliteration package to 1.5.2 which doesn’t leak ES6 into bundle

* Fix issue #2026 changed price not displayed for prod on grid page (#2064)

* Fix issue #2016 changed price not displayed for prod on grid page

* Add getVariantQuantity function to ProductRevision

* Convert text field to select field for countries (#2082)

* [WIP] #2070 Fix PDP Url Path For Grid Settings (#2094)

* fix pdp url path for grid settings

* remove commented code

* Remove legacy PDP (#2097)

* Remove revision conditional

* Remove templates

* Set total quantity as actual sum of quantity

* Don't break out order items

* set cartItemId to just _id since they are the same now

* Fix unrelated error with missing import

* Create shipping record

* Don't use cartItemId

* Group lineItems by _id rather than cartItemId

* Use _id rather than cartItemId. Use sum of quantities rather than length

* Restore check for empty items array to fix test

* Change cartItemId to _id

* 2067 Improper Product Title Wrap (#2108)

* fix improper word wrap in product grid

* fix improper product title wrap in firefox

* Fix Avalara document id (#2114)

* Don't pass in a cartID, pass in orderId for SalesInvoice

* Don't try to parse lines unless we know we have it. No lines, no tax.

* Use order.items to display line items

* Update core.js

Changed "admin" to "owner", which is the default user we're really checking for.

* If cartItemId exists from legacy orders, then use those

* Don't create default admin user when running in app test mode

* Fix "Set Custom Value" on Avalara Usage Type (#2107)

* Get correct id value

* Prevent autoform from removing old values

* Roll back. Autoform still resetting to old values

* Prevent autoform from overriding custom val

* show input field for custom; pre-fill with existing custom val

* Adjust comment

* Adjust comment

* Update form reset

* Refactor subscription

* Fixes #2116 failure to send email (#2118)

* Fix parens that were out of place in wrapAsync of Email.verifyConfig

* Revert the wrapAsync function - I didn’t understand how it worked and it wasn’t the core issue

* Don’t set secure to true for port 587

http://stackoverflow.com/a/22468122/1179341 pointed me in the right direction

* Allow customer to move past validation after one pass

* Silencing needless warning

* Add missing imports

* When we get a "GetTax" error, revert to addressbook

* Capture and parse errors

* Fix missing import

* Add import, adjust Proptypes

* Update read only Quantity in top variant #1919 (#2065)

* Update quantity if child variants exist

* Change method not to add inentory Quantity when undefined

* Add default value for inventoryQuantinty

* Fixing non-reactivity of updating quantity field

* 1994 Console Dropzone Warnings (#2138)

* upgrade react-dropzone to latest version

* upgrade react-dropzone to latest version

* Update Summary Card for Order (#2105)

* order summary in react

* Add data to container for order details

* Get badge onto display and container

* Remove unused code clean up UI

* Rearrange fields to match design

* Change id to order id

* Remove gap at the top

* Add printableLabels

* Add address 2 if exists to ordersummary

* Remove all template code move everything into container

* Fix weird capture spinning state

* Creating a "review and fix" address review screen

* Add to Cart Alert Behavior (#2076)

* typo fix

* Fix Cart Alert Behavior

implement re-appearance of alert when add-to-cart is clicked rapidly

Resolves 1445

* migrate cartSubtotals template to react

* remove unused imports

* remove commented code

* migrate cartPanel template to react

* fix linting issue

* migrate cartItems template to React

* finish migrating cartDrawer and checkout popup to React

* remove debugging code

* fix linting issues

* add spinner to checkout alert

* fix linting issues

* update quantity in text on rapid clicks

* refactor cartItem component

* remove unused props

* remove jsx code from container

* implement changes from review

* refactor container method

* fix error in checkout and weird shipping display in cartDrawer

* fix cartItem title

* fadeOut remove-from-cart icon before product is removed from cart

* increase spinner size

* fix spacing and swiper issue

* escape single quote

* replace single quote with HTML entity

* Show highlited diff. Copy over values on click.

* Removing "debug" HTML

* Add "review address" translation

* Basic "review address" flow working

* Remove console.log

* [WIP] 2137 Specify Shippo Version (#2146)

* specify shippo api version in request header

* specify shippo api version in request header

* fix currency formatting in invoice (#2147)

* language dropdown updates (#2148)

* rework allOn / allOff language toggle

kill the ability to “turn off” default language

* files no longer used

new files inside the header folder

* add check to hide languages when less than 2 enabled

* update settings panel to never allow default currency to be disabled

* add check to only show dropdown if more than 1 currency is enabled

* Fix missing import

* Fix import error

* Return to edit and refresh address when you cancel out of review

* Make edit behave the same as add

* Tweak styling

* fix dark-gray background on notification hover state (#2163)

* Cancel Order (#2022)

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Fix Sidebar Context (#1932)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Hide sidebar on entry to profile page

* Remove Inventory subscription that is not in use (#1951)

* Get package data by shopId as well as package name (#1949)

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Updated i18n settings panel (#1947)

* Updated i18n settings panel

- added new package for i18n settings
- converted to react
- added currency list
- added ability to save open state to SettingsCard to user preferences
- added ability to pluck fields in form component to enable concise
forms

* Update currency lists in admin

- Only show enabled currencies in dropdown
- Do not sure updatedAt field

* Added ability to toggle all on or all off for languages and currencies

* Removed unused code

* Updated colors for card toolbar

* fix props to show correct attribute

* fixes z-index issue on select container

* fix language props

* fix prop to show enabled languages only

* Avalara Tax Compliance (#1870)

* Save company object from Avalara API

* Load `appVersion` from package,json at startup. Create global `getAppVersion`

* create avaGet function to pass in extra header info. Add getTaxCodes function

* Extend plugin to also provide tax codes

* Add Test connection option in Avalara admin dashboard

* Send taxCode along with cart/orders

* Capture full tax detail in "taxes" field

* Update Test Credentials to use companyCode API

* Add input field for shipping tax code

* Add provides: taxCodes API to taxcloud

* add itemCode to cart/order payload

* use item id as line number. Pass in correct productId

* Pass in shipping as additional non-taxable (based on taxcode) item

* allow avaPost/avaGet to be used asynchronously

* Add setting to turn off tax calculation separately from disabling the module

* Add the rest of the fields to the form (except validation countries)

* Use correct UID and correct URL for getTaxCode

* Add setup for address validation by country

* Don't commit documents when commit is turned off. Eliminate unneeded functions

* Eliminate async versions of avaGet/avaPost. These should never be called by external module

* Add defaults for new configuration settings. Make shippingTaxCode required

* Make get/post methods use timeout, do some logging.

* Don't do address validation when package is disabled, even when addressvalidation is enabled

* Enable addressValidation by default

* Enable addressValidation by default

* Fix date parameter

* Merge. Fix conflicts.

* Modify auth arg for test credentials setup

* Extend timeout during test credentials call

* Limit address validation country options to US and CA

* Fix returned object for non-validated addresses

* Log Avalara details to custom Avalogger

* Set new defaults

* Add tax settings to account profile page

* Update account find for taxsettings to subscribe

* Only log if logging is enabled

* Write out Avalara requests to Logs collection via Bunyan logger

* Add log retention duration setting

* Add jobs to cleanup logs older than configured setting

* Add logs subscription that totally doesn't work

* Add logs publication

* Get logs and pass into Template

* Add Log-specific wrapper for Griddle

* Show individual log records in detail form

* Refine grid and detail results

* Populate entity codes and plug into taxCalc

* Use new field names confirmed by AvaTax

* Add taxSettings to recordOrder

* Update entity code field key

* removed excess panel wrapper around griddle table

* Add translations

* Show tax settings only if avalara enabled

* Fix import order.

* Setup error handling on Avalara methods

* Add dimensions/tax code to PDP (#1931)

* Edit product's schema file to include product dimensions

* Add product dimensions in variant form

* Edit product's schema and product admin form to include country of origin

* Edit product's schema and product admin form to include tax description

* Edit product's schema and product variant form to include origin country (yet to pre-populate from product's origin country)

* Edit variant form to include list of tax codes

* Refactor listTaxCodes method

* Refactor listTaxCodes method to use template state instead of sessions

* Refactor listTaxCodes method to use template state instead of sessions - template state now works

* Edit taxCodes schema to include more descriptive fields

* Include server method to save tax codes to TaxCodes collection

* (First attempt) saving taxcodes to database

* Successfully fetching taxcodes from database

* Add error block in fetching from db method

* change value of taxcode being saved in product details

* Adding select2 package

* Using select2 to display tax codes in nicer looking select box

* Correcting import order

* Editing required fields in product schema

* Using plain select field to display tax codes

* Remove tax code label; add select2 call in onRendered function instead of onCreated

* Displaying default tax code as selected in select box

* Removing unused meteor package; correcting import order

* Throwing more descriptive meteor error on insertTaxCodes method

* Display simple input box if tax provider is not enabled

* Correct the way we test for validation on address2

* Remove extra panel divs

* Add account ID to account management screen

* Adjust log details for when there is no document type

* Rename files to match style guide

* Use individual taxSettings form each account

* Add check to prevent populating duplicates

* Fix reference to accountschema

* Fix form update to corresponding accounts

* Add unique tax setting by customer to Avalara payload

* Fix exception error on geoCoder call

* Only pass in regions when it's a "country with regions"

* Revert "Only pass in regions when it's a "country with regions""

This reverts commit b8090857183ecf1ee9a8ea01159c4e445c47609f.

* Create a refundReference which is cartId + date

* Ignore line items are not marked taxable

* Move taxDescription down to the variant level and pass if exists

* Move tax settings form into manage sidebar

* Fix tax settings saving bug

* Renamed files to fit style guide

* Don't allow a wide-open Account publication

* Remove unnecessary subscription

* Don't call API if entity codes is already populated

* Simplify logic for returning no results

* Don't select a tax rate but a tax code

* Rename function

* Properly set Avalara countryList defaultValues

* Eliminate extra slash

* Eliminate all extra slashes

* Check to ensure data is returned from API

* Also log errors in Avalogger. Correctly filter for taxable items.

* Require shopId

* linting fixes

* Add label to plain select. Rename method

* JSDoc linting

* Remove unused import

* Remove unused import

* Linting

* Check configuration and throw meaningful errors if not configured properly

* Add level to log so we can filter for errors

* Tweak HTML and styling in settings panel

* Fix i18n and timeout on testCredential

* Log error with error log level

* Moving select2 under community packages

* Adding error checks to taxcodes method

* Skip config check when testing credentials

* Trigger form validation before testcredentials

* Use native methods for assign and each

* Handle error on populating Avalara entity codes

* Add i18n for custom label

* Move i18n entry to appropriate module

* Move exemption settings into avalara module

* Implement i18n for missing fields in PDP

* Fix CircleCI failed tests

* Fix CircleCI failed tests

* Revert "Fix CircleCI failed tests"

This reverts commit 3b238a81dd3e1345d83050b82726a2547c8d2214.

* Revert "Fix CircleCI failed tests"

This reverts commit 66f0f787cdbf0563f14e2121cf35d7f99c525d0a.

* Removing empty selector per CR

* Use import rather than fs to get package.json

* Change per CR

* Restructure Class syntax per CR

* Put back "Custom Packages" header

* Add TODO

* Changing default timeout to 3000 ms

* Correct error name and make error message more specific

* - updated Accounts publication name

- Update Accounts.single to UserAccount

* Fix: Dashboard panel keeps re-opening during checkout (#1956)

* Show sidebar only if shipping is not configured

* Refactor: Show sidebar only if shipping is not configured

* Fix to show sidebar only if payment is not configured

* localize prices in emails (#1957)

* add GetShopCurrency helper

* update cart currency when user changes currency

* update schema to include currency in cart / order

* add userCurrency and exchangeRate to carts orders

* update email templates to display formatted price

* update user emails to use user currency

* Use select box of countries rather than text field for "Origin Country" (#1967)

* Fix 404 when adding handle and then editing a variant before publishing.

* Fixed misspelling in comment

* Remove z-index from dropdown as it creates more issues than it solves

* Moved ColumnData component to its own file. (#1972)

* Prevent hiding of nested tags on mobile (#1971)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Add presentational aspect for invoice

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Add state to the invoice view

* Detail on invoices captured

* Detail on invoices captured

* Add roll over list capability

* Add roll over list capability

* Add single invoice render

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Add data into individual line items

* linting and minor error fixes (#1973)

* remove extra unneeded check for userId

This was causing the Logger error we were seeing

* update import order

* change way of calling userId

* fixed Shops.findOne

* updated variable name

* removed html error code from meteor error

* cart.billing should now be defined to include currency

* setting default currency if shop.currency is unavailable

* update client to match server

* lint fixes

* Avalara error handling (#1968)

* Taxcloud doesn't really support getTaxCodes yet

* Ok, calm down

* Taxcloud doesn't really provide taxCodes yet

* Log Tax code errors to Logs collection rather than throwing a Meteor.Error

* Add missing import

* Use name from namespaced provides rather than name

* Pulling tax codes from TaxCloud

* Configure saving taxcloud taxes to db and displaying them

* Move around UI components

* Move around UI components

* Add total price of line items

* Format pricing to have dollar signs

* Finalize on tax data

* add cancel meteor method for orders

* Iterate on design

* Review tax display

* finish up allowing an admin cancel an order

* add cancel order workflow

* add test for orders

* add test for start and complete cancel order methods

* finish up on cancel order

* remove swal from shippingInvoice file

* solve linting issues

* fix linting issues in orders test

* fix template issues in shippingInvoice html

* create multi-action button

* refactor code based on reviews

* update shippingInvoice.js

* remove unwanted newlines in changed files

* fix eslint errors

* fix multi-action button

* refactor code based on reviews

* refactor buttonSelect

* fix test

* fix indentation issues

* fix indentation issues

* update code based on review

* update code based on reviews

* fix cancel order test

* fix bugs

* add i18nKeyLabel to multi-function button

* turn multi-function dropdown item to button

* refactor button props fr multi-function button

* fix paypal express refund method

* add payment provider payment methods

* fix payment provider refund issues

* complete test for cancel order methods

* remove inline style from translation

* add error handling for failing refunds

* remove unneccessary lines of code

* add error handling

* fix issue based on reviews

* remove shipment panel when order has been canceled

* remove newline

* Adds Reaction method for adding roles to a default role set.

Makes it trivial to create and add roles needed by a plugin to default visitor set
Usage looks like this:
```
import { Reaction, Hooks } from "/server/api";

Hooks.Events.add("afterCoreInit", () => {
  Reaction.addRolesToDefaultRoleSet({
    allShops: true,
    roleSets: ["defaultRoles", "defaultVisitorRole", "defaultSellerRoles"],
    roles: ["stripe-connect-redirect", "test-role33"]
  });
});
```

* Tests for adding default roles

* One more test

* Run all tests instead of just `addDefaultRoles` tests

* Fix for Account Meteor Method tests that relied on Shops not being reset

* [WIP] 2115 Inconsistent Product Image of Cart Item (#2171)

* fix inconsistent cartItem image and productField console error

* fix fetching too many records from media

* fix fetching archived images to client

* fix display variant/product image for item without image

* Order methods test (#2159)

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Fix Sidebar Context (#1932)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Hide sidebar on entry to profile page

* Remove Inventory subscription that is not in use (#1951)

* Get package data by shopId as well as package name (#1949)

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Updated i18n settings panel (#1947)

* Updated i18n settings panel

- added new package for i18n settings
- converted to react
- added currency list
- added ability to save open state to SettingsCard to user preferences
- added ability to pluck fields in form component to enable concise
forms

* Update currency lists in admin

- Only show enabled currencies in dropdown
- Do not sure updatedAt field

* Added ability to toggle all on or all off for languages and currencies

* Removed unused code

* Updated colors for card toolbar

* fix props to show correct attribute

* fixes z-index issue on select container

* fix language props

* fix prop to show enabled languages only

* Avalara Tax Compliance (#1870)

* Save company object from Avalara API

* Load `appVersion` from package,json at startup. Create global `getAppVersion`

* create avaGet function to pass in extra header info. Add getTaxCodes function

* Extend plugin to also provide tax codes

* Add Test connection option in Avalara admin dashboard

* Send taxCode along with cart/orders

* Capture full tax detail in "taxes" field

* Update Test Credentials to use companyCode API

* Add input field for shipping tax code

* Add provides: taxCodes API to taxcloud

* add itemCode to cart/order payload

* use item id as line number. Pass in correct productId

* Pass in shipping as additional non-taxable (based on taxcode) item

* allow avaPost/avaGet to be used asynchronously

* Add setting to turn off tax calculation separately from disabling the module

* Add the rest of the fields to the form (except validation countries)

* Use correct UID and correct URL for getTaxCode

* Add setup for address validation by country

* Don't commit documents when commit is turned off. Eliminate unneeded functions

* Eliminate async versions of avaGet/avaPost. These should never be called by external module

* Add defaults for new configuration settings. Make shippingTaxCode required

* Make get/post methods use timeout, do some logging.

* Don't do address validation when package is disabled, even when addressvalidation is enabled

* Enable addressValidation by default

* Enable addressValidation by default

* Fix date parameter

* Merge. Fix conflicts.

* Modify auth arg for test credentials setup

* Extend timeout during test credentials call

* Limit address validation country options to US and CA

* Fix returned object for non-validated addresses

* Log Avalara details to custom Avalogger

* Set new defaults

* Add tax settings to account profile page

* Update account find for taxsettings to subscribe

* Only log if logging is enabled

* Write out Avalara requests to Logs collection via Bunyan logger

* Add log retention duration setting

* Add jobs to cleanup logs older than configured setting

* Add logs subscription that totally doesn't work

* Add logs publication

* Get logs and pass into Template

* Add Log-specific wrapper for Griddle

* Show individual log records in detail form

* Refine grid and detail results

* Populate entity codes and plug into taxCalc

* Use new field names confirmed by AvaTax

* Add taxSettings to recordOrder

* Update entity code field key

* removed excess panel wrapper around griddle table

* Add translations

* Show tax settings only if avalara enabled

* Fix import order.

* Setup error handling on Avalara methods

* Add dimensions/tax code to PDP (#1931)

* Edit product's schema file to include product dimensions

* Add product dimensions in variant form

* Edit product's schema and product admin form to include country of origin

* Edit product's schema and product admin form to include tax description

* Edit product's schema and product variant form to include origin country (yet to pre-populate from product's origin country)

* Edit variant form to include list of tax codes

* Refactor listTaxCodes method

* Refactor listTaxCodes method to use template state instead of sessions

* Refactor listTaxCodes method to use template state instead of sessions - template state now works

* Edit taxCodes schema to include more descriptive fields

* Include server method to save tax codes to TaxCodes collection

* (First attempt) saving taxcodes to database

* Successfully fetching taxcodes from database

* Add error block in fetching from db method

* change value of taxcode being saved in product details

* Adding select2 package

* Using select2 to display tax codes in nicer looking select box

* Correcting import order

* Editing required fields in product schema

* Using plain select field to display tax codes

* Remove tax code label; add select2 call in onRendered function instead of onCreated

* Displaying default tax code as selected in select box

* Removing unused meteor package; correcting import order

* Throwing more descriptive meteor error on insertTaxCodes method

* Display simple input box if tax provider is not enabled

* Correct the way we test for validation on address2

* Remove extra panel divs

* Add account ID to account management screen

* Adjust log details for when there is no document type

* Rename files to match style guide

* Use individual taxSettings form each account

* Add check to prevent populating duplicates

* Fix reference to accountschema

* Fix form update to corresponding accounts

* Add unique tax setting by customer to Avalara payload

* Fix exception error on geoCoder call

* Only pass in regions when it's a "country with regions"

* Revert "Only pass in regions when it's a "country with regions""

This reverts commit b8090857183ecf1ee9a8ea01159c4e445c47609f.

* Create a refundReference which is cartId + date

* Ignore line items are not marked taxable

* Move taxDescription down to the variant level and pass if exists

* Move tax settings form into manage sidebar

* Fix tax settings saving bug

* Renamed files to fit style guide

* Don't allow a wide-open Account publication

* Remove unnecessary subscription

* Don't call API if entity codes is already populated

* Simplify logic for returning no results

* Don't select a tax rate but a tax code

* Rename function

* Properly set Avalara countryList defaultValues

* Eliminate extra slash

* Eliminate all extra slashes

* Check to ensure data is returned from API

* Also log errors in Avalogger. Correctly filter for taxable items.

* Require shopId

* linting fixes

* Add label to plain select. Rename method

* JSDoc linting

* Remove unused import

* Remove unused import

* Linting

* Check configuration and throw meaningful errors if not configured properly

* Add level to log so we can filter for errors

* Tweak HTML and styling in settings panel

* Fix i18n and timeout on testCredential

* Log error with error log level

* Moving select2 under community packages

* Adding error checks to taxcodes method

* Skip config check when testing credentials

* Trigger form validation before testcredentials

* Use native methods for assign and each

* Handle error on populating Avalara entity codes

* Add i18n for custom label

* Move i18n entry to appropriate module

* Move exemption settings into avalara module

* Implement i18n for missing fields in PDP

* Fix CircleCI failed tests

* Fix CircleCI failed tests

* Revert "Fix CircleCI failed tests"

This reverts commit 3b238a81dd3e1345d83050b82726a2547c8d2214.

* Revert "Fix CircleCI failed tests"

This reverts commit 66f0f787cdbf0563f14e2121cf35d7f99c525d0a.

* Removing empty selector per CR

* Use import rather than fs to get package.json

* Change per CR

* Restructure Class syntax per CR

* Put back "Custom Packages" header

* Add TODO

* Changing default timeout to 3000 ms

* Correct error name and make error message more specific

* - updated Accounts publication name

- Update Accounts.single to UserAccount

* Fix: Dashboard panel keeps re-opening during checkout (#1956)

* Show sidebar only if shipping is not configured

* Refactor: Show sidebar only if shipping is not configured

* Fix to show sidebar only if payment is not configured

* localize prices in emails (#1957)

* add GetShopCurrency helper

* update cart currency when user changes currency

* update schema to include currency in cart / order

* add userCurrency and exchangeRate to carts orders

* update email templates to display formatted price

* update user emails to use user currency

* Use select box of countries rather than text field for "Origin Country" (#1967)

* Fix 404 when adding handle and then editing a variant before publishing.

* Fixed misspelling in comment

* Remove z-index from dropdown as it creates more issues than it solves

* Moved ColumnData component to its own file. (#1972)

* Prevent hiding of nested tags on mobile (#1971)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Add presentational aspect for invoice

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Add state to the invoice view

* Detail on invoices captured

* Detail on invoices captured

* Add roll over list capability

* Add roll over list capability

* Add single invoice render

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Add data into individual line items

* linting and minor error fixes (#1973)

* remove extra unneeded check for userId

This was causing the Logger error we were seeing

* update import order

* change way of calling userId

* fixed Shops.findOne

* updated variable name

* removed html error code from meteor error

* cart.billing should now be defined to include currency

* setting default currency if shop.currency is unavailable

* update client to match server

* lint fixes

* Avalara error handling (#1968)

* Taxcloud doesn't really support getTaxCodes yet

* Ok, calm down

* Taxcloud doesn't really provide taxCodes yet

* Log Tax code errors to Logs collection rather than throwing a Meteor.Error

* Add missing import

* Use name from namespaced provides rather than name

* Pulling tax codes from TaxCloud

* Configure saving taxcloud taxes to db and displaying them

* Move around UI components

* Move around UI components

* Add total price of line items

* Format pricing to have dollar signs

* Finalize on tax data

* add cancel meteor method for orders

* Iterate on design

* Review tax display

* finish up allowing an admin cancel an order

* add cancel order workflow

* add test for orders

* add test for start and complete cancel order methods

* finish up on cancel order

* remove swal from shippingInvoice file

* solve linting issues

* fix linting issues in orders test

* fix template issues in shippingInvoice html

* create multi-action button

* refactor code based on reviews

* update shippingInvoice.js

* remove unwanted newlines in changed files

* fix eslint errors

* fix multi-action button

* refactor code based on reviews

* refactor buttonSelect

* fix test

* fix indentation issues

* fix indentation issues

* update code based on review

* update code based on reviews

* fix cancel order test

* fix bugs

* add i18nKeyLabel to multi-function button

* turn multi-function dropdown item to button

* refactor button props fr multi-function button

* test order methods

* fix paypal express refund method

* add payment provider payment methods

* fix payment provider refund issues

* complete test for cancel order methods

* remove inline style from translation

* add error handling for failing refunds

* remove unneccessary lines of code

* integration test for orders/approvePayment

* test for orders/shipmentDelivered

* add error handling

* write test for sendNotifications

* write more test

* finish writing test for order methods

* update changes based on reviews

* fix typo

* PDP Cleanup - Basic Details Card, Tax Card & Inventory Card (#2086)

* Re…
spencern added a commit that referenced this pull request Jul 27, 2017
* Allow customer to move past validation after one pass

* Silencing needless warning

* Add missing imports

* When we get a "GetTax" error, revert to addressbook

* Capture and parse errors

* Creating a "review and fix" address review screen

* Show highlited diff. Copy over values on click.

* Removing "debug" HTML

* Add "review address" translation

* Basic "review address" flow working

* Remove console.log

* Fix missing import

* Fix import error

* Return to edit and refresh address when you cancel out of review

* Make edit behave the same as add

* Tweak styling

* More and more style changes

* Use proper color variables

* Create proper behaviors

* Fix bad evaluation

* Fix import order

* Add i18n

* Don't throwback a step if tax fails

* Make this more of an "exception" flag

* Adding the license description with link on README (#2365)

* added Nigerian Naira to currency list in (#2366)

private/data/Shops.json

* CollectionFS  cfs:tempstore and cfs:worker to fix concurrency issues with GridFS uploads (#2096)

* added cfs tempstore and worker to fix concurrency issues

* linting

* Correct the way we record tax overrides

* [WIP] Meteor 1.5 (#2371)

* Meteor 1.5

- include Buffer polyfill
- replaces abernix:standard-minifier-js with standard-minifier-js
- properly pins job-collections to 1.4.0

* Updated to 1.5.0 base image

* Pin react-meteor-data to 0.2.9

* Remove unused vars

Cherry pick
https://github.com/reactioncommerce/reaction/pull/2306/commits/b36709c19
e47b25049f90643739df4bcf5210d64

* update to reactioncommerce/base:v2.0.0

* transliteration 1.6.2 (#2389)

- Related to #2090 and #2091
- Reduces minified footprint by315k
- updates client import

* Meteor1.5 and docker updates (#2390)

* fix error handling in CI deploy script

* fix CI build script

* add docker-compose.yml for CircleCI

* install Docker Compose in CI

* set docker/docker-compose versions in CI env

* fix missing curl issue in CI test

* Updated 1.5 packages

* Declare variable (#2401)

* Implement missing router functions (#2393)

* Implement missing router functions

- Implement `Router.setQueryParam()`
- Fix `Router.getRouteName()`

* Fix function name for `setQueryParams`

* Fixes and tests

- Added jest config to package.json
- Added some jest unit tests for Router
- Added mocks for some dependencies
- Fixed route matching in Router.isActiveClassName method

* fix package.json to run tests (#2396)

* Removed comment

* Remove duplicated setQueryParams function

Fixed variable

* 2332 Fix Improper Cart Merge (#2387)

* add test suite to replicate #2332

* fix improper cart merge when user cart has items in anonymous cart already

* update anonymous cart `variants._id` to equal user cart `variants_id`

* fix console error when merging into newly logged in user cart

* implement review

* Change line width to match GH PR review width (#2407)

* Orders updates (#2400)

* add expandable header to summary

* i18n - move keys into local package

* new npm package

* new Badge component

* i18n updates

* badge style updates

* add Badge and clicktocopy to components

* clickToCopy component

* badge component

* i18n updates

* badge and ClicktoCopy components

* add card to summary section of orders

* Merge branch 'ek-orders' into ek-orders-summaryPanel

# Conflicts:
#	package.json

* update orderSummary fields

* fix imports

* ordersList react-ivize

* fix prop validation

* validation fixes for Badge component

* remove no longer used files

* comment out old blaze templates

leaving them here for a bit just to make sure no errors occur

* remove blaze templates

* orders panel LESS

* update workflow loop to remove extra headers

* removed errant test text

* fix translations

* update shrinkwrap

* tests

* simpleschema

* comment killing

* New test for <ClickToCopy />

* lint fixes

* fix

* add more props to Badge test

* refund button coming in phase2

* fix import / console error

* Update random.js

* lint fixes

* use route permissions in register.js files (#2388)

* Milestone 54 / Convert Navbar to React (#2306)

* Navbar dropdowns conversion to React (#2230)

* Implement currencies using Dropdown Menu Component

* Add active prop on list item in Dropdown menu

* Resolve reactivity for currency drop down

* Add language dropdown implementation

* Add select on current selected language

* Remove extra code

* Have language icon div be larger

* Fix pop over arrangement

* Fix spacing, add caret on language dropdown

* Deal with display when switches are pff

* Fix overflow issues on dropdown-menu

* Fix linting

* Close dropdown on menu item click

* Add import for Match

* Convert login views to React (#2250)

* Initial component/container setup for sign in page

* Replicate look of sign in form

* Replicate look of sign up form

* Use composeWithTracker in signInContainer

* Replicate look of forgot password form

* Create parent login container to hold general login for views

* Add switching between views logic

* Set up sign in form submission

* Set up sign up form submission

* Set up forgot password form submission

* Handle sign in action and error message display

* Remove template methods

* Remove template methods and alert message template

* Rewrite renderPasswordErrors method

* Render social buttons on login

* Add social login functionality

* Remove unnecessary blaze templates

* Move functions to React

* Implement sign up functionality

* Merge signin and signup containers

* Put back helper methods needed by other templates

* Abstract loginFormMessaged into react container

* Add forgot password functionality (part1)

* Remove unnecessary component in helper

* Remove forgot password template

* Clean up folder structure

* Solve invariant violation browser error

* updatepasswordOverlay react component/container

* completed updayePasswordOverlay functionality

* Remove stopPropagation function

* Capitalize social login name

* Show loading spinner while processing button clicks

* Solve onClick not working by removing 'event.stopPropagation()' on parent template

* Remove JQuery and use lodash

* Using 'event' instead of 'e' to reference event handlers

* Add validation for no email input on forgot password

* Add error message on social login

* Move capitalize function to helper file

* Move capitalize function to helper file

* [WIP]Main navbar container conversion to React (#2277)

Main navbar container conversion to React

* Convert to react: Tag navigation (#2251)

* Test tagnav component

* Use existing tag component

* Update component setup

* Use existing tagsList container

* Remove debugging

* Edit button

* Use tagItem loop to match styles instead of existing

* Base tagTree init

* Fix structure

* Fix dropdown mouseover event

* Edit conditional

* Base tag editatble

* Button switch fix

* On edit fix

* Selectable button icon

* Enable drop of tagtree by icon

* Init edit mode for tagTree

* Tagtree second level new tag

* Typo fix

* Fix top level width and classes

* Show Base tagList

* Lint clean up

* Remove commented code

* Style fix and show new tag on edit

* i18n

* Init saving top level tags

* Saving tags - cont

* New tag save fix

* Switching to Taglist custom

* Saving top level

* Enable new tag option

* Move class names to base comp

* Style on create new tag item

* Fix Hover back

* Move file

* Tag select prop

* Rename files

* Fix save and delete

* Reorder element wrapper

* Init passing the functions down

* Init editing new tag item on tree

* Separate the two new tagItems

* Adding new tags on tree + refactor 🎉

* Fix delete on subtags

* Reset form after save and prevent saving empty tags

* Prevent close of tree after save

* Restructure tree state to fix input

* Init refactor on tagTree

* Props setup after refactor

* Reposition button

* Autocompletion fixing

* Add componentWillReceiveProps to fix re-render and reset

* Refactor into container comp

* Remove debugs

* Use composewithTracker

* Remove props with spread

* Update props list

* Fix logic breaking new tag style

* Tag sort order after drag

* Clean un-used vars

* Add react tagNav to main navbar container

* Fix lint issue

* Init toggle visibility

* Close tags with overlay

* Remove JQuery references(part 1)

* Add router.go for tag click

* Mobile fixes and remove blaze files

* Fix click on mobile

* Remove jquery

* Remove jquery .closest

* UI tagnav classes update

* Fixes

* Fix undefined refs after merge with development

* Remove unused vars

* Editing should turn off on toggle

* Use Translation component over data-i18n

* Fix Brand name glitch

* Prefer standalone PropTypes import over React.PropTypes

* Inport i18next and Reaction in same line

* Space at end of self-closing tag

* One-lining imports

* Place '&nbsp' inside span for less random-looking code

* Add comment about style

* Use Divider component as separator

* import order

* remove duplicate babel preset packages

* Updated yarn.lock and removed npm-shrinkwrap.json

I’ll try to add back in the release branch, but something funky is
going on with shrink-wrap

* Admin should be able to invite a user with the same name (#2386)

* turn the user name to lowercase

* turn the user name to a lowercase string with a random number e.g michael-alade49

* add custom name field to users and accounts schema

* create new env var for setting default admin’s name

* publish new name field for users

* remove unnecessary typeof check for Reaction var

* switch priority for user’s displayName source

* remove redundant email update and only add user’s name if exists

* Update version

* switch to Reaction’s new fork of Nodemailer (#2427)

* Added module aliases (#2436)

* Added module aliases

- Added module alias for `core/ui`
- Added module alias for `core/router`

* Revert jest module name mapper

* fix tests

- Fixed duplicated mocks warning
- added some new mocks
- fix translaton component test

* LingoHub Update :rocket: (#2420)

Manual push by LingoHub User: Aaron Judd.
Project: reaction

Made with :heart: by https://lingohub.com

* Add css style to differentiate read from unread notifications (#2442)

* Remove acceptance tests (#2430)

* Remove non-working tests

* Remove unneeded dependencies

* Fixed console error when dragging product images (#2443)

* Add closeOnClick option to DropDownMenu component (#2418)

* Add closeOnClick option to DropDownMenu component

* Fix lint issue - move handleDropdownToggle after componentWillReceiveProps

* add missing "orders not found" text (#2424)

* Updated chai package

- tested with reaction test, tests seemed to work normal

* Bunyan and Loggly updates (#2425)

* switch to official Loggly lib for Node and write new Bunyan connector for it

* update bunyan to 2.0.0

* add REACTION_LOG_FORMAT config option

* add extra comments about log formatting options

* refactor default admin user creation (#2453)

* update memory usage in CircleCI build (#2462)

* Navbar hover issue (#2451)

* added default hover style for languages and currencies class #2444

* added accounts css class to div in mainDropdownContainer #2444

* added hover styles for account class #2444

* added hover style for notification class #2444

* set css property overflow on horizontal to hidden (#2458)

* [WIP] 2452 fix on UI icon toolbar (#2460)

2452 fix on UI icon toolbar

* [WIP] 2356 fix on tag menu-sidebar glitch (#2472)

Fix on tag menu-sidebar glitch

* update media gallery new / deleted image indicators (#2469)

* add new status for mediaGalleryIndicator

* i18n translations for tooltips

* status-badge styles for media gallery

* update media gallery image new / deleted indicator

* style updates

* lint fix

* Remove random regex checks on names. Fixes #2461 (#2471)

* remove older Blaze based launchdock plugin (#2467)

* 2459 router range error fix (#2476)

* simple fix

* fix typo & linting

* fix linting issues

* 2422 Fix on email invite link leading to blank screen (#2437)

* imported LoginFormValidation to forgotContainer

* imported LoginFormValidation to passwordOverlayContainer

* added setTimeout function to delay rendering

* wrap component in translations (#2434)

* removed setTimeouts from updatePassword.js

* added spinner before mounting the component

* replaced setTimeout with life-cycle hook(componentWillRecieveProps) #2422

* imported LoginFormValidation to prevent console error

* Update current user's name on Navbar and profile page when address is added. (#2455)

* Update current user's name and profile when address is added

* Update user's name when address is updated

* Get correct admin user's name from env variables

* Updated dependencies (#2463)

* Move babelrc into package.json

* Updated dependencies

* Define missing options variable

* Revert minifier to abernix fork (#2486)

* Use abernix:standard-minifier-js

Replace standard-minifier-js with
abernix:standard-minifier-js@2.1.0-beta.0

This should be compatible with current 1.5 tools, and is what we were
using before 1.5, because of the faster compilation and reduced memory
footprint.  Restoring in an attempt to diagnose build issues related to
memory.

* updated meteor package versions

* Release 1.3.0 (#2417)

## Features

-   **Meteor 1.5 (#2371)**
-   **Order fulfillment UI updates (#2400)**
-   **React Router updated (#2123)**
-   **React Navbar (and deprecated Blaze navbar) (#2306)**
-   **Re-introduce icon toolbar as shortcutBar (#2261)**
-   **React unit testing example (#2170)**
-   **[WIP] [Style guide](https://styleguide.reactioncommerce.com)**

## Changes / Fixes
- __Update current user&#39;s name on Navbar and profile page when address is added. (#2455)__
- __Fix #2422 on email invite link leading to blank screen (#2437)__
- __Fix #2459 router range error fix (#2476)__
- __Remove older Blaze based launchdock plugin (#2467)__
- __Remove random regex checks on names. Fixes #2461 (#2471)__
- __Update media gallery new / deleted image indicators (#2469)__
- __Fix #2356 on tag menu-sidebar glitch (#2472)__
- __Fix #2452 on UI icon toolbar (#2460)__
- __set css property overflow on horizontal to hidden (#2458)__
- __Navbar hover issue (#2451)__
- __update memory usage in CircleCI build (#2462)__
- __refactor default admin user creation (#2453)__
- __Bunyan and Loggly updates (#2425)__
- __Updated chai package__
- __add missing &#34;orders not found&#34; text (#2424)__
- __Add closeOnClick option to DropDownMenu component (#2418)__
-   **Fixed console error when dragging product images (#2443)**
-   **Remove unmaintained Browserstack acceptance tests (#2430)**
-   **Add css style to differentiate read from unread notifications (#2442)**
-   **Added module aliases @reactioncommerce/reaction-ui (#2436)**
-   **Switch to Reaction’s new fork of Nodemailer (#2427)**
-   **Admin should be able to invite a user with the same name (#2386)**
-   **Updated yarn.lock and removed npm-shrinkwrap.json**
-   **use route permissions in register.js files (#2388)**
-   **Updated, refreshed order/fulfillment UI (#2400)**
-   **Change line width to match GH PR review width (#2407)**
-   **Fix Improper Cart Merge (#2387)**
-   **Implement missing router functions (#2393)**
-   **Correct the way we record tax overrides**
-   **CollectionFS  cfs:tempstore and cfs:worker to Fix concurrency issues with GridFS uploads (#2096)**
-   **Fix typo in inventory test description (#2364)**
-   **Added Nigerian Naira to currency list in (#2366)**
-   **Fix git tagging on CircleCI 2.0 (#2362)**
-   **Adding the license description with link on README (#2365)**
-   **Better handling for unique routes for React Router (#2327)**
-   **Don't throwback a step if tax fails**
-   **Updated UI colors for styleguide (#2339)**
-   **Add loading component to Fix error (#2340)**
-   **Allow a MAIL_URL string without auth (#2330)**
-   **Defer Fixture load until the default shop is loaded (#2329)**
-   **Fix conditional in Circle deploy script (#2338)**
-   **Fix refunds not showing (#2317)**
-   **Add Verification Url to Welcome Email (#2216)**
-   **CircleCI 2.0 and docker base update (#2334)**
-   **i18n translation updates (#2302 #2420)**
-   **Change customer notification message when order is processed. (#2290)**
-   **Allow loader to show when one is passed in and defined BUGFIX (#2303)**
-   **Add the Vietnamese Dong as a supported currency (#2248)**
-   **Updated shipping / payment error messages in checkout (#2271)**
-   **Fix #2203 Long Strings Handling in Product Option Title (#2266)**
-   **Simplify core layout component (#2257)**
-   **Fix multiple refunds for stripe (#2260)**

* Fix error when inviting already invited user (#2433)

* Refactor invite function to send invites only to non invited members

* Refactor error message to show status code

* Change the error message to use inline Alert

* Clear input fields when there is error

* Use Reaction's blaze inlineAlerts for error message

* Eliminate console error on inviteShopMember call

* Updated timeout time. (#2492)

* Updated timeout time.

* don't autohide

This should not autohide, the error should display until a user resubmits with a new email address. If the error is hidden, they might not see it right away and miss it. This is a blocking error for this field so it should stay until resolved.

* Fixed product images not displaying on order completed page (#2490)

* Fix hard refresh on clicking tag link on product detail page (#2489)

* Provide tag component with missing click function

* Remove hard refresh on PDP link in Grid settings

* Remove redundant risul:moment-timezone (#2491)

* Fix ESLint4 errors correct eslint config errors (#2450)

* Properly nest ecmafeatures

* Fix indentation errors

* Change Proptype

* Use react-create-class until Erik finishes upgrading Griddle

* Add back in missing PropType imports

* More missing PropType imports

* Replcae `reaction-create-class` with `create-react-class`

* Add rule for un-undef

* Add missing `PropTypes` imports that ESLint is finally finding

* Add missing imports

* Ignore missing imports for Mocha

* Add missing imports

* Add missing imports

* remove import

* add in missing imports

* add in missing imports

* enforce react/jsx-indent linting

* Adding missing imports

* Missing Gravatar imports

* Remove unused helper

* Add in mocks to fix React tests

* Missing import

* Fix missing domain variable

* Change comment to reflect new version

* Adding local versions of `loadMoreProducts`

* Replacing Meteor package with npm package

* Correct use of amplify-store

* Remove call to missing function setCurrentProduct

* Ignoring these last few globals

* Fix missing lodash import

* Remove duplicate import

* Remove jsx indent rule that's causing files to fail incorrectly

* New SortableTable component to replace MeteorGriddle (#2416)

* rename TacoTable to Legacy

* upgrade griddle NPM

* rename MeteorGriddle to SortableTable

* break up sortable table from sortabletablelegacy (TacoTable)

* merge

* change object key names to use with react-table instead of griddle

* kill griddle, add react-table

* remove useGriddleStyles prop

* remove testData

* sortableTable updates

* sortableTable Styles

* remove old ui-grid, move into components sortableTable

* update size of Templates dashboard for better usability

* ridding the wrapper of old Griddle info

* more props passed to wrapper

* fixes for email table

* update Email table to use ReactTable

* email table convert to ReactTable

* custom pagination component for React-Table

* update Avalara to use ReactTable

* add spacing below tables

* remove leftover console.logs

* lint fixes

* lint fix

* query prop validation

* pagination updates

* componetize pagination

* move emailconfig css to LESS file

* style updates for sortableTable

* update translations

* custom full-table filter for ReactTable

* custom full table filter

* new match-sorter package for custom filter

* add translations for default table text

* translations

* kill translations for the moment, something is acting up

* add catch for error when no data is available

* various fixes

* fix shippo status

* Shippo table update

* lint fixes

* lint fixes

* remove log

* lint fix

* Fix linting problems introduced in new SortableTable (#2505)

* Show proper error messages when Stripe payments fail (#2499)

* Don't display random error messages to client

* Debugging upstream message flow

* Normalize/sanitize error so you can just show the error from the server to the client

* Remove logger statement

* Handle Match failures

* removing extra logging

* Fix tests

* Fix missing reference (#2507)

* Default to using shop country code or GeoIP result for new addresses (#2515)

* For new address default to using shop’s country code if it exists.

* use GeoIP to determine user’s country and set it in address form

* Add Tunisian Dinar currency (#2517)

* Add Tunisian Dinar currency

* Add entry in second shop (TND)

* Fix issue dragging images in PDP when settings drawer is open (#2506)

* Fix condition that enables images to be displayed to product grid

* Fix main image upload handler to upload main product image

* Fix send sms method to read settings of shop and buyer userId (#2508)

* Fix Errors importing exported product data  (#2513)

* remove _id fields from documents to be imported

* Use _id to look up product before updating

* Refactor product import callback

* Refactor import method to avoid single-line if statement

* Convert product grid to React: Milestone 57 (#2402)

* Add search input field

* React component boilerplate

* Render products with pdpPath

* Add class names to li

* Render visible class name and overlay

* Render media

* React alerts/content component boilerplate

* Remove unnecesarry div wrapper in prodict grid component

* Grid content

* Grid notices

* Grid controls (part 1)

* Grid controls (part 2)

* Remove grid control templates

* Add in functionality for modal

* Init product grid

* Products sub setup

* Use product object as props from productGrid component

* Refactor grid layout

* handleSelectProductItem handler on grid container

* Remove item and content templates

* Include itemSelectHandler in grid controls

* Add some more functions

* Handle product double click

* Handle product click of non-admins

* Init drag drop

* Add index to drag; and udpate call

* Update state indexes after drag release

* make method call after drag state change

* Fix css issue

* Enable drag based on permission

* Handle product click of admins(part 1)

* Use standalone PropTypes import over React.PropTypes

* Add componentDidMount and componentWillUnmount conditions to item container

* Subscription working right

* Handle product click of admins(part 2)

* Save products in state

* Add product grid to search grid

* Fix product display/click in search modal

* Handle product click of admins(part 3)

* Add order and account tables onto search

* Fix broken product drag & drop

* Display accounts and order tables using React

* Remove tag results when order/account search

* Add onRowClick for orders and accounts

* Change folder structure and add unMount

* Remove logs

* Replace unmountComponentAtNode with prop change

* Close modal working well

* Add proptypes

* Display products

* Fix import order

* Handle load more products

* Add permissions to search tabs

* Fix setState error

* Fix hover-over-preview on search, add it to default product-grid

* render loadMoreProducts button

* Fix search result onClick close modal

* Add active classes on tags

* Remove unused code

* Remove import on index

* Move react components/containers out of client folder into lib folder

* Move react components/containers out of lib folder

* Remove jquery

* Remove product hover over in grid

* Product search click of non-admins

* Use Translation component over data-i18n

* Fix error o searchorders

* Fix broken loadMoreProducts button

* Remove product hover over in grid: less file

* Remove infinite scroll on product grid

* Tweek orders search

* Remove logs

* Fix Bithound issues

* update state with new data when available

* update table to use SortableTableLegacy

* Fix switch of accounts on search

* Remove bnd

* Add on rowclick function to sortTableLegacy

* Fix bitHound failing file issue

* Add esc functionality on search

* Persist searchQuery on search re-open

* Set initialLoad state to false to avoid reload of all the product grid data on loadMoreProducts click (yet to fix setState error)

* Set initialLoad state to false on loadMoreProducts button click; fixes setState error on console

* Fix scroll in Search Modal when products go longer than the page

* Remove unnecessary function usage

* Fix import order

* Use Array.isArray over lodash

* Import $ from meteor/jquery

* Remove unnecessary variables

* Refactor repeated code into common function

* Correct error throwing

* update import alias

* use import alias

* use import alias

* use import alias

* use import alias

* update import order

* update import order

* import order

* Fix for no scrollbar in Dashboard (#2511)

* Add ability to scroll on dashbord

* Add scrolling to vertical toolbar only

* Hide horizontal scrollbar

* Fix for issue #1993 (#2518)

* Fix for #1993

* Fix linter errors.

* Cleanup.

* Fix unable to open fulfill order action view (#2530)

* Fix hard refresh when clicking View All notifications

* Fix click action for rendering orders on dashboard

* Add click handler to render action panel

* Fix Exception in delivering result of invoking 'email/verifySettings' (#2512)

* Only verify email settings when saving settings

* Move server method call to container component

* Fix import order

* update Docker base to v2.0.2 (#2537)

* Fix order action button reverting status to processing (#2541)

* correct order action workflow change

* always update selected order

* Update eslint to v4 (#2542)

* Update Eslint

* Auto-fix eslint errors

* fix 2547: vertically-center navbar link using @navbar-height height variable instead of percentage height (#2551)

* Fix issue 2535. Transliteration in Safari/IE (#2553)

* Use official Reaction fork

* Go back to standard import

* Provide sort parameter to Products subscription and remove duplicate sorting of products (#2552)

* Fix LoadMoreProducts button not working as it should (#2554)

* Apply limit to  products publication selector for admin users

* Get correct top level products from publications

* Set correct scroll check to load more products

* Version 1.3.1

* Meteor 1.5.1

* Fix You may not observe cursor with fields _id: 0 (#2555)

Fixes console error
```
Error: You may not observe a cursor with {fields: {_id: 0}}
```
Not really sure when it got introduced, perhaps in Meteor `1.5.1rc5`?

@erik and I had both seen this issue intermittently

* Version 1.4.0

- Release 1.3.1 renamed to 1.4.0 as there as some potential breaking
changes in the new React components (PDP Grid, ReactTables replacement
of Griddle).

* Rename emailTableColumn -> shippoTableColumn (#2564)

* LingoHub based on development (#2566)

* LingoHub Update :rocket:

Manual push by LingoHub User: Aaron Judd.
Project: reaction

Made with :heart: by https://lingohub.com

* LingoHub Update :rocket:

Manual push by LingoHub User: Spencer Norman.
Project: reaction

Made with :heart: by https://lingohub.com

* Longer timeout for circleci to run build.sh (#2565)

* longer timeout for circleci to run build.sh

* update no_output_timeout with unit of time

* Adds inline validation to variant & child variant form (#2531)

* Adds inline validation to form variant form

* remove commented code

* Save data only if form is valid

* move validation to a seperate plugin

* Simplify passing validation object into components

Adds ability to pass an entire validation status object into TextField component, and with a provided name, get the validation messages if available.

* fixed card open / close states

* Add validation to child variant form

* Fixed variable name typo

* Fixed typos on comment

* Fixed broken checkbox update handler

* Fixed top variant card closing on edit of some fields

* Fix issues with validation and other fields

- Changed variant form and child variant forms are now validaded on initial render.
- Changed flash top varient field red if error, green if valid
- Added `fields` object to validationStatus with field validation status and value
- Added helper function to validation status to test field validity

* Remove unused import

* Release 1.4.0 (#2558)

* Removing unnecessary orders/count method

* Adding i18n on Show More button

* Adding optional check on filter in PaginatedOrders publication

* Sending subscription limit as props to React component

* Don't subscribe to all media (#2073)

* Don't subscribe to all media

- Publish brand assets globally in media publication
- Publish product media in the `Products` and `Product` publications
- Limit media to only published products

* De-duplicate fetch product media functionality

Ensure permissions and workflows are checked when fetching the media.

* Update logic of if / else inclusion / exclusion by workflow

* Fix endless spinner issue

* Add requirements to readme

Adds link to requirements docs above installation instructions

* Move requirements below installation

* Remove isHidden check from core startup b/c blocking safari - fixes #2088

* Request versions (reaction -v) output in issue template (#2087)

* Fetch all Shippo carriers (#2078)

* Init second request on after next url returned

* Refactor to fetch carriers recursively from api

* Fix transliteration package to 1.5.2 which doesn’t leak ES6 into bundle

* Fix issue #2026 changed price not displayed for prod on grid page (#2064)

* Fix issue #2016 changed price not displayed for prod on grid page

* Add getVariantQuantity function to ProductRevision

* Convert text field to select field for countries (#2082)

* [WIP] #2070 Fix PDP Url Path For Grid Settings (#2094)

* fix pdp url path for grid settings

* remove commented code

* Remove legacy PDP (#2097)

* Remove revision conditional

* Remove templates

* Set total quantity as actual sum of quantity

* Don't break out order items

* set cartItemId to just _id since they are the same now

* Fix unrelated error with missing import

* Create shipping record

* Don't use cartItemId

* Group lineItems by _id rather than cartItemId

* Use _id rather than cartItemId. Use sum of quantities rather than length

* Restore check for empty items array to fix test

* Change cartItemId to _id

* 2067 Improper Product Title Wrap (#2108)

* fix improper word wrap in product grid

* fix improper product title wrap in firefox

* Fix Avalara document id (#2114)

* Don't pass in a cartID, pass in orderId for SalesInvoice

* Don't try to parse lines unless we know we have it. No lines, no tax.

* Use order.items to display line items

* Update core.js

Changed "admin" to "owner", which is the default user we're really checking for.

* If cartItemId exists from legacy orders, then use those

* Don't create default admin user when running in app test mode

* Fix "Set Custom Value" on Avalara Usage Type (#2107)

* Get correct id value

* Prevent autoform from removing old values

* Roll back. Autoform still resetting to old values

* Prevent autoform from overriding custom val

* show input field for custom; pre-fill with existing custom val

* Adjust comment

* Adjust comment

* Update form reset

* Refactor subscription

* Fixes #2116 failure to send email (#2118)

* Fix parens that were out of place in wrapAsync of Email.verifyConfig

* Revert the wrapAsync function - I didn’t understand how it worked and it wasn’t the core issue

* Don’t set secure to true for port 587

http://stackoverflow.com/a/22468122/1179341 pointed me in the right direction

* Allow customer to move past validation after one pass

* Silencing needless warning

* Add missing imports

* When we get a "GetTax" error, revert to addressbook

* Capture and parse errors

* Fix missing import

* Add import, adjust Proptypes

* Update read only Quantity in top variant #1919 (#2065)

* Update quantity if child variants exist

* Change method not to add inentory Quantity when undefined

* Add default value for inventoryQuantinty

* Fixing non-reactivity of updating quantity field

* 1994 Console Dropzone Warnings (#2138)

* upgrade react-dropzone to latest version

* upgrade react-dropzone to latest version

* Update Summary Card for Order (#2105)

* order summary in react

* Add data to container for order details

* Get badge onto display and container

* Remove unused code clean up UI

* Rearrange fields to match design

* Change id to order id

* Remove gap at the top

* Add printableLabels

* Add address 2 if exists to ordersummary

* Remove all template code move everything into container

* Fix weird capture spinning state

* Creating a "review and fix" address review screen

* Add to Cart Alert Behavior (#2076)

* typo fix

* Fix Cart Alert Behavior

implement re-appearance of alert when add-to-cart is clicked rapidly

Resolves 1445

* migrate cartSubtotals template to react

* remove unused imports

* remove commented code

* migrate cartPanel template to react

* fix linting issue

* migrate cartItems template to React

* finish migrating cartDrawer and checkout popup to React

* remove debugging code

* fix linting issues

* add spinner to checkout alert

* fix linting issues

* update quantity in text on rapid clicks

* refactor cartItem component

* remove unused props

* remove jsx code from container

* implement changes from review

* refactor container method

* fix error in checkout and weird shipping display in cartDrawer

* fix cartItem title

* fadeOut remove-from-cart icon before product is removed from cart

* increase spinner size

* fix spacing and swiper issue

* escape single quote

* replace single quote with HTML entity

* Show highlited diff. Copy over values on click.

* Removing "debug" HTML

* Add "review address" translation

* Basic "review address" flow working

* Remove console.log

* [WIP] 2137 Specify Shippo Version (#2146)

* specify shippo api version in request header

* specify shippo api version in request header

* fix currency formatting in invoice (#2147)

* language dropdown updates (#2148)

* rework allOn / allOff language toggle

kill the ability to “turn off” default language

* files no longer used

new files inside the header folder

* add check to hide languages when less than 2 enabled

* update settings panel to never allow default currency to be disabled

* add check to only show dropdown if more than 1 currency is enabled

* Fix missing import

* Fix import error

* Return to edit and refresh address when you cancel out of review

* Make edit behave the same as add

* Tweak styling

* fix dark-gray background on notification hover state (#2163)

* Cancel Order (#2022)

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Fix Sidebar Context (#1932)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Hide sidebar on entry to profile page

* Remove Inventory subscription that is not in use (#1951)

* Get package data by shopId as well as package name (#1949)

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Updated i18n settings panel (#1947)

* Updated i18n settings panel

- added new package for i18n settings
- converted to react
- added currency list
- added ability to save open state to SettingsCard to user preferences
- added ability to pluck fields in form component to enable concise
forms

* Update currency lists in admin

- Only show enabled currencies in dropdown
- Do not sure updatedAt field

* Added ability to toggle all on or all off for languages and currencies

* Removed unused code

* Updated colors for card toolbar

* fix props to show correct attribute

* fixes z-index issue on select container

* fix language props

* fix prop to show enabled languages only

* Avalara Tax Compliance (#1870)

* Save company object from Avalara API

* Load `appVersion` from package,json at startup. Create global `getAppVersion`

* create avaGet function to pass in extra header info. Add getTaxCodes function

* Extend plugin to also provide tax codes

* Add Test connection option in Avalara admin dashboard

* Send taxCode along with cart/orders

* Capture full tax detail in "taxes" field

* Update Test Credentials to use companyCode API

* Add input field for shipping tax code

* Add provides: taxCodes API to taxcloud

* add itemCode to cart/order payload

* use item id as line number. Pass in correct productId

* Pass in shipping as additional non-taxable (based on taxcode) item

* allow avaPost/avaGet to be used asynchronously

* Add setting to turn off tax calculation separately from disabling the module

* Add the rest of the fields to the form (except validation countries)

* Use correct UID and correct URL for getTaxCode

* Add setup for address validation by country

* Don't commit documents when commit is turned off. Eliminate unneeded functions

* Eliminate async versions of avaGet/avaPost. These should never be called by external module

* Add defaults for new configuration settings. Make shippingTaxCode required

* Make get/post methods use timeout, do some logging.

* Don't do address validation when package is disabled, even when addressvalidation is enabled

* Enable addressValidation by default

* Enable addressValidation by default

* Fix date parameter

* Merge. Fix conflicts.

* Modify auth arg for test credentials setup

* Extend timeout during test credentials call

* Limit address validation country options to US and CA

* Fix returned object for non-validated addresses

* Log Avalara details to custom Avalogger

* Set new defaults

* Add tax settings to account profile page

* Update account find for taxsettings to subscribe

* Only log if logging is enabled

* Write out Avalara requests to Logs collection via Bunyan logger

* Add log retention duration setting

* Add jobs to cleanup logs older than configured setting

* Add logs subscription that totally doesn't work

* Add logs publication

* Get logs and pass into Template

* Add Log-specific wrapper for Griddle

* Show individual log records in detail form

* Refine grid and detail results

* Populate entity codes and plug into taxCalc

* Use new field names confirmed by AvaTax

* Add taxSettings to recordOrder

* Update entity code field key

* removed excess panel wrapper around griddle table

* Add translations

* Show tax settings only if avalara enabled

* Fix import order.

* Setup error handling on Avalara methods

* Add dimensions/tax code to PDP (#1931)

* Edit product's schema file to include product dimensions

* Add product dimensions in variant form

* Edit product's schema and product admin form to include country of origin

* Edit product's schema and product admin form to include tax description

* Edit product's schema and product variant form to include origin country (yet to pre-populate from product's origin country)

* Edit variant form to include list of tax codes

* Refactor listTaxCodes method

* Refactor listTaxCodes method to use template state instead of sessions

* Refactor listTaxCodes method to use template state instead of sessions - template state now works

* Edit taxCodes schema to include more descriptive fields

* Include server method to save tax codes to TaxCodes collection

* (First attempt) saving taxcodes to database

* Successfully fetching taxcodes from database

* Add error block in fetching from db method

* change value of taxcode being saved in product details

* Adding select2 package

* Using select2 to display tax codes in nicer looking select box

* Correcting import order

* Editing required fields in product schema

* Using plain select field to display tax codes

* Remove tax code label; add select2 call in onRendered function instead of onCreated

* Displaying default tax code as selected in select box

* Removing unused meteor package; correcting import order

* Throwing more descriptive meteor error on insertTaxCodes method

* Display simple input box if tax provider is not enabled

* Correct the way we test for validation on address2

* Remove extra panel divs

* Add account ID to account management screen

* Adjust log details for when there is no document type

* Rename files to match style guide

* Use individual taxSettings form each account

* Add check to prevent populating duplicates

* Fix reference to accountschema

* Fix form update to corresponding accounts

* Add unique tax setting by customer to Avalara payload

* Fix exception error on geoCoder call

* Only pass in regions when it's a "country with regions"

* Revert "Only pass in regions when it's a "country with regions""

This reverts commit b8090857183ecf1ee9a8ea01159c4e445c47609f.

* Create a refundReference which is cartId + date

* Ignore line items are not marked taxable

* Move taxDescription down to the variant level and pass if exists

* Move tax settings form into manage sidebar

* Fix tax settings saving bug

* Renamed files to fit style guide

* Don't allow a wide-open Account publication

* Remove unnecessary subscription

* Don't call API if entity codes is already populated

* Simplify logic for returning no results

* Don't select a tax rate but a tax code

* Rename function

* Properly set Avalara countryList defaultValues

* Eliminate extra slash

* Eliminate all extra slashes

* Check to ensure data is returned from API

* Also log errors in Avalogger. Correctly filter for taxable items.

* Require shopId

* linting fixes

* Add label to plain select. Rename method

* JSDoc linting

* Remove unused import

* Remove unused import

* Linting

* Check configuration and throw meaningful errors if not configured properly

* Add level to log so we can filter for errors

* Tweak HTML and styling in settings panel

* Fix i18n and timeout on testCredential

* Log error with error log level

* Moving select2 under community packages

* Adding error checks to taxcodes method

* Skip config check when testing credentials

* Trigger form validation before testcredentials

* Use native methods for assign and each

* Handle error on populating Avalara entity codes

* Add i18n for custom label

* Move i18n entry to appropriate module

* Move exemption settings into avalara module

* Implement i18n for missing fields in PDP

* Fix CircleCI failed tests

* Fix CircleCI failed tests

* Revert "Fix CircleCI failed tests"

This reverts commit 3b238a81dd3e1345d83050b82726a2547c8d2214.

* Revert "Fix CircleCI failed tests"

This reverts commit 66f0f787cdbf0563f14e2121cf35d7f99c525d0a.

* Removing empty selector per CR

* Use import rather than fs to get package.json

* Change per CR

* Restructure Class syntax per CR

* Put back "Custom Packages" header

* Add TODO

* Changing default timeout to 3000 ms

* Correct error name and make error message more specific

* - updated Accounts publication name

- Update Accounts.single to UserAccount

* Fix: Dashboard panel keeps re-opening during checkout (#1956)

* Show sidebar only if shipping is not configured

* Refactor: Show sidebar only if shipping is not configured

* Fix to show sidebar only if payment is not configured

* localize prices in emails (#1957)

* add GetShopCurrency helper

* update cart currency when user changes currency

* update schema to include currency in cart / order

* add userCurrency and exchangeRate to carts orders

* update email templates to display formatted price

* update user emails to use user currency

* Use select box of countries rather than text field for "Origin Country" (#1967)

* Fix 404 when adding handle and then editing a variant before publishing.

* Fixed misspelling in comment

* Remove z-index from dropdown as it creates more issues than it solves

* Moved ColumnData component to its own file. (#1972)

* Prevent hiding of nested tags on mobile (#1971)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Add presentational aspect for invoice

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Add state to the invoice view

* Detail on invoices captured

* Detail on invoices captured

* Add roll over list capability

* Add roll over list capability

* Add single invoice render

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Add data into individual line items

* linting and minor error fixes (#1973)

* remove extra unneeded check for userId

This was causing the Logger error we were seeing

* update import order

* change way of calling userId

* fixed Shops.findOne

* updated variable name

* removed html error code from meteor error

* cart.billing should now be defined to include currency

* setting default currency if shop.currency is unavailable

* update client to match server

* lint fixes

* Avalara error handling (#1968)

* Taxcloud doesn't really support getTaxCodes yet

* Ok, calm down

* Taxcloud doesn't really provide taxCodes yet

* Log Tax code errors to Logs collection rather than throwing a Meteor.Error

* Add missing import

* Use name from namespaced provides rather than name

* Pulling tax codes from TaxCloud

* Configure saving taxcloud taxes to db and displaying them

* Move around UI components

* Move around UI components

* Add total price of line items

* Format pricing to have dollar signs

* Finalize on tax data

* add cancel meteor method for orders

* Iterate on design

* Review tax display

* finish up allowing an admin cancel an order

* add cancel order workflow

* add test for orders

* add test for start and complete cancel order methods

* finish up on cancel order

* remove swal from shippingInvoice file

* solve linting issues

* fix linting issues in orders test

* fix template issues in shippingInvoice html

* create multi-action button

* refactor code based on reviews

* update shippingInvoice.js

* remove unwanted newlines in changed files

* fix eslint errors

* fix multi-action button

* refactor code based on reviews

* refactor buttonSelect

* fix test

* fix indentation issues

* fix indentation issues

* update code based on review

* update code based on reviews

* fix cancel order test

* fix bugs

* add i18nKeyLabel to multi-function button

* turn multi-function dropdown item to button

* refactor button props fr multi-function button

* fix paypal express refund method

* add payment provider payment methods

* fix payment provider refund issues

* complete test for cancel order methods

* remove inline style from translation

* add error handling for failing refunds

* remove unneccessary lines of code

* add error handling

* fix issue based on reviews

* remove shipment panel when order has been canceled

* remove newline

* Adds Reaction method for adding roles to a default role set.

Makes it trivial to create and add roles needed by a plugin to default visitor set
Usage looks like this:
```
import { Reaction, Hooks } from "/server/api";

Hooks.Events.add("afterCoreInit", () => {
  Reaction.addRolesToDefaultRoleSet({
    allShops: true,
    roleSets: ["defaultRoles", "defaultVisitorRole", "defaultSellerRoles"],
    roles: ["stripe-connect-redirect", "test-role33"]
  });
});
```

* Tests for adding default roles

* One more test

* Run all tests instead of just `addDefaultRoles` tests

* Fix for Account Meteor Method tests that relied on Shops not being reset

* [WIP] 2115 Inconsistent Product Image of Cart Item (#2171)

* fix inconsistent cartItem image and productField console error

* fix fetching too many records from media

* fix fetching archived images to client

* fix display variant/product image for item without image

* Order methods test (#2159)

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Detail on invoices captured

* Add roll over list capability

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Fix Sidebar Context (#1932)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Hide sidebar on entry to profile page

* Remove Inventory subscription that is not in use (#1951)

* Get package data by shopId as well as package name (#1949)

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Updated i18n settings panel (#1947)

* Updated i18n settings panel

- added new package for i18n settings
- converted to react
- added currency list
- added ability to save open state to SettingsCard to user preferences
- added ability to pluck fields in form component to enable concise
forms

* Update currency lists in admin

- Only show enabled currencies in dropdown
- Do not sure updatedAt field

* Added ability to toggle all on or all off for languages and currencies

* Removed unused code

* Updated colors for card toolbar

* fix props to show correct attribute

* fixes z-index issue on select container

* fix language props

* fix prop to show enabled languages only

* Avalara Tax Compliance (#1870)

* Save company object from Avalara API

* Load `appVersion` from package,json at startup. Create global `getAppVersion`

* create avaGet function to pass in extra header info. Add getTaxCodes function

* Extend plugin to also provide tax codes

* Add Test connection option in Avalara admin dashboard

* Send taxCode along with cart/orders

* Capture full tax detail in "taxes" field

* Update Test Credentials to use companyCode API

* Add input field for shipping tax code

* Add provides: taxCodes API to taxcloud

* add itemCode to cart/order payload

* use item id as line number. Pass in correct productId

* Pass in shipping as additional non-taxable (based on taxcode) item

* allow avaPost/avaGet to be used asynchronously

* Add setting to turn off tax calculation separately from disabling the module

* Add the rest of the fields to the form (except validation countries)

* Use correct UID and correct URL for getTaxCode

* Add setup for address validation by country

* Don't commit documents when commit is turned off. Eliminate unneeded functions

* Eliminate async versions of avaGet/avaPost. These should never be called by external module

* Add defaults for new configuration settings. Make shippingTaxCode required

* Make get/post methods use timeout, do some logging.

* Don't do address validation when package is disabled, even when addressvalidation is enabled

* Enable addressValidation by default

* Enable addressValidation by default

* Fix date parameter

* Merge. Fix conflicts.

* Modify auth arg for test credentials setup

* Extend timeout during test credentials call

* Limit address validation country options to US and CA

* Fix returned object for non-validated addresses

* Log Avalara details to custom Avalogger

* Set new defaults

* Add tax settings to account profile page

* Update account find for taxsettings to subscribe

* Only log if logging is enabled

* Write out Avalara requests to Logs collection via Bunyan logger

* Add log retention duration setting

* Add jobs to cleanup logs older than configured setting

* Add logs subscription that totally doesn't work

* Add logs publication

* Get logs and pass into Template

* Add Log-specific wrapper for Griddle

* Show individual log records in detail form

* Refine grid and detail results

* Populate entity codes and plug into taxCalc

* Use new field names confirmed by AvaTax

* Add taxSettings to recordOrder

* Update entity code field key

* removed excess panel wrapper around griddle table

* Add translations

* Show tax settings only if avalara enabled

* Fix import order.

* Setup error handling on Avalara methods

* Add dimensions/tax code to PDP (#1931)

* Edit product's schema file to include product dimensions

* Add product dimensions in variant form

* Edit product's schema and product admin form to include country of origin

* Edit product's schema and product admin form to include tax description

* Edit product's schema and product variant form to include origin country (yet to pre-populate from product's origin country)

* Edit variant form to include list of tax codes

* Refactor listTaxCodes method

* Refactor listTaxCodes method to use template state instead of sessions

* Refactor listTaxCodes method to use template state instead of sessions - template state now works

* Edit taxCodes schema to include more descriptive fields

* Include server method to save tax codes to TaxCodes collection

* (First attempt) saving taxcodes to database

* Successfully fetching taxcodes from database

* Add error block in fetching from db method

* change value of taxcode being saved in product details

* Adding select2 package

* Using select2 to display tax codes in nicer looking select box

* Correcting import order

* Editing required fields in product schema

* Using plain select field to display tax codes

* Remove tax code label; add select2 call in onRendered function instead of onCreated

* Displaying default tax code as selected in select box

* Removing unused meteor package; correcting import order

* Throwing more descriptive meteor error on insertTaxCodes method

* Display simple input box if tax provider is not enabled

* Correct the way we test for validation on address2

* Remove extra panel divs

* Add account ID to account management screen

* Adjust log details for when there is no document type

* Rename files to match style guide

* Use individual taxSettings form each account

* Add check to prevent populating duplicates

* Fix reference to accountschema

* Fix form update to corresponding accounts

* Add unique tax setting by customer to Avalara payload

* Fix exception error on geoCoder call

* Only pass in regions when it's a "country with regions"

* Revert "Only pass in regions when it's a "country with regions""

This reverts commit b8090857183ecf1ee9a8ea01159c4e445c47609f.

* Create a refundReference which is cartId + date

* Ignore line items are not marked taxable

* Move taxDescription down to the variant level and pass if exists

* Move tax settings form into manage sidebar

* Fix tax settings saving bug

* Renamed files to fit style guide

* Don't allow a wide-open Account publication

* Remove unnecessary subscription

* Don't call API if entity codes is already populated

* Simplify logic for returning no results

* Don't select a tax rate but a tax code

* Rename function

* Properly set Avalara countryList defaultValues

* Eliminate extra slash

* Eliminate all extra slashes

* Check to ensure data is returned from API

* Also log errors in Avalogger. Correctly filter for taxable items.

* Require shopId

* linting fixes

* Add label to plain select. Rename method

* JSDoc linting

* Remove unused import

* Remove unused import

* Linting

* Check configuration and throw meaningful errors if not configured properly

* Add level to log so we can filter for errors

* Tweak HTML and styling in settings panel

* Fix i18n and timeout on testCredential

* Log error with error log level

* Moving select2 under community packages

* Adding error checks to taxcodes method

* Skip config check when testing credentials

* Trigger form validation before testcredentials

* Use native methods for assign and each

* Handle error on populating Avalara entity codes

* Add i18n for custom label

* Move i18n entry to appropriate module

* Move exemption settings into avalara module

* Implement i18n for missing fields in PDP

* Fix CircleCI failed tests

* Fix CircleCI failed tests

* Revert "Fix CircleCI failed tests"

This reverts commit 3b238a81dd3e1345d83050b82726a2547c8d2214.

* Revert "Fix CircleCI failed tests"

This reverts commit 66f0f787cdbf0563f14e2121cf35d7f99c525d0a.

* Removing empty selector per CR

* Use import rather than fs to get package.json

* Change per CR

* Restructure Class syntax per CR

* Put back "Custom Packages" header

* Add TODO

* Changing default timeout to 3000 ms

* Correct error name and make error message more specific

* - updated Accounts publication name

- Update Accounts.single to UserAccount

* Fix: Dashboard panel keeps re-opening during checkout (#1956)

* Show sidebar only if shipping is not configured

* Refactor: Show sidebar only if shipping is not configured

* Fix to show sidebar only if payment is not configured

* localize prices in emails (#1957)

* add GetShopCurrency helper

* update cart currency when user changes currency

* update schema to include currency in cart / order

* add userCurrency and exchangeRate to carts orders

* update email templates to display formatted price

* update user emails to use user currency

* Use select box of countries rather than text field for "Origin Country" (#1967)

* Fix 404 when adding handle and then editing a variant before publishing.

* Fixed misspelling in comment

* Remove z-index from dropdown as it creates more issues than it solves

* Moved ColumnData component to its own file. (#1972)

* Prevent hiding of nested tags on mobile (#1971)

* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Add presentational aspect for invoice

* Add presentational aspect for invoice

* Add presentational view for invoice

* Add presentational view for invoice

* Add state to the invoice view

* Add state to the invoice view

* Detail on invoices captured

* Detail on invoices captured

* Add roll over list capability

* Add roll over list capability

* Add single invoice render

* Add single invoice render

* Add roll down list not quantity based

* Display unique items only

* Add quantities to line items

* Remove unnecessary parts of the view

* Seperate components for roll up lists and line items

* Add cancel capability

* Clean up UI

* Add item functions

* Add capture payments capability

* Add refunds fields

* Seperate concerns in invoice component

* Clean up invoice code

* Refactorline items

* Add data into individual line items

* linting and minor error fixes (#1973)

* remove extra unneeded check for userId

This was causing the Logger error we were seeing

* update import order

* change way of calling userId

* fixed Shops.findOne

* updated variable name

* removed html error code from meteor error

* cart.billing should now be defined to include currency

* setting default currency if shop.currency is unavailable

* update client to match server

* lint fixes

* Avalara error handling (#1968)

* Taxcloud doesn't really support getTaxCodes yet

* Ok, calm down

* Taxcloud doesn't really provide taxCodes yet

* Log Tax code errors to Logs collection rather than throwing a Meteor.Error

* Add missing import

* Use name from namespaced provides rather than name

* Pulling tax codes from TaxCloud

* Configure saving taxcloud taxes to db and displaying them

* Move around UI components

* Move around UI components

* Add total price of line items

* Format pricing to have dollar signs

* Finalize on tax data

* add cancel meteor method for orders

* Iterate on design

* Review tax display

* finish up allowing an admin cancel an order

* add cancel order workflow

* add test for orders

* add test for start and complete cancel order methods

* finish up on cancel order

* remove swal from shippingInvoice file

* solve linting issues

* fix linting issues in orders test

* fix template issues in shippingInvoice html

* create multi-action button

* refactor code based on reviews

* update shippingInvoice.js

* remove unwanted newlines in changed files

* fix eslint errors

* fix multi-action button

* refactor code based on reviews

* refactor buttonSelect

* fix test

* fix indentation issues

* fix indentation issues

* update code based on review

* update code based on reviews

* fix cancel order test

* fix bugs

* add i18nKeyLabel to multi-function button

* turn multi-function dropdown item to button

* refactor button props fr multi-function button

* test order methods

* fix paypal express refund method

* add payment provider payment methods

* fix payment provider refund issues

* complete test for cancel order methods

* remove inline style from translation

* add error handling for failing refunds

* remove unneccessary lines of code

* integration test for orders/approvePayment

* test for orders/shipmentDelivered

* add error handling

* write test for sendNotifications

* write more test

* finish writing test for order methods

* update changes based on reviews

* fix typo

* PDP Cleanup - Basic Details Card, Tax Card & Inventory Card (#20…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants