Method: NetworksController#show

Defined in:
app/controllers/networks_controller.rb

#showObject

Affiche un réseau, ses caractéristiques et l’ensemble des panneaux membres. Affiche aussi les formulaire permettant de modifier le réseau, son paramétrage et sa composition.



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'app/controllers/networks_controller.rb', line 40

def show
  @network = Network.find(params[:id])
  # La liste de tous les panneaux disponibles.
  @unassigned_panels = Panel.unassigned_panels.map { |p| [ "#{p.name} (#{p.furniture.name})", p.id ]}
  # On extrait les caractéristiques du réseau depuis le premier panneau
  # XXX : Ceci suppose que tous les panneaux du réseau sont strictement dans la même configuration.
  panel1 = @network.panels.first
  if panel1
    @network_parameters = OpenStruct.new(
      :texture  => panel1.objects_in_world.find_by_otype("texture"),
      :landmark => panel1.objects_in_world.find_by_otype("landmark"),
      :notecard => panel1.objects_in_world.find_by_otype("notecard"),
      :url      => panel1.objects_off_world.find_by_otype("url"),
      :mediaurl => panel1.objects_off_world.find_by_otype("mediaurl")
    )
#      @network_parameters.texture_id  = @network_parameters.texture.id rescue nil
#      @network_parameters.landmark_id = @network_parameters.landmark.id rescue nil
#      @network_parameters.notecard_id = @network_parameters.notecard.id rescue nil
#      @network_parameters.url_id      = @network_parameters.url.id rescue nil
#      @network_parameters.mediaurl_id = @network_parameters.mediaurl.id rescue nil
#
#      @textures  = ObjectInWorld.find_all_by_otype("texture",   :order => "name").map { |t| [ t.name, t.id ] }
#      @landmarks = [ [ 'No Landmark', nil ] ]  + ObjectInWorld.find_all_by_otype("landmark",  :order => "name").map { |t| [ t.name, t.id ] }
#      @notecards = [ [ 'No Notecard', nil ] ]  + ObjectInWorld.find_all_by_otype("notecard",  :order => "name").map { |t| [ t.name, t.id ] }
#      @urls      = [ [ 'No URL', nil ] ]       + ObjectOffWorld.find_all_by_otype("url",      :order => "name").map { |t| [ "#{t.name} : #{t.content}", t.id ] }
#      @mediaurls = [ [ 'No Media URL', nil ] ] + ObjectOffWorld.find_all_by_otype("mediaurl", :order => "name").map { |t| [ "#{t.name} : #{t.content}", t.id ] }
  else
    @network_parameters = nil
  end
end