Browse Source

Changed new/edit views to modals for Cash Registers, Sellers and Warehouses

Jacqueline Maldonado 7 năm trước cách đây
mục cha
commit
e66f53a84a

+ 29 - 31
app/controllers/cash_registers_controller.rb

@@ -4,9 +4,9 @@ class CashRegistersController < ApplicationController
 
   ##--- Breadcrum_rails
   add_breadcrumb I18n.t("breadcrumbs." + controller_name), :cash_registers_path
-  add_breadcrumb "Nueva Caja registradora " , :new_cash_register_path, only: :new
-  add_breadcrumb "Detalle de la Caja registradora "  , :cash_register_path, only: :show
-  add_breadcrumb "Editar Caja registradora "  , :edit_cash_register_path, only: :edit
+  add_breadcrumb "Nueva Caja registradora ", :new_cash_register_path, only: :new
+  add_breadcrumb "Detalle de la Caja registradora ", :cash_register_path, only: :show
+  add_breadcrumb "Editar Caja registradora ", :edit_cash_register_path, only: :edit
 
   before_action :set_cash_register, only: [:show, :edit, :update, :destroy]
 
@@ -15,7 +15,7 @@ class CashRegistersController < ApplicationController
   # GET /cash_registers
   # GET /cash_registers.json
   def index
-    if current_user.usertype == 'A'
+    if current_user.usertype == "A" || current_user.usertype == "SS"
       @cash_registers = CashRegister.vigentes.includes(:pointsale)
     else
       @cash_registers = CashRegister.includes(:pointsale).where(:pointsale_id => current_user.pointsale_id ).vigentes
@@ -24,8 +24,7 @@ class CashRegistersController < ApplicationController
 
   # GET /cash_registers/1
   # GET /cash_registers/1.json
-  def show
-  end
+  def show; end
 
   # GET /cash_registers/new
   def new
@@ -33,8 +32,7 @@ class CashRegistersController < ApplicationController
   end
 
   # GET /cash_registers/1/edit
-  def edit
-  end
+  def edit; end
 
   # POST /cash_registers
   # POST /cash_registers.json
@@ -43,10 +41,11 @@ class CashRegistersController < ApplicationController
     @cash_register.pointsale_id = @current_user.pointsale_id
     respond_to do |format|
       if @cash_register.save
-          format.html { redirect_to cash_registers_url, success: "La caja " + @cash_register.name + " fue registrada." }
-        format.json { render :show, status: :created, location: @cash_register }
+        format.html { redirect_to cash_registers_url, success: "La caja " + @cash_register.name + " fue registrada." }
+        format.js
       else
         format.html { render :new }
+        format.js
         format.json { render json: @cash_register.errors, status: :unprocessable_entity }
       end
     end
@@ -56,31 +55,30 @@ class CashRegistersController < ApplicationController
   # PATCH/PUT /cash_registers/1.json
   def update
     respond_to do |format|
-      cash_register_opened = OpenCashRegister.where(:cash_register_id => @cash_register.id, :status => 0).any?
-
+      cash_register_opened = OpenCashRegister.where(cash_register_id: @cash_register.id, status: 0).any?
       if cash_register_opened == true && params[:cash_register][:status] == 'inactive'
         @cash_register.errors.add(:status, "No se puede desactivar una caja abierta.")
         format.html { render :edit }
+        format.js
         format.json { render json: @cash_register.errors, status: :unprocessable_entity }
       else
         @cash_register.update(cash_register_params)
-        format.html { redirect_to cash_registers_url,   success: "La caja " + @cash_register.name + " fue modificada." }
-        format.json { render :show, status: :ok, location: @cash_register }
+        format.js
       end
     end
   end
 
   def update_status
       cash_register = CashRegister.find(params[:cash_register_id])
-      puts cash_register.active?
-      if cash_register.active?
-        cash_register.status = 2
-      elsif cash_register.inactive?
-        cash_register.status = 1
-      end
+      cash_register.status =
+        if cash_register.active?
+          2
+        elsif cash_register.inactive?
+          1
+        end
       respond_to do |format|
-        if cash_register.save(:validate => false)
-            format.html { redirect_to cash_registers_url, warning: "La caja registradora " + cash_register.name + " fue "+ (cash_register.active? ? "activada" : "desactivada")+"." }
+        if cash_register.save(validate: false)
+          format.html { redirect_to cash_registers_url, warning: "La caja registradora " + cash_register.name + " fue " + (cash_register.active? ? "activada" : "desactivada") + "." }
           # format.json { render :show, status: :ok, location: @pointsale }
           format.json { head :no_content }
         else
@@ -106,7 +104,7 @@ class CashRegistersController < ApplicationController
           format.html { redirect_to cash_registers_url,  warning: "La caja " + @cash_register.name + " no se puede eliminar por ser la principal." }
           format.json { render json: @cash_register.errors, status: :unprocessable_entity }
         else
-          @cash_register.update_attributes(:status => 0)
+          @cash_register.update_attributes(status: 0)
           format.html { redirect_to cash_registers_url,  warning: "La caja " + @cash_register.name + " fue eliminada." }
           format.json { head :no_content }
         end
@@ -120,13 +118,13 @@ class CashRegistersController < ApplicationController
   end
 
   private
-    # Use callbacks to share common setup or constraints between actions.
-    def set_cash_register
-      @cash_register = CashRegister.find(params[:id])
-    end
+  # Use callbacks to share common setup or constraints between actions.
+  def set_cash_register
+    @cash_register = CashRegister.find(params[:id])
+  end
 
-    # Never trust parameters from the scary internet, only allow the white list through.
-    def cash_register_params
-      params.require(:cash_register).permit(:name, :description, :pointsale_id, :status)
-    end
+  # Never trust parameters from the scary internet, only allow the white list through.
+  def cash_register_params
+    params.require(:cash_register).permit(:name, :description, :pointsale_id, :status)
+  end
 end

+ 39 - 41
app/controllers/sellers_controller.rb

@@ -8,25 +8,24 @@ class SellersController < ApplicationController
 
   ##--- Breadcrum_rails
   add_breadcrumb I18n.t("breadcrumbs." + controller_name), :sellers_path
-  add_breadcrumb "Nuevo vendedor " , :new_seller_path, only: :new
-  add_breadcrumb "Detalle del vendedor "  , :seller_path, only: :show
-  add_breadcrumb "Editar vendedor "  , :edit_seller_path, only: :edit
+  add_breadcrumb "Nuevo vendedor ", :new_seller_path, only: :new
+  add_breadcrumb "Detalle del vendedor ", :seller_path, only: :show
+  add_breadcrumb "Editar vendedor ", :edit_seller_path, only: :edit
 
   # GET /sellers
   # GET /sellers.json
   def index
-    @sellers = (current_user.usertype == "A" ? Seller.vigentes.includes(:pointsale) : Seller.where(:pointsale_id => current_user.pointsale_id).vigentes)
+    @sellers = current_user.usertype == "A" || current_user.usertype == "SS" ? Seller.vigentes.includes(:pointsale) : Seller.where(pointsale_id: current_user.pointsale_id).vigentes
   end
 
   # GET /sellers/1
   # GET /sellers/1.json
-  def show
-  end
+  def show; end
 
   # GET /sellers/new
   def new
     @seller = Seller.new
-    if current_user.usertype != "A"
+    if current_user.usertype != "A" || current_user.usertype != "SS"
       @pointsale_id = current_user.pointsale_id
     end
   end
@@ -40,7 +39,7 @@ class SellersController < ApplicationController
   # POST /sellers.json
   def create
     @seller = Seller.new(seller_params)
-    if current_user.usertype != "A"
+    unless current_user.usertype == "A" || current_user.usertype == "SS"
       @seller.skip_pointsale = true
       @seller.pointsale_id = current_user.pointsale_id
     end
