Commit ff7e56b9d14b806b55bbe78661e389efad4c0e4b
1 parent
a122a741
Exists in
master
and in
22 other branches
ActionItem18: displaying recent documents in a block
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@436 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
3 changed files
with
22 additions
and
3 deletions
Show diff stats
app/controllers/application.rb
| @@ -25,6 +25,13 @@ class ApplicationController < ActionController::Base | @@ -25,6 +25,13 @@ class ApplicationController < ActionController::Base | ||
| 25 | end | 25 | end |
| 26 | end | 26 | end |
| 27 | 27 | ||
| 28 | + before_filter :load_profile_from_params | ||
| 29 | + def load_profile_from_params | ||
| 30 | + if params[:profile] | ||
| 31 | + @profile = Profile.find_by_identifier(params[:profile]) | ||
| 32 | + end | ||
| 33 | + end | ||
| 34 | + | ||
| 28 | def self.acts_as_virtual_community_admin_controller | 35 | def self.acts_as_virtual_community_admin_controller |
| 29 | before_filter :load_admin_controller | 36 | before_filter :load_admin_controller |
| 30 | end | 37 | end |
app/controllers/edit_template_controller.rb
| @@ -6,6 +6,7 @@ class EditTemplateController < ApplicationController | @@ -6,6 +6,7 @@ class EditTemplateController < ApplicationController | ||
| 6 | { | 6 | { |
| 7 | 'ListBlock' => _("List Block"), | 7 | 'ListBlock' => _("List Block"), |
| 8 | 'LinkBlock' => _("Link Block"), | 8 | 'LinkBlock' => _("Link Block"), |
| 9 | + 'RecentDocumentsBlock' => _('Recent documents'), | ||
| 9 | 'Design::MainBlock' => _('Main content block'), | 10 | 'Design::MainBlock' => _('Main content block'), |
| 10 | } | 11 | } |
| 11 | end | 12 | end |
app/helpers/application_helper.rb
| 1 | -# Methods added to this helper will be available to all templates in the application. | 1 | +# Methods added to this helper will be available to all templates in the |
| 2 | +# application. | ||
| 2 | module ApplicationHelper | 3 | module ApplicationHelper |
| 3 | 4 | ||
| 4 | - | ||
| 5 | # Displays context help. You can pass the content of the help message as the | 5 | # Displays context help. You can pass the content of the help message as the |
| 6 | # first parameter or using template code inside a block passed to this | 6 | # first parameter or using template code inside a block passed to this |
| 7 | # method. *Note*: the block is ignored if <tt>content</tt> is not | 7 | # method. *Note*: the block is ignored if <tt>content</tt> is not |
| @@ -100,7 +100,9 @@ module ApplicationHelper | @@ -100,7 +100,9 @@ module ApplicationHelper | ||
| 100 | end | 100 | end |
| 101 | 101 | ||
| 102 | def link_to_document(doc) | 102 | def link_to_document(doc) |
| 103 | - link_homepage(doc.title, doc.profile.identifier, :page => doc.full_path) | 103 | + path = doc.full_path.split(/\//) |
| 104 | + profile = path.shift | ||
| 105 | + link_to doc.title, homepage_path(:profile => profile , :page => path) | ||
| 104 | end | 106 | end |
| 105 | 107 | ||
| 106 | # TODO: add the actual links | 108 | # TODO: add the actual links |
| @@ -145,4 +147,13 @@ module ApplicationHelper | @@ -145,4 +147,13 @@ module ApplicationHelper | ||
| 145 | 'nothing in the footer yet' | 147 | 'nothing in the footer yet' |
| 146 | end | 148 | end |
| 147 | 149 | ||
| 150 | + # returns the current profile beign viewed. | ||
| 151 | + # | ||
| 152 | + # Make sure that you use this helper method only in contexts where there | ||
| 153 | + # should be a currnt profile (i.e. while viewing some profile's pages, or the | ||
| 154 | + # profile info, etc), because if there is no profile an exception is thrown. | ||
| 155 | + def profile | ||
| 156 | + @profile || raise("There is no current profile") | ||
| 157 | + end | ||
| 158 | + | ||
| 148 | end | 159 | end |