Skip to content

Commit 7fd4b8d

Browse files
author
root
committed
Add feature #465
1 parent 2769909 commit 7fd4b8d

File tree

7 files changed

+37
-27
lines changed

7 files changed

+37
-27
lines changed

Diff for: app/services/gitolite_accessor.rb

+6-6
Original file line numberDiff line numberDiff line change
@@ -91,15 +91,15 @@ def flush_settings_cache
9191
end
9292

9393

94-
def enable_readme_creation
95-
logger.info('Enable README creation for repositories')
96-
resync_gitolite(:enable_readme_creation, 'enable_readme_creation')
94+
def enable_rw_access
95+
logger.info('Enable RW access on all Gitolite repositories')
96+
resync_gitolite(:enable_rw_access, 'enable_rw_access')
9797
end
9898

9999

100-
def disable_readme_creation
101-
logger.info('Disable README creation for repositories')
102-
resync_gitolite(:disable_readme_creation, 'disable_readme_creation')
100+
def disable_rw_access
101+
logger.info('Disable RW access on all Gitolite repositories')
102+
resync_gitolite(:disable_rw_access, 'disable_rw_access')
103103
end
104104

105105

Diff for: app/use_cases/apply_settings.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def apply_settings
4444
do_regenerate_ssh_keys
4545
do_flush_cache
4646
do_delete_trash_repo
47-
do_enable_readme_creation
47+
do_add_redmine_rw_access
4848
end
4949

5050

@@ -149,8 +149,8 @@ def do_delete_trash_repo
149149
end
150150

151151

152-
def do_enable_readme_creation
153-
valuehash[:init_repositories_on_create] == 'true' ? GitoliteAccessor.enable_readme_creation : GitoliteAccessor.disable_readme_creation
152+
def do_add_redmine_rw_access
153+
valuehash[:redmine_has_rw_access_on_all_repos] == 'true' ? GitoliteAccessor.enable_rw_access : GitoliteAccessor.disable_rw_access
154154
end
155155

156156
end

Diff for: app/views/settings/redmine_git_hosting/_redmine_config.html.haml

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
/ Redmine Config
2-
- all_projects_use_git = RedmineGitHosting::Config.get_setting(:all_projects_use_git, true)
3-
- init_repositories_on_create = RedmineGitHosting::Config.get_setting(:init_repositories_on_create, true)
4-
- delete_git_repositories = RedmineGitHosting::Config.get_setting(:delete_git_repositories, true)
5-
- hierarchical_organisation = RedmineGitHosting::Config.get_setting(:hierarchical_organisation, true)
2+
- redmine_has_rw_access_on_all_repos = RedmineGitHosting::Config.get_setting(:redmine_has_rw_access_on_all_repos, true)
3+
- all_projects_use_git = RedmineGitHosting::Config.get_setting(:all_projects_use_git, true)
4+
- init_repositories_on_create = RedmineGitHosting::Config.get_setting(:init_repositories_on_create, true)
5+
- delete_git_repositories = RedmineGitHosting::Config.get_setting(:delete_git_repositories, true)
6+
- hierarchical_organisation = RedmineGitHosting::Config.get_setting(:hierarchical_organisation, true)
67

78
%h3= l(:label_redmine_config)
89

10+
%p
11+
%label= l(:label_redmine_has_rw_access_on_all_repos)
12+
= bootstrap_switch_tag do
13+
= hidden_field_tag 'settings[redmine_has_rw_access_on_all_repos]', 'false'
14+
= check_box_tag 'settings[redmine_has_rw_access_on_all_repos]', redmine_has_rw_access_on_all_repos, redmine_has_rw_access_on_all_repos
15+
916
%p
1017
%label= l(:label_all_projects_use_git)
1118
= bootstrap_switch_tag do

Diff for: config/locales/settings/en.yml

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ en:
117117
label_tab_redmine: Redmine
118118
label_redmine_config: Redmine Configuration
119119