@@ -48,10 +47,10 @@ class SellersController < ApplicationController
       message = "El vendedor " + @seller.full_name + " fue registrado."
       @seller.audit_comment = message
       if @seller.save
-        format.html { redirect_to sellers_path, success: message }
-        format.json { render :show, status: :created, location: @seller }
+        format.js
       else
         format.html { render :new }
+        format.js
         format.json { render json: @seller.errors, status: :unprocessable_entity }
       end
     end
@@ -64,10 +63,10 @@ class SellersController < ApplicationController
       message = "El vendedor " + @seller.full_name + " fue modificado."
       @seller.audit_comment = message
       if @seller.update(seller_params)
-        format.html { redirect_to sellers_path, success: message }
-        format.json { render :show, status: :ok, location: @seller }
+        format.js
       else
         format.html { render :edit }
+        format.js
         format.json { render json: @seller.errors, status: :unprocessable_entity }
       end
     end
@@ -75,15 +74,16 @@ class SellersController < ApplicationController
 
   def update_status
     seller = Seller.find(params[:seller_id])
-    if seller.active?
-      seller.status = 2
-    elsif seller.inactive?
-      seller.status = 1
-    end
+    seller.status =
+      if seller.active?
+        2
+      elsif seller.inactive?
+        1
+      end
     respond_to do |format|
-      message = "El vendedor " + seller.full_name + " " + seller.last_name + " fue "+ (seller.active? ? "activado" : "desactivado")+"."
+      message = "El vendedor " + seller.full_name + " fue " + (seller.active? ? "activado" : "desactivado") + "."
       seller.audit_comment = message
-      if seller.save(:validate => false)
+      if seller.save(validate: false)
         format.html { redirect_to sellers_url, warning: message }
         format.json { head :no_content }
       else
@@ -99,7 +99,7 @@ class SellersController < ApplicationController
     respond_to do |format|
       message = "El vendedor " + @seller.full_name + " fue eliminado."
       @seller.audit_comment = message
-      if @seller.update_attributes(:status => 0)
+      if @seller.update_attributes(status: 0)
         format.html { redirect_to sellers_path, warning: message }
         format.json { head :no_content }
       else
@@ -109,30 +109,28 @@ class SellersController < ApplicationController
     end
   end
 
-
-
   private
-    # Use callbacks to share common setup or constraints between actions.
-    def set_seller
-      @seller = Seller.find(params[:id])
-    end
+  # Use callbacks to share common setup or constraints between actions.
+  def set_seller
+    @seller = Seller.find(params[:id])
+  end
 
-    # Never trust parameters from the scary internet, only allow the white list through.
-    def seller_params
-      params.require(:seller).permit(:pointsale_id, :name, :last_name)
-    end
+  # Never trust parameters from the scary internet, only allow the white list through.
+  def seller_params
+    params.require(:seller).permit(:pointsale_id, :name, :last_name)
+  end
 
-    def get_filters
-      if params[:current_page].blank?
-        @current_page = 1
-      else
-        @current_page = params[:current_page]
-      end
-      @filter = params[:filter]
+  def get_filters
+    if params[:current_page].blank?
+      @current_page = 1
+    else
+      @current_page = params[:current_page]
     end
+    @filter = params[:filter]
+  end
 
-    def get_info
-      @users = (current_user.usertype == "A" ? User.active : User.active.where(:pointsale_id => current_user.pointsale_id))
-      @pointsales = Pointsale.activos
-    end
+  def get_info
+    @users = (current_user.usertype == "A" || current_user.usertype == "SS" ? User.active : User.active.where(pointsale_id: current_user.pointsale_id))
+    @pointsales = Pointsale.activos
+  end
 end

+ 30 - 30
app/controllers/warehouses_controller.rb

@@ -4,8 +4,8 @@ class WarehousesController < ApplicationController
 
   ##--- Breadcrum_rails
   add_breadcrumb I18n.t("breadcrumbs." + controller_name), :warehouses_path
-  add_breadcrumb "Nuevo Almacén " , :new_warehouse_path, only: :new
-  add_breadcrumb "Editar Almacén"  , :edit_warehouse_path, only: :edit
+  add_breadcrumb "Nuevo Almacén ", :new_warehouse_path, only: :new
+  add_breadcrumb "Editar Almacén", :edit_warehouse_path, only: :edit
 
   before_action :set_warehouse, only: [:show, :edit, :update, :destroy]
   before_action :get_filters, only: [:index, :show, :edit, :new]
@@ -18,8 +18,7 @@ class WarehousesController < ApplicationController
 
   # GET /warehouses/1
   # GET /warehouses/1.json
-  def show
-  end
+  def show; end
 
   # GET /warehouses/new
   def new
@@ -27,8 +26,7 @@ class WarehousesController < ApplicationController
   end
 
   # GET /warehouses/1/edit
-  def edit
-  end
+  def edit; end
 
   # POST /warehouses
   # POST /warehouses.json
@@ -39,10 +37,10 @@ class WarehousesController < ApplicationController
       message = "Almacén #{@warehouse.name} creado."
       @warehouse.audit_comment = message
       if @warehouse.save
-        format.html { redirect_to warehouses_path, success: message }
-        format.json { render :show, status: :created, location: @warehouse }
+        format.js
       else
         format.html { render :new }
+        format.js
         format.json { render json: @warehouse.errors, status: :unprocessable_entity }
       end
     end
@@ -55,10 +53,10 @@ class WarehousesController < ApplicationController
       message = "Almacén #{@warehouse.name} modificado."
       @warehouse.audit_comment = message
       if @warehouse.update(warehouse_params)
-        format.html { redirect_to warehouses_path, success: message }
-        format.json { render :show, status: :ok, location: @warehouse }
+        format.js
       else
         format.html { render :edit }
+        format.js
         format.json { render json: @warehouse.errors, status: :unprocessable_entity }
       end
     end
@@ -78,15 +76,16 @@ class WarehousesController < ApplicationController
 
   def update_status
     warehouse = Warehouse.find(params[:warehouse_id])
-    if warehouse.active?
-      warehouse.status = "inactive"
-    elsif warehouse.inactive?
-      warehouse.status = "active"
-    end
+    warehouse.status =
+      if warehouse.active?
+        "inactive"
+      elsif warehouse.inactive?
+        "active"
+      end
     respond_to do |format|
-      message = "El almacen " + warehouse.name + " fue "+ (warehouse.active? ? "activado" : "desactivado")+"."
+      message = "El almacen " + warehouse.name + " fue " + (warehouse.active? ? "activado" : "desactivado") + "."
       warehouse.audit_comment = message
-      if warehouse.save(:validate => false)
+      if warehouse.save(validate: false)
         format.html { redirect_to warehouses_path, warning: message }
         format.json { head :no_content }
       else
@@ -97,22 +96,23 @@ class WarehousesController < ApplicationController
   end
 
   private
-    # Use callbacks to share common setup or constraints between actions.
-    def set_warehouse
-      @warehouse = Warehouse.find(params[:id])
-    end
+  # Use callbacks to share common setup or constraints between actions.
+  def set_warehouse
+    @warehouse = Warehouse.find(params[:id])
+  end
 
-    def get_filters
+  def get_filters
+    @current_page =
       if params[:current_page].blank?
-        @current_page = 1
+        1
       else
-        @current_page = params[:current_page]
+        params[:current_page]
       end
-      @filter = params[:filter]
-    end
+    @filter = params[:filter]
+  end
 
-    # Never trust parameters from the scary internet, only allow the white list through.
-    def warehouse_params
-      params.require(:warehouse).permit(:name, :status, :prefix)
-    end
+  # Never trust parameters from the scary internet, only allow the white list through.
+  def warehouse_params
+    params.require(:warehouse).permit(:name, :status, :prefix)
+  end
 end

