Commit 2b143a6d243acca2d67234efb084f607833bf09e
Committed by
Rafael Reggiani Manzo
1 parent
bc4a8cfe
Exists in
web_steps_improvements
and in
9 other branches
moving out HTML from several blocks
Showing
22 changed files
with
101 additions
and
95 deletions
Show diff stats
app/models/link_list_block.rb
| ... | ... | @@ -60,17 +60,10 @@ class LinkListBlock < Block |
| 60 | 60 | end |
| 61 | 61 | |
| 62 | 62 | def content(args={}) |
| 63 | - block_title(title) + | |
| 64 | - content_tag('ul', | |
| 65 | - links.select{|i| !i[:name].blank? and !i[:address].blank?}.map{|i| content_tag('li', link_html(i))}.join | |
| 66 | - ) | |
| 67 | - end | |
| 68 | - | |
| 69 | - def link_html(link) | |
| 70 | - klass = 'icon-' + link[:icon] if link[:icon] | |
| 71 | - sanitize_link( | |
| 72 | - link_to(link[:name], expand_address(link[:address]), :target => link[:target], :class => klass, :title => link[:title]) | |
| 73 | - ) | |
| 63 | + block = self | |
| 64 | + proc do | |
| 65 | + render :file => 'blocks/link_list', :locals => { :block => block } | |
| 66 | + end | |
| 74 | 67 | end |
| 75 | 68 | |
| 76 | 69 | def expand_address(address) |
| ... | ... | @@ -99,8 +92,6 @@ class LinkListBlock < Block |
| 99 | 92 | end |
| 100 | 93 | end |
| 101 | 94 | |
| 102 | - private | |
| 103 | - | |
| 104 | 95 | def sanitize_link(text) |
| 105 | 96 | sanitizer = HTML::WhiteListSanitizer.new |
| 106 | 97 | sanitizer.sanitize(text) | ... | ... |
app/models/location_block.rb
| ... | ... | @@ -15,9 +15,8 @@ class LocationBlock < Block |
| 15 | 15 | |
| 16 | 16 | def content(args={}) |
| 17 | 17 | block = self |
| 18 | - profile = self.owner | |
| 19 | 18 | proc do |
| 20 | - render :file => 'blocks/location', :locals => {:block => block, :profile => profile} | |
| 19 | + render :file => 'blocks/location', :locals => {:block => block} | |
| 21 | 20 | end |
| 22 | 21 | end |
| 23 | 22 | ... | ... |
app/models/my_network_block.rb
| ... | ... | @@ -17,10 +17,7 @@ class MyNetworkBlock < Block |
| 17 | 17 | def content(args={}) |
| 18 | 18 | block = self |
| 19 | 19 | proc do |
| 20 | - render :file => 'blocks/my_network', :locals => { | |
| 21 | - :title => block.title, | |
| 22 | - :owner => block.owner | |
| 23 | - } | |
| 20 | + render :file => 'blocks/my_network', :locals => { :block => block } | |
| 24 | 21 | end |
| 25 | 22 | end |
| 26 | 23 | ... | ... |
app/models/products_block.rb
| ... | ... | @@ -20,19 +20,10 @@ class ProductsBlock < Block |
| 20 | 20 | end |
| 21 | 21 | |
| 22 | 22 | def content(args={}) |
| 23 | - block_title(title) + | |
| 24 | - content_tag( | |
| 25 | - 'ul', | |
| 26 | - products.map {|product| | |
| 27 | - content_tag('li', | |
| 28 | - link_to( product.name, | |
| 29 | - product.url, | |
| 30 | - :style => 'background-image:url(%s)' % product.default_image('minor') | |
| 31 | - ), | |
| 32 | - :class => 'product' | |
| 33 | - ) | |
| 34 | - }.join | |
| 35 | - ) | |
| 23 | + block = self | |
| 24 | + proc do | |
| 25 | + render :file => 'blocks/products', :locals => { :block => block } | |
| 26 | + end | |
| 36 | 27 | end |
| 37 | 28 | |
| 38 | 29 | def footer | ... | ... |
app/models/profile_image_block.rb
| ... | ... | @@ -14,12 +14,8 @@ class ProfileImageBlock < Block |
| 14 | 14 | |
| 15 | 15 | def content(args={}) |
| 16 | 16 | block = self |
| 17 | - s = show_name | |
| 18 | - lambda do |object| | |
| 19 | - render( | |
| 20 | - :file => 'blocks/profile_image', | |
| 21 | - :locals => { :block => block, :show_name => s } | |
| 22 | - ) | |
| 17 | + proc do | |
| 18 | + render :file => 'blocks/profile_image', :locals => { :block => block } | |
| 23 | 19 | end |
| 24 | 20 | end |
| 25 | 21 | ... | ... |
app/models/profile_info_block.rb
app/models/profile_search_block.rb
| ... | ... | @@ -5,9 +5,9 @@ class ProfileSearchBlock < Block |
| 5 | 5 | end |
| 6 | 6 | |
| 7 | 7 | def content(args={}) |
| 8 | - title = self.title | |
| 9 | - lambda do |_| | |
| 10 | - render :file => 'blocks/profile_search', :locals => { :title => title } | |
| 8 | + block = self | |
| 9 | + proc do | |
| 10 | + render :file => 'blocks/profile_search', :locals => { :block => block } | |
| 11 | 11 | end |
| 12 | 12 | end |
| 13 | 13 | ... | ... |
app/models/raw_html_block.rb
| ... | ... | @@ -13,7 +13,10 @@ class RawHTMLBlock < Block |
| 13 | 13 | attr_accessible :html |
| 14 | 14 | |
| 15 | 15 | def content(args={}) |
| 16 | - (title.blank? ? '' : block_title(title)).html_safe + html.to_s.html_safe | |
| 16 | + block = self | |
| 17 | + proc do | |
| 18 | + render :file => 'blocks/raw_html', :locals => { :block => block } | |
| 19 | + end | |
| 17 | 20 | end |
| 18 | 21 | |
| 19 | 22 | def has_macro? | ... | ... |
app/models/recent_documents_block.rb
| ... | ... | @@ -23,11 +23,9 @@ class RecentDocumentsBlock < Block |
| 23 | 23 | settings_items :limit, :type => :integer, :default => 5 |
| 24 | 24 | |
| 25 | 25 | def content(args={}) |
| 26 | - docs = self.docs | |
| 27 | - title = self.title | |
| 26 | + block = self | |
| 28 | 27 | proc do |
| 29 | - block_title(title) + | |
| 30 | - content_tag('ul', docs.map {|item| content_tag('li', link_to(h(item.title), item.url))}.join("\n")) | |
| 28 | + render :file => 'blocks/recent_documents', :locals => { :block => block } | |
| 31 | 29 | end |
| 32 | 30 | end |
| 33 | 31 | ... | ... |
app/models/sellers_search_block.rb
| ... | ... | @@ -23,9 +23,9 @@ class SellersSearchBlock < Block |
| 23 | 23 | end |
| 24 | 24 | |
| 25 | 25 | def content(args={}) |
| 26 | - title = self.title | |
| 27 | - lambda do |object| | |
| 28 | - render :file => 'search/_sellers_form', :locals => { :title => title } | |
| 26 | + block = self | |
| 27 | + proc do | |
| 28 | + render :file => 'blocks/sellers_search', :locals => { :block => block } | |
| 29 | 29 | end |
| 30 | 30 | end |
| 31 | 31 | end | ... | ... |
app/models/slideshow_block.rb
| ... | ... | @@ -35,18 +35,8 @@ class SlideshowBlock < Block |
| 35 | 35 | |
| 36 | 36 | def content(args={}) |
| 37 | 37 | block = self |
| 38 | - if gallery | |
| 39 | - images = block_images | |
| 40 | - if shuffle | |
| 41 | - images = images.shuffle | |
| 42 | - end | |
| 43 | - proc do | |
| 44 | - render :file => 'blocks/slideshow', :locals => { :block => block, :images => images } | |
| 45 | - end | |
| 46 | - else | |
| 47 | - proc do | |
| 48 | - render :file => 'blocks/slideshow', :locals => { :block => block, :images => nil } | |
| 49 | - end | |
| 38 | + proc do | |
| 39 | + render :file => 'blocks/slideshow', :locals => { :block => block } | |
| 50 | 40 | end |
| 51 | 41 | end |
| 52 | 42 | ... | ... |
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | +<%= block_title(block.title) %> | |
| 2 | + | |
| 3 | +<ul> | |
| 4 | + <% block.links.select{|i| !i[:name].blank? and !i[:address].blank?}.each do |link| %> | |
| 5 | + <li> | |
| 6 | + <%= block.sanitize_link(link_to(link[:name], block.expand_address(link[:address]), | |
| 7 | + :target => link[:target], | |
| 8 | + :class => (link[:icon] ? "icon-#{link[:icon]}" : ''), | |
| 9 | + :title => link[:title])) %> | |
| 10 | + </li> | |
| 11 | + <% end %> | |
| 12 | +</ul> | ... | ... |
app/views/blocks/location.html.erb
| 1 | -<% if profile.lat %> | |
| 1 | +<% if block.owner.lat %> | |
| 2 | 2 | <%= block_title block.title %> |
| 3 | 3 | <div class='the-localization-map'> |
| 4 | - <img src="https://maps.google.com/maps/api/staticmap?center=<%=profile.lat%>,<%=profile.lng%>&zoom=<%=block.zoom%>&size=190x250&maptype=<%=block.map_type%>&markers=<%=profile.lat%>,<%=profile.lng%>&sensor=false"/> | |
| 4 | + <img src="https://maps.google.com/maps/api/staticmap?center=<%=block.owner.lat%>,<%=block.owner.lng%>&zoom=<%=block.zoom%>&size=190x250&maptype=<%=block.map_type%>&markers=<%=block.owner.lat%>,<%=block.owner.lng%>&sensor=false"/> | |
| 5 | 5 | </div> |
| 6 | 6 | <% else %> |
| 7 | 7 | <i><%= _('This profile has no geographical position registered.') %></i> | ... | ... |
app/views/blocks/my_network.html.erb
| 1 | -<%= block_title(title) %> | |
| 1 | +<%= block_title(block.title) %> | |
| 2 | 2 | |
| 3 | 3 | <ul> |
| 4 | - <li><%= link_to(_('Homepage'), owner.url, :class => 'url') %></li> | |
| 5 | - <li><%= link_to(_('View profile'), owner.public_profile_url) %></li> | |
| 6 | - <% if !user.nil? and owner.organization? and user.has_permission?('edit_profile', profile) %> | |
| 4 | + <li><%= link_to(_('Homepage'), block.owner.url, :class => 'url') %></li> | |
| 5 | + <li><%= link_to(_('View profile'), block.owner.public_profile_url) %></li> | |
| 6 | + <% if !user.nil? and block.owner.organization? and user.has_permission?('edit_profile', profile) %> | |
| 7 | 7 | <li><%= link_to _('Control panel'), :controller => 'profile_editor', :profile => profile.identifier %></li> |
| 8 | 8 | <% end %> |
| 9 | 9 | </ul> |
| 10 | 10 | |
| 11 | 11 | <div class="my-network-actions"> |
| 12 | - <%= render_profile_actions owner.class %> | |
| 12 | + <%= render_profile_actions block.owner.class %> | |
| 13 | 13 | </div> | ... | ... |
app/views/blocks/profile_image.html.erb
app/views/blocks/profile_search.html.erb
| ... | ... | @@ -0,0 +1,24 @@ |
| 1 | +<h3><%= block.title %></h3> | |
| 2 | + | |
| 3 | +<%= form_tag({:controller => 'search', :action => 'assets'}, {:method => 'get'}) do %> | |
| 4 | + | |
| 5 | + <div class="search-in-opt"><%= _('Search in:') %> | |
| 6 | + <dir> | |
| 7 | + <%= labelled_radio_button _('Enterprises'), 'asset', 'enterprises', true %><br /> | |
| 8 | + <%= labelled_radio_button _('Products'), 'asset', 'products', false %> | |
| 9 | + </dir> | |
| 10 | + </div> | |
| 11 | + | |
| 12 | + <div class="formfield search-from-opt"> | |
| 13 | + <%= select_city(true) %> | |
| 14 | + </div> | |
| 15 | + | |
| 16 | + <div class="formfield search-distance-opt"> | |
| 17 | + <%= labelled_select(_('Distance:'), 'radius', :first, :last, nil, [15, 30, 50, 100, 150, 200, 300, 400, 500, 1000].map{|n|[n, n.to_s + 'km']}) %> | |
| 18 | + </div> | |
| 19 | + | |
| 20 | + <div class="button-bar"> | |
| 21 | + <%= submit_button :search, _('Search') %> | |
| 22 | + </div> | |
| 23 | + | |
| 24 | +<% end %> | ... | ... |
app/views/blocks/slideshow.html.erb
| 1 | +<% | |
| 2 | + if block.gallery | |
| 3 | + images = block.block_images | |
| 4 | + if block.shuffle | |
| 5 | + images = images.shuffle | |
| 6 | + end | |
| 7 | + end | |
| 8 | +%> | |
| 9 | + | |
| 1 | 10 | <%= block_title(block.title) %> |
| 11 | + | |
| 2 | 12 | <% if images %> |
| 3 | 13 | <% description = images.any? { |img| !img.abstract.blank? } %> |
| 4 | 14 | <div class='slideshow-border<%= (description ? ' with-descriptions' : '')%>'> | ... | ... |
app/views/search/_sellers_form.html.erb
| ... | ... | @@ -1,24 +0,0 @@ |
| 1 | -<h3><%= title %></h3> | |
| 2 | - | |
| 3 | -<%= form_tag({:controller => 'search', :action => 'assets'}, {:method => 'get'}) do %> | |
| 4 | - | |
| 5 | - <div class="search-in-opt"><%= _('Search in:') %> | |
| 6 | - <dir> | |
| 7 | - <%= labelled_radio_button _('Enterprises'), 'asset', 'enterprises', true %><br /> | |
| 8 | - <%= labelled_radio_button _('Products'), 'asset', 'products', false %> | |
| 9 | - </dir> | |
| 10 | - </div> | |
| 11 | - | |
| 12 | - <div class="formfield search-from-opt"> | |
| 13 | - <%= select_city(true) %> | |
| 14 | - </div> | |
| 15 | - | |
| 16 | - <div class="formfield search-distance-opt"> | |
| 17 | - <%= labelled_select(_('Distance:'), 'radius', :first, :last, nil, [15, 30, 50, 100, 150, 200, 300, 400, 500, 1000].map{|n|[n, n.to_s + 'km']}) %> | |
| 18 | - </div> | |
| 19 | - | |
| 20 | - <div class="button-bar"> | |
| 21 | - <%= submit_button :search, _('Search') %> | |
| 22 | - </div> | |
| 23 | - | |
| 24 | -<% end %> |