self.send payment_plugin.next_step(current_method_symbol)
end
def before_finish
- restore_transaction_items_after_payment
+ unless restore_transaction_items_after_payment
+ flash.now[:error] = '失敗しました'
+ redirect_to :action => 'show'
+ return
+ end
begin
save_before_finish
rescue => e
def restore_transaction_items_after_payment
transaction_items = session[:transaction_items]
+ return false if transaction_items.nil?
@carts = transaction_items[:carts]
@login_customer = transaction_items[:login_customer]
@orders = transaction_items[:orders]
@order_details = transaction_items[:order_details]
@ids = transaction_items[:ids]
@not_login_customer = transaction_items[:not_login_customer]
+ return true
end
end
payment_plugin.get_plugin_instance
end
+ def order_has_datamanagement
+ obj = self.get_plugin_instance
+ if obj
+ return obj.order_has_datamanagement
+ else
+ return false
+ end
+ end
+
+ def get_datamanagement_by_order(order_code)
+ obj = self.get_plugin_instance
+ if obj
+ return obj.get_datamanagement_by_order(order_code)
+ else
+ return nil
+ end
+ end
+
+
def common_delivery?
return true if delivery_trader_id == COMMON_DELIVERY_TRADER_ID
return false
<tr>
<td colspan="6">
<%=h @order_delivery.payment_name %>
+ <% if @order_delivery.payment.order_has_datamanagement %>
+ (<%= link_to "データ管理", url_for(@order_delivery.payment.get_datamanagement_by_order(@order_delivery.order_code)), {:method => :post} %>)
+ <% end %>
</td>
</tr>
<tr>
<td><%= date(order_delivery.received_at) %></td>
<td><%= order_delivery.order_code %></td>
<td><%=h order_delivery.family_name %> <%=h order_delivery.first_name %></td>
- <td><%= order_delivery.payment && order_delivery.payment.name %></td>
+ <td>
+ <% if order_delivery.payment %>
+ <% if order_delivery.payment.order_has_datamanagement %>
+ <%= link_to order_delivery.payment.name, url_for(order_delivery.payment.get_datamanagement_by_order(order_delivery.order_code)), {:method => :post} %>
+ <% else %>
+ <%= order_delivery.payment.name %>
+ <% end %>
+ <% end %>
+ </td>
<td><%= number_with_delimiter(order_delivery.total) %></td>
<td><%= date(order_delivery.shipped_at) || '未発送' %></td>
<td><%= order_delivery.status_view %></td>
--- /dev/null
+class PostRenderer < WillPaginate::LinkRenderer
+
+ def page_link(page, text, attributes = {})
+ attributes.merge!({:method => :post})
+ @template.link_to text, url_for(page), attributes
+ end
+
+end
return true, ""
end
+ def order_has_datamanagement
+ return false
+ end
+
+ # paramsを返す
+ def get_datamanagement_by_order(order_code)
+ raise "実装してください"
+ end
+
end