+ 14 - 15
app/models/cash_register.rb

@@ -1,18 +1,17 @@
 class CashRegister < ActiveRecord::Base
-    ## Associaciones
-    belongs_to :pointsale
-    has_many :open_cash_registers
-    has_many :cash_registers_moves, :through => :open_cash_registers
-    has_many :cash_outs, :through => :open_cash_registers
-    
-	enum status: [ :erased, :active, :inactive ]
-    enum main: [:no, :yes]
-	##--- Validaciones previas de guardar
-    validates :name , presence: { message: "Debe capturar el nombre de la caja registradora." }
-    validates :pointsale_id , presence: { message: "Debe seleccionar un punto de venta." }
+  ## Associaciones
+  belongs_to :pointsale
+  has_many :open_cash_registers
+  has_many :cash_registers_moves, through: :open_cash_registers
+  has_many :cash_outs, through: :open_cash_registers
 
-	##--- Tipo de vistas / consultas
-	scope :vigentes, -> { where("status != 0").order(" status ASC, name ASC") }
-	scope :activos, -> { where( "status = 1").order(" name ASC") }
-    
+  enum status: [:erased, :active, :inactive]
+  enum main: [:no, :yes]
+  ##--- Validaciones previas de guardar
+  validates :name, presence: { message: "Debe capturar el nombre de la caja registradora." }
+  validates :pointsale_id, presence: { message: "Debe seleccionar un punto de venta." }
+
+  ##--- Tipo de vistas / consultas
+  scope :vigentes, -> { where.not(status: 0).order("status ASC, name ASC") }
+  scope :activos, -> { where(status: 1).order("name ASC") }
 end

+ 20 - 20
app/models/open_cash_register.rb

@@ -1,26 +1,26 @@
 class OpenCashRegister < ActiveRecord::Base
-	belongs_to :cash_register
-	belongs_to :user
-	has_many :cash_registers_moves
-	has_many :sales
-	has_many :sales_details, :through => :sales
-	has_many :products, :through => :sales_details
-	has_many :categories, :through => :products
-	has_many :expenses
-	has_many :pre_sales
-	has_many :cash_outs
-	has_one :pointsale, :through => :cash_register
+  belongs_to :cash_register
+  belongs_to :user
+  has_many :cash_registers_moves
+  has_many :sales
+  has_many :sales_details, through: :sales
+  has_many :products, through: :sales_details
+  has_many :categories, through: :products
+  has_many :expenses
+  has_many :pre_sales
+  has_many :cash_outs
+  has_one :pointsale, through: :cash_register
 
-  	##--- Llevar registro de Actividad del usuario
-	audited
+  ##--- Llevar registro de Actividad del usuario
+  audited
 
-	enum status: [:open, :closed]
+  enum status: [:open, :closed]
 
-	scope :abiertas, -> { where( "open_cash_registers.status = 0") }
+  scope :abiertas, -> { where("open_cash_registers.status = ?", 0) }
 
-	def self.get_pointsale(id, option)
-		if option == "open_cash_register"
-			Pointsale.find(CashRegister.find(OpenCashRegister.find(id).cash_register_id).pointsale_id)
-		end
-	end
+  def self.get_pointsale(id, option)
+    if option == "open_cash_register"
+      Pointsale.find(CashRegister.find(OpenCashRegister.find(id).cash_register_id).pointsale_id)
+    end
+  end
 end

+ 1 - 1
app/models/seller.rb

@@ -15,7 +15,7 @@ class Seller < ActiveRecord::Base
   validates :name, presence: { message: "Debe indicar nombre para el vendedor." }, on: [:create, :update]
   validates :last_name, presence: { message: "Debe indicar apellido para el vendedor." }, on: [:create, :update]
 
-  scope :vigentes, -> { where("status != 0") }
+  scope :vigentes, -> { where.not(status: 0) }
 
   ##--- Funciones personalizadas
   def full_name

+ 35 - 57
app/views/cash_registers/_form.html.erb

@@ -1,57 +1,35 @@
-											<%= form_for(@cash_register, :html => {:class=>"form-horizontal"}) do |f| %>
-											<div class="portlet-body form">
-												<% if @cash_register.errors.any? %>
-												<div class="alert alert-danger">
-													<strong>Tiene <%= pluralize(@cash_register.errors.count, "error") %> no se puede guardar la caja registradora</strong><br>
-												</div>
-												<% end %>
-												<div class="form-body">
-													<div class="form-group">
-                                                        <%= f.label :name, "Nombre de la caja", {:class=>"col-md-3 control-label"} do %> Nombre de la caja
-															<span class="required">*</span>
-														<% end %>
-														<div class="col-md-9">
-															<%= f.text_field :name, {:class=>"form-control"} %>
-														</div>
-													</div>
-													<div class="form-group">
-                                                        <%= f.label :decription, "Descripción", {:class=>"col-md-3 control-label"} %>
-														<div class="col-md-9">
-                                                            <%= f.text_field :description, {:class=>"form-control"} %>
-														</div>
-													</div>                                                 
-													<% if @cash_register.persisted? %>
-													<!-- <div class="form-group">
-														<%= f.label :status, {:class=>"col-md-3 control-label"} %>
-														<div class="col-md-9">
-															<%= f.check_box(:status,   
-																{
-																	class: "make-switch",
-																	data: {
-																		on_color: "success",
-																		off_color: "danger",
-																		on_text: "Activo", 
-																		off_text: "Inactivo"
-																	}
-																},
-																"active", "inactive"  
-															) %>
-														</div>
-													</div> -->
-													<% end %>
-                                            </div>
-												<div class="form-actions">
-													<div class="row">
-														<div class="col-md-offset-3 col-md-9">
-															<%= f.submit 'Guardar', {:class=>"btn green"} %>
-															<%= link_to 'Cancelar', cash_registers_path, {:class=>"btn default"} %>
-														</div>
-													</div>
-												</div>
-											</div>
-											<% end %>
-											<script type="text/javascript">
-												$(document).ready(function() {
-													App.init();
-												});
-											</script>
+<%= form_for(@cash_register, remote: true, html: { class: "form-horizontal" }) do |f| %>
+  <div class="portlet-body form">
+    <div class="row col-md-12">
+      <div class="alert alert-danger hidden" id="cash_register_errors"></div>
+    </div>
+    <div class="form-body">
+      <div class="form-group">
+        <%= f.label :name, "Nombre de la caja", { class: "col-md-3 control-label" } do %> Nombre de la caja
+          <span class="required">*</span>
+        <% end %>
+        <div class="col-md-8">
+          <%= f.text_field :name, { class: "form-control first_input" } %>
+        </div>
+      </div>
+      <div class="form-group">
+        <%= f.label :decription, "Descripción", { class: "col-md-3 control-label" } %>
+        <div class="col-md-8">
+          <%= f.text_area :description, { class: "form-control", rows: 4 } %>
+        </div>
+      </div>
+    </div>
+    <div class="form-actions">
+      <div class="row">
+        <div class="col-md-offset-3 col-md-9">
+          <%= f.submit 'Guardar', { class: "btn green" } %>
+        </div>
+      </div>
+    </div>
+  </div>
+<% end %>
+<script type="text/javascript">
+  $(document).ready(function() {
+    App.init();
+  });
+</script>

+ 11 - 0
app/views/cash_registers/create.js.erb

@@ -0,0 +1,11 @@
+$("#cash_register_errors").html("");
+<% if @cash_register.errors.any? %>
+  $('#cash_register_errors').removeClass('hidden');
+  <% @cash_register.errors.values.each do |message| %>
+    $("#cash_register_errors").append($("<li />").html("<%= message.first.to_s %>"));
+  <% end %>
+<% else %>
+  $('#dialog').modal('toggle');
+  window.location = "<%= cash_registers_path %>";
+  $("#notice").html("<%= flash[:notice] %>");
+<% end %>