120+
label_redmine_has_rw_access_on_all_repos: Redmine has RW access on all Gitolite repositories
120121
label_all_projects_use_git: Automatically initialize Git repositories for new projects?
121122
label_delete_git_repositories: Delete Git repository when project deleted?<br/>(will be place in recycle bin)
122123
label_init_repositories_on_create: Automatically initialize Git repositories with a README file (à la Github)

Diff for: config/locales/settings/fr.yml

+1
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ fr:
117117
label_tab_redmine: Redmine
118118
label_redmine_config: Configuration de Redmine
119119

120+
label_redmine_has_rw_access_on_all_repos: Redmine a accès en lecture/écriture à tous les dépôts Gitolite
120121
label_all_projects_use_git: Créer automatiquement un dépôt Git pour les nouveaux projets
121122
label_delete_git_repositories: Effacer les dépôts Git d'un projet quand celui-ci est effacé?<br/>(seront mis dans la corbeille)
122123
label_init_repositories_on_create: Initialiser automatiquement les dépôts Git avec un fichier README (à la Github)

Diff for: init.rb

+4-3
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,10 @@
6262
:gitolite_http_by_default => '1',
6363

6464
# Redmine Config
65-
:all_projects_use_git => 'false',
66-
:init_repositories_on_create => 'false',
67-
:delete_git_repositories => 'true',
65+
:redmine_has_rw_access_on_all_repos => 'true',
66+
:all_projects_use_git => 'false',
67+
:init_repositories_on_create => 'false',
68+
:delete_git_repositories => 'true',
6869

6970
# This params work together!
7071
# When hierarchical_organisation = true, unique_repo_identifier MUST be false

Diff for: lib/redmine_git_hosting/gitolite_wrapper/global.rb

+11-11
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,30 @@ module RedmineGitHosting
22
module GitoliteWrapper
33
class Global < Admin
44

5-
def enable_readme_creation
5+
def enable_rw_access
66
if all_repository_config.nil?
77
admin.transaction do
8-
gitolite_config.add_repo(create_readme_config)
9-
gitolite_admin_repo_commit("Enable README file creation for repositories")
8+
gitolite_config.add_repo(rw_access_config)
9+
gitolite_admin_repo_commit("Enable RW access on all Gitolite repositories")
1010
end
1111
else
1212
logger.info("'@all' repository already configured, check for RedmineGitHosting key presence")
1313
admin.transaction do
1414
add_redmine_key
15-
gitolite_admin_repo_commit("Enable README file creation for repositories")
15+
gitolite_admin_repo_commit("Enable RW access on all Gitolite repositories")
1616
end
1717
end
1818
end
1919

2020

21-
def disable_readme_creation
21+
def disable_rw_access
2222
if all_repository_config.nil?
23-
logger.info('README file creation already disabled.')
23+
logger.info('RW access on all Gitolite repositories already disabled.')
2424
return
2525
else
2626
admin.transaction do
2727
remove_redmine_key
28-
gitolite_admin_repo_commit("Disable README file creation for repositories")
28+
gitolite_admin_repo_commit("Disable RW access on all Gitolite repositories")
2929
end
3030
end
3131
end
@@ -49,14 +49,14 @@ def all_repository_config
4949
end
5050

5151

52-
def create_readme_config
52+
def rw_access_config
5353
repo_conf = ::Gitolite::Config::Repo.new(all_repository)
54-
repo_conf.permissions = create_readme_perms
54+
repo_conf.permissions = rw_access_perms
5555
repo_conf
5656
end
5757

5858

59-
def create_readme_perms
59+
def rw_access_perms
6060
permissions = {}
6161
permissions['RW+'] = {}
6262
permissions['RW+'][''] = [redmine_gitolite_key]
@@ -97,7 +97,7 @@ def add_redmine_key
9797
# If not create the RW+ group and add the key
9898
if perms.empty?
9999
logger.info("No permissions set for '@all' repository, add RedmineGitHosting key")
100-
repo_conf.permissions = create_readme_perms
100+
repo_conf.permissions = rw_access_perms
101101
return
102102
end
103103

0 commit comments

Comments
 (0)