Elimina el plugin Redmine Git Hosting

Finalmente se descarta por los problemas de configuración y potencial
brecha de seguridad al requerir acceso global al puerto ssh.
This commit is contained in:
Manuel Cillero 2020-12-06 11:46:44 +01:00
parent bdd66d941f
commit 0edadcfed8
494 changed files with 0 additions and 36768 deletions

View file

@ -1,31 +0,0 @@
<% @entries.each do |entry| %>
<% tr_id = Digest::MD5.hexdigest(entry.path)
depth = params[:depth].to_i %>
<% ent_path = Redmine::CodesetUtil.replace_invalid_utf8(entry.path) %>
<% ent_name = Redmine::CodesetUtil.replace_invalid_utf8(entry.name) %>
<tr id="<%= tr_id %>" class="<%= h params[:parent_id] %> entry <%= entry.kind %>">
<td style="padding-left: <%=18 * depth%>px;" class="<%=
@repository.report_last_commit ? "filename" : "filename_no_report" %>">
<% if entry.is_dir? %>
<span class="expander" onclick="scmEntryClick('<%= tr_id %>', '<%= escape_javascript(url_for(
:action => 'show',
:id => @project,
:repository_id => @repository.identifier_param,
:path => to_path_param(ent_path),
:rev => @rev,
:depth => (depth + 1),
:parent_id => tr_id)) %>');">&nbsp;</span>
<% end %>
<%= link_to h(ent_name),
{:action => (entry.is_dir? ? 'show' : 'changes'), :id => @project, :repository_id => @repository.identifier_param, :path => to_path_param(ent_path), :rev => @rev},
:class => (entry.is_dir? ? 'icon icon-folder' : "icon icon-file #{Redmine::MimeType.css_class_of(ent_name)}")%>
</td>
<td class="size"><%= (entry.size ? number_to_human_size(entry.size) : "?") unless entry.is_dir? %></td>
<% if @repository.report_last_commit %>
<td class="revision"><%= link_to_revision2(entry.changeset, @repository) if entry.changeset %></td>
<td class="age"><%= distance_of_time_in_words(entry.lastrev.time, Time.now) if entry.lastrev && entry.lastrev.time %></td>
<td class="author"><%= entry.author %></td>
<td class="comments"><%= entry.changeset.comments.truncate(50) if entry.changeset %></td>
<% end %>
</tr>
<% end %>

View file

@ -1,51 +0,0 @@
<% show_revision_graph = ( @repository.supports_revision_graph? && path.blank? ) %>
<%= if show_revision_graph && revisions && revisions.any?
indexed_commits, graph_space = index_commits(revisions, @repository.branches) do |scmid|
url_for(
:controller => 'archived_repositories',
:action => 'revision',
:id => project,
:repository_id => @repository.identifier_param,
:rev => scmid)
end
render :partial => 'revision_graph',
:locals => {
:commits => indexed_commits,
:space => graph_space
}
end %>
<%= form_tag(
{:controller => 'archived_repositories', :action => 'diff', :id => project,
:repository_id => @repository.identifier_param, :path => to_path_param(path)},
:method => :get
) do %>
<table class="list changesets">
<thead><tr>
<th>#</th>
<th></th>
<th></th>
<th><%= l(:label_date) %></th>
<th><%= l(:field_author) %></th>
<th><%= l(:field_comments) %></th>
</tr></thead>
<tbody>
<% show_diff = revisions.size > 1 %>
<% line_num = 1 %>
<% revisions.each do |changeset| %>
<tr class="changeset <%= cycle 'odd', 'even' %>">
<% id_style = (show_revision_graph ? "padding-left:#{(graph_space + 1) * 20}px" : nil) %>
<%= content_tag(:td, :class => 'id', :style => id_style) do %>
<%= link_to_revision2(changeset, @repository) %>
<% end %>
<td class="checkbox"><%= radio_button_tag('rev', changeset.identifier, (line_num==1), :id => "cb-#{line_num}", :onclick => "$('#cbto-#{line_num+1}').attr('checked',true);") if show_diff && (line_num < revisions.size) %></td>
<td class="checkbox"><%= radio_button_tag('rev_to', changeset.identifier, (line_num==2), :id => "cbto-#{line_num}", :onclick => "if ($('#cb-#{line_num}').attr('checked')) {$('#cb-#{line_num-1}').attr('checked',true);}") if show_diff && (line_num > 1) %></td>
<td class="committed_on"><%= format_time(changeset.committed_on) %></td>
<td class="author"><%= changeset.author.to_s.truncate(30) %></td>
<td class="comments"><%= textilizable(truncate_at_line_break(changeset.comments)) %></td>
</tr>
<% line_num += 1 %>
<% end %>
</tbody>
</table>
<%= submit_tag(l(:label_view_diff), :name => nil) if show_diff %>
<% end %>

View file

@ -1,46 +0,0 @@
<%= call_hook(:view_repositories_show_contextual, { :repository => @repository, :project => @project }) %>
<div class="contextual">
<%= render :partial => 'navigation' %>
</div>
<h2><%= render :partial => 'breadcrumbs', :locals => { :path => @path, :kind => 'file', :revision => @rev } %></h2>
<%= render :partial => 'link_to_functions' %>
<% colors = Hash.new {|k,v| k[v] = (k.size % 12) } %>
<div class="autoscroll">
<table class="filecontent annotate syntaxhl">
<tbody>
<% line_num = 1; previous_revision = nil %>
<% syntax_highlight_lines(@path, Redmine::CodesetUtil.to_utf8_by_setting(@annotate.content)).each do |line| %>
<% revision = @annotate.revisions[line_num - 1] %>
<tr id="L<%= line_num %>" class="bloc-<%= revision.nil? ? 0 : colors[revision.identifier || revision.revision] %>">
<th class="line-num"><a href="#L<%= line_num %>"><%= line_num %></a></th>
<td class="revision">
<% if revision && revision != previous_revision %>
<%= revision.identifier ?
link_to_revision2(revision, @repository) : format_revision(revision) %>
<% end %>
</td>
<td class="author">
<% if revision && revision != previous_revision %>
<% author = Redmine::CodesetUtil.to_utf8(revision.author.to_s,
@repository.repo_log_encoding) %>
<%= author.split('<').first %>
<% end %>
</td>
<td class="line-code"><pre><%= line.html_safe %></pre></td>
</tr>
<% line_num += 1; previous_revision = revision %>
<% end %>
</tbody>
</table>
</div>
<% html_title(l(:button_annotate)) -%>
<% content_for :header_tags do %>
<%= stylesheet_link_tag 'scm' %>
<% end %>

View file

@ -1,89 +0,0 @@
<%# This is used to display basic git setup instructions, like on github... %>
<% flash.now[:warning] = l(:notice_empty_repository) %>
<div class="box">
<% if User.current.allowed_to?(:view_changesets, @project) %>
<h2><%= l(:label_help_git_setup) %> :</h2>
<pre>
<a href="https://git-scm.com/download" target="_blank"><%= l(:label_download_and_install_git) %></a>
git config --global user.name "<%= User.current.name(:firstname_lastname) %>"
git config --global user.email <%= User.current.mail ? User.current.mail : "mail@example.com" %>
<% if !User.current.anonymous? && User.current.gitolite_public_keys.active.length == 0 %>
<%= link_to "Upload SSH Public Key", {:controller => 'my', :action => 'account'} %>
<% end %>
</pre>
<% if User.current.allowed_to?(:commit_access, @project) %>
<div id="repository_setup">
<h2><%= l(:label_help_repository_setup_new) %> :</h2>
<pre>
mkdir <%= @repository.redmine_name %>
cd <%= @repository.redmine_name %>
git init
touch readme.txt
git add readme.txt
git commit -m 'Initializing <%= @repository.redmine_name %> repository'
git remote add origin <span class="git_url_access"></span>
git push -u origin master
</pre>
<h2><%= l(:label_help_repository_setup_existing) %> :</h2>
<pre>
cd existing_git_repo
git remote add origin <span class="git_url_access"></span>
git push -u origin master
</pre>
</div>
<% end %>
<h2><%= l(:label_help_repository_clone) %> :</h2>
<pre>
git clone <span class="git_url_access"></span>
</pre>
<% else %>
<%= l(:label_help_no_repo_rights) %>
<% end %>
</div>
<% content_for :sidebar do %>
<h3><%= l(:label_repository_plural) %></h3>
<ul class="repository git">
<% @repositories.sort.each do |repo| %>
<li class="repository git"><%= link_to h(repo.name), {:controller => 'archived_repositories', :action => 'show', :id => @project, :repository_id => repo.identifier_param, :rev => nil, :path => nil},
:class => 'repository' + (@repository.is_a?(Repository::Xitolite) ? ' git' : '') + (repo == @repository ? ' selected' : '') %>
</li>
<% end %>
</ul>
<% if @repository.is_a?(Repository::Xitolite) && @repository.urls_are_viewable? %>
<div class="git_hosting_urls">
<h3><%= l(:label_repository_access_url) %></h3>
<%= render :partial => 'common/git_urls', :locals => {:repository => @repository} %>
</div>
<% end %>
<% end %>
<% content_for :header_tags do %>
<%= javascript_tag do %>
$(document).ready(function() {
var key = $('#git_url_list li').first().attr('id');
var access = access_list[key];
$('.git_url_access').html(access.url);
$('#git_url_list li').on('click', function(){
var key = $(this).attr('id');
var access = access_list[key];
$('.git_url_access').html(access.url);
if (access.commiter == true) {
$('#repository_setup').show();
} else {
$('#repository_setup').hide();
}
});
});
<% end %>
<% end %>

View file

@ -1,17 +0,0 @@
h2 = l(:label_archived_repositories)
- if @archived_projects.any?
ul
- @archived_projects.each do |project|
- if project.repositories.any?
li
= project.name
ul
- project.repositories.each do |repository|
li
= link_to h(repository.url), { controller: 'archived_repositories',
action: 'show',
id: project,
repository_id: repository.identifier_param }
- else
p.nodata = l(:label_no_data)

View file