+ 0 - 52
app/views/cash_registers/edit.html.erb

@@ -1,52 +0,0 @@
-
-	<!-- BEGIN CONTAINER -->
-	<div class="page-container">
-		<!-- BEGIN CONTENT -->
-		<div class="page-content-wrapper">
-			<!-- BEGIN CONTENT BODY -->
-			<!-- BEGIN PAGE HEAD-->
-			<div class="page-head">
-				<div class="container-fluid">
-					<!-- BEGIN PAGE TITLE -->
-					<div class="page-title">
-						<h1>Caja registradora </h1>
-					</div>
-					<!-- END PAGE TITLE -->
-				</div>
-			</div>
-			<!-- END PAGE HEAD-->
-			<!-- BEGIN PAGE CONTENT BODY -->
-			<div class="page-content">
-				<div class="container-fluid">
-					<%= link_to cash_registers_path, {:class=>"btn blue-hoki pull-right margin-bottom-10"} do %>  <i class="fa fa-angle-left "></i> Regresar
-					<% end %>
-					<!-- BEGIN PAGE BREADCRUMBS -->
-					<ul class="page-breadcrumb breadcrumb">
-						<%= render_breadcrumbs :tag => :li, :separator => ' <i class="fa fa-circle"></i> ' %>
-					</ul>
-					<!-- END PAGE BREADCRUMBS -->
-					<!-- BEGIN PAGE CONTENT INNER -->
-					<div class="page-content-inner">
-						<div class="row ">
-							<div class="col-md-12">
-								<div class="portlet light">
-									<div class="portlet-title">
-										<div class="caption">
-											<i class="fa fa-edit font-blue-sharp"></i>
-											<span class="caption-subject font-blue-sharp bold uppercase">Editar caja registradora</span>
-										</div>
-									</div>
-									<%= render 'form' %>
-								</div>
-							</div>
-						</div> 
-					</div>
-					<!-- END PAGE CONTENT INNER -->
-				</div>
-			</div>
-			<!-- END PAGE CONTENT BODY -->
-			<!-- END CONTENT BODY -->
-		</div>
-		<!-- END CONTENT -->
-	</div>
-	<!-- END CONTAINER -->

+ 14 - 0
app/views/cash_registers/edit.js.erb

@@ -0,0 +1,14 @@
+$('#dialog h3.modal-title').html("Editar caja registradora");
+$('#dialog').removeClass('modal-lg');
+$('.modal-footer').remove();
+$('.modal-body').html(""); //limpiar el modal antes; la siguiente linea es por si se abrio previamente el detalle de venta
+$('.modal-dialog').removeClass('modal-lg');
+// Rend$( ".selector" ).dialog({ closeOnEscape: false });er the edit form
+$('.modal-body').html('<%= j render("form") %>');
+// Show the dynamic dialog
+$('#dialog').modal("show");
+
+// Set focus to the first element
+$('#dialog').on('shown.bs.modal', function () {
+  $('.first_input').focus();
+});

+ 30 - 26
app/views/cash_registers/index.html.erb

@@ -25,7 +25,7 @@
 						<!-- BEGIN PAGE CONTENT INNER -->
 						<div class="page-content-inner">
 							<div id="notice">
-								<% if success %> 
+								<% if success %>
 								<div class="alert alert-success">
 									<p><%= success %></p>
 								</div>
@@ -45,8 +45,7 @@
 											</div>
 											<div class="actions">
 												<% if can? :create, CashRegister %>
-												<%= link_to new_cash_register_path, {:class=>"btn bold green pull-right"} do %> Nueva Caja registradora <i class="fa fa-plus"></i>
-												<% end %>
+													<%= link_to new_cash_register_path, remote: true, class: "btn bold green pull-right" do %> Nueva Caja registradora <i class="fa fa-plus"></i><% end %>
 												<% end %>
 											</div>
 										</div>
@@ -57,10 +56,12 @@
 														<th>#</th>
 														<th>Nombre</th>
 														<th>Descripción</th>
-														<% if current_user.usertype == "A" %><th>Punto de venta</th> <% end %>
+														<% if current_user.usertype == "A" || current_user.usertype == "SS" %>
+															<th>Punto de venta</th>
+														<% end %>
 														<th>Status</th>
 														<% if can? :manage, CashRegister %>
-														<th>Acciones</th> 
+															<th>Acciones</th>
 														<% end %>
 													</tr>
 												</thead>
@@ -70,31 +71,34 @@
 														<td><%= key + 1 %></td>
 														<td><%= cash_register.name %></td>
 														<td><%= cash_register.description %></td>
-														<% if current_user.usertype == "A" %><td><%= cash_register.pointsale.name %> </td> <% end %>
-														<td class="text-center"><% if cash_register.status == "active" %>
+														<% if current_user.usertype == "A" || current_user.usertype == "SS" %>
+															<td><%= cash_register.pointsale.name %> </td>
+														<% end %>
+														<td class="text-center">
+															<% if cash_register.active? %>
 																<i class="fa fa-check font-green"></i>
-																<% else %>
+															<% else %>
 																<i class="fa fa-times font-red"></i>
-																<% end %>
-														</td>
-														<% if can? :manage, CashRegister %>
-														<td class="text-center">
-															<%= link_to edit_cash_register_path(cash_register), {:class=>"btn btn-icon-only btn-primary", :title=>"Editar caja registradora"} do %> <i class="fa fa-edit"></i>
 															<% end %>
-															<% if !cash_register.main? && cash_register.open_cash_registers.where("status = 0").count == 0 %>
-																<% if cash_register.active? %>
-									                              <%= link_to cash_register_update_status_path(cash_register), :class=>"btn btn-icon-only default", :title=>"Desactivar caja registadora", data: { confirm: '¿Esta seguro de desactivar la caja registadora?', method: 'post'}  do %>
-									                                <i class="fa fa-toggle-off"></i>
-									                              <% end %>
-									                            <% elsif cash_register.inactive? %>
-									                              <%= link_to cash_register_update_status_path(cash_register), :class=>"btn btn-icon-only green-jungle", :title=>"Activar caja registadora", data: { confirm: '¿Esta seguro de activar la caja registadora?', method: 'post'}  do %>
-									                                <i class="fa fa-toggle-on"></i>
-									                              <% end %>
-									                            <% end %>
-																<%= link_to cash_register_path(cash_register), method: :delete, :class => "btn btn-icon-only btn-danger", :title=>"Eliminar caja registradora", data: { confirm: '¿Esta seguro de eliminar la caja registradora?'}   do %>  <i class="fa fa-trash-o"></i>
-																<% end %>      
-															<% end %>                                     
 														</td>
+														<% if can? :manage, CashRegister %>
+															<td class="text-center">
+																<%= link_to edit_cash_register_path(cash_register), remote: true, class: "btn btn-icon-only btn-primary", title: "Editar caja registradora" do %> <i class="fa fa-edit"></i>
+																<% end %>
+																<% if !cash_register.main? && cash_register.open_cash_registers.abiertas.count == 0 %>
+																	<% if cash_register.active? %>
+			                              <%= link_to cash_register_update_status_path(cash_register), class: "btn btn-icon-only default", title: "Desactivar caja registadora", data: { confirm: '¿Está seguro de desactivar la caja registadora?', method: 'post' } do %>
+			                                <i class="fa fa-toggle-off"></i>
+			                              <% end %>
+			                            <% elsif cash_register.inactive? %>
+			                              <%= link_to cash_register_update_status_path(cash_register), class: "btn btn-icon-only green-jungle", title: "Activar caja registadora", data: { confirm: '¿Está seguro de activar la caja registadora?', method: 'post' } do %>
+			                                <i class="fa fa-toggle-on"></i>
+			                              <% end %>
+			                            <% end %>
+																	<%= link_to cash_register_path(cash_register), method: :delete, class: "btn btn-icon-only btn-danger", title: "Eliminar caja registradora", data: { confirm: '¿Está seguro de eliminar la caja registradora?' } do %> <i class="fa fa-trash-o"></i>
+																	<% end %>
+																<% end %>
+															</td>
 														<% end %>
 													</tr>
 												<% end %>

