advertnet 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +674 -0
- data/README +257 -0
- data/Rakefile +10 -0
- data/app/controllers/application.rb +40 -0
- data/app/controllers/container_controller.rb +83 -0
- data/app/controllers/content_controller.rb +61 -0
- data/app/controllers/furnitures_controller.rb +87 -0
- data/app/controllers/networks_controller.rb +269 -0
- data/app/controllers/objects_in_world_controller.rb +27 -0
- data/app/controllers/panels_controller.rb +186 -0
- data/app/helpers/application_helper.rb +31 -0
- data/app/helpers/container_helper.rb +2 -0
- data/app/helpers/content_helper.rb +2 -0
- data/app/helpers/furnitures_helper.rb +2 -0
- data/app/helpers/network_helper.rb +2 -0
- data/app/helpers/networks_helper.rb +2 -0
- data/app/helpers/objects_in_world_helper.rb +2 -0
- data/app/helpers/panels_helper.rb +2 -0
- data/app/models/container.rb +51 -0
- data/app/models/furniture.rb +60 -0
- data/app/models/mailer.rb +22 -0
- data/app/models/network.rb +38 -0
- data/app/models/object_in_world.rb +60 -0
- data/app/models/object_off_world.rb +77 -0
- data/app/models/panel.rb +136 -0
- data/app/models/panel_revision.rb +108 -0
- data/app/views/container/list.rhtml +27 -0
- data/app/views/container/show.rhtml +8 -0
- data/app/views/content/_form.rhtml +12 -0
- data/app/views/content/edit.rhtml +8 -0
- data/app/views/content/list.rhtml +26 -0
- data/app/views/content/new.rhtml +8 -0
- data/app/views/furnitures/list.rhtml +51 -0
- data/app/views/furnitures/show.rhtml +7 -0
- data/app/views/layouts/default.rhtml +30 -0
- data/app/views/mailer/avtouch.rhtml +1 -0
- data/app/views/networks/_form.rhtml +11 -0
- data/app/views/networks/_parameters_form.rhtml +8 -0
- data/app/views/networks/edit.rhtml +9 -0
- data/app/views/networks/list.rhtml +25 -0
- data/app/views/networks/new.rhtml +8 -0
- data/app/views/networks/show.rhtml +72 -0
- data/app/views/networks/show_parameters_form.rjs +5 -0
- data/app/views/objects_in_world/list.rhtml +30 -0
- data/app/views/objects_in_world/show.rhtml +8 -0
- data/app/views/panels/list.rhtml +48 -0
- data/app/views/panels/show.rhtml +8 -0
- data/bin/advertnet-install +144 -0
- data/config/boot.rb +45 -0
- data/config/database.yml.default +43 -0
- data/config/environment.rb +67 -0
- data/config/environments/development.rb +21 -0
- data/config/environments/production.rb +21 -0
- data/config/environments/test.rb +19 -0
- data/config/routes.rb +23 -0
- data/db/migrate/001_create_networks.rb +14 -0
- data/db/migrate/002_create_furnitures.rb +17 -0
- data/db/migrate/003_create_containers.rb +16 -0
- data/db/migrate/004_create_objects_in_world.rb +16 -0
- data/db/migrate/005_create_objects_off_world.rb +16 -0
- data/db/migrate/006_create_panels.rb +17 -0
- data/db/migrate/007_join_objects_in_world_panels.rb +17 -0
- data/db/migrate/008_join_objects_off_world_panels.rb +17 -0
- data/db/migrate/009_add_sessions.rb +19 -0
- data/db/migrate/010_add_or_rename_fields.rb +25 -0
- data/db/migrate/011_move_texture_to_object_in_world.rb +25 -0
- data/db/migrate/012_add_permanent_furniture_id.rb +18 -0
- data/db/migrate/013_create_panel_revisions.rb +42 -0
- data/db/schema.rb +102 -0
- data/doc/README_FOR_APP +108 -0
- data/lib/advertnet.rb +13 -0
- data/lib/second_life_validators.rb +89 -0
- data/lib/tasks/documentation.rake +16 -0
- data/lib/tasks/extract_fixtures.rake +23 -0
- data/lib/tasks/load_exported_fixtures.rake +14 -0
- data/public/404.html +30 -0
- data/public/500.html +30 -0
- data/public/dispatch.cgi +10 -0
- data/public/dispatch.fcgi +24 -0
- data/public/dispatch.rb +10 -0
- data/public/favicon.ico +0 -0
- data/public/images/rails.png +0 -0
- data/public/javascripts/application.js +2 -0
- data/public/javascripts/controls.js +833 -0
- data/public/javascripts/dragdrop.js +942 -0
- data/public/javascripts/effects.js +1088 -0
- data/public/javascripts/prototype.js +2515 -0
- data/public/robots.txt +1 -0
- data/public/stylesheets/application.css +25 -0
- data/public/stylesheets/scaffold.css +74 -0
- data/script/about +3 -0
- data/script/breakpointer +3 -0
- data/script/console +3 -0
- data/script/destroy +3 -0
- data/script/generate +3 -0
- data/script/performance/benchmarker +3 -0
- data/script/performance/profiler +3 -0
- data/script/plugin +3 -0
- data/script/process/inspector +3 -0
- data/script/process/reaper +3 -0
- data/script/process/spawner +3 -0
- data/script/runner +3 -0
- data/script/server +3 -0
- data/test/fixtures/containers.yml +44 -0
- data/test/fixtures/furnitures.yml +47 -0
- data/test/fixtures/mailer/avtouch +1 -0
- data/test/fixtures/networks.yml +31 -0
- data/test/fixtures/objects_in_world.yml +71 -0
- data/test/fixtures/objects_in_world_panels.yml +43 -0
- data/test/fixtures/objects_off_world.yml +55 -0
- data/test/fixtures/objects_off_world_panels.yml +20 -0
- data/test/fixtures/panel_revisions.yml +28 -0
- data/test/fixtures/panels.yml +79 -0
- data/test/functional/container_controller_test.rb +167 -0
- data/test/functional/content_controller_test.rb +91 -0
- data/test/functional/furnitures_controller_test.rb +134 -0
- data/test/functional/networks_controller_test.rb +248 -0
- data/test/functional/objects_in_world_controller_test.rb +42 -0
- data/test/functional/panels_controller_test.rb +173 -0
- data/test/test_helper.rb +53 -0
- data/test/unit/container_test.rb +53 -0
- data/test/unit/furniture_test.rb +68 -0
- data/test/unit/mailer_test.rb +40 -0
- data/test/unit/network_test.rb +42 -0
- data/test/unit/object_in_world_test.rb +33 -0
- data/test/unit/object_off_world_test.rb +26 -0
- data/test/unit/panel_revision_test.rb +148 -0
- data/test/unit/panel_test.rb +63 -0
- data/vendor/plugins/annotate_models/ChangeLog +46 -0
- data/vendor/plugins/annotate_models/README +31 -0
- data/vendor/plugins/annotate_models/lib/annotate_models.rb +132 -0
- data/vendor/plugins/annotate_models/tasks/annotate_models_tasks.rake +7 -0
- data/vendor/plugins/foreign_key_migrations/CHANGELOG +99 -0
- data/vendor/plugins/foreign_key_migrations/MIT-LICENSE +20 -0
- data/vendor/plugins/foreign_key_migrations/README +87 -0
- data/vendor/plugins/foreign_key_migrations/about.yml +5 -0
- data/vendor/plugins/foreign_key_migrations/init.rb +3 -0
- data/vendor/plugins/foreign_key_migrations/install.rb +1 -0
- data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/base.rb +22 -0
- data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/connection_adapters/abstract_adapter.rb +22 -0
- data/vendor/plugins/foreign_key_migrations/lib/red_hill_consulting/foreign_key_migrations/active_record/connection_adapters/table_definition.rb +28 -0
- data/vendor/plugins/redhillonrails_core/CHANGELOG +154 -0
- data/vendor/plugins/redhillonrails_core/MIT-LICENSE +20 -0
- data/vendor/plugins/redhillonrails_core/README +139 -0
- data/vendor/plugins/redhillonrails_core/init.rb +19 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/base.rb +54 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/abstract_adapter.rb +31 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/column.rb +21 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/foreign_key_definition.rb +26 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/index_definition.rb +11 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_adapter.rb +82 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/mysql_column.rb +8 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/postgresql_adapter.rb +107 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/schema_statements.rb +23 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/sqlite3_adapter.rb +9 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/connection_adapters/table_definition.rb +27 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema.rb +27 -0
- data/vendor/plugins/redhillonrails_core/lib/red_hill_consulting/core/active_record/schema_dumper.rb +47 -0
- metadata +290 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# == Schema Information
|
|
2
|
+
# Schema version: 13
|
|
3
|
+
#
|
|
4
|
+
# Table name: panel_revisions
|
|
5
|
+
#
|
|
6
|
+
# permanent_id :integer(11)
|
|
7
|
+
# panel_name :string(64) not null
|
|
8
|
+
# panel_key :string(36) not null
|
|
9
|
+
# furniture_name :string(64) not null
|
|
10
|
+
# furniture_key :string(36) not null
|
|
11
|
+
# network_name :string(64)
|
|
12
|
+
# network_status :boolean(1)
|
|
13
|
+
# texture_name :string(64) not null
|
|
14
|
+
# texture_key :string(36) not null
|
|
15
|
+
# landmark_name :string(64)
|
|
16
|
+
# landmark_key :string(36)
|
|
17
|
+
# notecard_name :string(64)
|
|
18
|
+
# notecard_key :string(36)
|
|
19
|
+
# url_name :string(64)
|
|
20
|
+
# url_content :text
|
|
21
|
+
# mediaurl_name :string(64)
|
|
22
|
+
# mediaurl_content :text
|
|
23
|
+
# sim :string(64) not null
|
|
24
|
+
# position :string(40) not null
|
|
25
|
+
# created_at :datetime
|
|
26
|
+
#
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
# == PanelRevision
|
|
30
|
+
#
|
|
31
|
+
# PanelRevision contient l'historique de toutes les information clés composant un panneau
|
|
32
|
+
# à un instant donné dans Second Life. A chaque fois que le panneau est mis à jour, une
|
|
33
|
+
# copie est stockée dans PanelRevision.
|
|
34
|
+
|
|
35
|
+
# Inclut la librairie ("lib/second_life_validators.rb") qui contient les
|
|
36
|
+
# validateurs Second Life
|
|
37
|
+
require 'second_life_validators'
|
|
38
|
+
|
|
39
|
+
# == PanelRevision
|
|
40
|
+
#
|
|
41
|
+
# PanelRevision contient l'historique de toutes les information clés composant un panneau
|
|
42
|
+
# à un instant donné dans Second Life. A chaque fois que le panneau est mis à jour, une
|
|
43
|
+
# copie est stockée dans PanelRevision.
|
|
44
|
+
#
|
|
45
|
+
# == Schema Information
|
|
46
|
+
# Schema version: 13
|
|
47
|
+
#
|
|
48
|
+
# Table name: panel_revisions
|
|
49
|
+
#
|
|
50
|
+
# panel_name :string(64) not null
|
|
51
|
+
# panel_key :string(36) not null
|
|
52
|
+
# furniture_name :string(64) not null
|
|
53
|
+
# furniture_key :string(36) not null
|
|
54
|
+
# network_name :string(64) not null
|
|
55
|
+
# network_status :boolean(1)
|
|
56
|
+
# texture_name :string(64) not null
|
|
57
|
+
# texture_key :string(36) not null
|
|
58
|
+
# landmark_name :string(64) not null
|
|
59
|
+
# landmark_key :string(36) not null
|
|
60
|
+
# notecard_name :string(64) not null
|
|
61
|
+
# notecard_key :string(36) not null
|
|
62
|
+
# url_name :string(64) not null
|
|
63
|
+
# url_content :text
|
|
64
|
+
# mediaurl_name :string(64) not null
|
|
65
|
+
# mediaurl_content :text
|
|
66
|
+
# created_at :datetime
|
|
67
|
+
#
|
|
68
|
+
class PanelRevision < ActiveRecord::Base
|
|
69
|
+
# * Les champs landmark, notecard, url et mediaurl ne sont pas obligatoirement présents.
|
|
70
|
+
# * Network peut être absent si le panneau est retiré de tous les réseaux.
|
|
71
|
+
# * Dans des cas pathologique il peut aussi manquer la texture, c'est pourquoi on ne la contrôle pas non plus.
|
|
72
|
+
validates_presence_of(:panel_name, :panel_key, :furniture_name, :furniture_key,
|
|
73
|
+
:permanent_id,
|
|
74
|
+
:sim, :position,
|
|
75
|
+
:message => "must be given a value")
|
|
76
|
+
validates_format_of_sl_key(:panel_key, :furniture_key, :texture_key, :landmark_key, :notecard_key)
|
|
77
|
+
# Format de la position relative dans une Sim : X,Y,Z
|
|
78
|
+
validates_format_of_sl_position(:position)
|
|
79
|
+
|
|
80
|
+
# Correction de la sim et de la position avant validation et insertion en
|
|
81
|
+
# base de données
|
|
82
|
+
before_validation SecondLifeSimPosNormalizer.new(:sim, :position)
|
|
83
|
+
|
|
84
|
+
# Création d'une nouvelle révision
|
|
85
|
+
def self.add(panel)
|
|
86
|
+
# On n'enregistre pas un panneau non finalisé
|
|
87
|
+
return nil if panel.new_record?
|
|
88
|
+
|
|
89
|
+
network = panel.network
|
|
90
|
+
furniture = panel.furniture
|
|
91
|
+
texture = panel.texture
|
|
92
|
+
landmark = panel.landmark
|
|
93
|
+
notecard = panel.notecard
|
|
94
|
+
url = panel.url
|
|
95
|
+
mediaurl = panel.mediaurl
|
|
96
|
+
self.create!(:panel_name => panel.name, :panel_key => panel.panel_key,
|
|
97
|
+
:furniture_name => furniture.name, :furniture_key => furniture.furniture_key,
|
|
98
|
+
:network_name => (network.nil? ? nil : network.name), :network_status => (network.nil? ? nil : network.active),
|
|
99
|
+
:texture_name => (texture.nil? ? nil : texture.name), :texture_key => (texture.nil? ? nil : texture.object_key),
|
|
100
|
+
:landmark_name => (landmark.nil? ? nil : landmark.name), :landmark_key => (landmark.nil? ? nil : landmark.object_key),
|
|
101
|
+
:notecard_name => (notecard.nil? ? nil : notecard.name), :notecard_key => (notecard.nil? ? nil : notecard.object_key),
|
|
102
|
+
:url_name => (url.nil? ? nil : url.name ), :url_content => (url.nil? ? nil : url.content),
|
|
103
|
+
:mediaurl_name => (mediaurl.nil? ? nil : mediaurl.name ), :mediaurl_content => (mediaurl.nil? ? nil : mediaurl.content),
|
|
104
|
+
:sim => furniture.sim, :position => furniture.position,
|
|
105
|
+
:permanent_id => furniture.permanent_id
|
|
106
|
+
)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<h1>Listing containers</h1>
|
|
2
|
+
|
|
3
|
+
<table>
|
|
4
|
+
<tr>
|
|
5
|
+
<% for column in Container.content_columns %>
|
|
6
|
+
<th><%= column.human_name %></th>
|
|
7
|
+
<% end %>
|
|
8
|
+
</tr>
|
|
9
|
+
|
|
10
|
+
<% for container in @containers %>
|
|
11
|
+
<tr>
|
|
12
|
+
<% for column in Container.content_columns %>
|
|
13
|
+
<td><%=h container.send(column.name) %></td>
|
|
14
|
+
<% end %>
|
|
15
|
+
<td><%= link_to 'Show', :action => 'show', :id => container %></td>
|
|
16
|
+
<td><%= link_to 'Edit', :action => 'edit', :id => container %></td>
|
|
17
|
+
<td><%= link_to 'Destroy', { :action => 'destroy', :id => container }, :confirm => 'Are you sure?', :method => :post %></td>
|
|
18
|
+
</tr>
|
|
19
|
+
<% end %>
|
|
20
|
+
</table>
|
|
21
|
+
|
|
22
|
+
<%= link_to 'Previous page', { :page => @container_pages.current.previous } if @container_pages.current.previous %>
|
|
23
|
+
<%= link_to 'Next page', { :page => @container_pages.current.next } if @container_pages.current.next %>
|
|
24
|
+
|
|
25
|
+
<br />
|
|
26
|
+
|
|
27
|
+
<%= link_to 'New container', :action => 'new' %>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<%= error_messages_for 'object_off_world' %>
|
|
2
|
+
|
|
3
|
+
<!--[form:object_off_world]-->
|
|
4
|
+
<p><label for="object_off_world_name">Name</label><br/>
|
|
5
|
+
<%= text_field 'object_off_world', 'name' %></p>
|
|
6
|
+
|
|
7
|
+
<p><label for="object_off_world_otype">Otype</label><br/>
|
|
8
|
+
<%= select 'object_off_world', 'otype', ObjectOffWorld::TYPES %></p>
|
|
9
|
+
|
|
10
|
+
<p><label for="object_off_world_content">Content</label><br/>
|
|
11
|
+
<%= text_area 'object_off_world', 'content' %></p>
|
|
12
|
+
<!--[eoform:object_off_world]-->
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<h1>Off world object management</h1>
|
|
2
|
+
|
|
3
|
+
<table>
|
|
4
|
+
<tr>
|
|
5
|
+
<th>Name</th>
|
|
6
|
+
<th>Type</th>
|
|
7
|
+
<th>Content</th>
|
|
8
|
+
</tr>
|
|
9
|
+
|
|
10
|
+
<% for object_off_world in @objects_off_world %>
|
|
11
|
+
<tr>
|
|
12
|
+
<td><%= h object_off_world.name %></td>
|
|
13
|
+
<td><%= h object_off_world.otype %></td>
|
|
14
|
+
<td><%= h object_off_world.content %></td>
|
|
15
|
+
<td><%= link_to 'Edit', :action => 'edit', :id => object_off_world %></td>
|
|
16
|
+
<td><%= link_to 'Destroy', { :action => 'destroy', :id => object_off_world }, :confirm => 'Are you sure?', :method => :post %></td>
|
|
17
|
+
</tr>
|
|
18
|
+
<% end %>
|
|
19
|
+
</table>
|
|
20
|
+
|
|
21
|
+
<%= link_to 'Previous page', { :page => @object_off_world_pages.current.previous } if @object_off_world_pages.current.previous %>
|
|
22
|
+
<%= link_to 'Next page', { :page => @object_off_world_pages.current.next } if @object_off_world_pages.current.next %>
|
|
23
|
+
|
|
24
|
+
<br />
|
|
25
|
+
|
|
26
|
+
<%= link_to 'New object', :action => 'new' %>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<h1>Listing furnitures</h1>
|
|
2
|
+
|
|
3
|
+
<table>
|
|
4
|
+
<tr>
|
|
5
|
+
<% for column in Furniture.content_columns %>
|
|
6
|
+
<th><%= column.human_name %></th>
|
|
7
|
+
<% end %>
|
|
8
|
+
</tr>
|
|
9
|
+
|
|
10
|
+
<% for furniture in @furnitures %>
|
|
11
|
+
<tr>
|
|
12
|
+
<% for column in Furniture.content_columns %>
|
|
13
|
+
<td><%=h furniture.send(column.name) %></td>
|
|
14
|
+
<% end %>
|
|
15
|
+
<td><%= link_to 'Show', :action => 'show', :id => furniture %></td>
|
|
16
|
+
<td><%=
|
|
17
|
+
if panel=Panel.find(:first,:conditions => [ "furniture_id = ?", params[:id]]) == nil
|
|
18
|
+
link_to 'Destroy', :action => 'destroy', :id => furniture
|
|
19
|
+
end%></td>
|
|
20
|
+
</tr>
|
|
21
|
+
<% end %>
|
|
22
|
+
</table>
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
<h1>Obsolete Furnitures</h1>
|
|
26
|
+
|
|
27
|
+
<table>
|
|
28
|
+
<tr>
|
|
29
|
+
<% for column in Furniture.content_columns %>
|
|
30
|
+
<th><%= column.human_name %></th>
|
|
31
|
+
<% end %>
|
|
32
|
+
</tr>
|
|
33
|
+
|
|
34
|
+
<% for furniture in @furnitures %>
|
|
35
|
+
<tr>
|
|
36
|
+
<% for column in Furniture.content_columns %>
|
|
37
|
+
<td><%= if Panel.find(:first,:conditions => [ "furniture_id = ?", furniture.id ]) == nil
|
|
38
|
+
furniture.send(column.name)
|
|
39
|
+
end
|
|
40
|
+
%></td>
|
|
41
|
+
<% end %>
|
|
42
|
+
</tr>
|
|
43
|
+
<% end %>
|
|
44
|
+
</table>
|
|
45
|
+
<%= link_to 'Delete All', { :action => 'destroydead' }, :confirm => 'Are you sure?', :method => :post %>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
<%= link_to 'Previous page', { :page => @furniture_pages.current.previous } if @furniture_pages.current.previous %>
|
|
49
|
+
<%= link_to 'Next page', { :page => @furniture_pages.current.next } if @furniture_pages.current.next %>
|
|
50
|
+
|
|
51
|
+
<br />
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
3
|
+
|
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
5
|
+
<head>
|
|
6
|
+
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
|
7
|
+
<title>Webia Administration : <%= @page_title || "#{controller.controller_name.humanize} : #{controller.action_name.humanize}" %></title>
|
|
8
|
+
<%= stylesheet_link_tag 'scaffold', 'application' %>
|
|
9
|
+
<%= javascript_include_tag :defaults %>
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
|
|
13
|
+
<h1 align="center">Webia : <%= @page_title || "#{controller.controller_name.humanize} : #{controller.action_name.humanize}" %></h1>
|
|
14
|
+
|
|
15
|
+
<p align="center">
|
|
16
|
+
<%= link_to 'Networks', :controller => :networks %> |
|
|
17
|
+
<%= link_to 'Furnitures', :controller => :furnitures %> |
|
|
18
|
+
<%= link_to 'Panels', :controller => :panels %> |
|
|
19
|
+
<%= link_to 'Containers', :controller => :container %> |
|
|
20
|
+
<%= link_to 'Content (URLs)', :controller => :content %> |
|
|
21
|
+
<%= link_to 'Objects in World', :controller => :objects_in_world %> |
|
|
22
|
+
</p>
|
|
23
|
+
<br />
|
|
24
|
+
|
|
25
|
+
<p style="color: green"><%= flash[:notice] %></p>
|
|
26
|
+
|
|
27
|
+
<%= yield %>
|
|
28
|
+
|
|
29
|
+
</body>
|
|
30
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'<%= @avatar_key %>',face,<%= @object_name %>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<%= error_messages_for 'network' %>
|
|
2
|
+
|
|
3
|
+
<!--[form:network]-->
|
|
4
|
+
<p><label for="network_name">Name</label><br/>
|
|
5
|
+
<%= form.text_field 'name' %></p>
|
|
6
|
+
|
|
7
|
+
<p><label for="network_active">Active</label><br/>
|
|
8
|
+
<%= form.select :active, Network::STATES %>
|
|
9
|
+
</p>
|
|
10
|
+
<!--[eoform:network]-->
|
|
11
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<% form_for :network_parameters, :url => { :action => :set_parameters, :id => @network } do |form| %>
|
|
2
|
+
<p>New texture: <%= form.select :texture_id, @textures %></p>
|
|
3
|
+
<p>New landmark: <%= form.select :landmark_id, @landmarks %></p>
|
|
4
|
+
<p>New notecard: <%= form.select :notecard_id, @notecards %></p>
|
|
5
|
+
<p>New URL: <%= form.select :url_id, @urls %></p>
|
|
6
|
+
<p>New Media URL: <%= form.select :mediaurl_id, @mediaurls %></p>
|
|
7
|
+
<p> <%= submit_tag("Save network configuration") %></p>
|
|
8
|
+
<% end %>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<h1>Editing network</h1>
|
|
2
|
+
|
|
3
|
+
<% form_for :network, @network, :url => { :action => 'update', :id => @network } do |form| %>
|
|
4
|
+
<%= render :partial => 'form', :object => form %>
|
|
5
|
+
<%= submit_tag 'Edit' %>
|
|
6
|
+
<% end %>
|
|
7
|
+
|
|
8
|
+
<%= link_to 'Show', :action => 'show', :id => @network %> |
|
|
9
|
+
<%= link_to 'Back', :action => 'list' %>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<h1>Listing networks</h1>
|
|
2
|
+
|
|
3
|
+
<table>
|
|
4
|
+
<tr>
|
|
5
|
+
<th>Name</th>
|
|
6
|
+
<th>State</th>
|
|
7
|
+
<th>Panels</th>
|
|
8
|
+
</tr>
|
|
9
|
+
|
|
10
|
+
<% for network in @networks %>
|
|
11
|
+
<tr>
|
|
12
|
+
<td><%= link_to h(network.name), :action => 'show', :id => network %></td>
|
|
13
|
+
<td><%= h network.active %></td>
|
|
14
|
+
<td><%= network.panels.count %></td>
|
|
15
|
+
<td><%= link_to 'Delete', { :action => 'destroy', :id => network }, :confirm => "About to delete network '#{network.name}'\nAre you sure?", :method => :post %></td>
|
|
16
|
+
</tr>
|
|
17
|
+
<% end %>
|
|
18
|
+
</table>
|
|
19
|
+
|
|
20
|
+
<%= link_to 'Previous page', { :page => @network_pages.current.previous } if @network_pages.current.previous %>
|
|
21
|
+
<%= link_to 'Next page', { :page => @network_pages.current.next } if @network_pages.current.next %>
|
|
22
|
+
|
|
23
|
+
<br />
|
|
24
|
+
|
|
25
|
+
<%= link_to 'New network', :action => 'new' %>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<h1>Network «<%= @network.name %>»</h1>
|
|
2
|
+
|
|
3
|
+
<% if !@network.active -%>
|
|
4
|
+
<div id="network-inactive">
|
|
5
|
+
This network is currently inactive.
|
|
6
|
+
</div>
|
|
7
|
+
<% end -%>
|
|
8
|
+
|
|
9
|
+
<p><%= link_to 'Edit Network name/state', :action => 'edit', :id => @network %></p>
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
<h2>Network parameters</h2>
|
|
13
|
+
|
|
14
|
+
<% if @network_parameters -%>
|
|
15
|
+
<div id="network-parameters">
|
|
16
|
+
<ul>
|
|
17
|
+
<li>Texture: <%= h @network_parameters.texture.name %></li>
|
|
18
|
+
<li>Landmark: <%= @network_parameters.landmark.name rescue "none" %></li>
|
|
19
|
+
<li>Notecard: <%= @network_parameters.notecard.name rescue "none" %></li>
|
|
20
|
+
<li>URL: <%= object_url(@network_parameters.url) %></li>
|
|
21
|
+
<li>Media URL: <%= object_url(@network_parameters.mediaurl) %></li>
|
|
22
|
+
</ul>
|
|
23
|
+
|
|
24
|
+
<%= link_to_remote('Edit network parameters',
|
|
25
|
+
:url => { :action => :show_parameters_form, :id => @network }) %>
|
|
26
|
+
</div>
|
|
27
|
+
<div id="network-parameters-form" style="display: none">
|
|
28
|
+
</div>
|
|
29
|
+
|
|
30
|
+
<br />
|
|
31
|
+
|
|
32
|
+
<% else -%>
|
|
33
|
+
<div id="network-empty">
|
|
34
|
+
This network is currently empty.
|
|
35
|
+
</div>
|
|
36
|
+
<% end -%>
|
|
37
|
+
|
|
38
|
+
<h2>List of panels </h2>
|
|
39
|
+
|
|
40
|
+
<div id="panel-list">
|
|
41
|
+
<table>
|
|
42
|
+
<tr>
|
|
43
|
+
<th>Name</th>
|
|
44
|
+
<th>Furniture</th>
|
|
45
|
+
<th></th>
|
|
46
|
+
</tr>
|
|
47
|
+
<% for panel in @network.panels -%>
|
|
48
|
+
<tr>
|
|
49
|
+
<td><%= link_to h(panel.name), :controller => :panels, :action => :show, :id => panel %></td>
|
|
50
|
+
<td><%= link_to h(panel.furniture.name), :controller => :furnitures, :action => :show, :id => panel.furniture %></td>
|
|
51
|
+
<td><%= button_to 'Remove', { :action => 'remove_panel', :id => @network, :panel_id => panel }, { :confirm => "Are you sure you want to remove the panel '#{panel.name} : #{panel.furniture.name}' from this network?" } %></td>
|
|
52
|
+
</tr>
|
|
53
|
+
<% end -%>
|
|
54
|
+
</table>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<br />
|
|
58
|
+
|
|
59
|
+
<h3>Adding a panel to the network:</h3>
|
|
60
|
+
|
|
61
|
+
<% if !@unassigned_panels.empty? %>
|
|
62
|
+
<% form_tag({ :action => :add_panel, :id => @network }) do %>
|
|
63
|
+
<p>Select a new panel: <%= select_tag :panel_id, options_for_select(@unassigned_panels) %></p>
|
|
64
|
+
<p> <%= submit_tag("Add panel") %></p>
|
|
65
|
+
<% end
|
|
66
|
+
else %>
|
|
67
|
+
<p>No free panel is available.</p>
|
|
68
|
+
<% end %>
|
|
69
|
+
|
|
70
|
+
<br />
|
|
71
|
+
|
|
72
|
+
<%= link_to 'Back to network list', :action => 'list' %>
|