Añade plugin Redmine Git Hosting 4.0.2

This commit is contained in:
Manuel Cillero 2020-12-05 13:57:05 +01:00
parent 472cb1ea76
commit bdd66d941f
494 changed files with 36768 additions and 0 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(); setBootstrapSwitch(); });

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 @@
<%= js_render_partial('#install_gitolite_hooks', 'settings/redmine_git_hosting/install_hooks_result') %>

View file

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

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

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

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

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

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

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

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

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

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

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

@ -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,10 @@
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

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

@ -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