+ 0 - 52
app/views/cash_registers/new.html.erb

@@ -1,52 +0,0 @@
-	<!-- BEGIN CONTAINER -->
-	<div class="page-container">
-		<!-- BEGIN CONTENT -->
-		<div class="page-content-wrapper">
-			<!-- BEGIN CONTENT BODY -->
-			<!-- BEGIN PAGE HEAD-->
-			<div class="page-head">
-				<div class="container-fluid">
-					<!-- BEGIN PAGE TITLE -->
-					<div class="page-title">
-						<h1>Caja registradora</h1>
-					</div>
-					<!-- END PAGE TITLE -->
-				</div>
-			</div>
-			<!-- END PAGE HEAD-->
-			<!-- BEGIN PAGE CONTENT BODY -->
-			<div class="page-content">
-				<div class="container-fluid">
-					<%= link_to  cash_registers_path, {:class=>"btn blue-hoki pull-right margin-bottom-10"} do %>  <i class="fa fa-angle-left "></i> Regresar
-					<% end %>
-					<!-- BEGIN PAGE BREADCRUMBS -->
-					<ul class="page-breadcrumb breadcrumb">
-						<%= render_breadcrumbs :tag => :li, :separator => ' <i class="fa fa-circle"></i> ' %>
-					</ul>
-					<!-- END PAGE BREADCRUMBS -->
-					<!-- BEGIN PAGE CONTENT INNER -->
-					<div class="page-content-inner">
-						<div id="notice"><%= notice %></div>
-						<div class="row ">
-							<div class="col-md-12">
-								<div class="portlet light">
-									<div class="portlet-title">
-										<div class="caption">
-											<i class="fa fa-plus font-green"></i>
-											<span class="caption-subject font-green bold uppercase">Nueva caja registradora</span>
-										</div>
-									</div>
-									<%= render 'form' %>
-								</div>
-							</div>
-						</div>                       
-					</div>
-					<!-- END PAGE CONTENT INNER -->
-				</div>
-			</div>
-			<!-- END PAGE CONTENT BODY -->
-			<!-- END CONTENT BODY -->
-		</div>
-		<!-- END CONTENT -->
-	</div>
-	<!-- END CONTAINER -->

+ 14 - 0
app/views/cash_registers/new.js.erb

@@ -0,0 +1,14 @@
+$('#dialog h3.modal-title').html("Nueva caja registradora");
+$('#dialog').removeClass('modal-lg');
+$('.modal-footer').remove();
+$('.modal-body').html(""); //limpiar el modal antes; la siguiente linea es por si se abrio previamente el detalle de venta
+$('.modal-dialog').removeClass('modal-lg');
+// Rend$( ".selector" ).dialog({ closeOnEscape: false });er the edit form
+$('.modal-body').html('<%= j render("form") %>');
+// Show the dynamic dialog
+$('#dialog').modal("show");
+
+// Set focus to the first element
+$('#dialog').on('shown.bs.modal', function () {
+  $('.first_input').focus();
+});

+ 11 - 0
app/views/cash_registers/update.js.erb

@@ -0,0 +1,11 @@
+$("#cash_register_errors").html("");
+<% if @cash_register.errors.any? %>
+  $('#cash_register_errors').removeClass('hidden');
+  <% @cash_register.errors.values.each do |message| %>
+    $("#cash_register_errors").append($("<li />").html("<%= message.first.to_s %>"));
+  <% end %>
+<% else %>
+  $('#dialog').modal('toggle');
+  window.location = "<%= cash_registers_path %>";
+  $("#notice").html("<%= flash[:notice] %>");
+<% end %>

+ 12 - 15
app/views/sellers/_form.html.erb

@@ -1,34 +1,32 @@
-<%= form_for(@seller, :html => {:class=>"form-horizontal"}) do |f| %>
+<%= form_for(@seller, remote: true, :html => {:class=>"form-horizontal"}) do |f| %>
 	<div class="portlet-body form">
-		<% if @seller.errors.any? %>
-			<div class="alert alert-danger">
-				<strong>Tiene <%= pluralize(@seller.errors.count, "error") %> no se puede guardar el vendedor</strong><br>
-			</div>
-		<% end %>
+		<div class="row col-md-12">
+      <div class="alert alert-danger hidden" id="seller_errors"></div>
+    </div>
 		<div class="form-body">
 			<div class="row">
 				<!-- nombre del vendedor -->
 				<div class="form-group">
-					<%= f.label :name, "Nombre", {:class=>"col-md-2 control-label"} do %> Nombre <span class="required">*</span>
+					<%= f.label :name, "Nombre", {:class=>"col-md-2 col-sm-3 control-label"} do %> Nombre <span class="required">*</span>
 					<% end %>
-					<div class="col-md-3" style="padding-left: 0px;padding-right: 0px">
-						<%= f.text_field :name, {:class=>"form-control"} %>
+					<div class="col-md-6 col-sm-6" style="padding-left: 0px;padding-right: 0px">
+						<%= f.text_field :name, {:class=>"form-control first_input"} %>
 					</div>
 				</div>
 				<!-- apellido vendedor -->
 				<div class="form-group">
-					<%= f.label :last_name, "Apellidos", {:class=>"col-md-2 control-label"} do %> Apellido <span class="required">*</span>
+					<%= f.label :last_name, "Apellidos", {:class=>"col-md-2 col-sm-3 control-label"} do %> Apellido <span class="required">*</span>
 					<% end %>
-					<div class="col-md-3" style="padding-left: 0px;padding-right: 0px">
+					<div class="col-md-6 col-sm-6" style="padding-left: 0px;padding-right: 0px">
 						<%= f.text_field :last_name, {:class=>"form-control"} %>
 					</div>
 				</div>
 				<!-- punto de venta -->
-				<div class=<%= (current_user.usertype == "A" ? "form-group" : "form-group hidden") %>>
-					<%= f.label :pointsale_id, "Punto de venta", {:class=>"col-md-2 control-label"} do %> Punto de venta
+				<div class=<%= (current_user.usertype == "A" || current_user.usertype == "SS" ? "form-group" : "form-group hidden") %>>
+					<%= f.label :pointsale_id, "Punto de venta", {:class=>"col-md-2 col-sm-3 control-label"} do %> Punto de venta
 					<span class="required">*</span>
 					<% end %>
-					<div class="input-group col-md-3 select2-bootstrap-prepend">
+					<div class="input-group col-md-6 col-sm-6 select2-bootstrap-prepend">
 						<%= f.collection_select :pointsale_id, @pointsales, :id, :name, {:prompt => "Seleccione", :selected => @pointsale_id.blank? ? '' : @pointsale_id.to_i}, {:class => "form-control select2"} %>
 					</div>
 				</div>
@@ -38,7 +36,6 @@
 			<div class="row">
 				<div class="col-md-offset-2 col-md-10">
 					<%= f.submit 'Guardar', {:class=>"btn green"} %>
-					<%= link_to 'Cancelar', sellers_path(:filter => @filter, :current_page => @current_page), {:class=>"btn default"} %>
 				</div>
 			</div>
 		</div>

+ 11 - 0
app/views/sellers/create.js.erb

