units_controller.rb 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. class UnitsController < ApplicationController
  2. ##--- Abilities
  3. load_and_authorize_resource
  4. before_action :set_unit, only: [:edit, :update, :update_status]
  5. ##--- Breadcrum_rails
  6. add_breadcrumb I18n.t("breadcrumbs." + controller_name), :units_path
  7. ## /**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**/
  8. def index
  9. @units = Unit.all.order(unit: :asc)
  10. end
  11. def new
  12. @unit = Unit.new
  13. end
  14. def edit; end
  15. def create
  16. @unit = Unit.new(unit_params)
  17. @unit.status = :active
  18. respond_to do |format|
  19. message = "Unidad de medida #{@unit.unit} creada."
  20. @unit.audit_comment = message
  21. if @unit.save
  22. format.js
  23. else
  24. format.html { render :new }
  25. format.js
  26. format.json { render json: @unit.errors, status: :unprocessable_entity }
  27. end
  28. end
  29. end
  30. def update
  31. respond_to do |format|
  32. message = "Unidad de medida #{@unit.unit} modificada."
  33. @unit.audit_comment = message
  34. if @unit.update(unit_params)
  35. format.js
  36. else
  37. format.html { render :edit }
  38. format.js
  39. format.json { render json: @unit.errors, status: :unprocessable_entity }
  40. end
  41. end
  42. end
  43. def update_status
  44. @unit.status =
  45. if @unit.active?
  46. 0
  47. else
  48. 1
  49. end
  50. respond_to do |format|
  51. message = "Se actualizó el status de la unidad de medida #{@unit.unit}."
  52. @unit.audit_comment = message
  53. if @unit.save
  54. format.html { redirect_to units_path, success: message }
  55. format.json { head :no_content }
  56. else
  57. format.html { redirect_to units_path }
  58. format.json { render json: @unit.errors, status: :unprocessable_entity }
  59. end
  60. end
  61. end
  62. private
  63. def set_unit
  64. @unit = Unit.find(params[:id])
  65. end
  66. def unit_params
  67. params.require(:unit).permit(:unit, :status)
  68. end
  69. end