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

Order methods test #2159

Merged
merged 148 commits into from May 2, 2017
Merged

Order methods test #2159

merged 148 commits into from May 2, 2017

Conversation

michael-alade
Copy link

@michael-alade michael-alade commented Apr 24, 2017

Resolves
#2095

Test

  • Run reaction test

@michael-alade michael-alade changed the title Michael order methods test [WIP]Michael order methods test Apr 24, 2017
@michael-alade michael-alade changed the title [WIP]Michael order methods test [WIP] Michael order methods test Apr 24, 2017
@kieckhafer kieckhafer added this to Review in Components May 2, 2017
@kieckhafer kieckhafer removed this from Review in Components May 2, 2017
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.

A few small changes and some explanations

@@ -23,6 +23,9 @@ export const History = new SimpleSchema({
event: {
type: String
},
value: {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why?

Copy link
Author

Choose a reason for hiding this comment

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

The orders/updateHistory method updates the history schema with the value. Previously, there wasn't any value key for the schema.

@@ -12,6 +12,7 @@
<template name="shopSettings">

<div class="panel-group" id="shopSettingsAccordian" role="tablist" aria-multiselectable="true">
{{> shopBrandImageOption}}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why?

it("should return an error if user is not admin", function () {
sandbox.stub(Reaction, "hasPermission", () => false);
const returnToStock = false;
spyOnMethod("cancelOrder", order.userId);

function copyStartCancelOrder() {
function CancelOrder() {
Copy link
Collaborator

@zenweasel zenweasel May 2, 2017

Choose a reason for hiding this comment

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

function names should start with a lowercase letter.

});

describe("orders/shipmentShipped", function () {
it("should throw an error does not have permission", function () {
Copy link
Collaborator

Choose a reason for hiding this comment

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

this description needs to be at least grammatically complete

});
sandbox.stub(Shops, "findOne", () => shop);
const result = Meteor.call("orders/sendNotification", order);
expect(result).to.equal(true);
Copy link
Collaborator

Choose a reason for hiding this comment

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

You should probably use the more readable expect(result).to.be.true

expect(updateShipmentTracking).to.throw(Meteor.error, /Access Denied/);
});

it("should the tracking value", function () {
Copy link
Collaborator

Choose a reason for hiding this comment

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

The description needs help

expect(capturePayments).to.throw(Meteor.error, /Access Denied/);
});

it("should update the ite workflow to coreOrderItemWorkflow/captured", function () {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Typo in description

sandbox.stub(Reaction, "hasPermission", () => true);
spyOnMethod("refunds/list", order.userId);
Meteor.call("orders/refunds/list", order, (err, res) => {
expect(typeof res).to.equal(Array);
Copy link
Collaborator

Choose a reason for hiding this comment

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

So all this does is check that the method returns an empty array?

@@ -443,7 +402,7 @@ export const methods = {
this.unblock();

// Get Shop information
const shop = Shops.findOne(order.shopId);
const shop = Shops.findOne({ _id: order.shopId });
Copy link
Collaborator

Choose a reason for hiding this comment

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

The original form is actually more correct

@zenweasel zenweasel changed the title [WIP] Michael order methods test [WIP] Order methods test May 2, 2017
expect(updateShipmentTracking).to.throw(Meteor.error, /Access Denied/);
});

it("should the update the order tracking value", function () {
Copy link
Collaborator

@zenweasel zenweasel May 2, 2017

Choose a reason for hiding this comment

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

Just should update not should the update

@zenweasel zenweasel changed the title [WIP] Order methods test Order methods test May 2, 2017
@zenweasel zenweasel merged commit 38dde68 into development May 2, 2017
@zenweasel zenweasel deleted the michael-order-methods-test-2095 branch May 2, 2017 12:38
@zenweasel zenweasel removed the review label May 2, 2017
aaronjudd pushed a commit that referenced this pull request May 17, 2017
* Show Sidebar shipping in checkout

* Set actionView after payment checkout step

* Hide sidebar on entry to profile page

* Using publish-counts to record count of orders in order tabs

* Add alert and checkout message when item quantities have been adjusted

* Code cleanup

* Add 'Show More' button for pagination (to be refined)

* Update errors to include when cart is already full

* Removing unnecessary subscription.ready from composer function

* Modify orders cursor to use state instead; identify filter from 'show more' button

* Actually deny when out of stock

* Fix 'Show More' button functionality

* Add more descriptive error messages

* Using publish-counts to record count of orders in order tabs

* Code cleanup

* Add 'Show More' button for pagination (to be refined)

* Removing unnecessary subscription.ready from composer function

* Modify orders cursor to use state instead; identify filter from 'show more' button

* Fix 'Show More' button functionality

* Fix console error on Quantity

* Fix PR arising issue on quantity

* Using reactiveDict to store order limits

* Using camelcase for naming

* Passing filter to PaginatedOrders subscription for query builder in publish

* Publishing order counts using Mongo aggregate pipeline

* Clean up a few edge cases

* Add i18n translations

* Remove file changes different from development

* Turns out I don't need this publication; it doesn't work well anyway because it doesn't return a Mongo cursor

* Remove all references to addressbook.js

* Set custom layout to override based on priority field (#2023)

* Set Custom layout to override based on priority field

* Update existing priority field to use new default

* Migrate existing priority fields

* Fix audience schema to be array of Strings

* Check before updating during migration

* Add down migration and refactor

* Add reaction packages with layouts to migrate

* Method to aggregate order counts

* fix createDefaultAdminUser behavior with users in the system

* Resolve cart addition issue (#2048)

* Calling aggregate function in React container

* Rewriting aggregate method to use wrapAsync

* Returning Toplevel products as per scroll limit for non admin users fixes #2029 (#2063)

* Refactor calling aggregate function in React container

* Removing unnecessary order subscriptions in order template

* Removing unnecessary order Counts.publish from Orders publication

* [WIP] Broken Formatting for Non-USD currencies (#2062)

* fix nonUSD currencies formatting error

* add proper formatting for tax, discount and shipping fields

* Set order count to 0 if there are no orders in the database

* Remove unnecessary parameter to order/count

* Changes to order template:
Increasing order limit variables and increment value: using order count to render 'Show More' button

* Using publish-counts to display order counts

* 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

* 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

* 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

* [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 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 b809085.

* 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 3b238a8.

* Revert "Fix CircleCI failed tests"

This reverts commit 66f0f78.

* 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 b809085.

* 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 3b238a8.

* Revert "Fix CircleCI failed tests"

This reverts commit 66f0f78.

* 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)

* Rewrite product variantForm to render React component

* React component/container for product variantForm

* Adding checkboxes, divider, and changing i18n

* Refine PDP variant form UI to be up to standard

* Using Switch component instead of native checkbox

* Use settings card to wrap taxable and inventory tracking sections

* Displaying data via props(to be refined)

* Rendering tax code field depenging on enabled tax code provider

* Populating taxCode dropdown with data from db

* Populating taxCode collection with taxCodes on successful test credentials

* Remove unnecessary Meteor method

* Rename 'selectedVariant' to 'variant'

* Disabling fields based on child variants

* Passing variant object down from Template.currentData

* Activate restore/remove and clone variant buttons (to be refined)

* Subscribing to TaxCodes publication for display

* Removing alternate Blaze function

* Handle select and textfield input edit

* Handle switch toggle

* Updating state of select box

* onChange for regular input fields

* Removing alternate Blaze function

* Removing alternate Blaze functions

* Render archive label if variant is deleted

* Partly implement update quantity based on child variants

* Remove unnecessary input callback methods

* Make restore button change reactively to discard when isDeleted is false

* Make discard button change reactively to restore when isDeleted is true

* Remove unnecessary expandCard methods

* Fix uncontrolled input warning being thrown in browser console from React

* Make tax code field editable when no tax provider is enabled

* Revert taxable and inventory tracking back to defaulting to true

* Fix open/close of cards (to be refined)

* Attempting validation

* Adding style and disabled to textfield component

* Fixing opening of side panel when variant is clicked

* Fix accidental toggle of allow backorder switch

* update the way address data is provided (#2208)

* update the way address data is provided

* update const

* Change `profile` variable name to `profileAddress` to be more descriptive

* And `profileShippingAddress` is even better

* METEOR 1.4.4.2 (#2206)

* METEOR 1.4.4.2

* update Docker base to v1.3.1

* Jobs patch

As found by @jshimko

* Remove unneeded jobs import

* Added Kuwait, Saudi Arabia and Qatar currencies (#2204)

* added kuweit, saudi arabia and qatar currencies

* typos

* fix email log panel closing when email is sent (#2205)

* add order id to completed screen (#2202)

* Fix Email Notification During Order Refund (#2200)

* fix email notification when issuing a refund more than the total

* fix refunding loading

* add i18n

* 1638 Completed Order Logged Out State (#2201)

* add signIn page for completed order url when user user is logged out

* remove commented out code

* fix display notFound for orders that doesn't belong to user

* fix style nitpick

* implement review

* fix flashing `notFound` page before order completed

* Add in missing line break

* fix create product should flip into edit mode (#2221)

* Toggle Variant Visibility when Ancestor Product Visibility is Toggled (#2222)

* fix issue

* add fix to product grid settings

* Fix missing shop (#2224)

* make sure default shop fixture data is loaded before anything else happens

* fix inconsistent logging of whether register.json was found

* fix error logger syntax

* fix a few more logger syntax instances

* Add mute for known package dependencies

- Holding on a full React update
- Latest transliteration doesn’t load correctly
- nodemailer, griddle have upgrade blockers

* Add mute for known package dependencies

Missed a react dependency.

* swap unicode with missing semi-colon for regular apostrophe (#2223)

* swap unicode with missing semi-colon for regular apostrophe

* updated to use <Translation> instead of i18n-data

Also updated to spit out better / valid HTML.

- Changed tag from <h1> (“Empty Cart” shouldn’t be H1) to <p>, and also
removed the embedded <p> from inside the H1.

* made social share buttons on PDP ADA compliant (#2196)

* Fix permissions for items shown in admin dashboard (#2145)

* Initial test of filtering pkgs

* Filter showing packages by permissions

* Resolve issue with hasAccess check on registry items

* Comment

* Comment edit

* Call packages coll without filter

* Move audience addition to ReactionApps

* Better comment

* Check not needed again.Apps come based on access level

* space fix

* Test: Permissions on toolbar component

* hasProduct access on toolbar

* Fix data

* Use createProduct as filter

* Refactor toolbar permission check

* Improve Comment

* Add missing perms in pub

* remove comment

* Add comment on filter line

* Pin vsivsi:job-collection meteor package to 1.4.0 (#2228)

* React Router (#2123)

* Initial push for React Router conversion

* Implement more global router functions

- Added `Router.getQueryParam`
- Added `Router.isActiveClassName`
- Added shop prefix for routes
- Added blaze event for brand link to use `Router.go`
- Added `query-parse` nom module to parse query strings
- Added route to currentRoute on route change

* Route rendering

- Router initialize
- Rewrite reaction layout to better handle layout generation
- Add `App` component as router base component
- Add Router.replace function for push state replace

* Move rest of router from client dir, into router package

* Use Router.go for tagLink

* Fixes issue with browserRouter router initializing before router core
is ready.

* Fixed route resolution for to exact matches

* Updated dependencies and shrink-wrap

* Not found and unauthorized routes and redirects

* Rename admin template to coreLayout

- use layout name to get proper layout

* Fix broken import

* Fix redirect url for PayPal pay flow express

Double slash in url causes no route to be matched for react router.
Added new helper method that wraps Meteor.absoluteUrl() and fetches the
shop prefix without a leading slash.

* Enable onEnter and legacy enter hooks

* Added exit hooks and improved hook handling logic

Re-implement metadata hook

* Show package settings shortcuts only if requested

* Added Router.watchPathChange()

* Remove unused function

* Added router go for grid item click event

* Fix eslint issues

* Added router go for cart items

* Fix router context for hooks

* Added special handling for print layout

* Scrolling for content area as admin

* Fix router reload when auth state changes

* Fix lint issues

* Fix lint issues

* Fix blank pdf view

* Prevent route change when previous and next routes match.

-Remove reactivity from `Router.current()` to better align with flow
router api.
- Add reactive dependencies query and url param functions.

* Fixed reference for getShopName()

* Fixing broken blaze layout

- Extend the react-in-blaze component, and rename conflicting
`template` prop to `blazeTemplate` to avoid a naming collision with our
layouts.
- Added check for foundLayout, verify its defined before trying to
access
- Added support for blaze based layouts, if a react layout cannot be
found

* Removed unused packages

* Adjust width of container to alleviate some scrolling issues

* Higher zindex for cart slide out

* Fix getSlug reference

* Fixes issue with incorrectly displaying unauthorized template

* LingoHub based on development (#2218)

* LingoHub Update 🚀

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

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

* LingoHub Update 🚀

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

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

* LingoHub Update 🚀

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

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

* LingoHub Update 🚀

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

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

* LingoHub Update 🚀

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* LingoHub Update 🚀

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* LingoHub Update 🚀

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* 2217 Add Product Name To Invoice (#2226)

* add product name to invoice

* add Product name to title

* Permissions Fix: Use passed in "audience" param in ReactionApps (#2235)

* wip

* Use passed in audience for ReactionApps

* Remove debug

* fix display of unpublished option images (#2236)

* Restore helper to limit dropdown icons

* 1987 Panel Expander Arrow Overlapping on Dropdown (#2211)

* fix dropdown z-index

* use z-index variable

* reduce zindex-select variable value

* override `react-select` select menu z-index

* remove commented out style

* fix improper variable value alignment

* move import to main.less

* Fixes #2243 Paypal Express requiring login for guest accounts (#2255)

Adds `reaction-paypal/paypalDone` and `reaction-paypal/paypalCancel` roles to the defaultRoles and defaultVisitorRoles set

* Updated README.md

* Update version

* readme.md updates

* Removed unused code

* fix 2278 Router tables not initializing (#2279)

* fix notification dropdown links (#2280)

* update Router to adjust when shop URL is in provided data

* update notification onClick to open dashboard panel when needed

* re-add markOneAsRead

* style / small updates for release 1.2 (#2283)

* update import of Reaction

* readme updates

* import fixes

* add meteor import

* import order fix

* comment fixes

* add meteor import

* removed flow router import

* import order

* import fix

* update i18n key

* update translations

* wrap full app in translation provider
@aaronjudd aaronjudd mentioned this pull request Jun 17, 2017
spencern pushed a commit that referenced this pull request Jul 17, 2017
* 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)

* Rewrite product variantForm to render React component

* React component/container for product variantForm

* Adding checkboxes, divider, and changing i18n

* Refine PDP variant form UI to be up to standard

* Using Switch component instead of native checkbox

* Use settings card to wrap taxable and inventory tracking sections

* Displaying data via props(to be refined)

* Rendering tax code field depenging on enabled tax code provider

* Populating taxCode dropdown with data from db

* Populating taxCode collection with taxCodes on successful test credentials

* Remove unnecessary Meteor method

* Rename 'selectedVariant' to 'variant'

* Disabling fields based on child variants

* Passing variant object down from Template.currentData

* Activate restore/remove and clone variant buttons (to be refined)

* Subscribing to TaxCodes publication for display

* Removing alternate Blaze function

* Handle select and textfield input edit

* Handle switch toggle

* Updating state of select box

* onChange for regular input fields

* Removing alternate Blaze function

* Removing alternate Blaze functions

* Render archive label if variant is deleted

* Partly implement update quantity based on child variants

* Remove unnecessary input callback methods

* Make restore button change reactively to discard when isDeleted is false

* Make discard button change reactively to restore when isDeleted is true

* Remove unnecessary expandCard methods

* Fix uncontrolled input warning being thrown in browser console from React

* Make tax code field editable when no tax provider is enabled

* Revert taxable and inventory tracking back to defaulting to true

* Fix open/close of cards (to be refined)

* Attempting validation

* Adding style and disabled to textfield component

* Fixing opening of side panel when variant is clicked

* Fix accidental toggle of allow backorder switch

* update the way address data is provided (#2208)

* update the way address data is provided

* update const

* Change `profile` variable name to `profileAddress` to be more descriptive

* And `profileShippingAddress` is even better

* METEOR 1.4.4.2 (#2206)

* METEOR 1.4.4.2

* update Docker base to v1.3.1

* Jobs patch

As found by @jshimko

* Remove unneeded jobs import

* Added Kuwait, Saudi Arabia and Qatar currencies (#2204)

* added kuweit, saudi arabia and qatar currencies

* typos

* fix email log panel closing when email is sent (#2205)

* add order id to completed screen (#2202)

* Fix Email Notification During Order Refund (#2200)

* fix email notification when issuing a refund more than the total

* fix refunding loading

* add i18n

* 1638 Completed Order Logged Out State (#2201)

* add signIn page for completed order url when user user is logged out

* remove commented out code

* fix display notFound for orders that doesn't belong to user

* fix style nitpick

* implement review

* fix flashing `notFound` page before order completed

* Add in missing line break

* fix create product should flip into edit mode (#2221)

* Toggle Variant Visibility when Ancestor Product Visibility is Toggled (#2222)

* fix issue

* add fix to product grid settings

* Fix missing shop (#2224)

* make sure default shop fixture data is loaded before anything else happens

* fix inconsistent logging of whether register.json was found

* fix error logger syntax

* fix a few more logger syntax instances

* Add mute for known package dependencies

- Holding on a full React update
- Latest transliteration doesn’t load correctly
- nodemailer, griddle have upgrade blockers

* Add mute for known package dependencies

Missed a react dependency.

* swap unicode with missing semi-colon for regular apostrophe (#2223)

* swap unicode with missing semi-colon for regular apostrophe

* updated to use <Translation> instead of i18n-data

Also updated to spit out better / valid HTML.

- Changed tag from <h1> (“Empty Cart” shouldn’t be H1) to <p>, and also
removed the embedded <p> from inside the H1.

* made social share buttons on PDP ADA compliant (#2196)

* Fix permissions for items shown in admin dashboard (#2145)

* Initial test of filtering pkgs

* Filter showing packages by permissions

* Resolve issue with hasAccess check on registry items

* Comment

* Comment edit

* Call packages coll without filter

* Move audience addition to ReactionApps

* Better comment

* Check not needed again.Apps come based on access level

* space fix

* Test: Permissions on toolbar component

* hasProduct access on toolbar

* Fix data

* Use createProduct as filter

* Refactor toolbar permission check

* Improve Comment

* Add missing perms in pub

* remove comment

* Add comment on filter line

* Pin vsivsi:job-collection meteor package to 1.4.0 (#2228)

* React Router (#2123)

* Initial push for React Router conversion

* Implement more global router functions

- Added `Router.getQueryParam`
- Added `Router.isActiveClassName`
- Added shop prefix for routes
- Added blaze event for brand link to use `Router.go`
- Added `query-parse` nom module to parse query strings
- Added route to currentRoute on route change

* Route rendering

- Router initialize
- Rewrite reaction layout to better handle layout generation
- Add `App` component as router base component
- Add Router.replace function for push state replace

* Move rest of router from client dir, into router package

* Use Router.go for tagLink

* Fixes issue with browserRouter router initializing before router core
is ready.

* Fixed route resolution for to exact matches

* Updated dependencies and shrink-wrap

* Not found and unauthorized routes and redirects

* Rename admin template to coreLayout

- use layout name to get proper layout

* Fix broken import

* Fix redirect url for PayPal pay flow express

Double slash in url causes no route to be matched for react router.
Added new helper method that wraps Meteor.absoluteUrl() and fetches the
shop prefix without a leading slash.

* Enable onEnter and legacy enter hooks

* Added exit hooks and improved hook handling logic

Re-implement metadata hook

* Show package settings shortcuts only if requested

* Added Router.watchPathChange()

* Remove unused function

* Added router go for grid item click event

* Fix eslint issues

* Added router go for cart items

* Fix router context for hooks

* Added special handling for print layout

* Scrolling for content area as admin

* Fix router reload when auth state changes

* Fix lint issues

* Fix lint issues

* Fix blank pdf view

* Prevent route change when previous and next routes match.

-Remove reactivity from `Router.current()` to better align with flow
router api.
- Add reactive dependencies query and url param functions.

* Fixed reference for getShopName()

* Fixing broken blaze layout

- Extend the react-in-blaze component, and rename conflicting
`template` prop to `blazeTemplate` to avoid a naming collision with our
layouts.
- Added check for foundLayout, verify its defined before trying to
access
- Added support for blaze based layouts, if a react layout cannot be
found

* Removed unused packages

* Adjust width of container to alleviate some scrolling issues

* Higher zindex for cart slide out

* Fix getSlug reference

* Fixes issue with incorrectly displaying unauthorized template

* LingoHub based on development (#2218)

* 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: Aaron Judd.
Project: reaction

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

* 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: Aaron Judd.
Project: reaction

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

* LingoHub Update :rocket:

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* LingoHub Update :rocket:

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* LingoHub Update :rocket:

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* 2217 Add Product Name To Invoice (#2226)

* add product name to invoice

* add Product name to title

* Permissions Fix: Use passed in "audience" param in ReactionApps (#2235)

* wip

* Use passed in audience for ReactionApps

* Remove debug

* fix display of unpublished option images (#2236)

* Restore helper to limit dropdown icons

* 1987 Panel Expander Arrow Overlapping on Dropdown (#2211)

* fix dropdown z-index

* use z-index variable

* reduce zindex-select variable value

* override `react-select` select menu z-index

* remove commented out style

* fix improper variable value alignment

* move import to main.less

* Fixes #2243 Paypal Express requiring login for guest accounts (#2255)

Adds `reaction-paypal/paypalDone` and `reaction-paypal/paypalCancel` roles to the defaultRoles and defaultVisitorRoles set

* Updated README.md

* Update version

* readme.md updates

* Removed unused code

* fix 2278 Router tables not initializing (#2279)

* fix notification dropdown links (#2280)

* update Router to adjust when shop URL is in provided data

* update notification onClick to open dashboard panel when needed

* re-add markOneAsRead

* style / small updates for release 1.2 (#2283)

* update import of Reaction

* readme updates

* import fixes

* add meteor import

* import order fix

* comment fixes

* add meteor import

* removed flow router import

* import order

* import fix

* update i18n key

* update translations

* wrap full app in translation provider

* fix multiple refunds for stripe (#2260)

* Simplify core layout component (#2257)

* Simplify core layout component

- Remove unnecessary wrappers in favor of the `Blaze` component, as to
not hide the fact that Blaze is still used.
- Add the footer template region

* Import Template

* 2203 Long Strings Handling in Product Option Title (#2266)

* fix long strings overflow in variant options

* fix overflow of option title

* change shipping / payment error messages in checkout (#2271)

Removed “Configure now” link in checkout payments / shipping methods
when not logged in as an admin.

* Add the Vietnamese Dong as a supported currency (#2248)

* Add the Vietnamese Dong as a supported currency

* Refine and add an entry for the main store currency

* Re-introduce icon toolbar as shortcutBar (#2261)

* Re-introduce icon toolbar as shortcutBar

* Fix reference to PropTypes

* Hide toolbar on mobile

* Update shortcut bar and simplify tooltips

Show dashboard button on mobile.

* Fix responsive issues

Resolves some of the issues related to UI on the right hand side of the
screen being cut off at certain mobile breakpoints.

* fix issue (#2276)

* allow loader to show when one is passed in and defined BUGFIX (#2303)

* Change customer notification message when order is processed. (#2290)

* change notification newOrder message to you just mad an order

* change phrasing for newOrder notification message

* i18n translation updates (#2302)

* closing tag spacing

* update i18n key

* shop settings - move translations into local package

* shop settings - move translations into local package

* social - move translations into local package

* i18n - move translations into local package

* revisions - move translations into local package

* email - move translations into local package

* new i18n label

* move i18n into local packages

* loginServices - i18n Updates

* core analytics - translations

* new translations

* Fix Lint / remove unused packages.

* LingoHub Update :rocket:

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

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

* CircleCI 2.0 and docker base update (#2334)

* convert CI config to use CircleCI 2.0

* update Docker base to v1.4.0

* improve Meteor check logic

* remove ununsed cache path

* cache node_modules

* improve cache saving order

* fix cache restore order

* improve overall ordering of CI config

* add better labels

* cache the Meteor dev_bundle after running tests

* install reaction-cli with yarn instead (way faster)

* More and more style changes

* Add Verification Url to Welcome Email (#2216)

* add verification to welcome email

* fix eslint error

* send invite email unless user is invited

* update bothe users and accounts colllection

* fix email verfication

* fix permission issue with verification route

* fix import order

* refactor accounts methods

* make changes based on review

* make use of reaction addRolesToDefaultRoleSet function to add new roles to the shop

* finish up email verification for invited user

* fix issue(refunds not showing) (#2317)

* fix conditional in Circle deploy script (#2338)

* don’t load any other fixtures until the default shop is loaded (#2329)

* allow a MAIL_URL string without auth (#2330)

* add loading component to fix error (#2340)

* Use proper color variables

* Create proper behaviors

* Fix bad evaluation

* Fix import order

* Add i18n

* color updates for styleguide (#2339)

* update brand-info-color

* color updates

* remove old color variables

* comments

* gray cleanup

* variable name change

* typo fix

* revert rgba from variables

* fix dem buttons

* Updated text colors

* Don't throwback a step if tax fails

* fix testing issue #2348 (#2349)

* Make this more of an "exception" flag

* Better handling for unique routes for React Router (#2327)

* Better handling for unique routes for React Router routes

* Added TODO comments

* Update router.js

* Fix git tagging on CircleCI 2.0 (#2362)

* handle git tag parsing now that Circle doesn’t

* clean up syntax

* Updated colors

* React unit testing example (#2170)

* component snapshot

* babel additions

* remove dependancies not used

* Use mocks to mock input props for component

* Change stored snapshot to match new look after merge with development

* replace babel-latest with babel-es2015

* Take care of warning

* babelrc to es2015

* Add back in missing babel package

* no more globals!

* Declare variable before assigning

* Declare variable before assigning

* Declare variable before assigning. Remove unused variables

* Remove unused variable, check

* Declare variable before using it

* Declare variable before using it

* Can't use `this` in an arrow function

* Correct function declarations

* Eliminate implied global `Alerts` + no undeclared

* Remove commented out code

* Declare explicit globals

* move default userCurrency deeper in the object (#2259)

This should fix the tests brought upon by strict mode

* Use Collection explicit functions

* Don't log doing nothing

* Make Alert a global because it's a mess

* Ok actually, don't do that

* Don't allow implicit globals

* Bug fixes

* Fixing lack of declaration

* Pass error to logger

* Fix import order

* Fix changed reference

* Add jest testing to Circle CI

* Update NPM packages

* Added npm test command

* Use an NPM script rather than global Jest

* Make changes to new CI config

* Change to proper step configuration

* For clarity, `test-react`

`npm run test-react` to run jest tests.

* Revert "For clarity, `test-react`"

This reverts commit fc38b243eedb8f7a861495cae71651e6c2e4853e.

* Update Jest to current version

* Just testing to see if this fixes it

* Remove npm install of desperation

* Remove node cache

* Fix typo in inventory test description (#2364)

* fix testing issue #2348

* fix typo in test desc

* 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

* 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 sh…
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 25, 2017
* 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)

* Rewrite product variantForm to render React component

* React component/container for product variantForm

* Adding checkboxes, divider, and changing i18n

* Refine PDP variant form UI to be up to standard

* Using Switch component instead of native checkbox

* Use settings card to wrap taxable and inventory tracking sections

* Displaying data via props(to be refined)

* Rendering tax code field depenging on enabled tax code provider

* Populating taxCode dropdown with data from db

* Populating taxCode collection with taxCodes on successful test credentials

* Remove unnecessary Meteor method

* Rename 'selectedVariant' to 'variant'

* Disabling fields based on child variants

* Passing variant object down from Template.currentData

* Activate restore/remove and clone variant buttons (to be refined)

* Subscribing to TaxCodes publication for display

* Removing alternate Blaze function

* Handle select and textfield input edit

* Handle switch toggle

* Updating state of select box

* onChange for regular input fields

* Removing alternate Blaze function

* Removing alternate Blaze functions

* Render archive label if variant is deleted

* Partly implement update quantity based on child variants

* Remove unnecessary input callback methods

* Make restore button change reactively to discard when isDeleted is false

* Make discard button change reactively to restore when isDeleted is true

* Remove unnecessary expandCard methods

* Fix uncontrolled input warning being thrown in browser console from React

* Make tax code field editable when no tax provider is enabled

* Revert taxable and inventory tracking back to defaulting to true

* Fix open/close of cards (to be refined)

* Attempting validation

* Adding style and disabled to textfield component

* Fixing opening of side panel when variant is clicked

* Fix accidental toggle of allow backorder switch

* update the way address data is provided (#2208)

* update the way address data is provided

* update const

* Change `profile` variable name to `profileAddress` to be more descriptive

* And `profileShippingAddress` is even better

* METEOR 1.4.4.2 (#2206)

* METEOR 1.4.4.2

* update Docker base to v1.3.1

* Jobs patch

As found by @jshimko

* Remove unneeded jobs import

* Added Kuwait, Saudi Arabia and Qatar currencies (#2204)

* added kuweit, saudi arabia and qatar currencies

* typos

* fix email log panel closing when email is sent (#2205)

* add order id to completed screen (#2202)

* Fix Email Notification During Order Refund (#2200)

* fix email notification when issuing a refund more than the total

* fix refunding loading

* add i18n

* 1638 Completed Order Logged Out State (#2201)

* add signIn page for completed order url when user user is logged out

* remove commented out code

* fix display notFound for orders that doesn't belong to user

* fix style nitpick

* implement review

* fix flashing `notFound` page before order completed

* Add in missing line break

* fix create product should flip into edit mode (#2221)

* Toggle Variant Visibility when Ancestor Product Visibility is Toggled (#2222)

* fix issue

* add fix to product grid settings

* Fix missing shop (#2224)

* make sure default shop fixture data is loaded before anything else happens

* fix inconsistent logging of whether register.json was found

* fix error logger syntax

* fix a few more logger syntax instances

* Add mute for known package dependencies

- Holding on a full React update
- Latest transliteration doesn’t load correctly
- nodemailer, griddle have upgrade blockers

* Add mute for known package dependencies

Missed a react dependency.

* swap unicode with missing semi-colon for regular apostrophe (#2223)

* swap unicode with missing semi-colon for regular apostrophe

* updated to use <Translation> instead of i18n-data

Also updated to spit out better / valid HTML.

- Changed tag from <h1> (“Empty Cart” shouldn’t be H1) to <p>, and also
removed the embedded <p> from inside the H1.

* made social share buttons on PDP ADA compliant (#2196)

* Fix permissions for items shown in admin dashboard (#2145)

* Initial test of filtering pkgs

* Filter showing packages by permissions

* Resolve issue with hasAccess check on registry items

* Comment

* Comment edit

* Call packages coll without filter

* Move audience addition to ReactionApps

* Better comment

* Check not needed again.Apps come based on access level

* space fix

* Test: Permissions on toolbar component

* hasProduct access on toolbar

* Fix data

* Use createProduct as filter

* Refactor toolbar permission check

* Improve Comment

* Add missing perms in pub

* remove comment

* Add comment on filter line

* Pin vsivsi:job-collection meteor package to 1.4.0 (#2228)

* React Router (#2123)

* Initial push for React Router conversion

* Implement more global router functions

- Added `Router.getQueryParam`
- Added `Router.isActiveClassName`
- Added shop prefix for routes
- Added blaze event for brand link to use `Router.go`
- Added `query-parse` nom module to parse query strings
- Added route to currentRoute on route change

* Route rendering

- Router initialize
- Rewrite reaction layout to better handle layout generation
- Add `App` component as router base component
- Add Router.replace function for push state replace

* Move rest of router from client dir, into router package

* Use Router.go for tagLink

* Fixes issue with browserRouter router initializing before router core
is ready.

* Fixed route resolution for to exact matches

* Updated dependencies and shrink-wrap

* Not found and unauthorized routes and redirects

* Rename admin template to coreLayout

- use layout name to get proper layout

* Fix broken import

* Fix redirect url for PayPal pay flow express

Double slash in url causes no route to be matched for react router.
Added new helper method that wraps Meteor.absoluteUrl() and fetches the
shop prefix without a leading slash.

* Enable onEnter and legacy enter hooks

* Added exit hooks and improved hook handling logic

Re-implement metadata hook

* Show package settings shortcuts only if requested

* Added Router.watchPathChange()

* Remove unused function

* Added router go for grid item click event

* Fix eslint issues

* Added router go for cart items

* Fix router context for hooks

* Added special handling for print layout

* Scrolling for content area as admin

* Fix router reload when auth state changes

* Fix lint issues

* Fix lint issues

* Fix blank pdf view

* Prevent route change when previous and next routes match.

-Remove reactivity from `Router.current()` to better align with flow
router api.
- Add reactive dependencies query and url param functions.

* Fixed reference for getShopName()

* Fixing broken blaze layout

- Extend the react-in-blaze component, and rename conflicting
`template` prop to `blazeTemplate` to avoid a naming collision with our
layouts.
- Added check for foundLayout, verify its defined before trying to
access
- Added support for blaze based layouts, if a react layout cannot be
found

* Removed unused packages

* Adjust width of container to alleviate some scrolling issues

* Higher zindex for cart slide out

* Fix getSlug reference

* Fixes issue with incorrectly displaying unauthorized template

* LingoHub based on development (#2218)

* 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: Aaron Judd.
Project: reaction

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

* 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: Aaron Judd.
Project: reaction

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

* LingoHub Update :rocket:

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* LingoHub Update :rocket:

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* LingoHub Update :rocket:

Manual push by LingoHub User: Brent Hoover.
Project: reaction

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

* 2217 Add Product Name To Invoice (#2226)

* add product name to invoice

* add Product name to title

* Permissions Fix: Use passed in "audience" param in ReactionApps (#2235)

* wip

* Use passed in audience for ReactionApps

* Remove debug

* fix display of unpublished option images (#2236)

* Restore helper to limit dropdown icons

* 1987 Panel Expander Arrow Overlapping on Dropdown (#2211)

* fix dropdown z-index

* use z-index variable

* reduce zindex-select variable value

* override `react-select` select menu z-index

* remove commented out style

* fix improper variable value alignment

* move import to main.less

* Fixes #2243 Paypal Express requiring login for guest accounts (#2255)

Adds `reaction-paypal/paypalDone` and `reaction-paypal/paypalCancel` roles to the defaultRoles and defaultVisitorRoles set

* Updated README.md

* Update version

* readme.md updates

* Removed unused code

* fix 2278 Router tables not initializing (#2279)

* fix notification dropdown links (#2280)

* update Router to adjust when shop URL is in provided data

* update notification onClick to open dashboard panel when needed

* re-add markOneAsRead

* style / small updates for release 1.2 (#2283)

* update import of Reaction

* readme updates

* import fixes

* add meteor import

* import order fix

* comment fixes

* add meteor import

* removed flow router import

* import order

* import fix

* update i18n key

* update translations

* wrap full app in translation provider

* fix multiple refunds for stripe (#2260)

* Simplify core layout component (#2257)

* Simplify core layout component

- Remove unnecessary wrappers in favor of the `Blaze` component, as to
not hide the fact that Blaze is still used.
- Add the footer template region

* Import Template

* 2203 Long Strings Handling in Product Option Title (#2266)

* fix long strings overflow in variant options

* fix overflow of option title

* change shipping / payment error messages in checkout (#2271)

Removed “Configure now” link in checkout payments / shipping methods
when not logged in as an admin.

* Add the Vietnamese Dong as a supported currency (#2248)

* Add the Vietnamese Dong as a supported currency

* Refine and add an entry for the main store currency

* Re-introduce icon toolbar as shortcutBar (#2261)

* Re-introduce icon toolbar as shortcutBar

* Fix reference to PropTypes

* Hide toolbar on mobile

* Update shortcut bar and simplify tooltips

Show dashboard button on mobile.

* Fix responsive issues

Resolves some of the issues related to UI on the right hand side of the
screen being cut off at certain mobile breakpoints.

* fix issue (#2276)

* allow loader to show when one is passed in and defined BUGFIX (#2303)

* Change customer notification message when order is processed. (#2290)

* change notification newOrder message to you just mad an order

* change phrasing for newOrder notification message

* i18n translation updates (#2302)

* closing tag spacing

* update i18n key

* shop settings - move translations into local package

* shop settings - move translations into local package

* social - move translations into local package

* i18n - move translations into local package

* revisions - move translations into local package

* email - move translations into local package

* new i18n label

* move i18n into local packages

* loginServices - i18n Updates

* core analytics - translations

* new translations

* Fix Lint / remove unused packages.

* LingoHub Update :rocket:

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

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

* CircleCI 2.0 and docker base update (#2334)

* convert CI config to use CircleCI 2.0

* update Docker base to v1.4.0

* improve Meteor check logic

* remove ununsed cache path

* cache node_modules

* improve cache saving order

* fix cache restore order

* improve overall ordering of CI config

* add better labels

* cache the Meteor dev_bundle after running tests

* install reaction-cli with yarn instead (way faster)

* More and more style changes

* Add Verification Url to Welcome Email (#2216)

* add verification to welcome email

* fix eslint error

* send invite email unless user is invited

* update bothe users and accounts colllection

* fix email verfication

* fix permission issue with verification route

* fix import order

* refactor accounts methods

* make changes based on review

* make use of reaction addRolesToDefaultRoleSet function to add new roles to the shop

* finish up email verification for invited user

* fix issue(refunds not showing) (#2317)

* fix conditional in Circle deploy script (#2338)

* don’t load any other fixtures until the default shop is loaded (#2329)

* allow a MAIL_URL string without auth (#2330)

* add loading component to fix error (#2340)

* Use proper color variables

* Create proper behaviors

* Fix bad evaluation

* Fix import order

* Add i18n

* color updates for styleguide (#2339)

* update brand-info-color

* color updates

* remove old color variables

* comments

* gray cleanup

* variable name change

* typo fix

* revert rgba from variables

* fix dem buttons

* Updated text colors

* Don't throwback a step if tax fails

* fix testing issue #2348 (#2349)

* Make this more of an "exception" flag

* Better handling for unique routes for React Router (#2327)

* Better handling for unique routes for React Router routes

* Added TODO comments

* Update router.js

* Fix git tagging on CircleCI 2.0 (#2362)

* handle git tag parsing now that Circle doesn’t

* clean up syntax

* Updated colors

* React unit testing example (#2170)

* component snapshot

* babel additions

* remove dependancies not used

* Use mocks to mock input props for component

* Change stored snapshot to match new look after merge with development

* replace babel-latest with babel-es2015

* Take care of warning

* babelrc to es2015

* Add back in missing babel package

* no more globals!

* Declare variable before assigning

* Declare variable before assigning

* Declare variable before assigning. Remove unused variables

* Remove unused variable, check

* Declare variable before using it

* Declare variable before using it

* Can't use `this` in an arrow function

* Correct function declarations

* Eliminate implied global `Alerts` + no undeclared

* Remove commented out code

* Declare explicit globals

* move default userCurrency deeper in the object (#2259)

This should fix the tests brought upon by strict mode

* Use Collection explicit functions

* Don't log doing nothing

* Make Alert a global because it's a mess

* Ok actually, don't do that

* Don't allow implicit globals

* Bug fixes

* Fixing lack of declaration

* Pass error to logger

* Fix import order

* Fix changed reference

* Add jest testing to Circle CI

* Update NPM packages

* Added npm test command

* Use an NPM script rather than global Jest

* Make changes to new CI config

* Change to proper step configuration

* For clarity, `test-react`

`npm run test-react` to run jest tests.

* Revert "For clarity, `test-react`"

This reverts commit fc38b243eedb8f7a861495cae71651e6c2e4853e.

* Update Jest to current version

* Just testing to see if this fixes it

* Remove npm install of desperation

* Remove node cache

* Fix typo in inventory test description (#2364)

* fix testing issue #2348

* fix typo in test desc

* 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

* 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

* …
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…
@spencern spencern mentioned this pull request Oct 11, 2017
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

6 participants