@@ -0,0 +1,11 @@
+$("#seller_errors").html("");
+<% if @seller.errors.any? %>
+  $('#seller_errors').removeClass('hidden');
+  <% @seller.errors.values.each do |message| %>
+    $("#seller_errors").append($("<li />").html("<%= message.first.to_s %>"));
+  <% end %>
+<% else %>
+  $('#dialog').modal('toggle');
+  window.location = "<%= sellers_path %>";
+  $("#notice").html("<%= flash[:notice] %>");
+<% end %>

+ 0 - 51
app/views/sellers/edit.html.erb

@@ -1,51 +0,0 @@
-<!-- BEGIN CONTAINER -->
-<div class="page-container">
-	<!-- BEGIN CONTENT -->
-	<div class="page-content-wrapper">
-		<!-- BEGIN CONTENT BODY -->
-		<!-- BEGIN PAGE HEAD-->
-		<div class="page-head">
-			<div class="container-fluid">
-				<!-- BEGIN PAGE TITLE -->
-				<div class="page-title">
-					<h1> Vendedor </h1>
-				</div>
-				<!-- END PAGE TITLE -->
-			</div>
-		</div>
-		<!-- END PAGE HEAD-->
-		<!-- BEGIN PAGE CONTENT BODY -->
-		<div class="page-content">
-			<div class="container-fluid">
-				<!-- BEGIN PAGE BREADCRUMBS -->
-				<ul class="page-breadcrumb breadcrumb">
-					<%= render_breadcrumbs :tag => :li, :separator => ' <i class="fa fa-circle"></i> ' %>
-				</ul>
-				<!-- END PAGE BREADCRUMBS -->
-				<!-- BEGIN PAGE CONTENT INNER -->
-				<div class="page-content-inner">
-					<div id="notice"><%= notice %></div>
-					<div class="row">
-						<div class="col-md-12">
-							<div class="portlet light ">
-								<div class="portlet-title">
-									<div class="caption">
-										<i class="fa fa-edit font-blue-sharp"></i>
-										<span class="caption-subject font-blue-sharp bold uppercase">Editar vendedor</span>
-										<span class="caption-helper"></span>
-									</div>
-								</div>
-								<%= render 'form' %>
-							</div>
-						</div>
-					</div>
-				</div>
-				<!-- END PAGE CONTENT INNER -->
-			</div>
-		</div>
-		<!-- END PAGE CONTENT BODY -->
-		<!-- END CONTENT BODY -->
-	</div>
-	<!-- END CONTENT -->
-</div>
-<!-- END CONTAINER -->

+ 14 - 0
app/views/sellers/edit.js.erb

@@ -0,0 +1,14 @@
+$('#dialog h3.modal-title').html("Editar vendedor");
+$('#dialog').removeClass('modal-lg');
+$('.modal-footer').remove();
+$('.modal-body').html(""); //limpiar el modal antes; la siguiente linea es por si se abrio previamente el detalle de venta
+$('.modal-dialog').removeClass('modal-lg');
+// Rend$( ".selector" ).dialog({ closeOnEscape: false });er the edit form
+$('.modal-body').html('<%= j render("form") %>');
+// Show the dynamic dialog
+$('#dialog').modal("show");
+
+// Set focus to the first element
+$('#dialog').on('shown.bs.modal', function () {
+  $('.first_input').focus();
+});

+ 7 - 10
app/views/sellers/index.html.erb

@@ -45,21 +45,18 @@
 									</div>
 									<div class="actions">
 										<% if can? :create, Seller %>
-										<%= link_to new_seller_path, {:class=>"btn bold green pull-right filtros"} do %> Nuevo Vendedor <i class="fa fa-plus"></i>
-										<% end %>
+											<%= link_to new_seller_path, remote: true, class: "btn bold green pull-right" do %> Nuevo Vendedor <i class="fa fa-plus"></i> <% end %>
 										<% end %>
 									</div>
 								</div>
 								<div class="portlet-body">
-									<input type='hidden' name='filter' id='filter' value='<%= @filter %>' >
-									<input type='hidden' name='current_page' id='current_page' value='<%= @current_page %>' >
 									<table class="table table-striped table-bordered table-hover tableadvanced">
 										<thead>
 											<tr>
 												<th>#</th>
 												<th>Nombre</th>
 												<th>Apellido</th>
-												<% if current_user.usertype == "A" %>
+												<% if current_user.usertype == "A" || current_user.usertype == "SS" %>
 													<th>Punto de venta</th>
 												<% end %>
 												<th>Status</th>
@@ -72,7 +69,7 @@
 												<td><%= key + 1 %></td>
 												<td><%= seller.name %></td>
 												<td><%= seller.last_name %></td>
-												<% if current_user.usertype == "A" %>
+												<% if current_user.usertype == "A" || current_user.usertype == "SS" %>
 													<td> <%= seller.pointsale.name %> </td>
 												<% end %>
 												<td>
@@ -84,21 +81,21 @@
 												</td>
 												<td>
 												<% if can? :update, Seller %>
-													<%= link_to edit_seller_path(seller), {:class=>"btn btn-icon-only btn-primary filtros", :title=>"Editar vendedor"} do %>
+													<%= link_to edit_seller_path(seller), remote: true, class: "btn btn-icon-only btn-primary", title: "Editar vendedor" do %>
 														<i class="fa fa-edit"></i>
 													<% end %>
 													<% if seller.active? %>
-														<%= link_to seller_update_status_path(seller), :class=>"btn btn-icon-only default", :title=>"Desactivar vendedor", data: { confirm: '¿Esta seguro de desactivar el vendedor?', method: 'post'}  do %>
+														<%= link_to seller_update_status_path(seller), :class=>"btn btn-icon-only default", title: "Desactivar vendedor", data: { confirm: '¿Esta seguro de desactivar el vendedor?', method: 'post' } do %>
 															<i class="fa fa-toggle-off"></i>
 														<% end %>
 													<% elsif seller.inactive? %>
-														<%= link_to seller_update_status_path(seller), :class=>"btn btn-icon-only green-jungle", :title=>"Activar vendedor", data: { confirm: '¿Esta seguro de activar el vendedor?', method: 'post'}  do %>
+														<%= link_to seller_update_status_path(seller), :class=>"btn btn-icon-only green-jungle", title: "Activar vendedor", data: { confirm: '¿Esta seguro de activar el vendedor?', method: 'post' } do %>
 															<i class="fa fa-toggle-on"></i>
 														<% end %>
 													<% end %>
 												<% end %>
 												<% if can? :destroy, Seller %>
-													<%= link_to seller , method: :delete, :class => "btn btn-icon-only btn-danger", :title=>"Eliminar vendedor", data: { confirm: '¿Esta seguro de eliminar al vendedor?'}   do %>
+													<%= link_to seller, method: :delete, :class => "btn btn-icon-only btn-danger", title: "Eliminar vendedor", data: { confirm: '¿Esta seguro de eliminar al vendedor?'} do %>
 														<i class="fa fa-trash-o"></i>
 													<% end %>
 												<% end %>

+ 0 - 52
app/views/sellers/new.html.erb

