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:
Luis Ramos
2019-07-24 21:59:47 +01:00
committed by GitHub
4 changed files with 129 additions and 5 deletions

View File

@@ -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()

View 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')

View 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')

View File

@@ -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