hobo 0.9.0 → 0.9.100

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/CHANGES.txt +132 -0
  2. data/Rakefile +18 -22
  3. data/bin/hobo +14 -13
  4. data/doctest/scopes.rdoctest +1 -0
  5. data/dryml_generators/rapid/forms.dryml.erb +1 -1
  6. data/dryml_generators/rapid/pages.dryml.erb +24 -24
  7. data/lib/hobo.rb +3 -3
  8. data/lib/hobo/accessible_associations.rb +10 -3
  9. data/lib/hobo/controller.rb +2 -1
  10. data/lib/hobo/dryml.rb +7 -2
  11. data/lib/hobo/dryml/dryml_builder.rb +1 -4
  12. data/lib/hobo/dryml/dryml_generator.rb +5 -3
  13. data/lib/hobo/dryml/taglib.rb +3 -8
  14. data/lib/hobo/dryml/template.rb +3 -10
  15. data/lib/hobo/dryml/template_handler.rb +3 -2
  16. data/lib/hobo/hobo_helper.rb +5 -83
  17. data/lib/hobo/lifecycles.rb +9 -5
  18. data/lib/hobo/lifecycles/actions.rb +5 -5
  19. data/lib/hobo/lifecycles/lifecycle.rb +6 -2
  20. data/lib/hobo/model.rb +14 -36
  21. data/lib/hobo/model_controller.rb +28 -15
  22. data/lib/hobo/model_router.rb +1 -1
  23. data/lib/hobo/permissions.rb +55 -5
  24. data/lib/hobo/permissions/associations.rb +13 -5
  25. data/lib/hobo/rapid_helper.rb +4 -10
  26. data/lib/hobo/scopes/automatic_scopes.rb +9 -1
  27. data/lib/hobo/translations.rb +88 -0
  28. data/lib/hobo/user.rb +1 -2
  29. data/lib/hobo/user_controller.rb +31 -9
  30. data/lib/hobo/view_hints.rb +38 -6
  31. data/rails_generators/hobo_model/templates/hints.rb +4 -1
  32. data/rails_generators/hobo_model_controller/hobo_model_controller_generator.rb +1 -1
  33. data/rails_generators/hobo_rapid/hobo_rapid_generator.rb +2 -1
  34. data/rails_generators/hobo_rapid/templates/hobo-rapid.js +9 -0
  35. data/rails_generators/hobo_rapid/templates/ie7-recalc.js +166 -2
  36. data/rails_generators/hobo_user_model/templates/model.rb +1 -3
  37. data/taglibs/rapid.dryml +2 -1
  38. data/taglibs/rapid_core.dryml +7 -5
  39. data/taglibs/rapid_editing.dryml +14 -10
  40. data/taglibs/rapid_forms.dryml +7 -5
  41. data/taglibs/rapid_generics.dryml +1 -1
  42. data/taglibs/rapid_lifecycles.dryml +3 -2
  43. data/taglibs/rapid_pages.dryml +1 -1
  44. data/taglibs/rapid_support.dryml +1 -1
  45. data/tasks/hobo_tasks.rake +10 -0
  46. metadata +7 -7
  47. data/lib/hobo/bundle.rb +0 -330
@@ -4,12 +4,144 @@ Once you have installed a new version of Hobo, you may wish to run
4
4
 
5
5
  rake hobo:run_standard_generators
6
6
 
7
+ or
8
+
9
+ rake hobo:run_invite_only_generators
10
+
7
11
  This will run all of the standard generators, and pull in any bug
8
12
  fixes or enhancements to generated code. Note that this is quite
9
13
  likely to cause conflicts, so it is highly recommended that you have
10
14
  your code backed up and in a change control system such as git or
11
15
  subversion.
12
16
 
