class UnitsController < ApplicationController ##--- Abilities load_and_authorize_resource before_action :set_unit, only: [:edit, :update, :update_status] ##--- Breadcrum_rails add_breadcrumb I18n.t("breadcrumbs." + controller_name), :units_path ## /**Creamos el listado de las unidades de medida, esta lista es de las propuestas por SAT, por ello se hace solo la lista no CRUD**/ def index @units = Unit.all.order(unit: :asc) end def new @unit = Unit.new end def edit; end def create @unit = Unit.new(unit_params) @unit.status = :active respond_to do |format| message = "Unidad de medida #{@unit.unit} creada." @unit.audit_comment = message if @unit.save format.js else format.html { render :new } format.js format.json { render json: @unit.errors, status: :unprocessable_entity } end end end def update respond_to do |format| message = "Unidad de medida #{@unit.unit} modificada." @unit.audit_comment = message if @unit.update(unit_params) format.js else format.html { render :edit } format.js format.json { render json: @unit.errors, status: :unprocessable_entity } end end end def update_status @unit.status = if @unit.active? 0 else 1 end respond_to do |format| message = "Se actualizó el status de la unidad de medida #{@unit.unit}." @unit.audit_comment = message if @unit.save format.html { redirect_to units_path, success: message } format.json { head :no_content } else format.html { redirect_to units_path } format.json { render json: @unit.errors, status: :unprocessable_entity } end end end private def set_unit @unit = Unit.find(params[:id]) end def unit_params params.require(:unit).permit(:unit, :status, :unit_key) end end