Module: Forcast::Controller::Asociar
- Extended by:
- ActiveSupport::Concern
- Included in:
- Api::VARIABLEController, Api::WebhooksController
- Defined in:
- lib/forcast/controllers/controller/asociar.rb
Instance Method Summary collapse
- #agregar_asociado ⇒ Object
- #asociar_a ⇒ Object
- #desasociar_de ⇒ Object
- #modelo_db ⇒ Object
- #quitar_asociado ⇒ Object
- #raise_error_agregar ⇒ Object
- #raise_error_asociar ⇒ Object
- #set_model_id_asociar ⇒ Object
-
#ver_asociado_a ⇒ Object
Member.
-
#ver_no_asociados_a ⇒ Object
Collection.
Instance Method Details
#agregar_asociado ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 49 def agregar_asociado @response = [] @modelo_id.is_a?(Array) ? @modelo_id : @modelo_id = [@modelo_id] @modelo_id.each do |modelo_id| #raise Application::Error::General.new(t("error_relation_already_taken", param: [params[:modelo],modelo_id])) unless @model_id.agregar_asociado_a?(@modelo, modelo_id) raise Application::Error::General.new(t("error_relation_model_id_doesnt_exist", param: [params[:modelo],modelo_id])) unless @model_id.asociado_existe?(@modelo,modelo_id) @model_id.agregar_asociado(@modelo, modelo_id) paso = c_to_m(@modelo).find(modelo_id) params_permitidos_enviar = abstract_controller(@modelo).new.send (:params_permitidos_enviar) @response.push(paso.attributes.slice(*params_permitidos_enviar)) end json_response(@response,t("ok")) end |
#asociar_a ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 33 def asociar_a raise Application::Error::General.new(t("error_relation_already_taken", param: params[:modelo])) unless @model_id.asociado_a?(@modelo+'_id', @modelo_id) raise Application::Error::General.new(t("error_relation_model_id_doesnt_exist", param: params[:modelo])) unless @model_id.asociado_existe?(@modelo, @modelo_id) @model_id.asociar_a(@modelo+'_id', @modelo_id) json_response(@model_id.attributes.slice(*params_permitidos_enviar),t("ok")) end |
#desasociar_de ⇒ Object
42 43 44 45 46 47 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 42 def desasociar_de @model_id.desasociar_de(@modelo+'_id') json_response(@model_id.attributes.slice(*params_permitidos_enviar),t("ok")) end |
#modelo_db ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 82 def modelo_db n = [] nn = [] model.reflect_on_all_associations(:has_many).each do |x| n = n.push(x.name.to_s.classify) end model.reflect_on_all_associations(:belongs_to).each do |x| nn = nn.push(x.name.to_s.classify) end rep = {model:model.name,belongs_to: nn, has_many: n} json_response(rep,t("ok")) end |
#quitar_asociado ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 65 def quitar_asociado @response = [] @modelo_id.is_a?(Array) ? @modelo_id : @modelo_id = [@modelo_id] @modelo_id.each do |modelo_id| #raise Application::Error::General.new(t("error_relation_already_taken", param: [params[:modelo],modelo_id])) unless @model_id.agregar_asociado_a?(@modelo, modelo_id) raise Application::Error::General.new(t("error_relation_model_id_doesnt_exist", param: [params[:modelo],modelo_id])) unless @model_id.asociado_existe?(@modelo,modelo_id) @model_id.quitar_asociado(@modelo, modelo_id) paso = c_to_m(@modelo).find(modelo_id) params_permitidos_enviar = abstract_controller(@modelo).new.send (:params_permitidos_enviar) @response.push(paso.attributes.slice(*params_permitidos_enviar)) end json_response(@response,t("ok")) end |
#raise_error_agregar ⇒ Object
105 106 107 108 109 110 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 105 def raise_error_agregar raise Application::Error::General.new(t("error_relation", param: params[:modelo])) unless (:has_many, @modelo) raise Application::Error::General.new(t("error_relation_not_permitted", param: params[:modelo])) unless model.params_permitidos_agregar.include?(@modelo+'_id') end |
#raise_error_asociar ⇒ Object
98 99 100 101 102 103 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 98 def raise_error_asociar raise Application::Error::General.new(t("error_relation", param: params[:modelo])) unless (:belongs_to, @modelo) raise Application::Error::General.new(t("error_relation_not_permitted", param: params[:modelo])) unless model.params_permitidos_asociar.include?(@modelo+'_id') end |
#set_model_id_asociar ⇒ Object
112 113 114 115 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 112 def set_model_id_asociar @model_id ||= model.find(params[:id]) end |
#ver_asociado_a ⇒ Object
Member
25 26 27 28 29 30 31 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 25 def ver_asociado_a @response = @model_id.ver_asociado(@modelo) params_permitidos_enviar = abstract_controller(@modelo).new.send (:params_permitidos_enviar) json_response(@response.select(*params_permitidos_enviar),t("ok")) end |
#ver_no_asociados_a ⇒ Object
Collection
18 19 20 21 22 23 |
# File 'lib/forcast/controllers/controller/asociar.rb', line 18 def ver_no_asociados_a @response = model.no_asociados_a(@modelo + "_id") json_response(@response.select(*params_permitidos_enviar),t("ok")) end |