diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-10-29 08:10:19 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2016-10-29 08:10:19 +0000 |
commit | f9eaeaf4512d02a2bc790feb434f20b04afb1b19 (patch) | |
tree | 0c88afdcad9d0d3c6c8499c0c2ffbf97050cb588 /app/helpers | |
parent | 2f48c9a83a29ac010bb375a6d2ed94167f1f66c5 (diff) | |
download | redmine-f9eaeaf4512d02a2bc790feb434f20b04afb1b19.tar.gz redmine-f9eaeaf4512d02a2bc790feb434f20b04afb1b19.zip |
Adds helpers for rendering my page blocks.
git-svn-id: http://svn.redmine.org/redmine/trunk@15927 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/my_helper.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/app/helpers/my_helper.rb b/app/helpers/my_helper.rb index 4942d7e04..c7cf53499 100644 --- a/app/helpers/my_helper.rb +++ b/app/helpers/my_helper.rb @@ -18,6 +18,41 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module MyHelper + # Renders the blocks + def render_blocks(blocks, user, options={}) + s = ''.html_safe + + if blocks.present? + blocks.each do |block| + content = render_block_content(block, user) + if content.present? + if options[:edit] + close = link_to("", {:action => "remove_block", :block => block}, :method => 'post', :class => "close-icon") + content = close + content_tag('div', content, :class => 'handle') + end + + s << content_tag('div', content, :class => "mypage-box", :id => "block-#{block}") + end + end + end + s + end + + # Renders a single block content + def render_block_content(block, user) + unless MyController::BLOCKS.keys.include?(block) + Rails.logger.warn("Unknown block \"#{block}\" found in #{user.login} (id=#{user.id}) preferences") + return + end + + begin + render(:partial => "my/blocks/#{block}", :locals => {:user => user}) + rescue ActionView::MissingTemplate + Rails.logger.warn("Template missing for block \"#{block}\" found in #{user.login} (id=#{user.id}) preferences") + return nil + end + end + def calendar_items(startdt, enddt) Issue.visible. where(:project_id => User.current.projects.map(&:id)). |