@@ -1,52 +0,0 @@
-<!-- BEGIN CONTAINER -->
-<div class="page-container">
-	<!-- BEGIN CONTENT -->
-	<div class="page-content-wrapper">
-		<!-- BEGIN CONTENT BODY -->
-		<!-- BEGIN PAGE HEAD-->
-		<div class="page-head">
-			<div class="container-fluid">
-				<!-- BEGIN PAGE TITLE -->
-				<div class="page-title">
-					<h1>Vendedores</h1>
-				</div>
-				<!-- END PAGE TITLE -->
-			</div>
-		</div>
-		<!-- END PAGE HEAD-->
-		<!-- BEGIN PAGE CONTENT BODY -->
-		<div class="page-content">
-			<div class="container-fluid">
-                <%= link_to sellers_path(:filter => @filter, :current_page => @current_page), {:class=>"btn blue-hoki pull-right margin-bottom-10"} do %> <i class="fa fa-angle-left "></i> Regresar
-				<% end %>
-				<!-- BEGIN PAGE BREADCRUMBS -->
-				<ul class="page-breadcrumb breadcrumb">
-					<%= render_breadcrumbs :tag => :li, :separator => ' <i class="fa fa-circle"></i> ' %>
-				</ul>
-				<!-- END PAGE BREADCRUMBS -->
-				<!-- BEGIN PAGE CONTENT INNER -->
-				<div class="page-content-inner">
-					<div id="notice"><%= notice %></div>
-					<div class="row ">
-						<div class="col-md-12">
-							<div class="portlet light">
-								<div class="portlet-title">
-									<div class="caption">
-										<i class="fa fa-plus font-green"></i>
-										<span class="caption-subject font-green bold uppercase">Nuevo Vendedor</span>
-									</div>
-								</div>
-								<%= render 'form' %>
-							</div>
-						</div>
-					</div>
-				</div>
-				<!-- END PAGE CONTENT INNER -->
-			</div>
-		</div>
-		<!-- END PAGE CONTENT BODY -->
-		<!-- END CONTENT BODY -->
-	</div>
-	<!-- END CONTENT -->
-</div>
-<!-- END CONTAINER -->

+ 14 - 0
app/views/sellers/new.js.erb

@@ -0,0 +1,14 @@
+$('#dialog h3.modal-title').html("Nuevo vendedor");
+$('#dialog').removeClass('modal-lg');
+$('.modal-footer').remove();
+$('.modal-body').html(""); //limpiar el modal antes; la siguiente linea es por si se abrio previamente el detalle de venta
+$('.modal-dialog').removeClass('modal-lg');
+// Rend$( ".selector" ).dialog({ closeOnEscape: false });er the edit form
+$('.modal-body').html('<%= j render("form") %>');
+// Show the dynamic dialog
+$('#dialog').modal("show");
+
+// Set focus to the first element
+$('#dialog').on('shown.bs.modal', function () {
+  $('.first_input').focus();
+});

+ 11 - 0
app/views/sellers/update.js.erb

@@ -0,0 +1,11 @@
+$("#seller_errors").html("");
+<% if @seller.errors.any? %>
+  $('#seller_errors').removeClass('hidden');
+  <% @seller.errors.values.each do |message| %>
+    $("#seller_errors").append($("<li />").html("<%= message.first.to_s %>"));
+  <% end %>
+<% else %>
+  $('#dialog').modal('toggle');
+  window.location = "<%= sellers_path %>";
+  $("#notice").html("<%= flash[:notice] %>");
+<% end %>

+ 2 - 2
app/views/units/update.js.erb

@@ -1,8 +1,8 @@
 $("#errors").html("");
 <% if @unit.errors.any? %>
-  $('#unit').removeClass('hidden');
+  $('#errors').removeClass('hidden');
   <% @unit.errors.values.each do |message| %>
-    $("#unit").append($("<li />").html("<%= message.first.to_s %>"));
+    $("#errors").append($("<li />").html("<%= message.first.to_s %>"));
   <% end %>
 <% else %>
   $('#dialog').modal('toggle');

+ 10 - 15
app/views/warehouses/_form.html.erb

@@ -1,27 +1,25 @@
 <!-- BEGIN FORM-->
-<%= form_for(@warehouse, :html => {:class=>"form-horizontal"}) do |f| %>
+<%= form_for(@warehouse, remote: true, html: { class: "form-horizontal" }) do |f| %>
 	<div class="portlet-body form">
-		<% if @warehouse.errors.any? %>
-			<div class="alert alert-danger">
-				<strong>Tiene <%= pluralize(@warehouse.errors.count, "error") %> no se puede guardar el almacen</strong><br>
-			</div>
-		<% end %>
+		<div class="row col-md-12">
+      <div class="alert alert-danger hidden" id="warehouse_errors"></div>
+    </div>
 		<div class="form-body">
 			<div class="row">
 				<div class="form-group">
-					<%= f.label :name,  {:class=>"col-md-3 control-label"} do %>Nombre <span class="required">*</span>
+					<%= f.label :name, { class: "col-md-3 control-label" } do %>Nombre <span class="required">*</span>
 					<% end %>
 					<div class="col-md-6">
-						<%= f.text_field :name, {:class=>"form-control input-xlarge" }  %>
+						<%= f.text_field :name, { class: "form-control first_input" } %>
 					</div>
 				</div>
 				<div class="form-group">
-					<%= f.label :prefix, "Prefijo", {:class=>"col-md-3 control-label"} do %> Prefijo
+					<%= f.label :prefix, "Prefijo", { class: "col-md-3 control-label" } do %> Prefijo
 						<span class="required">*</span>
 					<% end %>
 					<div class="col-md-6">
-						<%= f.text_field :prefix, {:class=>"form-control"} %>
-						<span class="help-block">El prefijo es la abreviación que se utilizará para identificar al almacen, debe conformarse de 3 letras.</span>
+						<%= f.text_field :prefix, { class: "form-control input-small", maxlength: 3 } %>
+						<span class="help-block">El prefijo es la abreviación que se utilizará para identificar al almacén, debe conformarse de 3 letras.</span>
 					</div>
 				</div>
 			</div>
@@ -29,12 +27,9 @@
 		<div class="form-actions">
 			<div class="row">
 				<div class="col-md-offset-3 col-md-9">
-					<%= f.submit 'Guardar', {:class=>"btn green"} %>
-					<%= link_to 'Cancelar', warehouses_path(:filter => @filter, :current_page => @current_page), {:class=>"btn default"} %>
+					<%= f.submit 'Guardar', { class: "btn green" } %>
 				</div>
 			</div>
 		</div>
 	</div>
 <% end %>
-
-

+ 11 - 0
app/views/warehouses/create.js.erb

@@ -0,0 +1,11 @@
+$("#warehouse_errors").html("");
+<% if @warehouse.errors.any? %>
+  $('#warehouse_errors').removeClass('hidden');
+  <% @warehouse.errors.values.each do |message| %>
+    $("#warehouse_errors").append($("<li />").html("<%= message.first.to_s %>"));
+  <% end %>
+<% else %>
+  $('#dialog').modal('toggle');
+  window.location = "<%= warehouses_path %>";
+  $("#notice").html("<%= flash[:notice] %>");
+<% end %>

+ 0 - 51
app/views/warehouses/edit.html.erb

@@ -1,51 +0,0 @@
-<!-- BEGIN CONTAINER -->
-<div class="page-container">
-	<!-- BEGIN CONTENT -->
-	<div class="page-content-wrapper">
-		<!-- BEGIN CONTENT BODY -->
-		<!-- BEGIN PAGE HEAD-->
-		<div class="page-head">
-			<div class="container-fluid">
-				<!-- BEGIN PAGE TITLE -->
-				<div class="page-title">
-					<h1> Almacenes </h1>
-				</div>
-				<!-- END PAGE TITLE -->
-			</div>
-		</div>
-		<!-- END PAGE HEAD-->
-		<!-- BEGIN PAGE CONTENT BODY -->
-		<div class="page-content">
-			<div class="container-fluid">
-				<!-- BEGIN PAGE BREADCRUMBS -->
-				<ul class="page-breadcrumb breadcrumb">
-					<%= render_breadcrumbs :tag => :li, :separator => ' <i class="fa fa-circle"></i> ' %>
-				</ul>
-				<!-- END PAGE BREADCRUMBS -->
-				<!-- BEGIN PAGE CONTENT INNER -->
-				<div class="page-content-inner">
-					<div id="notice"><%= notice %></div>
-					<div class="row">
-						<div class="col-md-12">
-							<div class="portlet light ">
-								<div class="portlet-title">
-									<div class="caption">
-										<i class="fa fa-edit font-blue-sharp"></i>
-										<span class="caption-subject font-blue-sharp bold uppercase">Editar Almacén</span>
-										<span class="caption-helper"></span>
-									</div>
-								</div>
-								<%= render 'form' %>
-							</div>
-						</div>
-					</div>
-				</div>
-				<!-- END PAGE CONTENT INNER -->
-			</div>
-		</div>
-		<!-- END PAGE CONTENT BODY -->
-		<!-- END CONTENT BODY -->
-	</div>
-	<!-- END CONTENT -->
-</div>
-<!-- END CONTAINER -->

