diff --git a/packages/reaction-core/client/app.coffee b/packages/reaction-core/client/app.coffee index 9ba2ed3ac2f..35e42655c78 100644 --- a/packages/reaction-core/client/app.coffee +++ b/packages/reaction-core/client/app.coffee @@ -6,6 +6,7 @@ _.extend ReactionCore, isMember: false isOwner: null isAdmin: null + canCheckoutAsGuest: false userPermissions: [] shopPermissions: [] shopPermissionGroups: [] @@ -18,6 +19,8 @@ _.extend ReactionCore, if shop self.shopId = shop._id + # check to see if guest checkout is enabled + self.canCheckoutAsGuest = shop.canCheckoutAsGuest || false #permissions and packages permissions = [] # package registry update @@ -59,15 +62,18 @@ _.extend ReactionCore, self.userPermissions = [] self.shopPermissions = [] self.shopPermissionGroups = [] - + # dashboard access hasDashboardAccess: -> return @isMember or @.hasOwnerAccess() + # permission check hasPermission: (permissions) -> return false unless permissions permissions = [permissions] unless _.isArray(permissions) return @.hasOwnerAccess() or _.intersection(permissions, @userPermissions).length or (@isAdmin and _.intersection(permissions, @shopPermissions).length) + # role checkout hasOwnerAccess: -> return Roles.userIsInRole(Meteor.user(), "admin") or @isOwner + # returns shop id getShopId: -> return @shopId diff --git a/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.coffee b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.coffee index 9d9f8b75be4..fd82f5c9bbd 100644 --- a/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.coffee +++ b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.coffee @@ -29,4 +29,4 @@ Template._loginButtonsLoggedOutPasswordService.helpers loginButtonsSession.set 'inForgotPasswordFlow', false canCheckoutAsGuest: -> - !!ReactionCore.canCheckoutAsGuest() + !!ReactionCore.canCheckoutAsGuest diff --git a/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html index 720b75c7da4..31894776e35 100644 --- a/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html +++ b/packages/reaction-core/client/templates/accounts/accounts-ui/login_buttons_dropdown.html @@ -9,7 +9,7 @@ {{#if dropdownVisible}}
- Close + Close
{{#if inMessageOnlyFlow}} @@ -28,7 +28,7 @@ diff --git a/packages/reaction-core/client/templates/accounts/dropdown/dropdown.import.less b/packages/reaction-core/client/templates/accounts/dropdown/dropdown.import.less deleted file mode 100644 index 177ee6c92d2..00000000000 --- a/packages/reaction-core/client/templates/accounts/dropdown/dropdown.import.less +++ /dev/null @@ -1,112 +0,0 @@ -.navbar-accounts { - .dropdown{ - .circular-icon { - width: 40px; - height: 40px; - margin: -15px 5px; - border: 2px solid rgba(129, 122, 122, 0.62); - border-radius: 50%; - padding: 10px; - display: inline-block; - } - .user-accounts-dropdown { - min-width: 200px; - min-height: 225px; - padding: 10px; - } - .user-accounts-dropdown-content { - min-height: 155px; - border: 1px solid @dropdown-border; - margin-bottom: 10px; - padding: 20px 5px 10px 5px; - text-align: center; - } - .user-accounts-dropdown-apps { - margin-top: 10px; - i { font-size: 45px; } - } - .dropdown-apps-icon { - cursor: pointer; - position: relative; - margin: 10px; - display: inline-block; - width: 50px; - height: 50px; - a { - color: @gray-light; - height: 50px; - text-decoration: none; - } - a:hover, a:focus { - color: @gray; - height: 50px; - text-decoration: none; - background-color: transparent; - } - } - .icon-text { - position: relative; - bottom: 7px; - text-align: center; - font-size: 10px; - } - - } - - .dropdown-menu { - border: 1px solid @dropdown-border; - margin-top: 13px; - } - - .dropdown-menu:before { - position: absolute; - top: -10px; - right: 9px; - display: inline-block; - border-right: 10px solid transparent; - border-bottom: 10px solid #ccc; - border-left: 10px solid transparent; - border-bottom-color: rgba(0, 0, 0, 0.2); - content: ''; - } - - .dropdown-menu:after { - position: absolute; - top: -9px; - right: 10px; - display: inline-block; - border-right: 9px solid transparent; - border-bottom: 9px solid #ffffff; - border-left: 9px solid transparent; - content: ''; - } - .dropdown-backdrop { - background-color: rgba(148, 145, 145, 0.34); - } -} - -.additional-link-container { - a { - color: @link-color; - } - a:hover { - color: @link-hover-color; - background-color: transparent; - } -} - -@media only screen and (max-width: @screen-xs-max) { - .navbar-accounts { - padding-top: (@navbar-padding-vertical + 3px); - #logged-in-display-name { - display: none; - } - .dropdown-menu { right: -60px;} - .dropdown-menu:before { - right: 65px; - } - .dropdown-menu:after { - right: 65px; - } - } -} \ No newline at end of file diff --git a/packages/reaction-core/client/templates/accounts/inline/inline.import.less b/packages/reaction-core/client/templates/accounts/inline/inline.import.less deleted file mode 100644 index 50afb7c66d9..00000000000 --- a/packages/reaction-core/client/templates/accounts/inline/inline.import.less +++ /dev/null @@ -1,21 +0,0 @@ -.accounts-inline { - min-width: 280px; - width: 100%; - margin: 0; - border: 0; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - - .or { text-align: center; } - .hline { text-decoration: line-through; color: lightgrey; } - .or-text { font-weight: bold; } - - .additional-link { - float: right; - margin-left: 15px; - } - - #forgot-password-link { margin-left:0; float: left; } - -} diff --git a/packages/reaction-core/client/templates/cart/cartDrawer/cartDrawer.import.less b/packages/reaction-core/client/templates/cart/cartDrawer/cartDrawer.import.less deleted file mode 100644 index 4f537d26bb0..00000000000 --- a/packages/reaction-core/client/templates/cart/cartDrawer/cartDrawer.import.less +++ /dev/null @@ -1,133 +0,0 @@ -#cart-drawer-container { - display: none; -} -.cart-drawer { - height: 100%; - width: 100%; - background-color: @cart-drawer-bg; - color: @text-color; - padding: 10px; - text-align: left; - -moz-box-shadow: inset 0 0 10px #000000; - -webkit-box-shadow: inset 0 0 10px #000000; - box-shadow: inset 0 0 10px #000000; - - .cart-drawer-empty-msg { - text-align: center; - height: (@cart-drawer-height - 10); - color: contrast(@cart-drawer-bg, black, white); - padding-top: (@cart-drawer-height / 5); - } - - .cart-frown { - vertical-align: inherit; - } -} - -/* =============================================================== -Basic Swiper Styles -================================================================*/ -.cart-drawer-swiper-container { - height: 255px; - margin:0 auto; - position:relative; - overflow:hidden; - -webkit-backface-visibility:hidden; - -moz-backface-visibility:hidden; - -ms-backface-visibility:hidden; - -o-backface-visibility:hidden; - backface-visibility:hidden; - /* Fix of Webkit flickering */ - z-index:1; -} -.cart-drawer-swiper-wrapper { - position:relative; - width:100%; - -webkit-transition-property:-webkit-transform, left, top; - -webkit-transition-duration:0s; - -webkit-transform:translate3d(0px,0,0); - -webkit-transition-timing-function:ease; - - -moz-transition-property:-moz-transform, left, top; - -moz-transition-duration:0s; - -moz-transform:translate3d(0px,0,0); - -moz-transition-timing-function:ease; - - -o-transition-property:-o-transform, left, top; - -o-transition-duration:0s; - -o-transform:translate3d(0px,0,0); - -o-transition-timing-function:ease; - -o-transform:translate(0px,0px); - - -ms-transition-property:-ms-transform, left, top; - -ms-transition-duration:0s; - -ms-transform:translate3d(0px,0,0); - -ms-transition-timing-function:ease; - - transition-property:transform, left, top; - transition-duration:0s; - transform:translate3d(0px,0,0); - transition-timing-function:ease; - - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} -.swiper-free-mode > .swiper-wrapper { - -webkit-transition-timing-function: ease-out; - -moz-transition-timing-function: ease-out; - -ms-transition-timing-function: ease-out; - -o-transition-timing-function: ease-out; - transition-timing-function: ease-out; - margin: 0 auto; -} -.cart-drawer-swiper-slide { - width: 250px; - height: 250px; - float: left; -} - -/* IE10 Windows Phone 8 Fixes */ -.swiper-wp8-horizontal { - -ms-touch-action: pan-y; -} -.swiper-wp8-vertical { - -ms-touch-action: pan-x; -} - -.cart-drawer-swiper-slide-active { - /* Specific active slide styling: */ - -} -.cart-drawer-swiper-slide-visible { - /* Specific visible slide styling: */ - -} - -/* =============================================================== -Pagination Styles -================================================================*/ - -.cart-drawer-pagination { - position: relative; - z-index: 20; - left: 10px; - bottom: 10px; -} -.swiper-pagination-switch { - display: inline-block; - width: 8px; - height: 8px; - border-radius: 8px; - background: #222; - margin-right: 5px; - opacity: 0.8; - border: 1px solid #fff; - cursor: pointer; -} -.swiper-visible-switch { - background: #aaa; -} -.swiper-active-switch { - background: #fff; -} \ No newline at end of file diff --git a/packages/reaction-core/client/templates/cart/cartDrawer/cartItems/cartItems.import.less b/packages/reaction-core/client/templates/cart/cartDrawer/cartItems/cartItems.import.less deleted file mode 100644 index 5825adf8f2a..00000000000 --- a/packages/reaction-core/client/templates/cart/cartDrawer/cartItems/cartItems.import.less +++ /dev/null @@ -1,58 +0,0 @@ -.cart-items { - position: relative; - border: 3px solid white; - margin: 5px; - border-radius: 4px; - - .cart-labels { - margin: -30px 0 0 0; - height: 30px; - padding: 5px; - background-color: @product-overlay-bg; - width: 235px; - font-size: 1.1em; - white-space: nowrap; - overflow: hidden; - text-align: center; - color: @product-overlay-text; - .warning { - position:relative; - font-weight:bold; - font-size:inherit; - padding:2px 8px 2px 8px; - background-color:#FF0000; - } - } - - .remove-cart-item { - position: absolute; - top: 8px; - right: 8px; - color: @gray; - background-color: @alert-warning-bg; - border: 2px solid @gray; - padding: 5px; - border-radius: 50%; - z-index: 99; - } - - .center-cropped { - width: 235px; - height: 225px; - background-position: center center; - background-repeat: no-repeat; - overflow: hidden; - } - - /* Set the image to fill its parent and make transparent */ - .center-cropped img { - min-height: 100%; - min-width: 100%; - /* IE 8 */ - -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; - /* IE 5-7 */ - filter: alpha(opacity=0); - /* modern browsers */ - opacity: 0; - } -} diff --git a/packages/reaction-core/client/templates/cart/cartDrawer/cartSubTotals/cartSubTotals.import.less b/packages/reaction-core/client/templates/cart/cartDrawer/cartSubTotals/cartSubTotals.import.less deleted file mode 100644 index 233977404fe..00000000000 --- a/packages/reaction-core/client/templates/cart/cartDrawer/cartSubTotals/cartSubTotals.import.less +++ /dev/null @@ -1,12 +0,0 @@ -.cart-drawer { - .cart-totals { - text-align: left; - padding: 15px; - font-size: 16px; - height: 100%; - width: 225px; - height: 225px; - background-color: @cart-drawer-bg; - color: contrast(@cart-drawer-bg, black, white); - } -} \ No newline at end of file diff --git a/packages/reaction-core/client/templates/cart/cartIcon/cartIcon.html b/packages/reaction-core/client/templates/cart/cartIcon/cartIcon.html index 1e16cac4f22..fb651846bd6 100644 --- a/packages/reaction-core/client/templates/cart/cartIcon/cartIcon.html +++ b/packages/reaction-core/client/templates/cart/cartIcon/cartIcon.html @@ -1,8 +1,8 @@