소스 검색

Fix users edit

Jacqueline Maldonado 7 년 전
부모
커밋
c0c7f87552
2개의 변경된 파일9개의 추가작업 그리고 6개의 파일을 삭제
  1. 4 1
      app/controllers/users_controller.rb
  2. 5 5
      app/models/product.rb

+ 4 - 1
app/controllers/users_controller.rb

@@ -21,7 +21,9 @@ class UsersController < ApplicationController
     set_usertypes
   end
 
-  def edit; end
+  def edit
+    set_usertypes
+  end
 
   def update
     respond_to do |format|
@@ -32,6 +34,7 @@ class UsersController < ApplicationController
         format.html { redirect_to users_path, success: message }
         format.json { render :show, status: :ok, location: @user }
       else
+        set_usertypes
         format.html { render :edit }
         format.json { render json: @user.errors, status: :unprocessable_entity }
       end

+ 5 - 5
app/models/product.rb

@@ -383,14 +383,14 @@ class Product < ActiveRecord::Base
       end_period = Date.current.end_of_month
     end
 
-    if user.usertype == 'A'
+    if user.usertype == "A" || user.usertype == "SS"
       quantities_top_products = SalesDetail.activos.joins(:sale, :product).where("sales.date_sale between ? and ?", beg_period, end_period).group('products.name').order('sum_quantity desc').limit(10).sum(:quantity)
       total_top_products = SalesDetail.activos.joins(:sale).where('sales.date_sale between ? and ?', beg_period, end_period).order('sum_quantity desc').limit(10).sum(:quantity)
       total_sold = SalesDetail.activos.joins(:sale).where('sales.date_sale between ? and ?', beg_period, end_period).sum(:quantity)
     elsif user.usertype == 'G'
-      quantities_top_products = user.pointsale.sales_details.joins(:sale, :product).where("sales.status != 1 and sales.date_sale between ? and ?", beg_period, end_period).group('products.name').order('sum_quantity desc').limit(10).sum(:quantity)
-      total_top_products = user.pointsale.sales_details.joins(:sale).where('sales.status != 1 and sales.date_sale between ? and ?', beg_period, end_period).order('sum_quantity desc').limit(10).sum(:quantity)
-      total_sold = user.pointsale.sales_details.joins(:sale).where('sales.status != 1 and sales.date_sale between ? and ?', beg_period, end_period).sum(:quantity)
+      quantities_top_products = user.pointsale.sales_details.joins(:sale, :product).where("sales.status != ? and sales.date_sale between ? and ?", 1, beg_period, end_period).group('products.name').order('sum_quantity desc').limit(10).sum(:quantity)
+      total_top_products = user.pointsale.sales_details.joins(:sale).where('sales.status != ? and sales.date_sale between ? and ?', 1, beg_period, end_period).order('sum_quantity desc').limit(10).sum(:quantity)
+      total_sold = user.pointsale.sales_details.joins(:sale).where('sales.status != ? and sales.date_sale between ? and ?', 1, beg_period, end_period).sum(:quantity)
     end
 
     others = total_sold - total_top_products
@@ -401,7 +401,7 @@ class Product < ActiveRecord::Base
   end
 
   def get_available_children(just_pointsales)
-    children = Product.where("parent_id = ? and status != 0 ", id).pluck(:id)
+    children = Product.vigentes.where("parent_id = ?", id).pluck(:id)
     if just_pointsales
       AvailableProduct.where("product_id IN (?)", children).joins(:pointsale).select(:pointsale_id, :name).distinct(:pointsale_id)
     else