@ -1,101 +0,0 @@
<div class="contextual">
&#171;
<% unless @changeset.previous.nil? -%>
<%= link_to_revision2(@changeset.previous, @repository, :text => l(:label_previous)) %>
<% else -%>
<%= l(:label_previous) %>
<% end -%>
|
<% unless @changeset.next.nil? -%>
<%= link_to_revision2(@changeset.next, @repository, :text => l(:label_next)) %>
<% else -%>
<%= l(:label_next) %>
<% end -%>
&#187;&nbsp;
<%= form_tag({:controller => 'archived_repositories',
:action => 'revision',
:id => @project,
:repository_id => @repository.identifier_param,
:rev => nil},
:method => :get) do %>
<%= text_field_tag 'rev', @rev, :size => 8 %>
<%= submit_tag 'OK', :name => nil %>
<% end %>
</div>
<h2><%= avatar(@changeset.user, :size => "24") %><%= l(:label_revision) %> <%= format_revision(@changeset) %></h2>
<% if @changeset.scmid.present? || @changeset.parents.present? || @changeset.children.present? %>
<table class="revision-info">
<% if @changeset.scmid.present? %>
<tr>
<td>ID</td><td><%= h(@changeset.scmid) %></td>
</tr>
<% end %>
<% if @changeset.parents.present? %>
<tr>
<td><%= l(:label_parent_revision) %></td>
<td>
<%= @changeset.parents.collect{
|p| link_to_revision2(p, @repository, :text => format_revision(p))
}.join(", ").html_safe %>
</td>
</tr>
<% end %>
<% if @changeset.children.present? %>
<tr>
<td><%= l(:label_child_revision) %></td>
<td>
<%= @changeset.children.collect{
|p| link_to_revision2(p, @repository, :text => format_revision(p))
}.join(", ").html_safe %>
</td>
</tr>
<% end %>
</table>
<% end %>
<p>
<span class="author">
<%= authoring(@changeset.committed_on, @changeset.author) %>
</span>
</p>
<%= textilizable @changeset.comments %>
<% if @changeset.issues.visible.any? || User.current.allowed_to?(:manage_related_issues, @repository.project) %>
<%= render :partial => 'related_issues' %>
<% end %>
<% if User.current.allowed_to?(:browse_repository, @project) %>
<h3><%= l(:label_attachment_plural) %></h3>
<ul id="changes-legend">
<li class="change change-A"><%= l(:label_added) %></li>
<li class="change change-M"><%= l(:label_modified) %></li>
<li class="change change-C"><%= l(:label_copied) %></li>
<li class="change change-R"><%= l(:label_renamed) %></li>
<li class="change change-D"><%= l(:label_deleted) %></li>
</ul>
<p><%= link_to(l(:label_view_diff),
:action => 'diff',
:id => @project,
:repository_id => @repository.identifier_param,
:path => "",
:rev => @changeset.identifier) if @changeset.filechanges.any? %></p>
<div class="changeset-changes">
<%= render_changeset_changes %>
</div>
<% end %>
<% content_for :header_tags do %>
<%= stylesheet_link_tag "scm" %>
<% end %>
<%
title = "#{l(:label_revision)} #{format_revision(@changeset)}"
title << " - #{@changeset.comments.truncate(80)}"
html_title(title)
-%>

View file

@ -1,34 +0,0 @@
<div class="contextual">
<%= form_tag(
{:controller => 'archived_repositories', :action => 'revision', :id => @project,
:repository_id => @repository.identifier_param},
:method => :get
) do %>
<%= l(:label_revision) %>: <%= text_field_tag 'rev', nil, :size => 8 %>
<%= submit_tag 'OK' %>
<% end %>
</div>
<h2><%= l(:label_revision_plural) %></h2>
<%= render :partial => 'revisions',
:locals => {:project => @project,
:path => '',
:revisions => @changesets,
:entry => nil } %>
<p class="pagination"><%= pagination_links_full @changeset_pages,@changeset_count %></p>
<% content_for :header_tags do %>
<%= stylesheet_link_tag "scm" %>
<%= auto_discovery_link_tag(
:atom,
params.merge(
{:format => 'atom', :page => nil, :key => User.current.rss_key})) %>
<% end %>
<% other_formats_links do |f| %>
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
<% end %>
<% html_title(l(:label_revision_plural)) -%>

View file

@ -1,71 +0,0 @@
<%= call_hook(:view_repositories_show_contextual, { :repository => @repository, :project => @project }) %>
<div class="contextual">
<%= render :partial => 'navigation' %>
</div>
<h2><%= render :partial => 'breadcrumbs',
:locals => { :path => @path, :kind => 'dir', :revision => @rev } %></h2>
<% if !@entries.nil? %>
<%= render :partial => 'dir_list' %>
<% end %>
<%= render_properties(@properties) %>
<% if @changesets && !@changesets.empty? %>
<h3><%= l(:label_latest_revision_plural) %></h3>
<%= render :partial => 'revisions',
:locals => {:project => @project, :path => @path,
:revisions => @changesets, :entry => nil }%>
<% end %>
<p>
<% has_branches = (!@repository.branches.nil? && @repository.branches.length > 0)
sep = '' %>
<% if @repository.supports_all_revisions? && @path.blank? %>
<%= link_to l(:label_view_all_revisions), :action => 'revisions', :id => @project,
:repository_id => @repository.identifier_param %>
<% sep = '|' %>
<% end %>
<% if @repository.supports_directory_revisions? &&
( has_branches || !@path.blank? || !@rev.blank? ) %>
<%= sep %>
<%= link_to l(:label_view_revisions),
:action => 'changes',
:path => to_path_param(@path),
:id => @project,
:repository_id => @repository.identifier_param,
:rev => @rev %>
<% end %>
</p>
<% if @repository.supports_all_revisions? %>
<% content_for :header_tags do %>
<%= auto_discovery_link_tag(
:atom, params.merge(
{:format => 'atom', :action => 'revisions',
:id => @project, :page => nil, :key => User.current.rss_key})) %>
<% end %>
<%= call_hook(:view_repositories_show_bottom, { :repository => @repository, :project => @project }) %>
<% end %>
<% content_for :sidebar do %>
<h3><%= l(:label_repository_plural) %></h3>
<ul class="repository git">
<% @repositories.sort.each do |repo| %>
<li class="repository git"><%= link_to h(repo.name), {:controller => 'archived_repositories', :action => 'show', :id => @project, :repository_id => repo.identifier_param, :rev => nil, :path => nil},
:class => 'repository' + (@repository.is_a?(Repository::Xitolite) ? ' git' : '') + (repo == @repository ? ' selected' : '') %>
</li>
<% end %>
</ul>
<%= render :partial => 'repositories/download_revision',
:locals => { :repository => @repository } %>
<% end %>
<% content_for :header_tags do %>
<%= stylesheet_link_tag "scm" %>
<% end %>
<% html_title(l(:label_repository)) -%>

View file

@ -1,12 +0,0 @@
- content_for :header_tags do
= bootstrap_load_base
= bootstrap_load_module(:alerts)
= bootstrap_load_module(:label)
= bootstrap_load_module(:modals)
= bootstrap_load_module(:tables)
= bootstrap_load_module(:sortable)
= stylesheet_link_tag 'application', plugin: 'redmine_git_hosting'
= javascript_include_tag 'application', plugin: 'redmine_git_hosting'
#modal-box data-label-save="#{l(:button_save)}" data-label-cancel="#{l(:button_cancel)}" data-label-ok="#{l(:button_ok)}"

View file

@ -1,21 +0,0 @@
- content_for :header_tags do
= bootstrap_load_module(:tooltip)
= additionals_library_load(:clipboardjs)
= stylesheet_link_tag 'git_urls', plugin: 'redmine_git_hosting'
= javascript_include_tag 'git_urls', plugin: 'redmine_git_hosting'
javascript:
$(document).ready(function() { setFirstGitUrl('.git_url_list'); setGitUrls('.git_url'); });
- repositories = Array.wrap(repository) unless repositories
- if repositories.map(&:available_urls_sorted).reject { |h| h.empty? }.any?
- repositories.sort_by { |r| r.is_default ? 0 : 1 }.each do |repository|
- next if repository.available_urls_sorted.empty?
- present repository do |p|
.repository-urls
= p.link_to_repository if repositories.count > 1
= p.git_urls_box
- else
#git_url_box = l(:label_repository_access_not_configured)

View file

@ -1,29 +0,0 @@
#validation_messages
= error_messages_for 'gitolite_public_key'
= labelled_form_for :gitolite_public_key, GitolitePublicKey.new,
url: { controller: 'gitolite_public_keys', action: 'create', user_id: params[:id], tab: params[:id]&&'keys' },
html: { method: :post } do |f|
p
= f.text_field :title, label: :label_identifier_can_be_arbitrary, required: true, style: 'width: 97%;'
- if can_create_deployment_keys_for_some_project(@user)
p
= f.select :key_type,
options_for_select([[l(:label_user_key), 0 ],[l(:label_deploy_key), 1 ]],),
{ required: true, label: :label_key_type },
{ class: 'select_key_type' }
#key_type_options style="display: none;"
p
= f.check_box :delete_when_unused, required: true, label: :label_deployment_credential_delete_when_unused
p
= f.text_area :key, label: :label_public_key, required: true,
style: "width: 97%; height: 200px; overflow: auto;",
cols: nil,
rows: nil
em
= l(:label_cut_and_paste)
br
br
= submit_tag l(:button_create), name: 'create_button'
= submit_tag l(:button_cancel), name: 'cancel_button'

View file

@ -1,21 +0,0 @@
table.list
- if ssh_keys.empty?
tr
td
label = l(:label_no_public_keys)
- else
- ssh_keys.each do |key|
tr class="#{'highlight' if @gitolite_public_key == key}"
td style="text-align: left;"
= h(key)
td style="text-align: left;"
i.fas.fa-check style="color: green; margin-left: 5px; margin-right: 5px;"
= key.fingerprint
- if params[:id]
td style="text-align: left;"
= key.gitolite_path
td.buttons style="width: 10%;"
= link_to l(:button_delete), public_key_path(key, user_id: params[:id]),
method: 'delete',
class: 'icon icon-del',
data: { confirm: l(:text_gitolite_key_destroy_confirmation, title: keylabel(key)) }

View file

@ -1,37 +0,0 @@
h3 = l(:label_my_public_keys)
fieldset.public_key_view
legend = l(:label_current_user_keys)
= render partial: 'gitolite_public_keys/ssh_keys', locals: { ssh_keys: @gitolite_user_keys }
br
fieldset.public_key_view
legend = l(:label_current_deploy_keys)
= render partial: 'gitolite_public_keys/ssh_keys', locals: { ssh_keys: @gitolite_deploy_keys }
br
fieldset.public_key_view
legend = l(:label_public_key_new)
= render partial: 'gitolite_public_keys/form', locals: { user: @user }
- content_for :header_tags do
= stylesheet_link_tag 'application', plugin: 'redmine_git_hosting'
javascript:
function key_type_change(element) {
var idx = element.selectedIndex;
if (idx == 0) {
$('#key_type_options').hide();
$('#gitolite_public_key_delete_when_unused').prop("checked", true);
} else {
$('#key_type_options').show();
}
}
$(document).ready(function() {
$('#gitolite_public_key_key_type').on('change', function() {
key_type_change(this)
});
});

View file

@ -1 +0,0 @@
= render partial: 'gitolite_public_keys/view'

View file

@ -1,2 +0,0 @@
- content_for :header_tags do
meta name="go-import" content="#{@repository.go_url} git #{@repository.go_access_url}"

View file

@ -1,3 +0,0 @@
- if @repositories.size > 1
- content_for :sidebar do
= call_hook(:view_repositories_show_sidebar, repository: @repository)

View file

