Module: JournalsHelper

Defined in:
app/helpers/journals_helper.rb

Overview

Redmine - project management software Copyright (C) 2006-2014 Jean-Philippe Lang

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Instance Method Summary collapse

Instance Method Details


42
43
44
45
# File 'app/helpers/journals_helper.rb', line 42

def link_to_in_place_notes_editor(text, field_id, url, options={})
  onclick = "$.ajax({url: '#{url_for(url)}', type: 'get'}); return false;"
  link_to text, '#', options.merge(:onclick => onclick)
end

#render_notes(issue, journal, options = {}) ⇒ Object


21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/helpers/journals_helper.rb', line 21

def render_notes(issue, journal, options={})
  content = ''
  editable = User.current.logged? && (User.current.allowed_to?(:edit_issue_notes, issue.project) || (journal.user == User.current && User.current.allowed_to?(:edit_own_issue_notes, issue.project)))
  links = []
  if !journal.notes.blank?
    links << link_to(image_tag('comment.png'),
                     {:controller => 'journals', :action => 'new', :id => issue, :journal_id => journal},
                     :remote => true,
                     :method => 'post',
                     :title => l(:button_quote)) if options[:reply_links]
    links << link_to_in_place_notes_editor(image_tag('edit.png'), "journal-#{journal.id}-notes",
                                           { :controller => 'journals', :action => 'edit', :id => journal, :format => 'js' },
                                              :title => l(:button_edit)) if editable
  end
  content << ('div', links.join(' ').html_safe, :class => 'contextual') unless links.empty?
  content << textilizable(journal, :notes)
  css_classes = "wiki"
  css_classes << " editable" if editable
  ('div', content.html_safe, :id => "journal-#{journal.id}-notes", :class => css_classes)
end