OSDN Git Service

カートの遷移上でチェックボックスをつけないとエラーになるものを修正
authorTaro Matsuzawa <tmatsuzawa@kbmj.com>
Thu, 21 Oct 2010 10:30:04 +0000 (19:30 +0900)
committerTaro Matsuzawa <tmatsuzawa@kbmj.com>
Thu, 21 Oct 2010 10:30:04 +0000 (19:30 +0900)
app/controllers/cart_controller.rb
app/views/cart/delivery.html.erb
app/views/cart/delivery2_mobile.html.erb
app/views/cart/delivery_mobile.html.erb
app/views/cart/purchase.html.erb

index a43a680..ec0d6ef 100644 (file)
@@ -225,6 +225,11 @@ class CartController < BaseController
     end
     @delivery_time_options = Hash.new
     @order_deliveries.each do |retailer_id, od|
+      if od.delivery_trader_id.blank?
+        flash.now[:error] = "発送方法が選択されていません"
+        delivery
+        return
+      end
       delivery_trader_id = od.delivery_trader_id
       option = select_delivery_time_with_delivery_trader_id(delivery_trader_id)
       @delivery_time_options[retailer_id] = option
@@ -242,7 +247,24 @@ class CartController < BaseController
     else
       #error
     end
-   
+
+    @order_deliveries.each do |key, value|
+      if value.delivery_trader_id.blank? 
+        flash.now[:error] = "発送方法が選択されていません"
+      elsif value.delivery_time_id.blank?
+        flash.now[:error] = "配達時間が選択されていません"
+      end
+      if flash.now[:error]
+        if request.mobile?
+          delivery2
+        else
+          params[:back] = "1"
+          delivery
+        end
+        return
+      end
+    end
+
     if params[:back] == "1"
       @payment_id = @order_deliveries.first[1].payment_id
     end
@@ -317,6 +339,11 @@ class CartController < BaseController
   #確認画面へ
   def confirm
     init_order_deliveries
+    if params[:order_delivery].nil? || params[:order_delivery][:payment_id].blank?
+      flash.now[:error] = "支払い方法が選択されていません"
+      render :action => 'purchase'
+      return
+    end
     @order_deliveries.each do |key, od|
       unless od.valid?
         render :action => 'purchase'
@@ -682,7 +709,7 @@ class CartController < BaseController
     params[:order_deliveries].each do |key, order_delivery|
       @order_deliveries[key] = OrderDelivery.new(order_delivery)
       @order_deliveries[key].set_customer(@login_customer) if @login_customer
-      @order_deliveries[key].payment_id = params[:order_delivery][:payment_id]
+      @order_deliveries[key].payment_id = params[:order_delivery][:payment_id] unless params[:order_delivery].nil?
     end
     @order_details_map = Hash.new
     @order_deliveries.each do |key, order_delivery|
index 67b6e28..53f6337 100644 (file)
@@ -8,6 +8,11 @@
 <h2 class="main_t">発送方法選択</h2>
 <div id="cart">
   <%= image_tag("cart/route03.gif", :width => "583", :height => "31", :alt => "ご購入の流れ", :class => "route") %>
+  <%- if flash.now[:error] %>
+    <div class="errorExplanation" id="errorExplanation">
+      <p><%=h flash[:error] %></p>
+    </div>
+  <% end %>
   <% form_for :order_delivery, :url => {:action => :purchase} do |f| %>
     <% @carts_map.each do |retailer_id, cart_array| %>
       <%= render :partial => "set_delivery_each_retailer", :locals => {:carts => cart_array, :retailer_id => retailer_id, :f => f} %>
index 3cc53a4..1323604 100644 (file)
@@ -1,3 +1,6 @@
+<span style="color:#ff0000;"><%= flash[:notice] %></span>
+<span style="color:#ff0000;"><%= flash[:error] %></span>
+
 <% form_for :order_delivery, :url => {:action => :purchase} do |f| %>
   <span style="color:#FF9775;">■</span> 発送時間選択<br />
   <% @delivery_time_options.each do |retailer_id, options| %>
index ff41a26..1fa7f92 100644 (file)
@@ -1,3 +1,5 @@
+<span style="color:#ff0000;"><%= flash[:notice] %></span>
+<span style="color:#ff0000;"><%= flash[:error] %></span>
 <% form_for :order_delivery, :url => {:action => :delivery2} do |f| %>
   <span style="color:#FF9775;">■</span> 発送方法選択<br />
   <% @carts_map.each do |retailer_id, cart_array| %>
index 2f31417..79064b0 100644 (file)
@@ -9,7 +9,11 @@
 <!-- ショッピングカート -->
   <%= image_tag("cart/route03.gif", :width => "583", :height => "31", :alt => "ご購入の流れ", :class => "route") %>
   <span class="must"><%= flash[:notice] %></span>
-  <span class="must"><%= flash[:error] %></span>
+  <%- if flash.now[:error] %>
+    <div class="errorExplanation" id="errorExplanation">
+      <p><%=h flash.now[:error] %></p>
+    </div>
+  <% end %>
   <%= @order_delivery && error_messages_for(:order_delivery) %>
   <% form_for :order_delivery, :url =>{:action => 'confirm'}, :html => {:name=>'form1'} do | f | %>
     <div class="purchase_select">