@ -1,16 +0,0 @@
- if project.module_enabled?(:repository)
- if project.repository && project.repository.is_a?(Repository::Xitolite)
- if RedmineGitHosting::Config.show_repositories_url? && User.current.allowed_to?(:view_changesets, project)
.git_hosting.box
h3
= project.repositories.count > 1 ? l(:label_repository_plural) : l(:label_repository)
= render partial: 'common/git_urls', locals: { repositories: project.gitolite_repos }
- if project.repositories.count > 1
.clear-both
p
= link_to l(:label_see_other_repositories), { controller: '/repositories',
action: 'show',
id: project,
repository_id: project.repository.identifier_param,
rev: nil,
path: nil }

View file

@ -1,61 +0,0 @@
- if @project.repositories.any?
table.table.table-hover
thead
tr
th = l(:field_identifier)
th = l(:field_repository_is_default)
th = l(:label_scm)
th = l(:label_repository)
th = l(:label_repository_default_branch)
th = l(:label_repository_enabled_capabilities)
th
tbody
- @project.repositories.sort.each do |repository|
tr
td = repository.identifier.present? ? repository.identifier : ''
td = checked_image repository.is_default?
td = repository.scm_name
td = link_to h(repository.url),
{ controller: 'repositories',
action: 'show',
id: @project,
repository_id: repository.identifier_param }
td
- if repository.is_a?(Repository::Xitolite)
span.label.label-info = repository.git_default_branch
td align='center'
- if repository.is_a?(Repository::Xitolite)
- if repository.git_annex_enabled?
= render_feature(repository, :git_annex)
- else
= render_feature(repository, :deployment_credentials)
= render_feature(repository, :post_receive_urls)
= render_feature(repository, :mirrors)
= render_feature(repository, :git_daemon)
= render_feature(repository, :git_http)
= render_feature(repository, :git_notify)
= render_feature(repository, :protected_branch)
= render_feature(repository, :public_repo)
td.buttons
- if User.current.allowed_to?(:manage_repository, @project)
= link_to l(:label_user_plural), committers_repository_path(repository),
class: 'icon icon-user'
= link_to l(:button_edit), edit_repository_path(repository),
class: 'icon icon-edit'
= link_to l(:button_move), move_repository_git_extras_path(repository),
class: 'icon icon-move' if repository.is_a?(Repository::Xitolite) && repository.movable?
= delete_link repository_path(repository)
- else
p.nodata = l(:label_no_data)
- if User.current.allowed_to?(:manage_repository, @project)
p = link_to l(:label_repository_new), new_project_repository_path(@project), class: 'icon icon-add'
- content_for :header_tags do
= bootstrap_load_module(:label)
= bootstrap_load_module(:tables)

View file

@ -1,6 +0,0 @@
- if repository.downloadable?
= font_awesome_icon 'fas_download', post_text: l(:label_download_format)
'
= select_tag :download, options_for_select(available_download_format(repository, @rev)),
prompt: l(:label_download_select_format),
onchange: "if (this.value != '') { window.location = this.value; }"

View file

@ -1,42 +0,0 @@
- if @repository.is_a?(Repository::Xitolite) && !@repository.git_annex_enabled?
- content_for :header_tags do
javascript:
$(document).on('click', 'a.modal-box', function(e){
e.preventDefault();
openModalBox(this, 'modal-box');
});
$(document).on('click', 'a.modal-box-close-only', function(e){
e.preventDefault();
openModalBox(this, 'modal-box-close-only');
});
#repository-tabs
ul
- if User.current.git_allowed_to?(:view_repository_deployment_credentials, @repository)
li#tab-repository_deployment_credentials
= link_to font_awesome_icon('fas_lock', post_text: l(:label_deployment_credentials)),
repository_deployment_credentials_path(@repository)
- if User.current.git_allowed_to?(:view_repository_mirrors, @repository)
li#tab-repository_mirrors
= link_to font_awesome_icon('fas_cloud-upload-alt', post_text: l(:label_repository_mirrors)),
repository_mirrors_path(@repository)
- if User.current.git_allowed_to?(:view_repository_post_receive_urls, @repository)
li#tab-repository_post_receive_urls
= link_to font_awesome_icon('fas_external-link-alt', post_text: l(:label_post_receive_urls)),
repository_post_receive_urls_path(@repository)
- if User.current.git_allowed_to?(:view_repository_git_config_keys, @repository)
li#tab-repository_git_config_keys
= link_to font_awesome_icon('fas_th-list', post_text: l(:label_git_config_keys)),
repository_git_config_keys_path(@repository)
- if User.current.git_allowed_to?(:view_repository_protected_branches, @repository)
li#tab-repository_protected_branches
= link_to font_awesome_icon('fas_shield-alt', post_text: l(:label_protected_branches)),
repository_protected_branches_path(@repository)
javascript:
$(document).ready(function() { setRepositoryActiveTab('#{@tab}'); });

View file

@ -1,13 +0,0 @@
- if @repository.is_a?(Repository::Xitolite)
= render partial: 'common/git_hosting_js_headers'
.git_hosting.box
h3
= l(:label_repository_access_url)
- unless @repository.git_annex_enabled?
'
= link_to l(:label_sort_urls),
sort_urls_repository_git_extras_path(@repository),
class: 'modal-box-close-only'
= render 'common/git_urls', repository: @repository

View file

@ -1 +0,0 @@
= watcher_link(@repository, User.current)

View file

@ -1,14 +0,0 @@
ul.repository.git
- @repositories.sort.each do |repo|
- li_class = "#{'repository git' if repo.is_a?(Repository::Xitolite)}"
li class="#{li_class}"
= link_to_repository(repo, @repository)
- if User.current.allowed_to?(:manage_repository, @project)
'
= link_to "(#{l(:label_settings)})", edit_repository_path(repo)
- if @repository.try(:watchers) && (User.current.allowed_to?(:add_repository_xitolite_watchers, @project) || (@repository.watchers.present? && User.current.allowed_to?(:view_repository_xitolite_watchers, @project)))
#watchers= render 'watchers/watchers', watched: @repository
javascript:
$(document).ready(function() { $('#sidebar p').remove(); });

View file

@ -1,14 +0,0 @@
#readme_container.box
h2.readme_trigger style='cursor: pointer;'
| README
hr
#readme_at_repo_dir.wiki
- if html.html_safe.respond_to?(:force_encoding)
= html.html_safe.force_encoding('UTF-8')
- else
= html.html_safe
javascript:
$(document).ready(function() { $("#readme_trigger").click(function(){ $("#readme_at_repo_dir").toggle(500); }); });

View file

@ -1,15 +0,0 @@
- if @repository.is_a?(Repository::Xitolite)
- content_for :header_tags do
= bootstrap_load_base
= stylesheet_link_tag 'application', plugin: 'redmine_git_hosting'
= stylesheet_link_tag 'markdown', plugin: 'redmine_git_hosting'
.git_hosting_urls.box
.container
.row
.col-md-8 style='vertical-align: middle;'
- if RedmineGitHosting::Config.show_repositories_url?
= render 'common/git_urls', repository: @repository
.col-md-4 style='text-align: right; vertical-align: middle;'
- if RedmineGitHosting::Config.download_revision_enabled?
= render 'repositories/download_revision', repository: @repository

View file

@ -1,85 +0,0 @@
- if repository.is_a?(Repository::Xitolite)
= form_for repository.extra, url: repository_git_extras_path(repository), html: { method: :put, remote: true } do |f|
.box.tabular
.container
.row
.col-md-12
#xitolite-messages
= error_messages_for repository.extra
.row
.col-md-6
- unless repository.git_annex_enabled?
p
= label_tag 'repository_git_extra[git_daemon]', l(:label_enable_git_daemon)
= f.check_box :git_daemon, disabled: (!repository.public_project? && !repository.public_repo?)
- if User.current.git_allowed_to?(:create_repository_protected_branches, repository)
p
= label_tag 'repository_git_extra[protected_branch]', l(:label_enable_protected_branches)
= f.check_box :protected_branch
p
= label_tag 'repository_git_extra[public_repo]', l(:label_enable_public_repo)
= f.check_box :public_repo
p
= label_tag 'repository_git_extra[git_http]', l(:label_enable_smart_http)
= f.check_box :git_http
p
= label_tag 'repository_git_extra[git_https]', l(:label_enable_smart_https)
= f.check_box :git_https
p
= label_tag 'repository_git_extra[git_go]', l(:label_enable_go_url)
= f.check_box :git_go
p
= label_tag 'repository_git_extra[git_ssh]', l(:label_enable_ssh_url)
= f.check_box :git_ssh
.col-md-6
p
= label_tag 'repository_git_extra[git_notify]', l(:label_enable_git_notify)
= f.check_box :git_notify
- if repository.git_notification_enabled?
p
= label_tag 'repository_git_extra[notification_sender]', l(:label_git_notification_sender)
= f.text_field :notification_sender
p
= label_tag 'repository_git_extra[notification_prefix]', l(:label_git_notification_prefix)
= f.text_field :notification_prefix
- unless repository.git_annex_enabled?
p
= label_tag 'repository_git_extra[default_branch]', l(:label_repository_default_branch)
- if repository.branches.present?
= f.select :default_branch, repository_branches_list(repository.branches)
- else
span.label.label-info = repository.git_default_branch
p
label= l(:label_mirroring_keys_installed)
= image_tag (RedmineGitHosting::Config.mirroring_keys_installed? ? 'true.png' : 'exclamation.png')
p
label = l(:label_repository_exists_in_gitolite)
= image_tag (repository.exists_in_gitolite? ? 'true.png' : 'exclamation.png')
p
- if repository.empty_in_gitolite?
label = l(:label_empty_repository)
= image_tag('true.png')
- else
label = l(:label_git_objects_count)
= repository.git_objects_count
p
label= l(:label_browse_repository)
= link_to h(repository.url),
{ controller: 'repositories', action: 'show', id: @project, repository_id: repository.identifier_param }
p = f.submit l(:button_save)

View file

@ -1,30 +0,0 @@
.contextual
= render_repository_quick_jump(@repository)
h2
= link_to l(:label_settings), settings_project_path(@project, tab: 'repositories')
'
= Additionals::LIST_SEPARATOR
= l(:label_repository)
'
= Additionals::LIST_SEPARATOR
= @repository.redmine_name
.container
.row
.col-md-12
= call_hook(:view_repository_edit_top, repository: @repository, project: @project)
.container
.row
.col-md-6
= labelled_form_for :repository, @repository, url: repository_path(@repository), html: { method: :put, id: 'repository-form' } do |f|
= render partial: 'form', locals: { f: f }
.col-md-6#xitolite-options style='vertical-align: top;'
= render 'xitolite_options', repository: @repository
.container
.row
.col-md-12
= call_hook(:view_repository_edit_bottom, repository: @repository, project: @project)

View file

