Method: NetworksController#add_panel
- Defined in:
- app/controllers/networks_controller.rb
#add_panel ⇒ Object
Ajoute un panneau dans un réseau.
Input
-
Variable POST
panel_id
243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 |
# File 'app/controllers/networks_controller.rb', line 243 def add_panel network = Network.find(params[:id]) panel = Panel.find(params[:panel_id]) # On n'ajoute pas un panneau déjà membre d'un autre réseau if panel.network.nil? # Si le réseau a déjà des panneaux, donc des caractéristiques, il faut les appliquer # au nouveau panneau reference_panel = network.panels.first if reference_panel panel.texture = reference_panel.texture panel.notecard = reference_panel.notecard panel.landmark = reference_panel.landmark panel.url = reference_panel.url panel.mediaurl = reference_panel.mediaurl end # Et maintenant on ajoute le panneau au réseau network.panels << panel flash[:notice] = "Panel '#{panel.name} : #{panel.furniture.name}' added to network." else flash[:notice] = "Panel '#{panel.name} : #{panel.furniture.name}' already belongs to a network ('#{panel.network.name}')." end redirect_to :action => 'show', :id => network rescue ActiveRecord::RecordNotFound flash[:notice] = "Add panel: Invalid network id ('#{params[:id]}') or panel id ('#{params[:panel_id]}')." redirect_to :action => 'list' end |