mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-08 22:56:06 +00:00
Merge pull request #4043 from luisramos0/bring_shipment
Bring spree/admin/orders/shipment and shipment_manifest partials from spree_backend and fix an authorization bug
This commit is contained in:
@@ -24,8 +24,3 @@ angular.module("admin.orders").controller "orderCtrl", ($scope, shops, orderCycl
|
||||
|
||||
for shop in $scope.shops
|
||||
shop.disabled = !$scope.distributorHasOrderCycles(shop)
|
||||
|
||||
# Removes the split button introduced by spree in the order form
|
||||
# We only have one stock location in OFN so it's meaningless to split the order between stock locations
|
||||
# We delete it instead of hiding or changing CSS so that, when spree code toggles the element, nothing hapens
|
||||
$('.split-item').remove()
|
||||
|
||||
100
app/views/spree/admin/orders/_shipment.html.haml
Normal file
100
app/views/spree/admin/orders/_shipment.html.haml
Normal file
@@ -0,0 +1,100 @@
|
||||
%div{ :id => "shipment_#{shipment.id}" }
|
||||
%fieldset.no-border-bottom
|
||||
%legend.stock-location{ :align => "center", "data-hook" => "stock-location" }
|
||||
%span.shipment-number
|
||||
= shipment.number
|
||||
= "-"
|
||||
%span.shipment-state
|
||||
= Spree.t("shipment_states.#{shipment.state}")
|
||||
- if shipment.ready? and can? :update, shipment
|
||||
= "-"
|
||||
= link_to 'ship', '#', :class => 'ship button icon-arrow-right', :data => { 'shipment-number' => shipment.number }
|
||||
|
||||
%table.stock-contents.index{ "data-hook" => "stock-contents" }
|
||||
%colgroup
|
||||
%col{ :style => "width: 10%;" }
|
||||
%col{ :style => "width: 30%;" }
|
||||
%col{ :style => "width: 15%;" }
|
||||
%col{ :style => "width: 15%;" }
|
||||
%col{ :style => "width: 15%;" }
|
||||
%col{ :style => "width: 15%;" }
|
||||
|
||||
%thead
|
||||
%th{ :colspan => "2" }
|
||||
= Spree.t(:item_description)
|
||||
%th
|
||||
= Spree.t(:price)
|
||||
%th
|
||||
= Spree.t(:quantity)
|
||||
%th
|
||||
= Spree.t(:total)
|
||||
%th.orders-actions.actions{ "data-hook" => "admin_order_form_line_items_header_actions" }
|
||||
|
||||
%tbody{ "data-shipment-number" => "#{shipment.number}", "data-order-number" => "#{order.number}" }
|
||||
= render 'spree/admin/orders/shipment_manifest', order: order, shipment: shipment
|
||||
|
||||
- unless shipment.shipped?
|
||||
%tr.edit-method.hidden.total
|
||||
%td{ :colspan => "5" }
|
||||
%div.field.alpha.five.columns
|
||||
= label_tag 'selected_shipping_rate_id', Spree.t(:shipping_method)
|
||||
= select_tag :selected_shipping_rate_id, options_for_select(shipment.shipping_rates.backend.map { |sr| ["#{sr.name} #{sr.display_price}", sr.id] }, shipment.selected_shipping_rate_id), { :class => 'select2 fullwidth', :data => { 'shipment-number' => shipment.number } }
|
||||
|
||||
- if shipment.adjustment && shipment.adjustment.closed?
|
||||
%div.field.omega.four.columns
|
||||
%label
|
||||
= Spree.t(:associated_adjustment_closed)
|
||||
%ul
|
||||
%li
|
||||
= radio_button_tag :open_adjustment, 'yes', false, :data => { 'shipment-number' => shipment.number }
|
||||
= "Yes"
|
||||
%li
|
||||
= radio_button_tag :open_adjustment, 'no', true, :data => {'shipment-number' => shipment.number }
|
||||
= "No"
|
||||
|
||||
%td.actions
|
||||
- if can? :update, shipment
|
||||
= link_to '', '#', :class => 'save-method icon_link icon-ok no-text with-tip', :data => { 'shipment-number' => shipment.number, :action => 'save' }, title: Spree.t('actions.save')
|
||||
= link_to '', '#', :class => 'cancel-method icon_link icon-cancel no-text with-tip', :data => { :action => 'cancel' }, :title => Spree.t('actions.cancel')
|
||||
|
||||
%tr.show-method.total
|
||||
%td{ :colspan => "4" }
|
||||
- if shipment.adjustment.present?
|
||||
%strong
|
||||
= "#{shipment.adjustment.label}: #{shipment.shipping_method.name}"
|
||||
- else
|
||||
= Spree.t(:cannot_set_shipping_method_without_address)
|
||||
|
||||
%td.total{ :align => "center" }
|
||||
- if shipment.adjustment.present?
|
||||
%span
|
||||
= shipment.adjustment.display_amount
|
||||
|
||||
- if shipment.adjustment.present? && !shipment.shipped?
|
||||
%td.actions
|
||||
- if can? :update, shipment
|
||||
= link_to '', '#', :class => 'edit-method icon_link icon-edit no-text with-tip', :data => { :action => 'edit' }, :title => Spree.t('edit')
|
||||
|
||||
%tr.edit-tracking.hidden.total
|
||||
%td{ :colspan => "5" }
|
||||
%label
|
||||
= "#{Spree.t(:tracking_number)}:"
|
||||
= text_field_tag :tracking, shipment.tracking
|
||||
|
||||
%td.actions
|
||||
- if can? :update, shipment
|
||||
= link_to '', '#', :class => 'save-tracking icon_link icon-ok no-text with-tip', :data => { 'shipment-number' => shipment.number, :action => 'save' }, :title => Spree.t('actions.save')
|
||||
= link_to '', '#', :class => 'cancel-tracking icon_link icon-cancel no-text with-tip', :data => { :action => 'cancel' }, :title => Spree.t('actions.cancel')
|
||||
|
||||
%tr.show-tracking.total
|
||||
%td{ :colspan => "5" }
|
||||
- if shipment.tracking.present?
|
||||
%strong
|
||||
= "#{Spree.t(:tracking)}:"
|
||||
= shipment.tracking
|
||||
- else
|
||||
= Spree.t(:no_tracking_present)
|
||||
|
||||
%td.actions
|
||||
- if can? :update, shipment
|
||||
= link_to '', '#', :class => 'edit-tracking icon_link icon-edit no-text with-tip', :data => { :action => 'edit' }, :title => Spree.t('edit')
|
||||
25
app/views/spree/admin/orders/_shipment_manifest.html.haml
Normal file
25
app/views/spree/admin/orders/_shipment_manifest.html.haml
Normal file
@@ -0,0 +1,25 @@
|
||||
- shipment.manifest.each do |item|
|
||||
- line_item = order.find_line_item_by_variant(item.variant)
|
||||
|
||||
%tr.stock-item{ "data-item-quantity" => "#{item.quantity}" }
|
||||
%td.item-image
|
||||
= mini_image(item.variant)
|
||||
%td.item-name
|
||||
= item.variant.product_and_full_name
|
||||
%td.item-price.align-center
|
||||
= line_item.single_money.to_html
|
||||
%td.item-qty-show.align-center
|
||||
- item.states.each do |state,count|
|
||||
= "#{count} x #{state.humanize.downcase}"
|
||||
- unless shipment.shipped?
|
||||
%td.item-qty-edit.hidden
|
||||
= number_field_tag :quantity, item.quantity, :min => 0, :class => "line_item_quantity", :size => 5
|
||||
%td.item-total.align-center
|
||||
= line_item_shipment_price(line_item, item.quantity)
|
||||
|
||||
%td.cart-item-delete.actions{ "data-hook" => "cart_item_delete" }
|
||||
- if !shipment.shipped? && can?(:update, shipment)
|
||||
= link_to '', '#', :class => 'save-item icon_link icon-ok no-text with-tip', :data => {'shipment-number' => shipment.number, 'variant-id' => item.variant.id, :action => 'save'}, :title => t('actions.save'), :style => 'display: none'
|
||||
= link_to '', '#', :class => 'cancel-item icon_link icon-cancel no-text with-tip', :data => {:action => 'cancel'}, :title => t('actions.cancel'), :style => 'display: none'
|
||||
= link_to '', '#', :class => 'edit-item icon_link icon-edit no-text with-tip', :data => {:action => 'edit'}, :title => t('actions.edit')
|
||||
= link_to '', '#', :class => 'delete-item icon-trash no-text with-tip', :data => {'shipment-number' => shipment.number, 'variant-id' => item.variant.id, :action => 'remove', :confirm => t(:are_you_sure)}, :title => t('actions.delete')
|
||||
@@ -278,6 +278,10 @@ en:
|
||||
create_and_add_another: "Create and Add Another"
|
||||
create: "Create"
|
||||
cancel: "Cancel"
|
||||
save: "Save"
|
||||
edit: "Edit"
|
||||
delete: "Delete"
|
||||
|
||||
admin:
|
||||
# Common properties / models
|
||||
begins_at: Begins At
|
||||
|
||||
Reference in New Issue
Block a user