@ -1,78 +0,0 @@
#flash_warning.flash.warning = l(:notice_empty_repository)
- if @repository.urls_are_viewable?
- content_for :header_tags do
= stylesheet_link_tag 'application', plugin: 'redmine_git_hosting'
.git_hosting_urls.box
.container
.row
.col-md-8 style='vertical-align: middle;'
= render 'common/git_urls', repository: @repository
.col-md-4 style='text-align: right; vertical-align: middle;'
.box
- if User.current.allowed_to?(:view_changesets, @project)
h3 = l(:label_help_git_setup) + ' :'
pre
code.shell.syntaxhl
| #{link_to l(:label_download_and_install_git), 'https://git-scm.com/download', target: 'external' }
br
| git config --global user.name "#{User.current.name(:firstname_lastname)}"
br
| git config --global user.email #{User.current.mail ? User.current.mail : "mail@example.com"}
- if !User.current.anonymous? && User.current.gitolite_public_keys.length == 0
br
| #{link_to "Upload SSH Public Key", public_keys_path}
- if User.current.allowed_to?(:commit_access, @project)
#repository_setup
h3 = l(:label_help_repository_setup_new) + ' :'
pre
code.shell.syntaxhl
| mkdir #{@repository.redmine_name}
br
| cd #{@repository.redmine_name}
br
| git init
br
| touch readme.txt
br
| git add readme.txt
br
| git commit -m 'Initializing #{@repository.redmine_name} repository'
br
| git remote add origin <span class="git_url_access"></span>
br
| git push -u origin master
h3 = l(:label_help_repository_setup_existing) + ' :'
pre
code.shell.syntaxhl
| cd existing_git_repo
br
| git remote add origin <span class="git_url_access"></span>
br
| git push -u origin master
h3 = l(:label_help_repository_clone) + ' :'
pre
code.shell.syntaxhl
| git clone <span class="git_url_access"></span>
- else
= l(:label_help_no_repo_rights)
- content_for :sidebar do
h3 = l(:label_repository_plural)
ul.repository.git
- @repositories.sort.each do |repo|
- li_class = "#{'repository git' if repo.is_a?(Repository::Xitolite)}"
li class="#{li_class}"
= link_to_repository(repo, @repository)
- if User.current.allowed_to?(:manage_repository, @project)
'
= link_to "(#{l(:label_settings)})", edit_repository_path(repo)
javascript:
$(document).ready(function() { setGitUrlsInstructions('.git_url'); });

View file

@ -1,49 +0,0 @@
- report = RepositoryCommitsStats.new(repository)
#chart_commits_per_month style='height: 300px; width: 47%; margin: 10px; float: left;'
#chart_commits_per_day style='height: 300px; width: 47%; margin: 10px; float: left;'
.clear-both style='margin: 10px;'
#chart_commits_per_hour style = 'height: 500px; width: 47%; margin: 10px; float: left;'
#chart_commits_per_weekday style= 'height: 300px; width: 47%; margin: 10px; float: left;'
#chart_commits_per_weekday style='margin-top: 20px;'
javascript:
var chart_commits_per_month = new Object();
chart_commits_per_month.label = "#{l(:label_commits_per_month)}";
chart_commits_per_month.label_y_axis = "#{l(:label_commits_number)}";
chart_commits_per_month.target = '#chart_commits_per_month';
chart_commits_per_month.categories = #{report.commits_per_month[:categories].to_json.html_safe};
chart_commits_per_month.series = #{report.commits_per_month[:series].to_json.html_safe};
var chart_commits_per_day = new Object();
chart_commits_per_day.label = "#{l(:label_commits_per_day)}";
chart_commits_per_day.label_y_axis = "#{l(:label_commits_number)}";
chart_commits_per_day.target = '#chart_commits_per_day';
chart_commits_per_day.categories = #{report.commits_per_day[:categories].to_json.html_safe};
chart_commits_per_day.series = #{report.commits_per_day[:series].to_json.html_safe};
chart_commits_per_day.legend = {
layout: 'vertical',
align: 'left',
verticalAlign: 'top',
x: 50,
y: 50,
floating: true,
borderWidth: 1,
backgroundColor: '#fff'
};
var chart_commits_per_hour = new Object();
chart_commits_per_hour.label = "#{l(:label_commits_per_hour)}";
chart_commits_per_hour.label_y_axis = "#{l(:label_hour)}";
chart_commits_per_hour.label_x_axis = "#{l(:label_commits_number)}";
chart_commits_per_hour.target = '#chart_commits_per_hour';
chart_commits_per_hour.categories = #{report.commits_per_hours[:categories].to_json.html_safe};
chart_commits_per_hour.series = #{report.commits_per_hours[:series].to_json.html_safe};
var chart_commits_per_weekday = new Object();
chart_commits_per_weekday.label = "#{l(:label_commits_per_weekday)}";
chart_commits_per_weekday.target = '#chart_commits_per_weekday';
chart_commits_per_weekday.series = #{report.commits_per_weekday.to_json.html_safe};

View file

@ -1,34 +0,0 @@
- report = RepositoryContributorsStats.new(repository)
ul.thumbnails
- @author_charts = []
- report.commits_per_author.each do |commits_data|
- idx = report.commits_per_author.index(commits_data)
- @author_charts.push("chart_commits_per_author_#{idx}")
javascript:
var chart_commits_per_author_#{idx} = new Object();
chart_commits_per_author_#{idx}.label = "";
chart_commits_per_author_#{idx}.label_y_axis = "#{l(:label_commits_number)}";
chart_commits_per_author_#{idx}.target = '#chart_commits_per_author_#{idx}';
chart_commits_per_author_#{idx}.categories = #{commits_data[:categories].to_json.html_safe};
chart_commits_per_author_#{idx}.series = #{commits_data[:series].to_json.html_safe};
chart_commits_per_author_#{idx}.legend = {};
li.span6
.thumbnail id="contributor-#{idx}"
h4
= commits_data[:author_name]
'
small = commits_data[:author_mail]
h5 = commits_data[:total_commits]
div id="chart_commits_per_author_#{idx}" style='height: 200px; width: 100%'
#chart_commits_per_author
javascript:
var chart_commits_per_author = new Object();
chart_commits_per_author.label = "#{l(:label_commits_per_author)}";
chart_commits_per_author.label_y_axis = "#{l(:label_commits_number)}";
chart_commits_per_author.target = '#chart_commits_per_author';
chart_commits_per_author.categories = #{report.commits_per_author_global[:categories].to_json.html_safe};
chart_commits_per_author.series = #{report.commits_per_author_global[:series].to_json.html_safe};

View file

@ -1,8 +0,0 @@
- report = RepositoryGlobalStats.new(repository).build
ul.thumbnails
- report.each do |key, value|
li.span4
.thumbnail
.title = key
.value = value

View file

@ -1,44 +0,0 @@
h2 = l(:label_statistics)
#statistics-tabs
ul
li
a href="#statistics-global"
= l(:label_repository_statistics_global)
li
a href="#statistics-commits"
= l(:label_repository_statistics_commits)
li
a href="#statistics-contributors"
= l(:label_repository_statistics_contributors)
#statistics-global
= render 'repositories/statistics/global', repository: @repository
#statistics-commits
= render 'repositories/statistics/commits', repository: @repository
#statistics-contributors
= render 'repositories/statistics/contributors', repository: @repository
.clear-both style="margin: 10px;"
p = link_to l(:button_back), action: 'show', id: @project
- html_title(l(:label_repository), l(:label_statistics))
- content_for :header_tags do
= bootstrap_load_base
= javascript_include_tag('highcharts/highcharts', plugin: 'redmine_git_hosting')
= javascript_include_tag('highcharts/modules/drilldown', plugin: 'redmine_git_hosting')
= stylesheet_link_tag 'application', plugin: 'redmine_git_hosting'
= javascript_include_tag 'set_highcharts', plugin: 'redmine_git_hosting'
- charts = @author_charts.map { |chart| 'createZoomableAreaChart(' + chart + ');' }
javascript:
$(document).ready(function() {
createAreaChart(chart_commits_per_month);
createZoomableAreaChart(chart_commits_per_day);
createBarChart(chart_commits_per_hour);
createPieChart(chart_commits_per_weekday);
#{raw charts.join("\n")}
createColumnChart(chart_commits_per_author);
$("#statistics-tabs").tabs();
});

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_deployment_credentials/new') %>

View file

@ -1,10 +0,0 @@
= labelled_form_for :repository_deployment_credential, @credential,
url: repository_deployment_credential_path(@repository, @credential),
authenticity_token: form_authenticity_token,
html: { method: :put, class: 'tabular', remote: true } do |f|
.flash-messages = error_messages_for 'credential'
.box
p = f.select :perm, options_for_select(RepositoryDeploymentCredential::VALID_PERMS, @credential.perm), required: true
p = f.check_box :active

View file

@ -1,44 +0,0 @@
div
- if User.current.git_allowed_to?(:create_repository_deployment_credentials, @repository)
.contextual
- css_class = (@user_keys.present? || @other_keys.present?) ? 'modal-box' : 'modal-box-close-only'
= link_to l(:label_deployment_credential_add),
new_repository_deployment_credential_path(@repository),
class: "icon icon-add #{css_class}"
h3 = l(:label_deployment_credentials)
- if @repository_deployment_credentials.any?
table.table.table-hover
thead
tr
th = l(:label_deployment_credential_owner)
th = l(:label_deployment_credential_public_key_name)
th = l(:label_deployment_credential_public_key_file)
th = l(:label_permissions)
th = l(:label_deployment_credential_honored)
th = l(:label_deployment_credential_active)
th
tbody
- @repository_deployment_credentials.sort_by {|x| [x.user.login, x.gitolite_public_key.title]}.each do |credential|
tr
td= credential.user.login
td
- if credential.user == User.current
= link_to credential.gitolite_public_key.title, public_keys_path
- elsif User.current.admin?
= link_to credential.gitolite_public_key.title, edit_user_path(credential.user, tab: 'keys')
- else
= credential.gitolite_public_key.title
td = credential.gitolite_public_key.gitolite_path
td = credential.perm
td = checked_image_with_exclamation credential.honored?
td = checked_image_with_exclamation credential.active?
td.buttons
- if User.current.git_allowed_to?(:edit_repository_deployment_credentials, @repository) && (User.current.admin? || User.current == credential.user)
= link_to l(:button_edit), edit_repository_deployment_credential_path(@repository, credential), class: 'icon icon-edit modal-box'
= link_to l(:button_delete), repository_deployment_credential_path(@repository, credential), remote: true, method: :delete, data: { confirm: l(:text_are_you_sure) }, class: 'icon icon-del'
- else
p.nodata = l(:label_no_data)

View file

@ -1,13 +0,0 @@
= labelled_form_for :repository_deployment_credential, @credential,
url: repository_deployment_credentials_path(@repository),
authenticity_token: form_authenticity_token,
html: { method: :post, class: 'tabular', remote: true } do |f|
.flash-messages= error_messages_for 'credential'
.box
- if @user_keys.present? || @other_keys.present?
p = f.select :gitolite_public_key_id, build_list_of_keys(@user_keys, @other_keys, @disabled_keys), required: true, label: :label_deployment_credential_select_deploy_key
p = f.select :perm, options_for_select(RepositoryDeploymentCredential::VALID_PERMS, RepositoryDeploymentCredential::DEFAULT_PERM), required: true, label: :label_permissions
- else
= link_to l(:label_deployment_credential_create_key_first), public_keys_path

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_deployment_credentials/edit') %>

