Przeglądaj źródła

[Issue #12] Fixed date filter in cash outs index

Jacqueline Maldonado 7 lat temu
rodzic
commit
fc7a021555

+ 8 - 26
app/controllers/cash_outs_controller.rb

@@ -79,20 +79,6 @@ class CashOutsController < ApplicationController
     end
   end
 
-  # PATCH/PUT /cash_outs/1
-  # PATCH/PUT /cash_outs/1.json
-  def update
-    respond_to do |format|
-      if @cash_out.update(cash_out_params)
-        format.html { redirect_to @cash_out, notice: 'Cash out was successfully updated.' }
-        format.json { render :show, status: :ok, location: @cash_out }
-      else
-        format.html { render :edit }
-        format.json { render json: @cash_out.errors, status: :unprocessable_entity }
-      end
-    end
-  end
-
   def get_open_cash_registers
     respond_to do |format|
       format.js
@@ -110,21 +96,17 @@ class CashOutsController < ApplicationController
     end
   end
 
-  # DELETE /cash_outs/1
-  # DELETE /cash_outs/1.json
-  def destroy
-    @cash_out.destroy
-    respond_to do |format|
-      format.html { redirect_to cash_outs_url, notice: 'Cash out was successfully destroyed.' }
-      format.json { head :no_content }
+  def find_cash_outs_by_date
+    if params[:begin_date] != "null" && params[:end_date] != "null"
+      start_date = params[:begin_date].in_time_zone(Time.zone).beginning_of_day + 1.days
+      end_date = params[:end_date].in_time_zone(Time.zone).end_of_day + 1.days
+    else
+      start_date = DateTime.now
+      end_date = DateTime.now
     end
-  end
 
-  def find_cash_outs_by_date
+    @cash_outs = params[:pointsale_id] != "null" ? Pointsale.find(params[:pointsale_id]).cash_outs.includes(:open_cash_register, :user, :received_by).where(created_at: start_date..end_date).order(" id DESC ") : CashOut.all.includes(:open_cash_register, :user, :received_by).where(created_at: start_date..end_date).order('cash_outs.created_at desc')
     respond_to do |format|
-      start_date = DateTime.parse(params[:begin_date]).in_time_zone(Time.zone).beginning_of_day + 1.days
-      end_date = DateTime.parse(params[:end_date]).in_time_zone(Time.zone).end_of_day + 1.days
-      @cash_outs = Pointsale.find(params[:pointsale_id]).cash_outs.includes(:open_cash_register, :user, :received_by).where(created_at: start_date..end_date).order(" id DESC ")
       format.js
     end
   end

+ 38 - 33
app/views/cash_outs/index.html.erb

@@ -44,16 +44,15 @@
                     <span class="caption-subject bold uppercase">Lista de cortes de caja</span>
                   </div>
                    <div class="actions">
-                     <% if current_user.usertype == "G" %>
-                        <% if can? :create, CashOut %>
-                          <%= link_to new_open_cash_register_path, :remote => true, :class => 'btn btn bold green margin-top pull-right', :title => "Abrir caja registradora" do %> Abrir caja <i class="fa fa-plus"></i>
-                          <% end %> <br>
-                          <%= link_to get_open_cash_registers_path, remote: true, data: { toggle: "modal", target: "#get_open_cash_register" }, :class=>"btn bold green pull-right", :title=>"Realizar corte de caja", :style=> "margin-top:10px"  do %> Realizar corte de caja <i class="fa fa-plus"></i>
-                          <% end %>
+                    <% if current_user.usertype == "G" %>
+                      <% if can? :create, CashOut %>
+                        <%= link_to new_open_cash_register_path, :remote => true, :class => 'btn btn bold green margin-top pull-right', :title => "Abrir caja registradora" do %> Abrir caja <i class="fa fa-plus"></i><% end %> <br>
+                        <%= link_to get_open_cash_registers_path, remote: true, data: { toggle: "modal", target: "#get_open_cash_register" }, :class=>"btn bold green pull-right", :title=>"Realizar corte de caja", :style=> "margin-top:10px"  do %> Realizar corte de caja <i class="fa fa-plus"></i>
                         <% end %>
-                     <% end %>
-                     <% if current_user.usertype == "A" %>
-                        <%= link_to opened_cash_registers_path, {:class=>"btn bold green pull-right"} do %> <i class="fa fa-search"></i>&nbsp Ver cajas abiertas <% end %>
+                      <% end %>
+                    <% end %>
+                    <% if current_user.usertype == "A" %>
+                      <%= link_to opened_cash_registers_path, {:class=>"btn bold green pull-right"} do %> <i class="fa fa-search"></i>&nbsp Ver cajas abiertas <% end %>
                     <% end %>
                   </div>
                 </div>
@@ -71,22 +70,22 @@
                             <%= label_tag :begin_date, "Fecha", {:class=>"col-md-1 control-label"} do %> Desde
                             <% end %>
                             <div class="col-sm-2" style="padding-left:0px;padding-right:0px;">
-                                <div class='input-group date' id='begin_date'>
-                                    <input id="start" type='text' class="form-control"/>
-                                    <span class="input-group-addon">
-                                        <span class="glyphicon glyphicon-calendar"></span>
-                                    </span>
-                                </div>
+                              <div class='input-group date' id='begin_date'>
+                                <input id="start" type='text' class="form-control" value="<%= l(Date.today.beginning_of_month, format: '%d/%m/%Y') %>" />
+                                  <span class="input-group-addon">
+                                    <span class="glyphicon glyphicon-calendar"></span>
+                                  </span>
+                              </div>
                             </div>
                             <%= label_tag :end_date, "Fecha", {:class=>"col-md-1 control-label"} do %> Hasta
                             <% end %>
                             <div class="col-sm-2" style="padding-left:0px;padding-right:0px;">
-                                <div class='input-group date' id='end_date'>
-                                    <input id="end" type='text' class="form-control"/>
-                                    <span class="input-group-addon">
-                                        <span class="glyphicon glyphicon-calendar"></span>
-                                    </span>
-                                </div>
+                              <div class='input-group date' id='end_date'>
+                                <input id="end" type='text' class="form-control" value="<%= l(Date.today.end_of_month, format: '%d/%m/%Y') %>" />
+                                  <span class="input-group-addon">
+                                    <span class="glyphicon glyphicon-calendar"></span>
+                                  </span>
+                              </div>
                             </div>
                             <button class="btn btn-icon-only blue pull-right" onclick="cashOutByPointsaleDate()">
                               <i class="fa fa-search"></i>
@@ -134,11 +133,9 @@
                           <%= link_to cash_out, {:class=>"btn btn-icon-only default filtros", :title=>"Ver corte de caja"} do %>
                             <i class="fa fa-search"></i>
                           <% end %>
-
                           <%= link_to print_cash_out_receipt_path(cash_out.id, format: 'pdf'), {:class=>"btn btn-icon-only default", :target => "blank"} do %>
                             <i class="fa fa-print"></i>
                           <% end %>
-
                         </td>
                       </tr>
                       <% end %>
@@ -159,15 +156,15 @@
 </div>
 <script>
   $(document).on("page:change", function() {
-     $('#begin_date').datetimepicker({
+    $('#start').datetimepicker({
       icons: {
         date: "fa fa-calendar"
       },
       format: "DD/MM/YYYY",
       defaultDate: moment().startOf('month').toDate()
-     });
+    });
 
-    $('#end_date').datetimepicker({
+    $('#end').datetimepicker({
       icons: {
         date: "fa fa-calendar"
       },
@@ -177,21 +174,29 @@
   });
 
   function cashOutByPointsaleDate() {
-    var start = moment($("#begin_date").data("date"), "DD-MM-YYYY").format('YYYY-MM-DD');
-    var end = moment($("#end_date").data("date"), "DD-MM-YYYY").format('YYYY-MM-DD');
+    if ($("#start").val() && $("#end").val()) {
+      var start = moment($("#start").data("date"), "DD-MM-YYYY").format('YYYY-MM-DD HH:mm:ss');
+      var end = moment($("#end").data("date"), "DD-MM-YYYY").format('YYYY-MM-DD HH:mm:ss');
+    } else {
+      var start = null;
+      var end = null;
+    }
     var pointsale = $('#pointsale').val();
+    if(pointsale == ""){
+      pointsale = null;
+    }
     App.blockUI({
-         target: $("#cash_outs_table"),
-         animate: true
+      target: $("#cash_outs_table"),
+      animate: true
     });
     $.ajax({
       type: "get",
       url:  '/find_cash_outs_by_date/' + pointsale + '/' + start + '/' + end,
       dataType: 'script',
       success: function(data) {
-          window.setTimeout(function() {
-            App.unblockUI($("#cash_outs_table"));
-          }, 100);
+        window.setTimeout(function() {
+          App.unblockUI($("#cash_outs_table"));
+        }, 100);
       }
     });
   }