Module: RepositoriesHelper
- Included in:
- ProjectsController
- Defined in:
- app/helpers/repositories_helper.rb
Instance Method Summary
- - (Object) bazaar_field_tags(form, repository)
- - (Object) cvs_field_tags(form, repository)
- - (Object) darcs_field_tags(form, repository)
- - (Object) filesystem_field_tags(form, repository)
- - (Object) format_revision(txt)
- - (Object) git_field_tags(form, repository)
- - (Object) mercurial_field_tags(form, repository)
- - (Object) render_changes_tree(tree)
- - (Object) render_changeset_changes
- - (Object) render_properties(properties)
- - (Object) repository_field_tags(form, repository)
- - (Object) scm_select_tag(repository)
- - (Object) subversion_field_tags(form, repository)
- - (Object) to_utf8(str)
- - (Object) truncate_at_line_break(text, length = 255)
- - (Object) with_leading_slash(path)
- - (Object) without_leading_slash(path)
Instance Method Details
- (Object) bazaar_field_tags(form, repository)
175 176 177 |
# File 'app/helpers/repositories_helper.rb', line 175 def (form, repository) content_tag('p', form.text_field(:url, :label => 'Root directory', :size => 60, :required => true, :disabled => (repository && !repository.new_record?))) end |
- (Object) cvs_field_tags(form, repository)
170 171 172 173 |
# File 'app/helpers/repositories_helper.rb', line 170 def (form, repository) content_tag('p', form.text_field(:root_url, :label => 'CVSROOT', :size => 60, :required => true, :disabled => !repository.new_record?)) + content_tag('p', form.text_field(:url, :label => 'Module', :size => 30, :required => true, :disabled => !repository.new_record?)) end |
- (Object) darcs_field_tags(form, repository)
158 159 160 |
# File 'app/helpers/repositories_helper.rb', line 158 def (form, repository) content_tag('p', form.text_field(:url, :label => 'Root directory', :size => 60, :required => true, :disabled => (repository && !repository.new_record?))) end |
- (Object) filesystem_field_tags(form, repository)
179 180 181 |
# File 'app/helpers/repositories_helper.rb', line 179 def (form, repository) content_tag('p', form.text_field(:url, :label => 'Root directory', :size => 60, :required => true, :disabled => (repository && !repository.root_url.blank?))) end |
- (Object) format_revision(txt)
21 22 23 |
# File 'app/helpers/repositories_helper.rb', line 21 def format_revision(txt) txt.to_s[0,8] end |
- (Object) git_field_tags(form, repository)
166 167 168 |
# File 'app/helpers/repositories_helper.rb', line 166 def (form, repository) content_tag('p', form.text_field(:url, :label => 'Path to .git directory', :size => 60, :required => true, :disabled => (repository && !repository.root_url.blank?))) end |
- (Object) mercurial_field_tags(form, repository)
162 163 164 |
# File 'app/helpers/repositories_helper.rb', line 162 def (form, repository) content_tag('p', form.text_field(:url, :label => 'Root directory', :size => 60, :required => true, :disabled => (repository && !repository.root_url.blank?))) end |
- (Object) render_changes_tree(tree)
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'app/helpers/repositories_helper.rb', line 73 def render_changes_tree(tree) return '' if tree.nil? output = '' output << '<ul>' tree.keys.sort.each do |file| s = !tree[file][:s].nil? c = tree[file][:c] style = 'change' style << ' folder' if s style << " change-#{c.action}" if c text = h(file) unless c.nil? path_param = to_path_param(@repository.relative_path(c.path)) text = link_to(text, :controller => 'repositories', :action => 'entry', :id => @project, :path => path_param, :rev => @changeset.revision) unless s || c.action == 'D' text << " - #{c.revision}" unless c.revision.blank? text << ' (' + link_to('diff', :controller => 'repositories', :action => 'diff', :id => @project, :path => path_param, :rev => @changeset.revision) + ') ' if c.action == 'M' text << ' ' + content_tag('span', c.from_path, :class => 'copied-from') unless c.from_path.blank? end output << "<li class='#{style}'>#{text}</li>" output << render_changes_tree(tree[file][:s]) if s end output << '</ul>' output end |
- (Object) render_changeset_changes
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'app/helpers/repositories_helper.rb', line 41 def render_changeset_changes changes = @changeset.changes.find(:all, :limit => 1000, :order => 'path').collect do |change| case change.action when 'A' # Detects moved/copied files if !change.from_path.blank? change.action = @changeset.changes.detect {|c| c.action == 'D' && c.path == change.from_path} ? 'R' : 'C' end change when 'D' @changeset.changes.detect {|c| c.from_path == change.path} ? nil : change else change end end.compact tree = { } changes.each do |change| p = tree dirs = change.path.to_s.split('/').select {|d| !d.blank?} dirs.each do |dir| p[:s] ||= {} p = p[:s] p[dir] ||= {} p = p[dir] end p[:c] = change end render_changes_tree(tree[:s]) end |
- (Object) render_properties(properties)
31 32 33 34 35 36 37 38 39 |
# File 'app/helpers/repositories_helper.rb', line 31 def render_properties(properties) unless properties.nil? || properties.empty? content = '' properties.keys.sort.each do |property| content << content_tag('li', "<b>#{h property}</b>: <span>#{h properties[property]}</span>") end content_tag('ul', content, :class => 'properties') end end |
- (Object) repository_field_tags(form, repository)
122 123 124 125 |
# File 'app/helpers/repositories_helper.rb', line 122 def (form, repository) method = repository.class.name.demodulize.underscore + "_field_tags" send(method, form, repository) if repository.is_a?(Repository) && respond_to?(method) && method != 'repository_field_tags' end |
- (Object) scm_select_tag(repository)
127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'app/helpers/repositories_helper.rb', line 127 def scm_select_tag(repository) = [["--- #{l(:actionview_instancetag_blank_option)} ---", '']] Redmine::Scm::Base.all.each do |scm| << ["Repository::#{scm}".constantize.scm_name, scm] if Setting.enabled_scm.include?(scm) || (repository && repository.class.name.demodulize == scm) end select_tag('repository_scm', (, repository.class.name.demodulize), :disabled => (repository && !repository.new_record?), :onchange => remote_function(:url => { :controller => 'repositories', :action => 'edit', :id => @project }, :method => :get, :with => "Form.serialize(this.form)") ) end |
- (Object) subversion_field_tags(form, repository)
148 149 150 151 152 153 154 155 156 |
# File 'app/helpers/repositories_helper.rb', line 148 def (form, repository) content_tag('p', form.text_field(:url, :size => 60, :required => true, :disabled => (repository && !repository.root_url.blank?)) + '<br />(file:///, http://, https://, svn://, svn+[tunnelscheme]://)') + content_tag('p', form.text_field(:login, :size => 30)) + content_tag('p', form.password_field(:password, :size => 30, :name => 'ignore', :value => ((repository.new_record? || repository.password.blank?) ? '' : ('x'*15)), :onfocus => "this.value=''; this.name='repository[password]';", :onchange => "this.name='repository[password]';")) end |
- (Object) to_utf8(str)
109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'app/helpers/repositories_helper.rb', line 109 def to_utf8(str) return str if /\A[\r\n\t\x20-\x7e]*\Z/n.match(str) # for us-ascii @encodings ||= Setting.repositories_encodings.split(',').collect(&:strip) @encodings.each do |encoding| begin return Iconv.conv('UTF-8', encoding, str) rescue Iconv::Failure # do nothing here and try the next encoding end end str end |
- (Object) truncate_at_line_break(text, length = 255)
25 26 27 28 29 |
# File 'app/helpers/repositories_helper.rb', line 25 def truncate_at_line_break(text, length = 255) if text text.gsub(%r{^(.{#{length}}[^\n]*)\n.+$}m, '\\1...') end end |
- (Object) with_leading_slash(path)
140 141 142 |
# File 'app/helpers/repositories_helper.rb', line 140 def with_leading_slash(path) path.to_s.starts_with?('/') ? path : "/#{path}" end |
- (Object) without_leading_slash(path)
144 145 146 |
# File 'app/helpers/repositories_helper.rb', line 144 def without_leading_slash(path) path.gsub(%r{^/+}, '') end |