View file

@ -1,28 +0,0 @@
- if git_config_keys.any?
table.table.table-hover
thead
tr
th = l(:label_key)
th = l(:field_value)
th
tbody
- git_config_keys.each do |git_config_key|
tr
td
span.label.label-info = git_config_key.key
td
span.label.label-success = git_config_key.value
td.buttons
- if User.current.git_allowed_to?(:edit_repository_git_config_keys, @repository)
= link_to l(:button_edit),
edit_repository_git_config_key_path(@repository, git_config_key),
class: 'icon icon-edit modal-box'
= link_to l(:button_delete),
repository_git_config_key_path(@repository, git_config_key),
remote: true,
method: :delete,
data: { confirm: l(:text_are_you_sure) },
class: 'icon icon-del'
- else
p.nodata = l(:label_no_data)

View file

@ -1,9 +0,0 @@
.flash-messages = error_messages_for 'git_config_key'
.box
p = f.select :type,
options_for_select(git_config_key_options, @git_config_key.type),
{ required: @git_config_key.new_record?, prompt: 'Select a key type' },
{ disabled: !@git_config_key.new_record? }
p = f.text_field :key, required: true, size: 65, label: :label_key
p = f.text_field :value, required: true, size: 65

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_git_config_keys/new') %>

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_git_config_key, @git_config_key,
url: repository_git_config_key_path(@repository, @git_config_key),
authenticity_token: form_authenticity_token,
html: { method: :put, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,9 +0,0 @@
api.array :repository_git_config_keys, api_meta(total_count: @repository_git_config_keys.count) do
@repository_git_config_keys.each do |git_config_key|
api.git_config_key do
api.id git_config_key.id
api.key git_config_key.key
api.value git_config_key.value
end
end
end

View file

@ -1,29 +0,0 @@
div
- if User.current.git_allowed_to?(:create_repository_git_config_keys, @repository)
.contextual
= link_to l(:label_git_config_key_add),
new_repository_git_config_key_path(@repository, type: 'git_config'),
class: 'icon icon-add modal-box'
h3
= l(:label_git_config_keys)
= link_to "(#{l(:label_gitolite_documentation)})",
'https://gitolite.com/gitolite/git-config.html',
target: '_blank'
= render 'config_keys', git_config_keys: @repository_git_config_keys
- if User.current.git_allowed_to?(:create_repository_git_config_keys, @repository)
.contextual
= link_to l(:label_git_option_key_add),
new_repository_git_config_key_path(@repository, type: 'git_option'),
class: 'icon icon-add modal-box'
h3
= l(:label_git_option_keys)
= link_to "(#{l(:label_gitolite_documentation)})",
'https://gitolite.com/gitolite/options.html',
target: '_blank'
= render 'config_keys', git_config_keys: @repository_git_option_keys

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_git_config_key, @git_config_key,
url: repository_git_config_keys_path(@repository),
authenticity_token: form_authenticity_token,
html: { method: :post, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,5 +0,0 @@
api.git_config_key do
api.id @git_config_key.id
api.key @git_config_key.key
api.value @git_config_key.value
end

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_git_config_keys/edit') %>

View file

@ -1,17 +0,0 @@
h2 = l(:label_move_repository, repo_name: @repository.gitolite_repository_name)
.box
= labelled_form_for :repository_mover, @move_repository_form,
url: move_repository_git_extras_path(@repository),
authenticity_token: form_authenticity_token,
html: { method: :post, class: 'tabular', data: { confirm: l(:text_are_you_sure) } } do |f|
.flash-messages = error_messages_for 'move_repository_form'
p
= f.select :project_id,
render_options_for_move_repo_select_box(@project),
required: true
p
= f.submit l(:button_move)
'
= link_to l(:button_cancel), settings_project_path(@project, tab: 'repositories')

View file

@ -1,11 +0,0 @@
#sortable-url-messages
ul#sortable-url.list-unstyled data-remote="true" data-update-url="#{sort_urls_repository_git_extras_path(@repository)}"
- @repository.available_urls_sorted.keys.each do |url_type|
li.url_type.draggable id="repository_git_extra_#{url_type}"
= icon_for_url_type(url_type)
'
span = label_for_url_type(url_type)
javascript:
$(document).ready(function() { setSortableElement('#sortable-url', '#sortable-url'); });

View file

@ -1 +0,0 @@
$('#sortable-url-messages').html("<%= escape_javascript render_flash_messages %>");

View file

@ -1,3 +0,0 @@
$('#xitolite-options').html("<%= escape_javascript(render 'repositories/xitolite_options', repository: @repository) %>");
$('#xitolite-messages').append("<%= escape_javascript render_flash_messages %>");
$('#xitolite-messages').children().each(function(index, element){ $(element).delay(3000).slideUp(200, function(){$(this).alert('close')}) });

View file

@ -1,22 +0,0 @@
.flash-messages = error_messages_for 'mirror'
.box
p = f.text_field :url, required: true, size: 65
em
p
= l(:label_mirror_url_accepted_format) + ' :'
br
| ssh://git@redmine.example.org/project1/project2/project3/project4.git
br
| ssh://git@redmine.example.org:2222/project1/project2/project3/project4.git
p = f.check_box :active
p = f.select :push_mode,
options_for_select(mirrors_options, @mirror.push_mode),
{ label: :label_mirror_push_mode },
onchange: "push_mode_change(this); return false;"
#ref_spec_options style="#{@mirror.mirror_mode? ? 'display: none;' : ''}"
p = f.check_box :include_all_branches, label: :label_mirror_include_all_branches
p = f.check_box :include_all_tags, label: :label_mirror_include_all_tags
p = f.text_field :explicit_refspec, label: :label_mirror_explicit_refspec, size: 65

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_mirrors/new') %>

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_mirror, @mirror,
url: repository_mirror_path(@repository, @mirror),
authenticity_token: form_authenticity_token,
html: { method: :put, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,13 +0,0 @@
api.array :repository_mirrors, api_meta(total_count: @repository_mirrors.count) do
@repository_mirrors.each do |mirror|
api.mirror do
api.id mirror.id
api.url mirror.url
api.active mirror.active
api.push_mode mirror.push_mode_to_s
api.include_all_branches mirror.include_all_branches
api.include_all_tags mirror.include_all_tags
api.explicit_refspec mirror.explicit_refspec
end
end
end

View file

@ -1,55 +0,0 @@
div
- if User.current.git_allowed_to?(:create_repository_mirrors, @repository)
.contextual= link_to l(:label_mirror_add), new_repository_mirror_path(@repository), class: 'icon icon-add modal-box'
h3 = l(:label_repository_mirrors)
- if @repository_mirrors.any?
table.table.table-hover
thead
tr
th = l(:field_url)
th = l(:label_mirror_refspec)
th = l(:label_mode)
th = l(:label_enabled)
th
tbody
- @repository_mirrors.each do |mirror|
tr
td = mirror.url
td = refspec(mirror, 64).html_safe
td = mirror_mode(mirror).html_safe
td = checked_image_with_exclamation mirror.active?
td.buttons
- if User.current.git_allowed_to?(:push_repository_mirrors, @repository)
= link_to font_awesome_icon('fas_rocket', post_text: l(:label_mirror_push), class: 'fa-lg'),
push_repository_mirror_path(@repository, mirror),
class: 'modal-box-close-only'
- if User.current.git_allowed_to?(:edit_repository_mirrors, @repository)
= link_to l(:button_edit), edit_repository_mirror_path(@repository, mirror), class: 'icon icon-edit modal-box'
= link_to l(:button_delete),
repository_mirror_path(@repository, mirror),
remote: true,
method: :delete,
data: { confirm: l(:text_are_you_sure) },
class: 'icon icon-del'
- else
p.nodata = l(:label_no_data)
.git_hosting_spacer
div style='margin: 2px 3px; width: 99%;'
div
= clipboardjs_button_for('mirror_pubkey')
span style='margin-left: 10px;'
= l(:label_mirror_help) + ' :'
.git_hosting_spacer
textarea#mirror_pubkey readonly='readonly' style='height: 100px; width: 99%; font-family: sans-serif;'
= RedmineGitHosting::Config.mirroring_public_key
.git_hosting_spacer

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_mirror, @mirror,
url: repository_mirrors_path(@repository),
authenticity_token: form_authenticity_token,
html: { method: :post, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,8 +0,0 @@
p style='white-space: nowrap;'
= render_push_state(@mirror, @push_failed)
span
b = l(:label_mirror_push_output) + ' :'
pre class="mirror-push-#{@push_failed == true ? 'error' : ''}" }
= @shellout

View file

@ -1,9 +0,0 @@
api.mirror do
api.id @mirror.id
api.url @mirror.url
api.active @mirror.active
api.push_mode @mirror.push_mode_to_s
api.include_all_branches @mirror.include_all_branches
api.include_all_tags @mirror.include_all_tags
api.explicit_refspec @mirror.explicit_refspec
end

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_mirrors/edit') %>

View file

@ -1,33 +0,0 @@
.flash-messages = error_messages_for 'post_receive_url'
.box
p = f.text_field :url, required: true, size: 65
em
p
= l(:label_mirror_url_accepted_format) + ' :'
br
| http://example.com
br
| https://example.com
p = f.check_box :active
p = f.select :mode,
[['Github-style POST', :github],
['Empty GET request', :get]],
{},
onchange: "post_mode_change(this); return false;"
#payload_options style="#{@post_receive_url.github_mode? ? '' : 'display: none;'}"
p = f.check_box :split_payloads
- if @repository.branches.any?
p = f.check_box :use_triggers, onchange: 'trigger_mode_change(this); return false;'
#triggers_options style="#{@post_receive_url.use_triggers? ? '' : 'display: none;'}"
= hidden_field_tag 'repository_post_receive_url[triggers][]', ''
- @repository.branches.each do |branch|
p
label
= check_box_tag 'repository_post_receive_url[triggers][]', branch.to_s, @post_receive_url.triggers.include?(branch.to_s)
= branch.to_s

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_post_receive_urls/new') %>

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_post_receive_url, @post_receive_url,
url: repository_post_receive_url_path(@repository, @post_receive_url),
authenticity_token: form_authenticity_token,
html: { method: :put, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,13 +0,0 @@
api.array :repository_post_receive_urls, api_meta(total_count: @repository_post_receive_urls.count) do
@repository_post_receive_urls.each do |post_receive_url|
api.post_receive_url do
api.id post_receive_url.id
api.url post_receive_url.url
api.mode post_receive_url.mode.to_s
api.active post_receive_url.active
api.use_triggers post_receive_url.use_triggers
api.triggers post_receive_url.triggers
api.split_payloads post_receive_url.split_payloads
end
end
end

View file

@ -1,35 +0,0 @@
div
- if User.current.git_allowed_to?(:create_repository_post_receive_urls, @repository)
.contextual
= link_to l(:label_post_receive_url_add), new_repository_post_receive_url_path(@repository), class: 'icon icon-add modal-box'
h3 = l(:label_post_receive_urls)
- if @repository_post_receive_urls.any?
table.table.table-hover
thead
tr
th = l(:field_url)
th = l(:label_mode)
th = l(:label_enabled)
th = l(:label_use_triggers)
th = l(:label_triggers)
th
tbody
- @repository_post_receive_urls.each do |post_receive_url|
tr
td = post_receive_url.url
td = post_receive_mode(post_receive_url).html_safe
td = checked_image_with_exclamation post_receive_url.active?
td = checked_image_with_exclamation post_receive_url.use_triggers?
td
- post_receive_url.triggers.each do |trigger|
span.label.label-info = trigger
td.buttons
- if User.current.git_allowed_to?(:edit_repository_post_receive_urls, @repository)
= link_to l(:button_edit), edit_repository_post_receive_url_path(@repository, post_receive_url), class: 'icon icon-edit modal-box'
= link_to l(:button_delete), repository_post_receive_url_path(@repository, post_receive_url), remote: true, method: :delete, data: { confirm: l(:text_are_you_sure) }, class: 'icon icon-del'
- else
p.nodata = l(:label_no_data)

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_post_receive_url, @post_receive_url,
url: repository_post_receive_urls_path(@repository),
authenticity_token: form_authenticity_token,
html: { method: :post, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,9 +0,0 @@
api.post_receive_url do
api.id @post_receive_url.id
api.url @post_receive_url.url
api.mode @post_receive_url.mode.to_s
api.active @post_receive_url.active
api.use_triggers @post_receive_url.use_triggers
api.triggers @post_receive_url.triggers
api.split_payloads @post_receive_url.split_payloads
end

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_post_receive_urls/edit') %>

View file

@ -1,35 +0,0 @@
.flash-messages= error_messages_for 'protected_branch'
.box
p = f.text_field :path, required: true, size: 65, label: l(:label_branch_path)
p = f.select :permissions,
options_for_select(RepositoryProtectedBranche::VALID_PERMS, @protected_branch.permissions),
required: true,
label: :label_permissions
= hidden_field_tag 'user_ids[]', ''
= hidden_field_tag 'group_ids[]', ''
.container
.row
.col-md-6
h4
= font_awesome_icon 'fas_user', post_text: l(:label_user_plural), class: 'fa-lg'
- @project.users_available.each do |user|
p style='padding: 0px;'
label style='margin-left: 0; width: auto; font-weight: lighter;'
= check_box_tag 'user_ids[]', user.id, @protected_branch.users.include?(user)
= user
br
.col-md-6
h4
= font_awesome_icon 'fas_users', post_text: l(:label_group_plural), class: 'fa-lg'
- @project.groups_available.each do |group|
p style= 'padding: 0px;'
label style='margin-left: 0; width: auto; font-weight: lighter;'
= check_box_tag 'group_ids[]', group.id, @protected_branch.groups.include?(group)
= group
br

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_protected_branches/new') %>

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_protected_branche, @protected_branch,
url: repository_protected_branch_path(@repository, @protected_branch),
authenticity_token: form_authenticity_token,
html: { method: :put, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,11 +0,0 @@
api.array :repository_protected_branches, api_meta(total_count: @repository_protected_branches.count) do
@repository_protected_branches.each do |protected_branch|
api.protected_branch do
api.id protected_branch.id
api.path protected_branch.path
api.permissions protected_branch.permissions
api.user_list protected_branch.user_list
api.position protected_branch.position
end
end
end

View file

@ -1,51 +0,0 @@
div
- if User.current.git_allowed_to?(:create_repository_protected_branches, @repository)
.contextual
= link_to l(:label_protected_branch_add),
new_repository_protected_branch_path(@repository),
class: 'icon icon-add modal-box'
h3
= l(:label_protected_branches)
= link_to "(#{l(:label_gitolite_documentation)})", 'https://gitolite.com/gitolite/conf.html#rules', class: 'external'
- if @repository_protected_branches.any?
table#protected_branches.table.table-hover data-update-url="#{sort_repository_protected_branches_url}" style="opacity: #{@repository.protected_branches_enabled? ? '1' : '0.5'};"
thead
tr
th
th = l(:label_permissions)
th = l(:label_branch_path)
th = l(:label_user_list)
th
tbody
- @repository_protected_branches.each do |protected_branch|
tr.protected_branch id="protected_branch_#{protected_branch.id}"
td
span.handle
| [drag]
td
- color = protected_branch.permissions == '-' ? 'important' : 'success'
span.label class="label-#{color}"
= protected_branch.permissions
td style='font-family: Consolas;'
= protected_branch.path
td = protected_branch.users.map { |u| link_to(u) }.join(', ').html_safe
td.buttons
- if User.current.git_allowed_to?(:edit_repository_protected_branches, @repository)
= link_to l(:button_edit), edit_repository_protected_branch_path(@repository, protected_branch), class: 'icon icon-edit modal-box'
= link_to l(:button_clone), clone_repository_protected_branch_path(@repository, protected_branch), class: 'icon icon-copy modal-box'
= link_to l(:button_delete), repository_protected_branch_path(@repository, protected_branch), remote: true, method: :delete, data: { confirm: l(:text_are_you_sure) }, class: 'icon icon-del'
- unless @repository.protected_branches_enabled?
em = l(:protected_branches_reminder)
- else
p.nodata = l(:label_no_data)
javascript:
$(document).ready(function() { setSortableElement('#protected_branches tbody', '#protected_branches'); });

View file

@ -1,6 +0,0 @@
= labelled_form_for :repository_protected_branche, @protected_branch,
url: repository_protected_branches_path(@repository),
authenticity_token: form_authenticity_token,
html: { method: :post, class: 'tabular', remote: true } do |f|
= render partial: 'form', locals: { f: f }

View file

@ -1,7 +0,0 @@
api.protected_branch do
api.id @protected_branch.id
api.path @protected_branch.path
api.permissions @protected_branch.permissions
api.user_list @protected_branch.user_list
api.position @protected_branch.position
end

View file

@ -1 +0,0 @@
<%= js_render_template('#modal-box', 'repository_protected_branches/edit') %>

View file

@ -1,23 +0,0 @@
= render partial: 'common/git_hosting_js_headers'
- content_for :header_tags do
= additionals_library_load(:select2)
span
= l(:label_need_help) + ':'
'
= link_to l(:label_redmine_git_hosting_wiki), RedmineGitHosting::Config::GITHUB_WIKI, class: 'external'
br
span
= l(:label_open_issue) + ':'
'
= link_to l(:label_redmine_git_hosting_issue), RedmineGitHosting::Config::GITHUB_ISSUE, class: 'external'
br
br
= render_tabs gitolite_plugin_settings_tabs
javascript:
$(document).ready(function() { setSettingsActiveTab(); setBootstrapSwitch(); });

View file

@ -1,4 +0,0 @@
div style='height: 50%;'
ul.authors-list
- @authors.each do |author|
li = mail_to author.email, author.name

View file

@ -1 +0,0 @@
<%= js_render_partial('#install_gitolite_hooks', 'settings/redmine_git_hosting/install_hooks_result') %>

View file

@ -1,56 +0,0 @@
/ Gitolite Access Config
- ssh_server_domain = RedmineGitHosting::Config.get_setting(:ssh_server_domain)
- http_server_domain = RedmineGitHosting::Config.get_setting(:http_server_domain)
- https_server_domain = RedmineGitHosting::Config.get_setting(:https_server_domain)
- http_server_subdir = RedmineGitHosting::Config.get_setting(:http_server_subdir)
- gitolite_http_by_default = RedmineGitHosting::Config.get_setting(:gitolite_http_by_default)
h3 = l(:label_gitolite_access_config)
p
label = l(:label_ssh_server_domain)
= text_field_tag 'settings[ssh_server_domain]', ssh_server_domain, size: 60
br
em.info
= l(:label_default_domain_name) + ' :'
= Setting.host_name.split('/').first
p
label = l(:label_http_server_domain)
= text_field_tag 'settings[http_server_domain]', http_server_domain, size: 60
br
em.info
= l(:label_default_domain_name) + ' :'
= Setting.host_name.split('/').first
p
label = l(:label_https_server_domain)
= text_field_tag 'settings[https_server_domain]', https_server_domain, size: 60
br
em.info
= l(:label_https_server_domain_desc)
p
label == l(:label_http_server_subdir)
= text_field_tag 'settings[http_server_subdir]', http_server_subdir, size: 60
p
label = l(:label_gitolite_http_by_default)
= select_tag 'settings[gitolite_http_by_default]', options_for_select(RepositoryGitExtra::SMART_HTTP_OPTIONS, gitolite_http_by_default)
p
= additionals_settings_checkbox :show_repositories_url,
value: RedmineGitHosting::Config.get_setting(:show_repositories_url, true),
value_is_bool: true
p
= additionals_settings_checkbox :gitolite_daemon_by_default,
value: RedmineGitHosting::Config.get_setting(:gitolite_daemon_by_default, true),
value_is_bool: true
p
= additionals_settings_checkbox :download_revision_enabled,
value: RedmineGitHosting::Config.get_setting(:download_revision_enabled, true),
value_is_bool: true,
label: l(:label_gitolite_download_revision_enabled)

View file

@ -1,30 +0,0 @@
/ Gitolite Cache Config
- gitolite_cache_max_time = RedmineGitHosting::Config.get_setting(:gitolite_cache_max_time)
- gitolite_cache_max_size = RedmineGitHosting::Config.get_setting(:gitolite_cache_max_size)
- gitolite_cache_max_elements = RedmineGitHosting::Config.get_setting(:gitolite_cache_max_elements)
- gitolite_cache_adapter = RedmineGitHosting::Config.get_setting(:gitolite_cache_adapter)
h3 = l(:label_gitolite_cache_config)
p
label = l(:label_gitolite_cache_max_time)
= select_tag 'settings[gitolite_cache_max_time]', options_for_select(git_cache_options, gitolite_cache_max_time)
br
p
label = l(:label_gitolite_cache_max_size)
= text_field_tag 'settings[gitolite_cache_max_size]', gitolite_cache_max_size, size: 20
em<
' MB
br
p
label = l(:label_gitolite_cache_max_elements)
= text_field_tag 'settings[gitolite_cache_max_elements]', gitolite_cache_max_elements, size: 20
br
p
label = l(:label_gitolite_cache_adapter)
= select_tag 'settings[gitolite_cache_adapter]', options_for_select(GitCache::CACHE_ADAPTERS, gitolite_cache_adapter)
br
em = l(:label_gitolite_cache_adapter_desc)

View file

@ -1,45 +0,0 @@
/ Gitolite Config File
- gitolite_config_file = RedmineGitHosting::Config.get_setting(:gitolite_config_file)
- gitolite_identifier_prefix = RedmineGitHosting::Config.get_setting(:gitolite_identifier_prefix)
- gitolite_identifier_strip_user_id = RedmineGitHosting::Config.get_setting(:gitolite_identifier_strip_user_id, true)
- disable_button = (gitolite_config_file == RedmineGitHosting::Config::GITOLITE_DEFAULT_CONFIG_FILE ? true : false)
h3 = l(:label_gitolite_config_file)
p
label = l(:label_gitolite_config_file)
= text_field_tag 'settings[gitolite_config_file]', gitolite_config_file, size: 60
p
label = l(:label_gitolite_identifier_prefix)
= hidden_field_tag "settings[gitolite_identifier_prefix]", gitolite_identifier_prefix if disable_button
= text_field_tag "settings[gitolite_identifier_prefix]", gitolite_identifier_prefix, size: 60, disabled: disable_button
br
em.info
= l(:label_gitolite_identifier_prefix_desc)
p
= additionals_settings_checkbox :gitolite_identifier_strip_user_id,
value: gitolite_identifier_strip_user_id,
value_is_bool: true,
disabled: disable_button
br
em.info
= l(:label_gitolite_identifier_strip_user_id_desc)
br
.git_hosting_access_box
h3 = l(:label_ssh_keys_current_access_patterns)
- gitolite_identifier_suffix = !gitolite_identifier_strip_user_id ? '_user_id' : ''
pre
markdown:
SSH Key : #{gitolite_identifier_prefix}admin<em>#{gitolite_identifier_suffix}</em>@redmine_1394507971_600081.pub
SSH Key : #{gitolite_identifier_prefix}bob<em>#{gitolite_identifier_suffix}</em>@redmine_1394507971_600081.pub
repo repositories/test
RW+ = <em>#{gitolite_identifier_prefix}</em>admin<em>#{gitolite_identifier_suffix}</em> <em>#{gitolite_identifier_prefix}</em>john<em>#{gitolite_identifier_suffix}</em>
RW = <em>#{gitolite_identifier_prefix}</em>bob<em>#{gitolite_identifier_suffix}</em> alice
R = <em>#{gitolite_identifier_prefix}</em>reporter<em>#{gitolite_identifier_suffix}</em> mike gitweb

View file

@ -1,43 +0,0 @@
/ Gitolite Global Config
- gitolite_recycle_bin_expiration_time = RedmineGitHosting::Config.get_setting(:gitolite_recycle_bin_expiration_time)
- gitolite_temp_dir = RedmineGitHosting::Config.get_setting(:gitolite_temp_dir)
- gitolite_log_level = RedmineGitHosting::Config.get_setting(:gitolite_log_level)
- git_config_username = RedmineGitHosting::Config.get_setting(:git_config_username)
- git_config_email = RedmineGitHosting::Config.get_setting(:git_config_email)
h3 = l(:label_gitolite_global_config)
p
label = l(:label_gitolite_temp_dir)
= text_field_tag 'settings[gitolite_temp_dir]', gitolite_temp_dir, size: 60
br
em.info
= l(:label_gitolite_temp_dir_desc)
p
label = l(:label_gitolite_recycle_bin_expiration_time)
= text_field_tag 'settings[gitolite_recycle_bin_expiration_time]', gitolite_recycle_bin_expiration_time, size: 10
br
em.info
= l(:label_gitolite_recycle_bin_expiration_time_desc)
p
label = l(:label_gitolite_log_level)
= select_tag 'settings[gitolite_log_level]', options_for_select(log_level_options, gitolite_log_level)
br
em.info
= l(:label_gitolite_log_level_desc)
p
label = l(:label_git_config_username)
= text_field_tag 'settings[git_config_username]', "#{git_config_username}", size: 60
br
em.info
= l(:label_git_config_username_desc)
p
label = l(:label_git_config_email)
= text_field_tag 'settings[git_config_email]', "#{git_config_email}", size: 60
br
em.info
= l(:label_git_config_email_desc)

View file

@ -1,46 +0,0 @@
/ Gitolite Hooks Config
- gitolite_hooks_url = RedmineGitHosting::Config.get_setting(:gitolite_hooks_url)
.contextual
= link_to font_awesome_icon('fas_rocket', post_text: l(:label_install_gitolite_hooks), class: 'fa-lg'),
install_gitolite_hooks_path('redmine_git_hosting'),
remote: true
h3 = l(:label_gitolite_hooks_config)
.container
.row
.col-md-6 style='vertical-align: top;'
p
= additionals_settings_checkbox :gitolite_overwrite_existing_hooks,
value: RedmineGitHosting::Config.get_setting(:gitolite_overwrite_existing_hooks, true),
value_is_bool: true
p
= additionals_settings_checkbox :gitolite_hooks_are_asynchronous,
value: RedmineGitHosting::Config.get_setting(:gitolite_hooks_are_asynchronous, true),
value_is_bool: true
p
= additionals_settings_checkbox :gitolite_hooks_debug,
value: RedmineGitHosting::Config.get_setting(:gitolite_hooks_debug, true),
value_is_bool: true
p
label = l(:label_gitolite_hooks_url)
= text_field_tag 'settings[gitolite_hooks_url]', gitolite_hooks_url, size: 60
br
em.info
= l(:label_default_gitolite_hooks_url) + ' :'
= "#{Setting.protocol}://#{Setting.host_name.split('/').first}"
p
label = l(:label_gitolite_hooks_url)
span.label.label-info = RedmineGitHosting::Config.gitolite_hooks_url
p
label= l(:label_gitolite_hooks_namespace)
span.label.label-info = RedmineGitHosting::Config.gitolite_hooks_namespace
.col-md-6
#install_gitolite_hooks

View file

@ -1,38 +0,0 @@
/ Gitolite Notifications Config
- gitolite_notify_global_prefix = RedmineGitHosting::Config.get_setting(:gitolite_notify_global_prefix)
- gitolite_notify_global_sender_address = RedmineGitHosting::Config.get_setting(:gitolite_notify_global_sender_address)
- gitolite_notify_global_include = RedmineGitHosting::Config.get_setting(:gitolite_notify_global_include)
- gitolite_notify_global_exclude = RedmineGitHosting::Config.get_setting(:gitolite_notify_global_exclude)
h3 = l(:label_gitolite_notify_config)
p
= additionals_settings_checkbox :gitolite_notify_by_default,
value: RedmineGitHosting::Config.get_setting(:gitolite_notify_by_default, true),
value_is_bool: true
p
label = l(:label_gitolite_notify_global_prefix)
= text_field_tag 'settings[gitolite_notify_global_prefix]', gitolite_notify_global_prefix, size: 60
p
label = l(:label_gitolite_notify_global_sender_address)
= text_field_tag 'settings[gitolite_notify_global_sender_address]', gitolite_notify_global_sender_address, size: 60
p
label = l(:label_gitolite_notify_global_include)
= additionals_select2_tag 'settings[gitolite_notify_global_include]',
options_for_select(gitolite_notify_global_include.map { |mail| [mail, mail] }, gitolite_notify_global_include),
data: gitolite_notify_global_include,
multiple: true,
placeholder: '+ add email',
tags: true
p
label = l(:label_gitolite_notify_global_exclude)
= additionals_select2_tag 'settings[gitolite_notify_global_exclude]',
options_for_select(gitolite_notify_global_exclude.map { |mail| [mail, mail] }, gitolite_notify_global_exclude),
data: gitolite_notify_global_exclude,
multiple: true,
placeholder: '+ add email',
tags: true

View file

@ -1,28 +0,0 @@
/ Gitolite SSH Config
- gitolite_user = RedmineGitHosting::Config.get_setting(:gitolite_user)
- gitolite_server_host = RedmineGitHosting::Config.get_setting(:gitolite_server_host)
- gitolite_server_port = RedmineGitHosting::Config.get_setting(:gitolite_server_port)
- gitolite_ssh_private_key = RedmineGitHosting::Config.get_setting(:gitolite_ssh_private_key)
- gitolite_ssh_public_key = RedmineGitHosting::Config.get_setting(:gitolite_ssh_public_key)
h3 = l(:label_gitolite_ssh_config)
p
label = l(:label_gitolite_user)
= text_field_tag 'settings[gitolite_user]', gitolite_user, size: 20
p
label = l(:label_gitolite_ssh_private_key)
= text_field_tag 'settings[gitolite_ssh_private_key]', gitolite_ssh_private_key, size: 110
p
label = l(:label_gitolite_ssh_public_key)
= text_field_tag 'settings[gitolite_ssh_public_key]', gitolite_ssh_public_key, size: 110
p
label = l(:label_gitolite_server_host)
= text_field_tag 'settings[gitolite_server_host]', gitolite_server_host, size: 20
p
label = l(:label_gitolite_server_port)
= text_field_tag 'settings[gitolite_server_port]', gitolite_server_port, size: 5

View file

@ -1,27 +0,0 @@
/ Gitolite Storage Config
- gitolite_global_storage_dir = RedmineGitHosting::Config.get_setting(:gitolite_global_storage_dir)
- gitolite_redmine_storage_dir = RedmineGitHosting::Config.get_setting(:gitolite_redmine_storage_dir)
- gitolite_recycle_bin_dir = RedmineGitHosting::Config.get_setting(:gitolite_recycle_bin_dir)
h3 = l(:label_gitolite_storage_config)
p
label = l(:label_gitolite_global_storage_dir)
= text_field_tag 'settings[gitolite_global_storage_dir]', gitolite_global_storage_dir, size: 60
br
em.info
= l(:label_gitolite_global_storage_dir_desc)
p
label = l(:label_gitolite_recycle_bin_dir)
= text_field_tag 'settings[gitolite_recycle_bin_dir]', gitolite_recycle_bin_dir, size: 60
br
em.info
= l(:label_gitolite_recycle_bin_dir_desc)
p
label = l(:label_gitolite_redmine_storage_dir)
= text_field_tag 'settings[gitolite_redmine_storage_dir]', gitolite_redmine_storage_dir, size: 60
br
em.info
= l(:label_gitolite_redmine_storage_dir_desc)

View file

@ -1,99 +0,0 @@
h3 = l(:label_permissions_header)
table.table.table-hover
tr
td = l(:label_temp_dir_writeable)
td = render_temp_dir_writeable(RedmineGitHosting::Config.temp_dir_writeable?(reset: true), RedmineGitHosting::Config.gitolite_admin_dir)
tr
td = l(:label_redmine_user)
td
span.label.label-success = RedmineGitHosting::Config.redmine_user
tr
td = l(:label_gitolite_user)
td
span.label.label-success = RedmineGitHosting::Config.gitolite_user
tr
td = l(:label_sudo_redmine_to_gitolite_user)
td = image_tag (RedmineGitHosting::Config.can_redmine_sudo_to_gitolite_user? ? 'true.png' : 'exclamation.png')
tr
td = l(:label_gitolite_bin_dir)
td
- if RedmineGitHosting::Config.gitolite_bin_dir
span.label.label-success RedmineGitHosting::Config.gitolite_bin_dir
- else
= image_tag('exclamation.png')
tr
td= l(:label_gitolite_lib_dir)
td
- if RedmineGitHosting::Config.gitolite_lib_dir
span.label.label-success RedmineGitHosting::Config.gitolite_lib_dir
- else
= image_tag('exclamation.png')
tr
td= l(:label_gitolite_local_code_dir)
td
- if RedmineGitHosting::Config.gitolite_local_code_dir
span.label.label-success = RedmineGitHosting::Config.gitolite_local_code_dir
- else
= image_tag('exclamation.png')
- gitolite_checks = RedmineGitHosting::Config.check_hooks_install!
tr
td = l(:label_gitolite_hooks_installed)
td = render_gitolite_params_status(gitolite_checks[:hook_files])
tr
td = l(:label_gitolite_hooks_params_installed)
td = render_gitolite_params_status(gitolite_checks[:global_params])
tr
td = l(:label_gitolite_mailer_params_installed)
td = render_gitolite_params_status(gitolite_checks[:mailer_params])
tr
td = l(:label_mirroring_keys_installed)
td = image_tag (RedmineGitHosting::Config.mirroring_keys_installed? ? 'true.png' : 'exclamation.png')
tr
td= l(:label_git_version)
td
span.label.label-success = Repository::Xitolite.scm_version_string
tr
td = l(:label_gitolite_version)
td = render_gitolite_version(RedmineGitHosting::Config.gitolite_version)
tr
td = l(:label_gitolite_repository_count)
td
span.label.label-success = RedmineGitHosting::Config.gitolite_repository_count
tr
td= l(:label_gitolite_rugged_features)
td
= render_rugged_mandatory_features
= render_rugged_optional_features
tr
td = l(:label_gitolite_libgit2_version)
td
span.label.label-success = RedmineGitHosting::Config.libgit2_version
p
label = l(:label_gitolite_banner)
.box
pre == RedmineGitHosting::Config.gitolite_banner
p
label = l(:label_path_directories)
.box
pre == (ENV['PATH']).gsub(/:/, "<br/>")

View file

@ -1,75 +0,0 @@
/ Gitolite Display Access
- gitolite_user = RedmineGitHosting::Config.get_setting(:gitolite_user)
- ssh_server_domain = RedmineGitHosting::Config.get_setting(:ssh_server_domain)
- gitolite_global_storage_dir = RedmineGitHosting::Config.get_setting(:gitolite_global_storage_dir)
- gitolite_redmine_storage_dir = RedmineGitHosting::Config.get_setting(:gitolite_redmine_storage_dir)
- http_server_subdir = RedmineGitHosting::Config.get_setting(:http_server_subdir)
- http_server_domain = RedmineGitHosting::Config.http_root_url
- https_server_domain = RedmineGitHosting::Config.https_root_url
- hierarchical_organisation = RedmineGitHosting::Config.get_setting(:hierarchical_organisation, true)
.git_hosting_access_box
h3 = l(:label_repos_current_access_patterns)
span == l(:display_access_setup1)
br
br
span == l(:display_access_setup2)
br
br
span == l(:display_access_setup3)
p
label = l(:label_default_repository)
br
label = l(:label_storage_directory) + ' :'
== "~#{gitolite_user}/#{gitolite_global_storage_dir}#{gitolite_redmine_storage_dir}<em>#{hierarchical_organisation ? 'project1/project2/' : ''}project3.git</em>"
br
label = l(:label_ssh_access) + ' :'
- gitSHP = ssh_server_domain.match(/:\d+$/)
== "#{gitSHP ? 'ssh://' : ''}#{gitolite_user}@#{ssh_server_domain}#{gitSHP ? '/' : ':'}#{gitolite_redmine_storage_dir}<em>#{hierarchical_organisation ? 'project1/project2/' : ''}project3.git</em>"
br
label = l(:label_http_access) + ' :'
== "http://<em>redmine-user</em>@#{http_server_domain}/#{http_server_subdir}<em>#{hierarchical_organisation ? 'project1/project2/' : ''}project3.git</em>"
br
label = l(:label_https_access) + ' :'
== "https://<em>redmine-user</em>@#{https_server_domain}/#{http_server_subdir}<em>#{hierarchical_organisation ? 'project1/project2/' : ''}project3.git</em>"
p
label = l(:label_example_repository)
br
label = l(:label_storage_directory) + ' :'
== "~#{gitolite_user}/#{gitolite_global_storage_dir}#{gitolite_redmine_storage_dir}<em>#{hierarchical_organisation ? 'project1/project2/project3/' : ''}example.git</em>"
br
label = l(:label_ssh_access) + ' :'
- gitSHP = ssh_server_domain.match(/:\d+$/)
== "#{gitSHP ? 'ssh://' : ''}#{gitolite_user}@#{ssh_server_domain}#{gitSHP ? '/' : ':'}#{gitolite_redmine_storage_dir}<em>#{hierarchical_organisation ? 'project1/project2/project3/' : ''}example.git</em>"
br
label = l(:label_http_access) + ' :'
== "http://<em>redmine-user</em>@#{http_server_domain}/#{http_server_subdir}<em>#{hierarchical_organisation ? 'project1/project2/project3/' : ''}example.git</em>"
br
label = l(:label_https_access) + ' :'
== "https://<em>redmine-user</em>@#{https_server_domain}/#{http_server_subdir}<em>#{hierarchical_organisation ? 'project1/project2/project3/' : ''}example.git</em>"
br
br
label = l(:label_etcetera) + '...'
== l(:display_access_emphasis)
== hierarchical_organisation ? l(:display_access_hierarchical) : l(:display_access_flat)

View file

@ -1,28 +0,0 @@
h3 = l(:label_empty_recycle_bin)
- if !RedmineGitHosting::RecycleBin || !RedmineGitHosting::RecycleBin.content.empty?
table.table.table-hover
tr
th = l(:label_repository)
th = l(:label_recycle_bin_content_size)
th
= l(:label_delete_from_recyle_bin)
| (
= link_to l(:label_select_all), 'javascript:void(0);', id: 'select_all_delete'
| )
- RedmineGitHosting::RecycleBin.content.each do |trash_object|
tr
td = trash_object.path
td = trash_object.size
td = check_box_tag 'settings[rescue][delete_trash_repo][]', trash_object.path, false, class: 'empty_trash'
#delete_warning.alert.alert-error style='display: none;'
= l(:label_delete_warning)
- else
p.nodata style='padding: 5px 0 0;'
= l(:label_no_data)
javascript:
$(document).ready(function() { setRecycleBinWarnings(); });

View file

@ -1,11 +0,0 @@
p
= label_tag 'settings[rescue][resync_all_projects]', l(:label_resync_all_projects)
= check_box_tag 'settings[rescue][resync_all_projects]', 'true', false
p
= label_tag 'settings[rescue][resync_all_ssh_keys]', l(:label_resync_all_ssh_keys)
= check_box_tag 'settings[rescue][resync_all_ssh_keys]', 'true', false
p
= label_tag 'settings[rescue][flush_gitolite_cache]', l(:label_flush_cache)
= check_box_tag 'settings[rescue][flush_gitolite_cache]', 'true', false

View file

@ -1,10 +0,0 @@
table.table.table-hover
tr
td = l(:label_gitolite_hooks_installed)
td = render_gitolite_params_status(@gitolite_checks[:hook_files])
tr
td = l(:label_gitolite_hooks_params_installed)
td = render_gitolite_params_status(@gitolite_checks[:global_params])
tr
td = l(:label_gitolite_mailer_params_installed)
td = render_gitolite_params_status(@gitolite_checks[:mailer_params])

View file

@ -1,32 +0,0 @@
/ Redmine Config
- all_projects_use_git = RedmineGitHosting::Config.get_setting(:all_projects_use_git, true)
h3= l(:label_redmine_config)
p
= additionals_settings_checkbox :redmine_has_rw_access_on_all_repos,
value: RedmineGitHosting::Config.get_setting(:redmine_has_rw_access_on_all_repos, true),
value_is_bool: true
p
= additionals_settings_checkbox :all_projects_use_git, value: all_projects_use_git, value_is_bool: true
p
= additionals_settings_checkbox :init_repositories_on_create,
value: RedmineGitHosting::Config.get_setting(:init_repositories_on_create, true),
value_is_bool: true,
disabled: !all_projects_use_git
p
= additionals_settings_checkbox :delete_git_repositories,
value: RedmineGitHosting::Config.get_setting(:delete_git_repositories, true),
value_is_bool: true
p
= additionals_settings_checkbox :hierarchical_organisation,
value: RedmineGitHosting::Config.get_setting(:hierarchical_organisation, true),
value_is_bool: true
br
= render partial: 'settings/redmine_git_hosting/gitolite_display_access'

View file

@ -1,5 +0,0 @@
/ Gitolite Sidekiq Config
p
= additionals_settings_checkbox :gitolite_use_sidekiq,
value: RedmineGitHosting::Config.get_setting(:gitolite_use_sidekiq, true),
value_is_bool: true

View file

@ -1,27 +0,0 @@
api.array :users, api_meta(total_count: @user_count, offset: @offset, limit: @limit) do
@users.each do |user|
api.user do
api.id user.id
api.login user.login
api.admin user.admin?
api.firstname user.firstname
api.lastname user.lastname
api.mail user.mail
api.created_on user.created_on
api.last_login_on user.last_login_on
api.array :ssh_keys do
user.gitolite_public_keys.each do |key|
api.ssh_key do
api.id key.id
api.key_type key.key_type_as_string
api.title key.title
api.key key.key
end
end
end
render_api_custom_values user.visible_custom_field_values, api
end
end
end

View file

@ -1,51 +0,0 @@
api.user do
api.id @user.id
api.login @user.login if User.current.admin? || (User.current == @user)
api.admin @user.admin? if User.current.admin? || (User.current == @user)
api.firstname @user.firstname
api.lastname @user.lastname
api.mail @user.mail if User.current.admin? || !@user.pref.hide_mail
api.created_on @user.created_on
api.last_login_on @user.last_login_on
api.api_key @user.api_key if User.current.admin? || (User.current == @user)
api.status @user.status if User.current.admin?
render_api_custom_values @user.visible_custom_field_values, api
if User.current.admin? && include_in_api_response?('groups')
api.array :groups do |groups|
@user.groups.each do |group|
api.group id: group.id, name: group.name
end
end
end
api.array :memberships do
@memberships.each do |membership|
api.membership do
api.id membership.id
api.project :id => membership.project.id, :name => membership.project.name
api.array :roles do
membership.member_roles.each do |member_role|
if member_role.role
attrs = {:id => member_role.role.id, :name => member_role.role.name}
attrs.merge!(:inherited => true) if member_role.inherited_from.present?
api.role attrs
end
end
end
end if membership.project
end
end if include_in_api_response?('memberships') && @memberships
api.array :ssh_keys do
@user.gitolite_public_keys.each do |key|
api.ssh_key do
api.id key.id
api.key_type key.key_type_as_string
api.title key.title
api.key key.key
end
end
end
end