Selaa lähdekoodia

Fixed warehouse user creation

Jacqueline Maldonado 7 vuotta sitten
vanhempi
commit
e07adc98ab
3 muutettua tiedostoa jossa 19 lisäystä ja 20 poistoa
  1. 10 9
      app/controllers/users_controller.rb
  2. 4 4
      app/models/user.rb
  3. 5 7
      app/views/users/_form.html.erb

+ 10 - 9
app/controllers/users_controller.rb

@@ -44,16 +44,17 @@ class UsersController < ApplicationController
   def create
     @user = User.new(user_params)
     respond_to do |format|
-      message = "Usuario #{@user.userid}"
-      if @user.usertype == 'SS'
-        message += " con perfil SUPER ADMINISTRADOR creado."
-      elsif @user.usertype == "A"
-        message += " con perfil ADMINISTRADOR creado."
-      else
-        message += " creado y asignado al " + (@user.pointsale.present? ? "punto de venta #{@user.pointsale.name}" : "almacén #{@user.warehouse.name}")
-      end
-      @user.audit_comment = message
       if @user.save
+        message = "Usuario #{@user.userid}"
+        message +=
+          if @user.usertype == 'SS'
+            " con perfil SUPER ADMINISTRADOR creado."
+          elsif @user.usertype == "A"
+            " con perfil ADMINISTRADOR creado."
+          else
+            " creado y asignado al " + (@user.pointsale.present? ? "punto de venta #{@user.pointsale.name}" : "almacén #{@user.warehouse.name}")
+          end
+        @user.audit_comment = message
         format.html { redirect_to users_path, success: message }
         format.json { render :show, status: :created, location: @user }
       else

+ 4 - 4
app/models/user.rb

@@ -28,10 +28,10 @@ class User < ActiveRecord::Base
   attr_accessor :skip_validations_from_pointsale
   attr_accessor :skip_validations_when_edit
   validates_presence_of :userid, message: "Debe especificar el nombre de usuario, es con el que el usuario iniciará sesión."
-  validates :password, presence: { message: "Debe especificar la contraseña nueva" },  length: { within: Devise.password_length, too_short: "La contraseña no puede ser menor a %{count}." }, unless: :skip_validations_when_edit
+  validates :password, presence: { message: "Debe especificar la contraseña nueva" }, length: { within: Devise.password_length, too_short: "La contraseña no puede ser menor a %{count}." }, unless: :skip_validations_when_edit
   validates :password_confirmation, presence: { message: "Debe confirmar la contraseña nueva" }, unless: :skip_validations_when_edit
   # validates_presence_of :pointsale_id, message: "Debe seleccionar el punto de venta al que pertenecera el usuario.", on: [:create, :update], unless: :skip_validations_from_pointsale
-  validates_presence_of :usertype, message: "Debe seleccionar el tipo de usuario, con este se determinara los permisos que tendrá dentro del sistema.", on: [:create, :update], unless: :skip_validations_from_pointsale
+  validates_presence_of :usertype, message: "Debe seleccionar el tipo de usuario, con este se determinará los permisos que tendrá dentro del sistema.", on: [:create, :update], unless: :skip_validations_from_pointsale
 
   validates :pointsale_id, presence: { message: "Debe seleccionar un almacén o un punto de venta al que pertenecerá el usuario." }, if: proc { |c| c.warehouse_id.blank? && c.usertype != 'A' }, on: [:create, :update], unless: :skip_validations_from_pointsale
   validates :warehouse_id, presence: { message: "Debe seleccionar un almacén o un punto de venta al que pertenecerá el usuario." }, if: proc { |c| c.pointsale_id.blank? && c.usertype != 'A' }, on: [:create, :update], unless: :skip_validations_from_pointsale
@@ -49,9 +49,9 @@ class User < ActiveRecord::Base
   end
 
   def warehouse_or_pointsale
-    if pointsale_id.present?
+    if !pointsale_id.blank?
       self.warehouse_id = nil
-    elsif warehouse_id.present?
+    elsif !warehouse_id.blank?
       self.pointsale_id = nil
     end
   end

+ 5 - 7
app/views/users/_form.html.erb

@@ -62,14 +62,12 @@
 									<%= f.hidden_field :pointsale_id, value: (current_user.usertype == 'G' ? current_user.pointsale_id : @user.pointsale_id), id: 'pointsale_id' %>
 								</div>
 							</div>
-							<% if current_user.usertype == "A" || current_user.usertype == "SS" %>
-								<div class="form-group hidden" id="warehouse_div">
-									<%= f.label :warehouse_id, "", { class: "col-md-3 control-label" } do %> Almacén <span class="required">*</span> <% end %>
-									<div class="col-md-4">
-										<%= f.collection_select :warehouse_id, Warehouse.activos, :id, :name, { prompt: "Seleccione" }, { class: "form-control select2" } %>
-									</div>
+							<div class="form-group hidden" id="warehouse_div">
+								<%= f.label :warehouse_id, "", { class: "col-md-3 control-label" } do %> Almacén <span class="required">*</span> <% end %>
+								<div class="col-md-4">
+									<%= f.collection_select :warehouse_id, Warehouse.activos, :id, :name, { prompt: "Seleccione" }, { class: "form-control select2" } %>
 								</div>
-							<% end %>
+							</div>
 							<div class="form-group">
 								<%= f.label :userid, "Nombre de usuario", { class: "col-md-3 control-label" } do %> Usuario <span class="required">*</span> <% end %>
 								<div class="col-md-4">