17
+ === Hobo 0.9.100 (AKA 1.0.RC1) ===
18
+
19
+ Deletions:
20
+
21
+ - Children must now be specified in the viewhints. Hobo no longer
22
+ uses the presence of :dependent => :destroy to determine the
23
+ primary child association.
24
+
25
+ - The bundles feature of Hobo which never really worked and was
26
+ never documented has been removed from this release.
27
+
28
+ - The message "You must activate your account before you can log
29
+ in. Please check your email." which used to be added to the flash
30
+ message when a user has signed up has been removed from
31
+ `hobo_do_signup`.
32
+
33
+ - Github no longer updates its gem repository. The canonical source
34
+ for Mislav's will\_paginate, a Hobo dependency, is now
35
+ gemcutter.org. To add gemcutter.org to your gem source list:
36
+
37
+ $ gem install gemcutter
38
+ $ gem tumble
39
+
40
+ Note that `gem tumble` is a toggle, so if you've already added
41
+ `gemcutter` to your sources list, the above commands will have
42
+ removed it! Simply run `gem tumble` again to add it back in. In
43
+ fact, sometimes the first command does the tumble automatically, so
44
+ it's worth double checking.
45
+
46
+ - The fix for
47
+ [#556](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/556)
48
+ means that the migration generator now ignores all models that have
49
+ a `hobo_model` declaration but not a `fields` declaration. If you
50
+ have any models that do not have a fields declaration (join
51
+ tables, for example), you may wish to add a blank fields
52
+ declaration.
53
+
54
+ Major enhancements:
55
+
56
+ - Hobo now supports Ruby 1.9.1. Problems have been encountered with
57
+ Ruby 1.9.1 and Rails 2.3.4. Rails 2.3.3 and 2.3.5 work fine.
58
+
59
+ - Hobo has been tested against the new Rails 2.3.5. JRuby users may
60
+ encounter this bug:
61
+ https://rails.lighthouseapp.com/projects/8994/tickets/3497.
62
+
63
+ - Rails 2.2 is still supported for this release. Support for 2.2
64
+ may be dropped post-1.0.
65
+
66
+ - Translations (ie, the ht functions) has now been moved into its
67
+ own module. To access the translation functions from elsewhere
68
+ use `Hobo::Translations.ht`. Alternatively, including the
69
+ Hobo::Translations module into your class will give you `ht` as a
70
+ local instance method. (This is one of the things the
71
+ `hobo_controller` declaration does.)
72
+
73
+ - `rake hobo:run_invite_only_generators` was added as an alternative
74
+ to `rake hobo:run_standard_generators` for those who created their
75
+ application with the `--invite-only` flag
76
+
77
+ - [#409](https://hobo.lighthouseapp.com/projects/8324/tickets/409)
78
+ The `<editor>` tag has been modified to display the `to_s`
79
+ representation of the object while in edit mode. The `to_html`
80
+ representation is still used in view mode. The editor tag for
81
+ HTML columns has been modified to remove the heavy sanitizing that
82
+ was previously performed. HtmlString will sanitize before saving
83
+ to the database. You need to update your hobo-rapid.js for this
84
+ fix. Run `rake hobo:run_standard_generators` or copy the file
85
+ directly from
86
+ http://github.com/tablatom/hobo/blob/master/hobo/rails_generators/hobo_rapid/templates/hobo-rapid.js
87
+
88
+ - [#296](https://hobo.lighthouseapp.com/projects/8324/tickets/296)
89
+ The migration generator now fully understands HABTM join tables. Note that
90
+ the "decorated join table" functionality that was deprecated in Rails 2.3
91
+ is NOT supported.
92
+
93
+ - [#475](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/475)
94
+ User-defined rich types are now loaded from RAILS_ROOT/app/rich_types, if it exists.
95
+
96
+ - EnumString's can now be translated. The
97
+ [manual](http://cookbook.hobocentral.net/manual/hobofields/rich_types)
98
+ has been updated with the details.
99
+
100
+ - ViewHint's can now be translated. Well, they mostly could in 0.9,
101
+ but it has been cleaned up and [documented with
102
+ ViewHints](http://cookbook.hobocentral.net/manual/viewhints).
103
+
104
+ - Lifecycle states can now be translated. The key is
105
+ `#{table_name}.states.#{state}` Transitions use the key `#{table_name}.actions.#{transition}`
106
+
107
+ Major bug fixes:
108
+
109
+ - [#537](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/537)
110
+ The `._?.` "smart dot" now returns 'nil' rather than calling its
111
+ trailing function more often than it used to, more closely
112
+ matching its documentation.
113
+
114
+ - [#457](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/457)
115
+ ie7-recalc.js has been updated to improve compatibility with IE6.
116
+ Please update the copy inside of your application, either by
117
+ running `rake hobo:run_standard_generators` or by copying the file
118
+ directly from
119
+ http://github.com/tablatom/hobo/blob/master/hobo/rails_generators/hobo_rapid/templates/ie7-recalc.js
120
+
121
+ - [#512](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/512)
122
+ Hobo now has better compatibility with non-DRYML templates
123
+
124
+ Minor enhancements:
125
+
126
+ - [#554](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/554)
127
+ The transition-buttons tag no longer displays transitions that are
128
+ not `:available_to` the user.
129
+
130
+ - [#536](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/536)
131
+ documentation for field-list more closely matches reality
132
+
133
+ - [#536](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/543)
134
+ i18n has been silenced. It's messages can be made to reappear on
135
+ the log via HOBO_VERBOSE_TRANSLATIONS.
136
+
137
+ - [#555](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/555)
138
+ Specifying ignore_index :foo will ignore the index named 'foo' on the model
139
+ when generating migrations - handy for indexes that can't be generated
140
+ automatically (with a prefix length on MySQL, for instance) or existing
141
+ indexes in legacy tables.
142
+
143
+ Minor bug fixes:
144
+
13
145
  === Hobo 0.9.0 ===
14
146
 
15
147
  Major enhancements:
data/Rakefile CHANGED
@@ -9,7 +9,7 @@ $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '/../hobofields/l
9
9
  $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '/../hobosupport/lib')
10
10
  require 'hobo'
11
11
 
12
- RUBY = ENV['RUBY'] || (defined?(JRUBY_VERSION) ? 'jruby' : 'ruby')
12
+ RUBY = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']).sub(/.*\s.*/m, '"\&"')
13
13
  RUBYDOCTEST = ENV['RUBYDOCTEST'] || "#{RUBY} `which rubydoctest`"
14
14
 
15
15
  desc "Default Task"
@@ -47,25 +47,21 @@ end
47
47
 
48
48
  # --- Packaging and Rubyforge & gemcutter & github--- #
49
49
 
50
- begin
51
- require 'jeweler'
52
- Jeweler::Tasks.new do |gemspec|
53
- gemspec.version = Hobo::VERSION
54
- gemspec.name = "hobo"
55
- gemspec.email = "tom@tomlocke.com"
56
- gemspec.summary = "The web app builder for Rails"
57
- gemspec.homepage = "http://hobocentral.net/"
58
- gemspec.authors = ["Tom Locke"]
59
- gemspec.rubyforge_project = "hobo"
60
- gemspec.add_dependency("rails", [">= 2.2.2"])
61
- gemspec.add_dependency("mislav-will_paginate", [">= 2.2.1"])
62
- gemspec.add_dependency("hobosupport", ["= #{Hobo::VERSION}"])
63
- gemspec.add_dependency("hobofields", ["= #{Hobo::VERSION}"])
64
- end
65
- Jeweler::GemcutterTasks.new
66
- Jeweler::RubyforgeTasks.new do |rubyforge|
67
- rubyforge.doc_task = false
68
- end
69
- rescue LoadError
70
- puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
50
+ require 'jeweler'
51
+ Jeweler::Tasks.new do |gemspec|
52
+ gemspec.version = Hobo::VERSION
53
+ gemspec.name = "hobo"
54
+ gemspec.email = "tom@tomlocke.com"
55
+ gemspec.summary = "The web app builder for Rails"
56
+ gemspec.homepage = "http://hobocentral.net/"
57
+ gemspec.authors = ["Tom Locke"]
58
+ gemspec.rubyforge_project = "hobo"
59
+ gemspec.add_dependency("rails", [">= 2.2.2"])
60
+ gemspec.add_dependency("will_paginate", [">= 2.3.11"])
61
+ gemspec.add_dependency("hobosupport", ["= #{Hobo::VERSION}"])
62
+ gemspec.add_dependency("hobofields", ["= #{Hobo::VERSION}"])
63
+ end
64
+ Jeweler::GemcutterTasks.new
65
+ Jeweler::RubyforgeTasks.new do |rubyforge|
66
+ rubyforge.doc_task = false
71
67
  end
data/bin/hobo CHANGED
@@ -3,6 +3,9 @@
3
3
  require 'fileutils'
4
4
  require 'pathname'
5
5
  require 'activesupport'
6
+ require 'rbconfig'
7
+
8
+ RUBY = File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name']).sub(/.*\s.*/m, '"\&"')
6
9
 
7
10
  Signal.trap("INT") { puts; exit }
8
11
 
@@ -22,8 +25,6 @@ Options:
22
25
 
23
26
 
24
27
  ### Nasty stuff needed for Windows :-( ###
25
- require 'rbconfig'
26
-
27
28
  if Config::CONFIG["arch"] =~ /win32/
28
29
  require "win32/registry"
29
30
  def system(command)
@@ -43,7 +44,7 @@ end
43
44
  user_model = "user"
44
45
  create_db = false
45
46
  run_rails = true
46
- invite_ony = ""
47
+ invite_only = ""
47
48
 
48
49
  while true
49
50
  case arg_name = ARGV.shift
@@ -62,7 +63,7 @@ while true
62
63
  when "-n", "--no-rails"
63
64
  run_rails = false
64
65
  when "--invite-only"
65
- invite_ony = "--invite-only"
66
+ invite_only = "--invite-only"
66
67
  when "--help"
67
68
  puts USAGE
68
69
  exit
@@ -93,12 +94,12 @@ if run_rails
93
94
  # end
94
95
  end
95
96
  opts << "-d #{database_type}" if database_type
96
- system("rails #{opts * ' '} #{app_path}")
97
+ system("#{RUBY} -S rails #{opts * ' '} #{app_path}")
97
98
  end
98
99
 
99
100
  Dir.chdir(app_path) do
100
- gen = "ruby #{File.join('script', 'generate')}"
101
- plugin = "ruby #{File.join('script', 'plugin')}"
101
+ gen = "#{RUBY} #{File.join('script', 'generate')}"
102
+ plugin = "#{RUBY} #{File.join('script', 'plugin')}"
102
103
 
103
104
  FileUtils.touch("public/stylesheets/application.css")
104
105
 
@@ -106,24 +107,24 @@ Dir.chdir(app_path) do
106
107
  command(gen, "hobo --add-gem --add-routes")
107
108
 
108
109
  puts "\nInstalling Hobo Rapid and default theme...\n"
109
- command("#{gen} hobo_rapid --import-tags #{invite_ony}")
110
+ command("#{gen} hobo_rapid --import-tags #{invite_only}")
110
111
 
111
112
  if user_model
112
113
  puts "\nCreating #{user_model} model and controller...\n"
113
- command("#{gen} hobo_user_model #{user_model} #{invite_ony}")
114
- command("#{gen} hobo_user_controller #{user_model} #{invite_ony}")
114
+ command("#{gen} hobo_user_model #{user_model} #{invite_only}")
115
+ command("#{gen} hobo_user_controller #{user_model} #{invite_only}")
115
116
  end
116
117
 
117
118
  puts "\nCreating standard pages...\n"
118
- command("#{gen} hobo_front_controller front --delete-index --add-routes #{invite_ony}")
119
+ command("#{gen} hobo_front_controller front --delete-index --add-routes #{invite_only}")
119
120
 
120
121
  if create_db
121
122
  puts "\nCreating databases"
122
- command("rake db:create:all")
123
+ command("#{RUBY} -S rake db:create:all")
123
124
  end
124
125
  end
125
126
 
126
- if invite_ony.present?
127
+ if invite_only.present?
127
128
  puts %(
128
129
  Invite-only website
129
130
  If you wish to prevent all access to the site to non-members, add 'before_filter :login_required'
@@ -107,6 +107,7 @@ Let's set up a few models for our testing:
107
107
  >>
108
108
  class Friendship < ActiveRecord::Base
109
109
  hobo_model
110
+ fields
110
111
  belongs_to :person
111
112
  belongs_to :friend, :class_name => "Person"
112
113
  end
@@ -4,7 +4,7 @@ form_fields = standard_fields :belongs_to, :has_many
4
4
 
5
5
  cancel_to_show_page = linkable?(:show)
6
6
  cancel_to_index_page = !cancel_to_index_page && linkable?(:index)
7
- model_key = model_name.pluralize.underscore
7
+ model_key = model.name.tableize
8
8
  -%>
9
9
  <def tag="form" for="<%= model.name %>">
10
10
  <form merge param="default">
@@ -4,7 +4,7 @@
4
4
  <navigation class="main-nav" merge-attrs param="default">
5
5
  <nav-item href="#{base_url}/">Home</nav-item>
6
6
  <% models.select { |m| linkable?(m, :index) }[0..4].each do |m| -%>
7
- <nav-item with="&<%= m.name %>"><%= m.view_hints.model_name.titleize.pluralize %></nav-item>
7
+ <nav-item with="&<%= m.name %>"><ht key="#{model.name.tableize}.nav_item"><%= m.view_hints.model_name_plural %></ht></nav-item>
8
8
  <% end -%>
9
9
  </navigation>
10
10
  </def>
@@ -17,18 +17,18 @@
17
17
  <%
18
18
  new_link = linkable?(:new)
19
19
  new_form = !new_link && linkable?(model, :create, :method => :post)
20
- model_key = model_name.pluralize.underscore
20
+ model_key = model.name.tableize
21
21
  -%>
22
22
 
23
23
  <def tag="index-page" for="<%= model.name %>">
24
- <page merge title="#{ht '<%= model_key %>.index.title', :default=>['<%= model_name :title, :plural %>'] }">
24
+ <page merge title="#{ht '<%= model_key %>.index.title', :default=>['<%= model_name :plural %>'] }">
25
25
  <body: class="index-page <%= model_class %>" param/>
26
26
 
27
27
  <content: param>
28
28
  <header param="content-header">
29
29
  <h2 param="heading">
30
30
  <ht key="<%= model_key %>.index.heading">
31
- <%= model_name :title, :plural %>
31
+ <%= model_name :plural %>
32
32
  </ht>
33
33
  </h2>
34
34
 
@@ -42,7 +42,7 @@ model_key = model_name.pluralize.underscore
42
42
  <section param="content-body">
43
43
  <% if new_link -%>
44
44
  <a action="new" to="&model" param="new-link">
45
- <ht key="<%= model_key %>.actions.new">New <%=model_name :title %></ht>
45
+ <ht key="<%= model_key %>.actions.new">New <%=model_name %></ht>
46
46
  </a>
47
47
  <% end -%>
48
48
 
@@ -64,7 +64,7 @@ model_key = model_name.pluralize.underscore
64
64
  <% if new_form -%>
65
65
  <div param="new-form">
66
66
  <h3 param="new-form-heading">
67
- <ht key="<%= model_key %>.form.new.heading">New <%= model_name :title %></ht>
67
+ <ht key="<%= model_key %>.form.new.heading">New <%= model_name %></ht>
68
68
  </h3>
69
69
  <form with="&@invalid_record || new_for_current_user(<%= model %>)" param/>
70
70
  </div>
@@ -77,21 +77,21 @@ model_key = model_name.pluralize.underscore
77
77
 
78
78
 
79
79
  <def tag="new-page" for="<%= model.name %>">
80
- <page merge title="#{ht '<%= model_key %>.new.title', :default=>['New <%=model_name :title %>'] }">
80
+ <page merge title="#{ht '<%= model_key %>.new.title', :default=>['New <%=model_name %>'] }">
81
81
  <body: class="new-page <%= model_class %>" param/>
82
82
 
83
83
  <content: param>
84
84
  <section param="content-header">
85
85
  <h2 param="heading">
86
86
  <ht key="<%= model_key %>.new.heading">
87
- New <%= model_name :title %>
87
+ New <%= model_name %>
88
88
  </ht>
89
89
  </h2>
90
90
  </section>
91
91
 
92
92
  <section param="content-body">
93
93
  <form param>
94
- <submit: label="#{ht '<%= model_key %>.actions.create', :default=>['Create <%= model_name :title %>']}"/>
94
+ <submit: label="#{ht '<%= model_key %>.actions.create', :default=>['Create <%= model_name %>']}"/>
95
95
  </form>
96
96
  </section>
97
97
  </content:>
@@ -100,7 +100,7 @@ model_key = model_name.pluralize.underscore
100
100
 
101
101
 
102
102
  <%
103
- back_link = model.dependent_on.detect { |x| !(model.reflections[x].klass < Hobo::User) }
103
+ back_link = model.view_hints.parent
104
104
  boolean_fields = model.columns.select { |c| c.type == :boolean }.*.name - model.view_hints.inline_booleans
105
105
  creator = model.creator_attribute
106
106
  creator_link = creator && model.reflections[creator] && linkable?(model.reflections[creator].klass, :show)
@@ -126,7 +126,7 @@ unless model.view_hints.secondary_children.empty?
126
126
  end
127
127
  -%>
128
128
  <def tag="show-page" for="<%= model.name %>">
129
- <page merge title="#{ht '<%=model_key %>.show.title', :default=>['<%=model_name :title %>'] }">
129
+ <page merge title="#{ht '<%=model_key %>.show.title', :default=>['<%=model_name %>'] }">
130
130
 
131
131
  <body: class="show-page <%= model_class %>" param/>
132
132
 
@@ -159,7 +159,7 @@ end
159
159
 
160
160
  <a action="edit" if="&can_edit?" param="edit-link">
161
161
  <ht key="<%= model_key %>.actions.edit" name="&this.respond_to?(:name) ? this.name : ''">
162
- Edit <%= model_name :title %>
162
+ Edit <%= model_name %>
163
163
  </ht>
164
164
  </a>
165
165
  <% end -%>
@@ -187,20 +187,20 @@ end
187
187
  <% end -%>
188
188
  <% if add_link -%>
189
189
 
190
- <a:<%= collection %> action="new" if="&can_create?(@<%= model_name.underscore %>.<%= collection %>)" param="new-link">
190
+ <a:<%= collection %> action="new" if="&can_create?(@<%= model.name.underscore %>.<%= collection %>)" param="new-link">
191
191
  <ht key="<%= collection.to_s.pluralize %>.actions.new">
192
192
  New <%= collection.to_s.singularize.titleize %>
193
193
  </ht>
194
194
  </a:<%= collection %>>
195
195
  <% elsif add_form -%>
196
196
 
197
- <section param="add-to-collection" if="&can_create?(@<%= model_name.underscore %>.<%= collection %>)">
197
+ <section param="add-to-collection" if="&can_create?(@<%= model.name.underscore %>.<%= collection %>)">
198
198
  <h3 param="add-form-heading">
199
199
  <ht key="<%= collection.to_s.pluralize %>.collection.add_form_heading">
200
200
  Add <%= a_or_an collection.to_s.singularize.titleize %>
201
201
  </ht>
202
202
  </h3>
203
- <form with="&@<%= collection_class.name.underscore %> || new_for_current_user(@<%= model_name.underscore %>.<%= collection %>)" owner="<%= owner %>" without-cancel param>
203
+ <form with="&@<%= collection_class.name.underscore %> || new_for_current_user(@<%= model.name.underscore %>.<%= collection %>)" owner="<%= owner %>" without-cancel param>
204
204
  <field-list: skip="<%= owner %>"/>
205
205
  <submit: label="#{ht '<%= collection.to_s.pluralize %>.actions.add', :default=>['Add'] }"/>
206
206
  </form>
@@ -219,7 +219,7 @@ end
219
219
  <% if is_user_model -%>
220
220
  <heading:>
221
221
  <ht key="hobo.undefined">
222
- <Your with="&@<%= model_name.underscore %>"/> <%= refl.name.to_s.titleize %>
222
+ <Your with="&@<%= model.name.underscore %>"/> <%= refl.name.to_s.titleize %>
223
223
  </ht>
224
224
  </heading:>
225
225
  <% end -%>
@@ -251,7 +251,7 @@ end
251
251
  name_attribute = model.name_attribute
252
252
  -%>
253
253
  <def tag="edit-page" for="<%= model.name %>">
254
- <page merge title="#{ht '<%= model_key %>.edit.title', :default=>['Edit <%=model_name :title %>'] }">
254
+ <page merge title="#{ht '<%= model_key %>.edit.title', :default=>['Edit <%=model_name %>'] }">
255
255
 
256
256
  <body: class="edit-page <%= model_class %>" param/>
257
257
 
@@ -262,7 +262,7 @@ name_attribute = model.name_attribute
262
262
  Edit <type-name/>
263
263
  </ht>
264
264
  </h2>
265
- <delete-button label="#{ht '<%= model_key %>.actions.delete', :default=>['Remove This <%= model_name :title %>']}" param/>
265
+ <delete-button label="#{ht '<%= model_key %>.actions.delete', :default=>['Remove This <%= model_name %>']}" param/>
266
266
  </section>
267
267
 
268
268
  <section param="content-body">
@@ -290,7 +290,7 @@ new_link = :new.in?(actions)
290
290
  -%>
291
291
  <def tag="index-for-<%= owner.dasherize %>-page" polymorphic/>
292
292
  <def tag="index-for-<%= owner.dasherize %>-page" for="<%= model.name %>">
293
- <page merge title="#{ht '<%= model_key %>.index_for_owner.title', :default=>['<%=model_name :title, :plural %> for']} #{name :with => @<%= owner %>, :no_wrapper => true}">
293
+ <page merge title="#{ht '<%= model_key %>.index_for_owner.title', :default=>['<%=model_name :plural %> for']} #{name :with => @<%= owner %>, :no_wrapper => true}">
294
294
  <body: class="index-for-owner-page <%= owner.dasherize %> <%= model_class %>" param/>
295
295
  <content: param>
296
296
  <header param="content-header">
@@ -302,13 +302,13 @@ new_link = :new.in?(actions)
302
302
  <% if owner_is_user %>
303
303
  <h2 param="heading">
304
304
  <ht key="<%= model_key %>.index_for_owner.heading.your">
305
- <Your with="&@<%= owner %>"/> <%= model_name :title, :plural %>
305
+ <Your with="&@<%= owner %>"/> <%= model_name :plural %>
306
306
  </ht>
307
307
  </h2>
308
308
  <% else -%>
309
309
  <h2 param="heading">
310
310
  <ht key="<%= model_key %>.index_for_owner.heading.other">
311
- <%= model_name :title, :plural %>
311
+ <%= model_name :plural %>
312
312
  </ht>
313
313
  </h2>
314
314
  <h3 param="subheading">
@@ -328,7 +328,7 @@ new_link = :new.in?(actions)
328
328
  <section param="content-body">
329
329
  <% if new_link -%>
330
330
  <a action="new" to="&model" param="new-link">
331
- <ht key="<%= model_key %>.actions.new" >New <%=model_name :title %></ht>
331
+ <ht key="<%= model_key %>.actions.new" >New <%=model_name %></ht>
332
332
  </a>
333
333
 
334
334
  <% end -%>
@@ -348,7 +348,7 @@ new_link = :new.in?(actions)
348
348
  <% if :new.in? actions -%>
349
349
  <def tag="new-for-<%= owner.dasherize %>-page" polymorphic/>
350
350
  <def tag="new-for-<%= owner.dasherize %>-page" for="<%= model.name %>">
351
- <page merge title="#{ht '<%=model_key %>.new_for_owner.title', :default=>['New <%=model_name :title %> for']} #{name :with => @<%= owner %>}">
351
+ <page merge title="#{ht '<%=model_key %>.new_for_owner.title', :default=>['New <%=model_name %> for']} #{name :with => @<%= owner %>}">
352
352
  <body: class="new-for-owner-page <% owner.dasherize %> <%= model_class %>" param/>
353
353
 
354
354
  <content: param>
@@ -369,7 +369,7 @@ new_link = :new.in?(actions)
369
369
  <section param="content-body">
370
370
  <form owner="<%= owner %>" method="post" param>
371
371
  <field-list: skip="<%= owner %>"/>
372
- <submit: label="#{ht '<%=model_key %>.actions.create', :default=>['Create <%= model_name :title %>']}"/>
372
+ <submit: label="#{ht '<%=model_key %>.actions.create', :default=>['Create <%= model_name %>']}"/>
373
373
  </form>
374
374
  </section>
375
375
  </content:>