Añade el plugin Redmine Git Hosting 5.0.0

This commit is contained in:
Manuel Cillero 2021-03-20 13:29:16 +01:00
parent cfa0d58b18
commit a3bddad233
458 changed files with 30396 additions and 1 deletions

View file

@ -0,0 +1,23 @@
= 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(); });

View file

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

View file

@ -0,0 +1,2 @@
$('#ajax-modal').html("<%= escape_javascript(render partial: 'settings/redmine_git_hosting/install_hooks_result') %>");
showModal('ajax-modal', '600px');

View file

@ -0,0 +1,53 @@
/ Gitolite Access Config
ruby:
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, required: true
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, required: true
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 :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

@ -0,0 +1,37 @@
/ Gitolite Cache Config
ruby:
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
= number_field_tag 'settings[gitolite_cache_max_size]',
gitolite_cache_max_size,
size: 20,
min: -1
em<
' MB
br
p
label = l :label_gitolite_cache_max_elements
= number_field_tag 'settings[gitolite_cache_max_elements]',
gitolite_cache_max_elements,
size: 20,
min: 1
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

@ -0,0 +1,55 @@
/ Gitolite Config File
ruby:
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
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, required: true
p
label = l :label_gitolite_identifier_prefix
- if disable_button
= hidden_field_tag 'settings[gitolite_identifier_prefix]', gitolite_identifier_prefix
= 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
div
| SSH Key: #{gitolite_identifier_prefix}admin<em>#{gitolite_identifier_suffix}</em>@redmine_1394507971_600081.pub
div
| SSH Key: #{gitolite_identifier_prefix}bob<em>#{gitolite_identifier_suffix}</em>@redmine_1394507971_600081.pub
br
div
| repo repositories/test
div
| RW+ = <em>#{gitolite_identifier_prefix}</em>admin<em>#{gitolite_identifier_suffix}</em>
| <em>#{gitolite_identifier_prefix}</em>john<em>#{gitolite_identifier_suffix}</em>
div
| RW = <em>#{gitolite_identifier_prefix}</em>bob<em>#{gitolite_identifier_suffix}</em> alice
div
| R = <em>#{gitolite_identifier_prefix}</em>reporter<em>#{gitolite_identifier_suffix}</em> mike gitweb

View file

@ -0,0 +1,55 @@
/ Gitolite Global Config
ruby:
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, required: true
br
em.info
= l :label_gitolite_temp_dir_desc
p
label = l :label_gitolite_recycle_bin_expiration_time
= number_field_tag 'settings[gitolite_recycle_bin_expiration_time]',
gitolite_recycle_bin_expiration_time,
size: 10,
required: true,
min: -1
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.to_s,
size: 60,
required: true
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.to_s,
size: 60,
required: true
br
em.info
= l :label_git_config_email_desc

View file

@ -0,0 +1,45 @@
/ 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
.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
= url_field_tag 'settings[gitolite_hooks_url]', gitolite_hooks_url, size: 60, required: true
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
#install_gitolite_hooks

View file

@ -0,0 +1,39 @@
/ Gitolite Notifications Config
ruby:
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

@ -0,0 +1,46 @@
/ Gitolite SSH Config
ruby:
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,
required: true
p
label = l(:label_gitolite_ssh_private_key)
= text_field_tag 'settings[gitolite_ssh_private_key]',
gitolite_ssh_private_key,
size: 110,
required: true
p
label = l(:label_gitolite_ssh_public_key)
= text_field_tag 'settings[gitolite_ssh_public_key]',
gitolite_ssh_public_key,
size: 110,
required: true
p
label = l(:label_gitolite_server_host)
= text_field_tag 'settings[gitolite_server_host]',
gitolite_server_host,
size: 20,
required: true
p
label = l(:label_gitolite_server_port)
= number_field_tag 'settings[gitolite_server_port]',
gitolite_server_port,
size: 5,
min: 1,
max: 65_535,
required: true

View file

@ -0,0 +1,33 @@
/ 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,
required: true
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,
required: true
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

@ -0,0 +1,94 @@
h3 = l :label_permissions_header
table.list.git-results
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
br
fieldset.box.tabular
legend = l :label_gitolite_banner
pre == RedmineGitHosting::Config.gitolite_banner
br
fieldset.box.tabular
legend = l(:label_path_directories)
pre == (ENV['PATH']).gsub(/:/, '<br/>')

View file

@ -0,0 +1,130 @@
/ Gitolite Display Access
ruby:
gitolite_user = RedmineGitHosting::Config.get_setting :gitolite_user
ssh_server_domain = RedmineGitHosting::Config.get_setting :ssh_server_domain
git_shp = ssh_server_domain.match(/:\d+$/)
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 = t :display_access_setup1_html
br
br
span = t :display_access_setup2_html
br
br
span = t :display_access_setup3_html
p
label = l(:label_default_repository)
br
label
= l :label_storage_directory
' :
= "~#{gitolite_user}/#{gitolite_global_storage_dir}#{gitolite_redmine_storage_dir}"
em
= "#{'project1/project2/' if hierarchical_organisation}project3.git"
br
label
= l :label_ssh_access
' :
= "#{'ssh://' if git_shp}#{gitolite_user}@#{ssh_server_domain}#{git_shp ? '/' : ':'}#{gitolite_redmine_storage_dir}"
em
= "#{'project1/project2/' if hierarchical_organisation}project3.git"
br
label
= l :label_http_access
' :
| http://
em
| redmine-user
= "@#{https_server_domain}/#{http_server_subdir}"
em
= "#{'project1/project2/' if hierarchical_organisation}project3.git"
br
label
= l :label_https_access
' :
| https://
em
| redmine-user
= "@#{https_server_domain}/#{http_server_subdir}"
em
= "#{'project1/project2/' if hierarchical_organisation}project3.git"
p
label = l :label_example_repository
br
label
= l :label_storage_directory
' :
= "~#{gitolite_user}/#{gitolite_global_storage_dir}#{gitolite_redmine_storage_dir}"
em
= "#{'project1/project2/project3/' if hierarchical_organisation}example.git"
br
label
= l :label_ssh_access
' :
= "#{'ssh://' if git_shp}#{gitolite_user}@#{ssh_server_domain}#{git_shp ? '/' : ':'}#{gitolite_redmine_storage_dir}"
em
= "#{'project1/project2/project3/' if hierarchical_organisation}example.git"
br
label
= l :label_http_access
' :
| http://
em
| redmine-user
= "@#{https_server_domain}/#{http_server_subdir}"
em
= "#{'project1/project2/project3/' if hierarchical_organisation}example.git"
br
label
= l :label_https_access
' :
| https://
em
| redmine-user
= "@#{https_server_domain}/#{http_server_subdir}"
em
= "#{'project1/project2/project3/' if hierarchical_organisation}example.git"
br
br
label
= l :label_etcetera
| ...
= t :display_access_emphasis_html
'
== hierarchical_organisation ? l(:display_access_hierarchical) : l(:display_access_flat)

View file

@ -0,0 +1,28 @@
h3 = l(:label_empty_recycle_bin)
- if !RedmineGitHosting::RecycleBin || !RedmineGitHosting::RecycleBin.content.empty?
table.list
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

@ -0,0 +1,11 @@
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

@ -0,0 +1,15 @@
h3.title = l :label_install_hook_results
table.list.git-results
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]
.buttons
= link_to_function l(:button_cancel), 'hideModal(this);'

View file

@ -0,0 +1,34 @@
/ 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
em.info
= l(:info_delete_git_repositories)
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

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