Skip to content

Commit

Permalink
add model_name_plural viewhint, deal with fallout for [#500] fix in
Browse files Browse the repository at this point in the history
the generators.
  • Loading branch information
bryanlarsen committed Dec 1, 2009
1 parent d277d83 commit 5c35b11
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 28 deletions.
2 changes: 1 addition & 1 deletion hobo/dryml_generators/rapid/forms.dryml.erb
Expand Up @@ -4,7 +4,7 @@ form_fields = standard_fields :belongs_to, :has_many

cancel_to_show_page = linkable?(:show)
cancel_to_index_page = !cancel_to_index_page && linkable?(:index)
model_key = model_name.pluralize.underscore
model_key = model.name.tableize
-%>
<def tag="form" for="<%= model.name %>">
<form merge param="default">
Expand Down
46 changes: 23 additions & 23 deletions hobo/dryml_generators/rapid/pages.dryml.erb
Expand Up @@ -4,7 +4,7 @@
<navigation class="main-nav" merge-attrs param="default">
<nav-item href="#{base_url}/">Home</nav-item>
<% models.select { |m| linkable?(m, :index) }[0..4].each do |m| -%>
<nav-item with="&<%= m.name %>"><%= m.view_hints.model_name.titleize.pluralize %></nav-item>
<nav-item with="&<%= m.name %>"><ht key="#{model.name.tableize}.nav_item"><%= m.view_hints.model_name_plural %></ht></nav-item>
<% end -%>
</navigation>
</def>
Expand All @@ -17,18 +17,18 @@
<%
new_link = linkable?(:new)
new_form = !new_link && linkable?(model, :create, :method => :post)
model_key = model_name.pluralize.underscore
model_key = model.name.tableize
-%>

<def tag="index-page" for="<%= model.name %>">
<page merge title="#{ht '<%= model_key %>.index.title', :default=>['<%= model_name :title, :plural %>'] }">
<page merge title="#{ht '<%= model_key %>.index.title', :default=>['<%= model_name :plural %>'] }">
<body: class="index-page <%= model_class %>" param/>

<content: param>
<header param="content-header">
<h2 param="heading">
<ht key="<%= model_key %>.index.heading">
<%= model_name :title, :plural %>
<%= model_name :plural %>
</ht>
</h2>

Expand All @@ -42,7 +42,7 @@ model_key = model_name.pluralize.underscore
<section param="content-body">
<% if new_link -%>
<a action="new" to="&model" param="new-link">
<ht key="<%= model_key %>.actions.new">New <%=model_name :title %></ht>
<ht key="<%= model_key %>.actions.new">New <%=model_name %></ht>
</a>
<% end -%>
Expand All @@ -64,7 +64,7 @@ model_key = model_name.pluralize.underscore
<% if new_form -%>
<div param="new-form">
<h3 param="new-form-heading">
<ht key="<%= model_key %>.form.new.heading">New <%= model_name :title %></ht>
<ht key="<%= model_key %>.form.new.heading">New <%= model_name %></ht>
</h3>
<form with="&@invalid_record || new_for_current_user(<%= model %>)" param/>
</div>
Expand All @@ -77,21 +77,21 @@ model_key = model_name.pluralize.underscore


<def tag="new-page" for="<%= model.name %>">
<page merge title="#{ht '<%= model_key %>.new.title', :default=>['New <%=model_name :title %>'] }">
<page merge title="#{ht '<%= model_key %>.new.title', :default=>['New <%=model_name %>'] }">
<body: class="new-page <%= model_class %>" param/>

<content: param>
<section param="content-header">
<h2 param="heading">
<ht key="<%= model_key %>.new.heading">
New <%= model_name :title %>
New <%= model_name %>
</ht>
</h2>
</section>

<section param="content-body">
<form param>
<submit: label="#{ht '<%= model_key %>.actions.create', :default=>['Create <%= model_name :title %>']}"/>
<submit: label="#{ht '<%= model_key %>.actions.create', :default=>['Create <%= model_name %>']}"/>
</form>
</section>
</content:>
Expand Down Expand Up @@ -126,7 +126,7 @@ unless model.view_hints.secondary_children.empty?
end
-%>
<def tag="show-page" for="<%= model.name %>">
<page merge title="#{ht '<%=model_key %>.show.title', :default=>['<%=model_name :title %>'] }">
<page merge title="#{ht '<%=model_key %>.show.title', :default=>['<%=model_name %>'] }">

<body: class="show-page <%= model_class %>" param/>

Expand Down Expand Up @@ -159,7 +159,7 @@ end

<a action="edit" if="&can_edit?" param="edit-link">
<ht key="<%= model_key %>.actions.edit" name="&this.respond_to?(:name) ? this.name : ''">
Edit <%= model_name :title %>
Edit <%= model_name %>
</ht>
</a>
<% end -%>
Expand Down Expand Up @@ -187,20 +187,20 @@ end
<% end -%>
<% if add_link -%>

<a:<%= collection %> action="new" if="&can_create?(@<%= model_name.underscore %>.<%= collection %>)" param="new-link">
<a:<%= collection %> action="new" if="&can_create?(@<%= model.name.underscore %>.<%= collection %>)" param="new-link">
<ht key="<%= collection.to_s.pluralize %>.actions.new">
New <%= collection.to_s.singularize.titleize %>
</ht>
</a:<%= collection %>>
<% elsif add_form -%>

<section param="add-to-collection" if="&can_create?(@<%= model_name.underscore %>.<%= collection %>)">
<section param="add-to-collection" if="&can_create?(@<%= model.name.underscore %>.<%= collection %>)">
<h3 param="add-form-heading">
<ht key="<%= collection.to_s.pluralize %>.collection.add_form_heading">
Add <%= a_or_an collection.to_s.singularize.titleize %>
</ht>
</h3>
<form with="&@<%= collection_class.name.underscore %> || new_for_current_user(@<%= model_name.underscore %>.<%= collection %>)" owner="<%= owner %>" without-cancel param>
<form with="&@<%= collection_class.name.underscore %> || new_for_current_user(@<%= model.name.underscore %>.<%= collection %>)" owner="<%= owner %>" without-cancel param>
<field-list: skip="<%= owner %>"/>
<submit: label="#{ht '<%= collection.to_s.pluralize %>.actions.add', :default=>['Add'] }"/>
</form>
Expand All @@ -219,7 +219,7 @@ end
<% if is_user_model -%>
<heading:>
<ht key="hobo.undefined">
<Your with="&@<%= model_name.underscore %>"/> <%= refl.name.to_s.titleize %>
<Your with="&@<%= model.name.underscore %>"/> <%= refl.name.to_s.titleize %>
</ht>
</heading:>
<% end -%>
Expand Down Expand Up @@ -251,7 +251,7 @@ end
name_attribute = model.name_attribute
-%>
<def tag="edit-page" for="<%= model.name %>">
<page merge title="#{ht '<%= model_key %>.edit.title', :default=>['Edit <%=model_name :title %>'] }">
<page merge title="#{ht '<%= model_key %>.edit.title', :default=>['Edit <%=model_name %>'] }">

<body: class="edit-page <%= model_class %>" param/>

Expand All @@ -262,7 +262,7 @@ name_attribute = model.name_attribute
Edit <type-name/>
</ht>
</h2>
<delete-button label="#{ht '<%= model_key %>.actions.delete', :default=>['Remove This <%= model_name :title %>']}" param/>
<delete-button label="#{ht '<%= model_key %>.actions.delete', :default=>['Remove This <%= model_name %>']}" param/>
</section>

<section param="content-body">
Expand Down Expand Up @@ -290,7 +290,7 @@ new_link = :new.in?(actions)
-%>
<def tag="index-for-<%= owner.dasherize %>-page" polymorphic/>
<def tag="index-for-<%= owner.dasherize %>-page" for="<%= model.name %>">
<page merge title="#{ht '<%= model_key %>.index_for_owner.title', :default=>['<%=model_name :title, :plural %> for']} #{name :with => @<%= owner %>, :no_wrapper => true}">
<page merge title="#{ht '<%= model_key %>.index_for_owner.title', :default=>['<%=model_name :plural %> for']} #{name :with => @<%= owner %>, :no_wrapper => true}">
<body: class="index-for-owner-page <%= owner.dasherize %> <%= model_class %>" param/>
<content: param>
<header param="content-header">
Expand All @@ -302,13 +302,13 @@ new_link = :new.in?(actions)
<% if owner_is_user %>
<h2 param="heading">
<ht key="<%= model_key %>.index_for_owner.heading.your">
<Your with="&@<%= owner %>"/> <%= model_name :title, :plural %>
<Your with="&@<%= owner %>"/> <%= model_name :plural %>
</ht>
</h2>
<% else -%>
<h2 param="heading">
<ht key="<%= model_key %>.index_for_owner.heading.other">
<%= model_name :title, :plural %>
<%= model_name :plural %>
</ht>
</h2>
<h3 param="subheading">
Expand All @@ -328,7 +328,7 @@ new_link = :new.in?(actions)
<section param="content-body">
<% if new_link -%>
<a action="new" to="&model" param="new-link">
<ht key="<%= model_key %>.actions.new" >New <%=model_name :title %></ht>
<ht key="<%= model_key %>.actions.new" >New <%=model_name %></ht>
</a>

<% end -%>
Expand All @@ -348,7 +348,7 @@ new_link = :new.in?(actions)
<% if :new.in? actions -%>
<def tag="new-for-<%= owner.dasherize %>-page" polymorphic/>
<def tag="new-for-<%= owner.dasherize %>-page" for="<%= model.name %>">
<page merge title="#{ht '<%=model_key %>.new_for_owner.title', :default=>['New <%=model_name :title %> for']} #{name :with => @<%= owner %>}">
<page merge title="#{ht '<%=model_key %>.new_for_owner.title', :default=>['New <%=model_name %> for']} #{name :with => @<%= owner %>}">
<body: class="new-for-owner-page <% owner.dasherize %> <%= model_class %>" param/>

<content: param>
Expand All @@ -369,7 +369,7 @@ new_link = :new.in?(actions)
<section param="content-body">
<form owner="<%= owner %>" method="post" param>
<field-list: skip="<%= owner %>"/>
<submit: label="#{ht '<%=model_key %>.actions.create', :default=>['Create <%= model_name :title %>']}"/>
<submit: label="#{ht '<%=model_key %>.actions.create', :default=>['Create <%= model_name %>']}"/>
</form>
</section>
</content:>
Expand Down
5 changes: 2 additions & 3 deletions hobo/lib/hobo/dryml/dryml_generator.rb
Expand Up @@ -159,11 +159,10 @@ def model


def model_name(*options)
name = model.view_hints.model_name
name = name.pluralize if :plural.in?(options)
name = name.titleize if :title.in?(options)
name = :plural.in?(options) ? model.view_hints.model_name_plural : model.view_hints.model_name
name = name.titleize.downcase if :lowercase.in?(options)
name = name.underscore.gsub('_', '-').gsub('/', '--') if :dashed.in?(options)
name = name.camelize if :camel.in?(options)
name
end

Expand Down
9 changes: 8 additions & 1 deletion hobo/lib/hobo/view_hints.rb
Expand Up @@ -78,8 +78,15 @@ def model_name(new_name=nil)
@model_name = Hobo::Translations.ht("#{_name.tableize}.model_name", :default => new_name)
end
end

def model_name_plural(new_name=nil)
if new_name.nil?
@model_name_plural ||= Hobo::Translations.ht("#{_name.tableize}.model_name_plural", :default => model_name.pluralize)
else
@model_name_plural = Hobo::Translations.ht("#{_name.tableize}.model_name_plural", :default => new_name)
end
end


def model
@model ||= _name.constantize
end
Expand Down

0 comments on commit 5c35b11

Please sign in to comment.