Skip to content

Commit

Permalink
Merge to Master (#34)
Browse files Browse the repository at this point in the history
* changes to PDP product information display

* Release 1.1.1 (reactioncommerce#2117)

* 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 (reactioncommerce#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 (reactioncommerce#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 reactioncommerce#2029 (reactioncommerce#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 (reactioncommerce#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 (reactioncommerce#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 reactioncommerce#2088

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

* Fetch all Shippo carriers (reactioncommerce#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 reactioncommerce#2026 changed price not displayed for prod on grid page (reactioncommerce#2064)

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

* Add getVariantQuantity function to ProductRevision

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

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

* fix pdp url path for grid settings

* remove commented code

* Remove legacy PDP (reactioncommerce#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 (reactioncommerce#2108)

* fix improper word wrap in product grid

* fix improper product title wrap in firefox

* Fix Avalara document id (reactioncommerce#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.

* Meteor 1.4.4.1

* Release 1.1.1

* 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 (reactioncommerce#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 reactioncommerce#2116 failure to send email (reactioncommerce#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 async tests (reactioncommerce#2128)

* Take some newer versions of packages from `meteor update`

* Fix test with mixed sync and async

* When calling a method with a callback, but the expectations in that callback

* Docker base v1.3.0 (reactioncommerce#2129)

* Fix missing import

* Add import, adjust Proptypes

* Update read only Quantity in top variant reactioncommerce#1919 (reactioncommerce#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

* missing word added to Readme

* Fix linting error (reactioncommerce#2140)

* 1994 Console Dropzone Warnings (reactioncommerce#2138)

* upgrade react-dropzone to latest version

* upgrade react-dropzone to latest version

* Add npm-shrinkwrap.json

Pinned react, node mailer, griddle

* added functional crumbnav to pdp, pointed imports/plugins/custom to new development with merged crumbnav branch (#12)

* updated submodules

* updated eePlugins and ReactionPublicCustomFolder (both submodules)

* Ecomm 305 (#15)

* ecomm-305 in plugins folder

* ecomm-305 in plugins folder

* submodule update

* including image placeholder for Wear it with in public custom folder

* submodule update

* submodule updates

* merged PR #20 to development (#21)

* submodule update

* created submodule for private/settings/reaction.json

* submodule changes

* submodule update

* added style clean up PR (#26)

* updated eePlugins and ReactionPublicCustomFolder

* submodule updates

* submodule updates

* updating submodules.. it has been a while I think

* publiccustomfolder updates

* update submodules

* update submodules

* submodule update

* updated submodules (#33)
  • Loading branch information
minimart authored May 18, 2017
1 parent 5d56e30 commit e6ed5bd
Show file tree
Hide file tree
Showing 66 changed files with 7,389 additions and 1,532 deletions.
3 changes: 3 additions & 0 deletions .github/issue_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ to our [Gitter](https://gitter.im/reactioncommerce/reaction) channel instead.

### Steps to Reproduce the Behavior

### Versions
(run `reaction -v` from your reaction directory)

For enhancements or other issues, please describe in as much detail as
possible how the app should be changed and how this would benefit
users/developers
6 changes: 6 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@
[submodule "imports/plugins/custom"]
path = imports/plugins/custom
url = git@github.com:evereveofficial/eePlugins.git
# [submodule "private/settings"]
# path = private/settings
# url = git@github.com:evereveofficial/ReactionPrivateSettings.git
[submodule "private/settings"]
path = private/settings
url = git@github.com:evereveofficial/ReactionPrivateSettings.git
14 changes: 7 additions & 7 deletions .meteor/packages
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ meteor-base@1.0.4 # Packages every Meteor app needs to have
mobile-experience@1.0.4 # Packages for a great mobile UX
blaze-html-templates@1.0.4 # Compile .html files into Meteor Blaze views
es5-shim@4.6.15 # ECMAScript 5 compatibility for older browsers.
ecmascript@0.6.3 # Enable ECMAScript2015+ syntax in app code
ecmascript@0.7.2 # Enable ECMAScript2015+ syntax in app code
audit-argument-checks@1.0.7 # ensure meteor method argument validation
browser-policy@1.1.0 # security-related policies enforced by newer browsers
juliancwirko:postcss # CSS post-processing plugin (replaces standard-minifier-css)
Expand All @@ -36,10 +36,10 @@ mdg:validated-method
shell-server@0.2.3

# Meteor Auth Packages
accounts-base@1.2.15
accounts-password@1.3.4
accounts-base@1.2.16
accounts-password@1.3.5
accounts-facebook@1.1.1
accounts-google@1.1.1
accounts-google@1.1.2
accounts-twitter@1.2.1
oauth-encryption@1.2.1
# accounts-github
Expand Down Expand Up @@ -96,6 +96,6 @@ johanbrook:publication-collector
# meteorhacks:sikka # additional ddp, login security

# Custom Packages
facebook-config-ui
google-config-ui
twitter-config-ui
facebook-config-ui@1.0.0
google-config-ui@1.0.0
twitter-config-ui@1.0.0
2 changes: 1 addition & 1 deletion .meteor/release
Original file line number Diff line number Diff line change
@@ -1 +1 @@
METEOR@1.4.3.2
METEOR@1.4.4.1
28 changes: 14 additions & 14 deletions .meteor/versions
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
abernix:minifier-js@1.3.19
abernix:standard-minifier-js@1.3.19
accounts-base@1.2.15
accounts-base@1.2.16
accounts-facebook@1.1.1
accounts-google@1.1.1
accounts-google@1.1.2
accounts-oauth@1.1.15
accounts-password@1.3.4
accounts-password@1.3.5
accounts-twitter@1.2.1
alanning:roles@1.2.16
aldeed:autoform@5.8.1
Expand All @@ -19,7 +19,7 @@ allow-deny@1.0.5
amplify@1.0.0
audit-argument-checks@1.0.7
autoupdate@1.3.12
babel-compiler@6.14.1
babel-compiler@6.18.2
babel-runtime@1.0.1
base64@1.0.10
binary-heap@1.0.10
Expand Down Expand Up @@ -59,26 +59,26 @@ chuangbo:cookie@1.1.0
coffeescript@1.11.1_4
dburles:factory@1.1.0
ddp@1.2.5
ddp-client@1.3.3
ddp-client@1.3.4
ddp-common@1.2.8
ddp-rate-limiter@1.0.7
ddp-server@1.3.13
ddp-server@1.3.14
deps@1.0.12
diff-sequence@1.0.7
dispatch:mocha@0.2.0
dispatch:mocha@0.3.0
dispatch:run-as-user@1.1.1
ecmascript@0.6.3
ecmascript@0.7.3
ecmascript-runtime@0.3.15
ejson@1.0.13
email@1.1.18
email@1.2.0
es5-shim@4.6.15
facebook-config-ui@1.0.0
facebook-oauth@1.3.0
fastclick@1.0.13
gadicc:blaze-react-component@1.4.0
geojson-utils@1.0.10
google-config-ui@1.0.0
google-oauth@1.2.0
google-oauth@1.2.3
hot-code-push@1.0.4
html-tools@1.0.11
htmljs@1.0.11
Expand Down Expand Up @@ -116,8 +116,8 @@ minifier-css@1.2.16
minimongo@1.0.21
mobile-experience@1.0.4
mobile-status-bar@1.0.14
modules@0.7.9
modules-runtime@0.7.9
modules@0.8.2
modules-runtime@0.7.10
momentjs:moment@2.17.1
mongo@1.1.16
mongo-id@1.0.6
Expand All @@ -141,7 +141,7 @@ promise@0.8.8
raix:eventemitter@0.1.3
raix:ui-dropped-event@0.0.7
random@1.0.10
rate-limit@1.0.7
rate-limit@1.0.8
react-meteor-data@0.2.9
reactive-dict@1.1.8
reactive-var@1.0.11
Expand Down Expand Up @@ -169,5 +169,5 @@ ui@1.0.13
underscore@1.0.10
url@1.1.0
vsivsi:job-collection@1.4.0
webapp@1.3.14
webapp@1.3.15
webapp-hashing@1.0.9
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM reactioncommerce/base:v1.2.2
FROM reactioncommerce/base:v1.3.0

# Default environment variables
ENV ROOT_URL "http://localhost"
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ cd reaction
reaction
```

_Reaction requires Meteor, Git, MongoDB, OS Specific Build Tools, and (optionally) ImageMagick. See our [Requirements Docs](https://docs.reactioncommerce.com/reaction-docs/master/requirements) for requirements installation information._

For more information on setup and configuration, check out the [installation](https://docs.reactioncommerce.com/reaction-docs/development/installation) and [configuration](https://docs.reactioncommerce.com/reaction-docs/development/configuration) docs.

## Participation
Expand Down Expand Up @@ -70,7 +72,7 @@ Docker images are pushed when Reaction sucessfully builds and passes all tests o

### Contributing

Want to contribute? That's great! [Here's you can get started](https://guides.github.com/activities/contributing-to-open-source/#contributing).
Want to contribute? That's great! [Here's how you can get started](https://guides.github.com/activities/contributing-to-open-source/#contributing).

Check out our Issues page, and if you find something you want to work on, let us know in the comments. If you're interested in a particular [project](https://github.com/reactioncommerce/reaction/projects) and you aren’t sure where to begin, feel free to ask. Start small!

Expand Down
2 changes: 2 additions & 0 deletions client/modules/accounts/templates/members/member.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ const getPermissionMap = (permissions) => {
*/
Template.member.events({
"click [data-event-action=showMemberSettings]": function () {
$(".customerUsageType input").val(""); // form reset
$(".customerUsageType").addClass("hide"); // form reset
Reaction.setActionViewDetail({
label: "Permissions",
i18nKeyLabel: "admin.settings.permissionsSettingsLabel",
Expand Down
21 changes: 1 addition & 20 deletions client/modules/core/startup.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,6 @@ import { Meteor } from "meteor/meteor";
import { Tracker } from "meteor/tracker";
import Reaction from "./main";

// @see https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API
let hidden;
// let visibilityState; // keep this for a some case
if (typeof document.hidden !== "undefined") {
hidden = "hidden";
// visibilityState = "visibilityState";
} else if (typeof document.mozHidden !== "undefined") {
hidden = "mozHidden";
// visibilityState = "mozVisibilityState";
} else if (typeof document.msHidden !== "undefined") {
hidden = "msHidden";
// visibilityState = "msVisibilityState";
} else if (typeof document.webkitHidden !== "undefined") {
hidden = "webkitHidden";
// visibilityState = "webkitVisibilityState";
}

/**
* Startup Reaction
* Init Reaction client
Expand All @@ -30,16 +13,14 @@ Meteor.startup(function () {
return Tracker.autorun(function () {
const userId = Meteor.userId();
// TODO: maybe `visibilityState` will be better here
let isHidden;
let loggingIn;
let sessionId;
Tracker.nonreactive(function () {
isHidden = document[hidden];
loggingIn = Accounts.loggingIn();
sessionId = amplify.store("Reaction.session");
});
if (!userId) {
if (!isHidden && !loggingIn || typeof sessionId !== "string") {
if (!loggingIn || typeof sessionId !== "string") {
Accounts.loginWithAnonymous();
}
}
Expand Down
4 changes: 3 additions & 1 deletion client/modules/router/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,9 @@ export function ReactionLayout(options = {}) {
if (Reaction.Subscriptions.Shops.ready()) {
const shop = Shops.findOne(Reaction.getShopId());
if (shop) {
const newLayout = shop.layout.find((x) => selectLayout(x, layout, workflow));
const sortedLayout = shop.layout.sort((prev, next) => prev.priority - next.priority);
const newLayout = sortedLayout.find((x) => selectLayout(x, layout, workflow));

// oops this layout wasn't found. render notFound
if (!newLayout) {
BlazeLayout.render("notFound");
Expand Down
1 change: 1 addition & 0 deletions client/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@
<meta name="fragment" content="!">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<noscript><div style="padding: 40px; font-size: 200%; text-align: center;">This site requires JavaScript. Please enable it in your browser settings.</div></noscript>
<script type="text/javascript">window.prerenderReady = false;</script>
</head>
5 changes: 0 additions & 5 deletions imports/plugins/core/checkout/register.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,39 +42,34 @@ Reaction.registerPackage({
workflow: "coreCartWorkflow",
container: "checkout-steps-main",
audience: ["guest", "anonymous"],
priority: 1,
position: "1"
}, {
template: "checkoutAddressBook",
label: "Shipping Billing",
workflow: "coreCartWorkflow",
container: "checkout-steps-main",
audience: ["guest", "anonymous"],
priority: 2,
position: "2"
}, {
template: "coreCheckoutShipping",
label: "Shipping Options",
workflow: "coreCartWorkflow",
container: "checkout-steps-main",
audience: ["guest", "anonymous"],
priority: 3,
position: "3"
}, {
template: "checkoutReview",
label: "Review Payment",
workflow: "coreCartWorkflow",
container: "checkout-steps-side",
audience: ["guest", "anonymous"],
priority: 4,
position: "4"
}, {
template: "checkoutPayment",
label: "Complete",
workflow: "coreCartWorkflow",
container: "checkout-steps-side",
audience: ["guest", "anonymous"],
priority: 5,
position: "5"
}]
});
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import React, { Component, PropTypes } from "react";
import moment from "moment";
import { Icon } from "/imports/plugins/core/ui/client/components";
import { i18next } from "/client/api";

class EmailTableColumn extends Component {
static propTypes = {
data: PropTypes.object,
data: PropTypes.oneOfType([
PropTypes.string,
PropTypes.instanceOf(Date)
]),
metadata: PropTypes.object,
rowData: PropTypes.object
}
Expand Down
33 changes: 16 additions & 17 deletions imports/plugins/core/orders/client/components/lineItems.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class LineItems extends Component {
<div className="order-items">
<div
className="invoice order-item form-group order-summary-form-group"
onClick={() => handleClick(uniqueItem.cartItemId)}
onClick={() => handleClick(uniqueItem._id)}
style={{ height: 70 }}
>

Expand All @@ -42,7 +42,7 @@ class LineItems extends Component {
</div>

<div className="order-detail-quantity">
{quantity || 1}
{quantity || uniqueItem.quantity}
</div>

<div className="order-detail-price">
Expand All @@ -56,7 +56,7 @@ class LineItems extends Component {
);
}

renderLineItemInvoice(uniqueItem, shippingRate, quantity) {
renderLineItemInvoice(uniqueItem) {
return (
<div>
<div className="order-summary-form-group">
Expand All @@ -69,14 +69,14 @@ class LineItems extends Component {
<div className="order-summary-form-group">
<strong><Translation defaultValue="Shipping" i18nKey="cartSubTotals.shipping"/></strong>
<div className="invoice-details">
{formatPriceString(shippingRate)}
{formatPriceString(uniqueItem.shipping.rate)}
</div>
</div>

<div className="order-summary-form-group">
<strong>Item tax</strong>
<div className="invoice-details">
{uniqueItem.taxDetail ? formatPriceString(uniqueItem.taxDetail.tax / quantity) : formatPriceString(0)}
{uniqueItem.taxDetail ? formatPriceString(uniqueItem.taxDetail.tax / uniqueItem.quantity) : formatPriceString(0)}
</div>
</div>

Expand All @@ -92,10 +92,10 @@ class LineItems extends Component {
<div className="invoice-details">
{uniqueItem.taxDetail ?
<strong>
{this.calculateTotal(uniqueItem.variants.price, shippingRate, uniqueItem.taxDetail.tax)}
{this.calculateTotal(uniqueItem.variants.price, uniqueItem.shipping.rate, uniqueItem.taxDetail.tax)}
</strong> :
<strong>
{this.calculateTotal(uniqueItem.variants.price, shippingRate, 0)}
{this.calculateTotal(uniqueItem.variants.price, uniqueItem.shipping.rate, 0)}
</strong>
}
</div>
Expand All @@ -107,22 +107,21 @@ class LineItems extends Component {

render() {
const { uniqueItems, isExpanded, onClose } = this.props;

return (
<div>
{uniqueItems.map((uniqueItem) => {
if (!isExpanded(uniqueItem.cartItemId)) {
if (!isExpanded(uniqueItem._id)) {
return (
<div key={uniqueItem.cartItemId}> { this.renderLineItem(uniqueItem.items[0], uniqueItem.items.length) } </div>
<div key={uniqueItem._id}> { this.renderLineItem(uniqueItem) } </div>
);
}

return (
<div className="roll-up-invoice-list" key={uniqueItem.cartItemId}>
<div className="roll-up-invoice-list" key={uniqueItem._id}>
<div className="roll-up-content">

<div style={{ float: "right" }}>
<button className="rui btn btn-default flat icon-only" onClick={() => onClose(uniqueItem.cartItemId)}>
<button className="rui btn btn-default flat icon-only" onClick={() => onClose(uniqueItem._id)}>
<i
className="rui font-icon fa-lg fa fa-times"
/>
Expand All @@ -131,12 +130,12 @@ class LineItems extends Component {

<br/><br/>

{uniqueItem.items.map((item) => (
<div key={item._id}>
{ this.renderLineItem(item) }
{ this.renderLineItemInvoice(item, uniqueItem.shippingRate, uniqueItem.items.length) }
{[...Array(uniqueItem.quantity)].map((v, i) =>
<div key={i}>
{ this.renderLineItem(uniqueItem, 1) }
{ this.renderLineItemInvoice(uniqueItem) }
</div>
))}
)}

</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ class LineItemsContainer extends Component {

render() {
const { invoice, uniqueItems } = this.props;

return (
<TranslationProvider>
<LineItems
Expand Down
Loading

0 comments on commit e6ed5bd

Please sign in to comment.