Restoring all changes of the last combined branch

This reverts commit 1e55e8a907.
This commit is contained in:
Maikel Linke
2015-09-10 15:03:13 +10:00
parent 1e55e8a907
commit e25805aa78
16 changed files with 65 additions and 59 deletions

View File

@@ -0,0 +1,5 @@
Darkswarm.directive "integer", ->
restrict: 'A'
link: (scope, elem, attr) ->
elem.bind 'input', ->
elem.val Math.round(elem.val())

View File

@@ -11,6 +11,7 @@
.small-5.medium-3.large-3.columns.text-right{"bo-if" => "!variant.product.group_buy"}
%input{type: :number,
integer: true,
value: nil,
min: 0,
placeholder: "0",
@@ -26,14 +27,17 @@
%span.bulk-input
%input.bulk.first{type: :number,
value: nil,
integer: true,
min: 0,
"ng-model" => "variant.line_item.quantity",
placeholder: "min",
"ofn-disable-scroll" => true,
max: "{{variant.on_demand && 9999 || variant.count_on_hand }}",
name: "variants[{{variant.id}}]", id: "variants_{{variant.id}}"}
%span.bulk-input{"bo-if" => "variant.product.group_buy"}
%span.bulk-input
%input.bulk.second{type: :number,
"ng-disabled" => "!variant.line_item.quantity",
integer: true,
min: 0,
"ng-model" => "variant.line_item.max_quantity",
placeholder: "max",

View File

@@ -38,6 +38,7 @@
padding: 4px 12px
color: #fff
.buttons
margin-bottom: 0.1em
.button
height: auto
top: 0px

View File

@@ -0,0 +1,2 @@
/ insert_bottom "[data-hook='admin_tabs'], #admin_tabs[data-hook]"
= tab :customers, :url => main_app.admin_customers_path

View File

@@ -68,7 +68,7 @@
 
.row.cta-container
.columns.small-12
%a.cta-hub{"ng-repeat" => "hub in producer.hubs | orderBy:'-active'",
%a.cta-hub{"ng-repeat" => "hub in producer.hubs | visible | orderBy:'-active'",
"bo-href" => "hub.path", "ofn-change-hub" => "hub",
"bo-class" => "{primary: hub.active, secondary: !hub.active}"}
%i.ofn-i_033-open-sign{"bo-if" => "hub.active"}

View File

@@ -9,7 +9,11 @@
.joyride-tip-guide{"ng-class" => "{ in: open }", "ng-show" => "open"}
%span.joyride-nub.top
.joyride-content-wrapper
%h5 Your shopping cart
%h5.text-left Your shopping cart
.buttons.text-right
%a.button.secondary.tiny.add_to_cart{ href: cart_path, type: :submit, "ng-disabled" => "Cart.dirty || Cart.empty()", "ng-class" => "{ dirty: Cart.dirty }" }
{{ Cart.dirty ? 'Updating cart...' : (Cart.empty() ? 'Cart empty' : 'Edit your cart' ) }}
%a.button.primary.tiny{href: checkout_path, "ng-disabled" => "Cart.dirty || Cart.empty()"} Checkout now
%table
%tr.product-cart{"ng-repeat" => "line_item in Cart.line_items_present()",
"ng-controller" => "LineItemCtrl", "id" => "cart-variant-{{ line_item.variant.id }}"}

View File

@@ -9,6 +9,6 @@
= f.label :group_buy_0, 'No'
%br.clear
= f.field_container :group_buy_unit_size do
= f.label :group_buy_unit_size
= f.label :group_buy_unit_size, "Bulk unit size"
%br
= f.text_field :group_buy_unit_size

View File

@@ -1,20 +0,0 @@
.row
.alpha.six.columns
= f.field_container :supplier do
= f.label :supplier
= f.collection_select(:supplier_id, Enterprise.is_primary_producer.managed_by(spree_current_user).by_name, :id, :name, {:include_blank => true}, {:class => "select2 fullwidth"})
= f.error_message_on :supplier
.four.columns
= f.field_container :group_buy do
= f.label :group_buy, 'Group buy?'
%br
.alpha.two.columns
= f.radio_button :group_buy, '1', :checked => f.object.group_buy
= f.label :group_buy_1, 'Yes'
.omega.two.columns
= f.radio_button :group_buy, '0', :checked => !f.object.group_buy
= f.label :group_buy_0, 'No'
.omega.six.columns
= f.field_container :group_buy_unit_size do
= f.label :group_buy_unit_size
= f.text_field :group_buy_unit_size, :class => "fullwidth"

View File

@@ -19,9 +19,10 @@
%h4
Order confirmation
%strong ##{@order.number}
%p
%h5
%strong= "#{@order.bill_address.firstname} #{@order.bill_address.lastname}"
completed the following order at your shopfront:
= " <#{@order.email}>" if @order.email
= @order.bill_address.phone if @order.bill_address.phone
= render 'order_summary'
= render 'payment'

View File

@@ -23,7 +23,7 @@ module OpenFoodNetwork
when "bulk_coop_customer_payments"
["Customer", "Date of Order", "Total Cost", "Amount Owing", "Amount Paid"]
else
["Supplier", "Product", "Unit Size", "Variant", "Weight", "Sum Total", "Sum Max Total", "Units Required", "Remainder"]
["Supplier", "Product", "Bulk Unit Size", "Variant", "Weight", "Sum Total", "Sum Max Total", "Units Required", "Remainder"]
end
end
@@ -59,7 +59,7 @@ module OpenFoodNetwork
sort_by: proc { |product| product.name },
summary_columns: [ proc { |lis| lis.first.variant.product.supplier.name },
proc { |lis| lis.first.variant.product.name },
proc { |lis| lis.first.variant.product.group_buy ? (lis.first.variant.product.group_buy_unit_size || 0.0) : "" },
proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 },
proc { |lis| "" },
proc { |lis| "" },
proc { |lis| lis.sum { |li| li.quantity * (li.variant.weight || 0) } },
@@ -91,7 +91,7 @@ module OpenFoodNetwork
else
[ proc { |lis| lis.first.variant.product.supplier.name },
proc { |lis| lis.first.variant.product.name },
proc { |lis| lis.first.variant.product.group_buy ? (lis.first.variant.product.group_buy_unit_size || 0.0) : "" },
proc { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 },
proc { |lis| lis.first.variant.full_name },
proc { |lis| lis.first.variant.weight || 0 },
proc { |lis| lis.sum { |li| li.quantity } },

View File

@@ -2,7 +2,7 @@ require 'open_food_network/reports/bulk_coop_report'
module OpenFoodNetwork::Reports
class BulkCoopAllocationReport < BulkCoopReport
header "Customer", "Product", "Unit Size", "Variant", "Variant value", "Variant unit", "Weight", "Sum Total", "Total Available", "Unallocated", "Max quantity excess"
header "Customer", "Product", "Bulk Unit Size", "Variant", "Variant value", "Variant unit", "Weight", "Sum Total", "Total Available", "Unallocated", "Max quantity excess"
organise do
group { |li| li.variant.product }
@@ -36,7 +36,7 @@ module OpenFoodNetwork::Reports
columns do
column { |lis| lis.first.order.bill_address.firstname + " " + lis.first.order.bill_address.lastname }
column { |lis| lis.first.variant.product.name }
column { |lis| lis.first.variant.product.group_buy ? (lis.first.variant.product.group_buy_unit_size || 0.0) : "" }
column { |lis| lis.first.variant.product.group_buy_unit_size || 0.0 }
column { |lis| lis.first.variant.full_name }
column { |lis| OpenFoodNetwork::OptionValueNamer.new(lis.first.variant).value }
column { |lis| OpenFoodNetwork::OptionValueNamer.new(lis.first.variant).unit }

View File

@@ -22,11 +22,7 @@ module OpenFoodNetwork::Reports
end
def group_buy_unit_size_f(lis)
if lis.first.variant.product.group_buy
group_buy_unit_size(lis)
else
""
end
group_buy_unit_size(lis)
end
def total_amount(lis)

View File

@@ -2,7 +2,7 @@ require 'open_food_network/reports/bulk_coop_report'
module OpenFoodNetwork::Reports
class BulkCoopSupplierReport < BulkCoopReport
header "Supplier", "Product", "Unit Size", "Variant", "Variant value", "Variant unit", "Weight", "Sum Total", "Units Required", "Unallocated", "Max quantity excess"
header "Supplier", "Product", "Bulk Unit Size", "Variant", "Variant value", "Variant unit", "Weight", "Sum Total", "Units Required", "Unallocated", "Max quantity excess"
organise do
group { |li| li.variant.product.supplier }

View File

@@ -50,11 +50,12 @@ feature %q{
scenario "can add a product to an existing order", js: true do
login_to_admin_section
visit '/admin/orders'
page.find('td.actions a.icon-edit').click
targetted_select2_search @product.name, from: ".variant_autocomplete", dropdown_css: ".select2-search"
click_edit
click_icon :plus
targetted_select2_search @product.name, from: '#add_variant_id', dropdown_css: '.select2-drop'
click_link 'Add'
page.should have_selector 'td', text: @product.name
@order.line_items(true).map(&:product).should include @product
@@ -153,4 +154,21 @@ feature %q{
end
end
# Working around intermittent click failing
# Possible causes of failure:
# - the link moves
# - the missing content (font icon only)
# - the screen is not big enough
# However, some operations before the click or a second click on failure work.
#
# A lot of people had similar problems:
# https://github.com/teampoltergeist/poltergeist/issues/520
# https://github.com/thoughtbot/capybara-webkit/issues/494
def click_edit
click_result = click_icon :edit
unless click_result['status'] == 'success'
click_icon :edit
end
end
end

View File

@@ -82,7 +82,7 @@ feature %q{
visit spree.edit_admin_product_path(product)
choose 'product_group_buy_1'
fill_in 'Group buy unit size', :with => '10'
fill_in 'Bulk unit size', :with => '10'
click_button 'Update'

View File

@@ -97,9 +97,7 @@ feature "shopping with variant overrides defined", js: true do
it "shows the correct prices in the checkout" do
fill_in "variants[#{v1.id}]", with: "2"
show_cart
wait_until_enabled 'li.cart a.button'
click_link 'Checkout now'
click_checkout
page.should have_selector 'form.edit_order .cart-total', text: '$122.21'
page.should have_selector 'form.edit_order .shipping', text: '$0.00'
@@ -111,9 +109,7 @@ feature "shopping with variant overrides defined", js: true do
describe "creating orders" do
it "creates the order with the correct prices" do
fill_in "variants[#{v1.id}]", with: "2"
show_cart
wait_until_enabled 'li.cart a.button'
click_link 'Checkout now'
click_checkout
complete_checkout
@@ -124,9 +120,7 @@ feature "shopping with variant overrides defined", js: true do
it "subtracts stock from the override" do
fill_in "variants[#{v4.id}]", with: "2"
show_cart
wait_until_enabled 'li.cart a.button'
click_link 'Checkout now'
click_checkout
expect do
expect do
@@ -137,9 +131,7 @@ feature "shopping with variant overrides defined", js: true do
it "subtracts stock from stock-overridden on_demand variants" do
fill_in "variants[#{v6.id}]", with: "2"
show_cart
wait_until_enabled 'li.cart a.button'
click_link 'Checkout now'
click_checkout
expect do
expect do
@@ -150,9 +142,7 @@ feature "shopping with variant overrides defined", js: true do
it "does not subtract stock from overrides that do not override count_on_hand" do
fill_in "variants[#{v1.id}]", with: "2"
show_cart
wait_until_enabled 'li.cart a.button'
click_link 'Checkout now'
click_checkout
expect do
complete_checkout
@@ -163,9 +153,7 @@ feature "shopping with variant overrides defined", js: true do
it "does not show out of stock flags on order confirmation page" do
v4.update_attribute :count_on_hand, 0
fill_in "variants[#{v4.id}]", with: "2"
show_cart
wait_until_enabled 'li.cart a.button'
click_link 'Checkout now'
click_checkout
complete_checkout
@@ -208,4 +196,11 @@ feature "shopping with variant overrides defined", js: true do
place_order
page.should have_content "Your order has been processed successfully"
end
def click_checkout
show_cart
wait_until_enabled 'li.cart a.button'
click_link 'Checkout now', match: :first
end
end