+ 14 - 0
app/views/warehouses/edit.js.erb

@@ -0,0 +1,14 @@
+$('#dialog h3.modal-title').html("Editar almacén");
+$('#dialog').removeClass('modal-lg');
+$('.modal-footer').remove();
+$('.modal-body').html(""); //limpiar el modal antes; la siguiente linea es por si se abrio previamente el detalle de venta
+$('.modal-dialog').removeClass('modal-lg');
+// Rend$( ".selector" ).dialog({ closeOnEscape: false });er the edit form
+$('.modal-body').html('<%= j render("form") %>');
+// Show the dynamic dialog
+$('#dialog').modal("show");
+
+// Set focus to the first element
+$('#dialog').on('shown.bs.modal', function () {
+  $('.first_input').focus();
+});

+ 8 - 8
app/views/warehouses/index.html.erb

@@ -43,8 +43,8 @@
 										<span class="caption-subject bold uppercase">Lista de almacenes</span>
 									</div>
 									<div class="actions">
-										<% if can? :create, User %>
-											<%= link_to new_warehouse_path, {:class=>"btn bold green pull-right filtros"} do %> Nuevo almacén <i class="fa fa-plus"></i>
+										<% if can? :create, Warehouse %>
+											<%= link_to new_warehouse_path, remote: true, class: "btn bold green pull-right" do %> Nuevo almacén <i class="fa fa-plus"></i>
 											<% end %>
 										<% end %>
 									</div>
@@ -65,9 +65,9 @@
 										<tbody>
 											<% @warehouses.each_with_index do |warehouse, key| %>
 												<tr>
-													<td> <%= key +1 %> </td>
-													<td> <%= warehouse.name  %> </td>
-													<td> <%= warehouse.prefix  %> </td>
+													<td> <%= key + 1 %> </td>
+													<td> <%= warehouse.name %> </td>
+													<td> <%= warehouse.prefix %> </td>
 													<td class="text-center">
 														<% if warehouse.active? %>
 															<span class="label label-sm label-success"> <i class="fa fa-check"></i> Activo </span>
@@ -77,16 +77,16 @@
 													</td>
 													<td class="text-center">
 														<% if can? :update, Warehouse %>
-															<%= link_to edit_warehouse_path(warehouse), {:class=>"btn btn-icon-only btn-primary filtros", :title=>"Editar almacen"} do %>
+															<%= link_to edit_warehouse_path(warehouse), remote: true, class: "btn btn-icon-only btn-primary", title: "Editar almacen" do %>
 																<i class="fa fa-edit"></i>
 															<% end %>
 														<% end %>
 														<% if warehouse.active? %>
-															<%= link_to warehouse_update_status_path(warehouse), :class=>"btn btn-icon-only default", :title=>"Desactivar almacen", data: { confirm: '¿Esta seguro de desactivar el almacen?', method: 'post'}  do %>
+															<%= link_to warehouse_update_status_path(warehouse), class: "btn btn-icon-only default", title: "Desactivar almacen", data: { confirm: '¿Está seguro de desactivar el almacén?', method: 'post' } do %>
 																<i class="fa fa-toggle-off"></i>
 															<% end %>
 														<% elsif warehouse.inactive? %>
-															<%= link_to warehouse_update_status_path(warehouse), :class=>"btn btn-icon-only green-jungle", :title=>"Activar almacen", data: { confirm: '¿Esta seguro de activar el almacen?', method: 'post'}  do %>
+															<%= link_to warehouse_update_status_path(warehouse), remote: true, class: "btn btn-icon-only green-jungle", title: "Activar almacen", data: { confirm: '¿Está seguro de activar el almacén?', method: 'post' } do %>
 																<i class="fa fa-toggle-on"></i>
 															<% end %>
 														<% end %>

+ 0 - 51
app/views/warehouses/new.html.erb

@@ -1,51 +0,0 @@
-<!-- BEGIN CONTAINER -->
-<div class="page-container">
-	<!-- BEGIN CONTENT -->
-	<div class="page-content-wrapper">
-		<!-- BEGIN CONTENT BODY -->
-		<!-- BEGIN PAGE HEAD-->
-		<div class="page-head">
-			<div class="container-fluid">
-				<!-- BEGIN PAGE TITLE -->
-				<div class="page-title">
-					<h1>Almacenes</h1>
-				</div>
-				<!-- END PAGE TITLE -->
-			</div>
-		</div>
-		<!-- END PAGE HEAD-->
-		<!-- BEGIN PAGE CONTENT BODY -->
-		<div class="page-content">
-			<div class="container-fluid">
-				<!-- BEGIN PAGE BREADCRUMBS -->
-				<ul class="page-breadcrumb breadcrumb">
-					<%= render_breadcrumbs :tag => :li, :separator => ' <i class="fa fa-circle"></i> ' %>
-				</ul>
-				<!-- END PAGE BREADCRUMBS -->
-				<!-- BEGIN PAGE CONTENT INNER -->
-				<div class="page-content-inner">
-					<div id="notice"><%= notice %></div>
-					<div class="row">
-						<div class="col-md-12">
-							<div class="portlet light ">
-								<div class="portlet-title">
-									<div class="caption">
-										<i class="fa fa-plus font-green"></i>
-										<span class="caption-subject font-green bold uppercase">Nuevo almacén</span>
-										<span class="caption-helper"></span>
-									</div>
-								</div>
-								<%= render 'form' %>
-							</div>
-						</div>
-					</div>
-				</div>
-				<!-- END PAGE CONTENT INNER -->
-			</div>
-		</div>
-		<!-- END PAGE CONTENT BODY -->
-		<!-- END CONTENT BODY -->
-	</div>
-	<!-- END CONTENT -->
-</div>
-<!-- END CONTAINER -->

+ 14 - 0
app/views/warehouses/new.js.erb

@@ -0,0 +1,14 @@
+$('#dialog h3.modal-title').html("Nuevo almacén");
+$('#dialog').removeClass('modal-lg');
+$('.modal-footer').remove();
+$('.modal-body').html(""); //limpiar el modal antes; la siguiente linea es por si se abrio previamente el detalle de venta
+$('.modal-dialog').removeClass('modal-lg');
+// Rend$( ".selector" ).dialog({ closeOnEscape: false });er the edit form
+$('.modal-body').html('<%= j render("form") %>');
+// Show the dynamic dialog
+$('#dialog').modal("show");
+
+// Set focus to the first element
+$('#dialog').on('shown.bs.modal', function () {
+  $('.first_input').focus();
+});

+ 11 - 0
app/views/warehouses/update.js.erb

@@ -0,0 +1,11 @@
+$("#warehouse_errors").html("");
+<% if @warehouse.errors.any? %>
+  $('#warehouse_errors').removeClass('hidden');
+  <% @warehouse.errors.values.each do |message| %>
+    $("#warehouse_errors").append($("<li />").html("<%= message.first.to_s %>"));
+  <% end %>
+<% else %>
+  $('#dialog').modal('toggle');
+  window.location = "<%= warehouses_path %>";
+  $("#notice").html("<%= flash[:notice] %>");
+<% end %>