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

Instance Method Details

#agregar_asociadoObject



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_aObject



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_deObject



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_dbObject



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_asociadoObject



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_agregarObject



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 comprobar_relacion(: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_asociarObject



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 comprobar_relacion(: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_asociarObject



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_aObject

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_aObject

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