Преглед на файлове

added the ability to add % haggle in sale

Jose Miguel Ledon Nieblas преди 9 години
родител
ревизия
f66c263740
променени са 2 файла, в които са добавени 42 реда и са изтрити 11 реда
  1. 8 1
      app/controllers/sales_controller.rb
  2. 34 10
      app/views/sales/_add_haggle.html.erb

+ 8 - 1
app/controllers/sales_controller.rb

@@ -367,7 +367,14 @@ class SalesController < ApplicationController
   def create_haggle
     respond_to do |format|
       @pre_sale = PreSale.find(params[:pre_sale])
-      @pre_sale.haggle = params[:haggle].to_f
+      @haggle_percent = params[:haggle_percent].present? ? params[:haggle_percent].to_f : nil
+      @haggle_quantity = params[:haggle_quantity].present? ? params[:haggle_quantity].to_f : nil
+
+      if @haggle_percent.present?
+        @pre_sale.haggle = (@haggle_percent / 100) * @pre_sale.total
+      elsif @haggle_quantity.present?
+        @pre_sale.haggle = @haggle_quantity
+      end
       @pre_sale.get_totals
       if @pre_sale.save
         format.js

+ 34 - 10
app/views/sales/_add_haggle.html.erb

@@ -7,23 +7,38 @@
         </div>
     <% end %>
     <div class="form-body">
-        <div class="row">     
+        <div class="row">
             <div class="col-md-12">
                 <p style="margin-top:0px;">
                     Producto: <strong> <%= @pre_sale.product.name  %> </strong> <br>
-                    Precio de venta: <strong> <%= number_to_currency(@pre_sale.unit_price, precision: 2) %> MXN </strong>
+                    Cantidad: <strong> <%= @pre_sale.quantity %> </strong> <br>
+                    Importe: <strong> <%= number_to_currency(@pre_sale.total, precision: 2) %> MXN </strong>
                 </p>
+                <h4 class="form-section"></h4>
+                <div class="note note-success">
+                    <p> <strong>NOTA: </strong>Solo se puede aplicar descuento de una manera, ya sea en porcentaje o cantidad fija.</p>
+
+                    <p>* Las cantidades recomendadas que se muestran son en base al porcentaje establecido en la configuración.</p>
+                </div>
+                <div class="form-group">
+                   <%= label_tag :haggle,  {:class=>"col-md-4 control-label"} do %>Porcentaje a aplicar <% end %>
+                    <div class="col-md-6">
+                        <div class="input-group">
+                            <%= number_field_tag :haggle_percent, '', class: "form-control input-mask_decimal", min:0, max:100 %>
+                            <span class="input-group-addon"> % </span>
+                        </div>
+                        <span class="help-block">Recomendado: <strong><%= @pos_config.haggle_in_sale_percent %></strong> %</span>
+                    </div>
+                </div>
                 <div class="form-group">
-                   <%= label_tag :haggle,  {:class=>"col-md-4 control-label"} do %>Descuento a aplicar
-                    <span class="required">*</span>
-                  <% end %> 
+                   <%= label_tag :haggle,  {:class=>"col-md-4 control-label"} do %>Cantidad a descontar <% end %>
                     <div class="col-md-6">
                         <div class="input-group">
                             <span class="input-group-addon"> $ </span>
-                            <%= text_field_tag :haggle, @suggested_haggle, class: "form-control input-mask_decimal" %>
+                            <%= number_field_tag :haggle_quantity, '', class: "form-control input-mask_decimal" %>
                             <span class="input-group-addon"> MXN </span>
                         </div>
-                        <span class="help-block">El descuento que se muestra es el sugerido en base al establecido en la configuración.</span>  
+                        <span class="help-block">Recomendado: <strong><%= number_to_currency(@suggested_haggle, precision: 2) %></strong></span>
                     </div>
                 </div>
             </div>
@@ -34,16 +49,25 @@
     <h4 class="form-section"> </h4>
     <div class="row">
         <div class="col-md-12">
-            <button type="submit" class="btn green" >Aplicar descuento</button>
+            <button type="submit" class="btn green"  id="submit_btn">Aplicar descuento</button>
             <button type="button" class="btn default" onclick="cerrarDialog()">Cerrar</button>
         </div>
     </div>
 </div>
 <% end %>
 <script>
+    $('#haggle_quantity, #haggle_percent').on('input', function() {
+        if($(this).attr('id') == 'haggle_percent') {
+            $('#haggle_quantity').val('');
+        } else {
+            $('#haggle_percent').val('');
+        }
+    });
+
     function cerrarDialog() {
         $('#dialog').modal('toggle');
     }
+
 </script>
-	
-	
+
+