Skip to content

Commit 3e5ffef

Browse files
author
root
committed
Don't override my/account view anymore, hook is better
1 parent bba7adf commit 3e5ffef

File tree

11 files changed

+31
-166
lines changed

11 files changed

+31
-166
lines changed

Diff for: app/controllers/gitolite_public_keys_controller.rb

+17-16
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@ class GitolitePublicKeysController < ApplicationController
33

44
before_filter :require_login
55
before_filter :set_user_variable
6-
before_filter :set_users_keys, :except => [:index, :new, :reset_rss_key]
7-
before_filter :find_gitolite_public_key, :except => [:index, :new, :reset_rss_key, :create]
8-
9-
helper :issues
10-
helper :users
11-
helper :custom_fields
6+
before_filter :find_gitolite_public_key, :only => [:destroy]
127

138
helper :gitolite_public_keys
149

1510

11+
def index
12+
@gitolite_user_keys = @user.gitolite_public_keys.user_key.order('title ASC, created_at ASC')
13+
@gitolite_deploy_keys = @user.gitolite_public_keys.deploy_key.order('title ASC, created_at ASC')
14+
@gitolite_public_key = GitolitePublicKey.new
15+
end
16+
17+
1618
def create
1719
@gitolite_public_key = GitolitePublicKey.new(params[:gitolite_public_key])
1820
@gitolite_public_key.user = @user
@@ -33,7 +35,7 @@ def create
3335
end
3436
else
3537
respond_to do |format|
36-
format.html { redirect_to @redirect_url }
38+
format.html { redirect_to @cancel_url }
3739
end
3840
end
3941
end
@@ -56,23 +58,22 @@ def set_user_variable
5658
if params[:user_id]
5759
@user = (params[:user_id] == 'current') ? User.current : User.find_by_id(params[:user_id])
5860
if @user
59-
@redirect_url = url_for(:controller => 'users', :action => 'edit', :id => params[:user_id], :tab => 'keys')
61+
@cancel_url = @redirect_url = url_for(:controller => 'users', :action => 'edit', :id => params[:user_id], :tab => 'keys')
6062
else
6163
render_404
6264
end
6365
else
64-
@user = User.current
65-
@redirect_url = url_for(:controller => 'my', :action => 'account')
66+
if User.current.allowed_to?(:create_gitolite_ssh_key, nil, :global => true)
67+
@user = User.current
68+
@redirect_url = url_for(:controller => 'gitolite_public_keys', :action => 'index')
69+
@cancel_url = url_for(:controller => 'my', :action => 'account')
70+
else
71+
render_403
72+
end
6673
end
6774
end
6875

6976

70-
def set_users_keys
71-
@gitolite_user_keys = @user.gitolite_public_keys.user_key.order('title ASC, created_at ASC')
72-
@gitolite_deploy_keys = @user.gitolite_public_keys.deploy_key.order('title ASC, created_at ASC')
73-
end
74-
75-
7677
def find_gitolite_public_key
7778
key = GitolitePublicKey.find_by_id(params[:id])
7879
if key && (@user == key.user || @user.admin?)

Diff for: app/views/gitolite_public_keys/_form.html.erb

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
<div id="validation_messages"><%= error_messages_for 'gitolite_public_key' %></div>
22

3-
<%= labelled_form_for gitolite_public_key,
4-
:as => :gitolite_public_key,
5-
:url => {:controller => 'gitolite_public_keys', :action => 'create', :id => gitolite_public_key.id, :user_id => params[:id], :tab => params[:id]&&'keys'},
6-
:html => {:method => :post} do |f| %>
3+
<%= labelled_form_for :gitolite_public_key, gitolite_public_key,
4+
:url => {:controller => 'gitolite_public_keys', :action => 'create', :user_id => params[:id], :tab => params[:id]&&'keys'},
5+
:html => {:method => :post} do |f| %>
76

87
<p><%= f.text_field :title, :label => :label_identifier_can_be_arbitrary, :required => true, :style => 'width: 97%;' %></p>
98

Diff for: app/views/gitolite_public_keys/_view.html.erb

-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
<%= stylesheet_link_tag 'application', :plugin => 'redmine_git_hosting' %>
22

3-
<fieldset class="box">
4-
<legend><%= l(:label_public_keys) %></legend>
5-
63
<fieldset class="public_key_view">
74
<legend><%= l(:label_current_user_keys) %></legend>
85
<%= render :partial => 'gitolite_public_keys/ssh_keys', :locals => {:ssh_keys => @gitolite_user_keys} %>
@@ -22,9 +19,6 @@
2219
<%= render :partial => 'gitolite_public_keys/form', :locals => {:gitolite_public_key => @gitolite_public_key, :user => @user} %>
2320
</fieldset>
2421

25-
</fieldset>
26-
27-
2822
<%= javascript_tag do %>
2923
function load_form_actions() {
3024
$('#gitolite_public_key_key_type').on('change', function() {

Diff for: app/views/gitolite_public_keys/index.html.erb

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%= render :partial => 'gitolite_public_keys/view' %>

Diff for: app/views/my/account.html.erb

-54
This file was deleted.

Diff for: assets/stylesheets/application.css

-35
Original file line numberDiff line numberDiff line change
@@ -157,41 +157,6 @@ REPOSITORY SETTINGS
157157
}
158158

159159

160-
/*
161-
PUBLIC KEY
162-
*/
163-
.public_key_view {
164-
background-color: #fff;
165-
padding: 5px;
166-
}
167-
168-
.public_key_view label {
169-
font-weight: bold;
170-
text-align: right;
171-
}
172-
173-
.public_key_view .myhead {
174-
font-style: italic;
175-
color: #000;
176-
size: 140%;
177-
padding: 10px 10px 0px 0px;
178-
margin-bottom: 5px;
179-
border-bottom: 1px solid #bbbbbb;
180-
}
181-
182-
.public_key_view p {
183-
margin-top: 0px;
184-
margin-bottom: 5px;
185-
padding-top: 0px;
186-
}
187-
188-
.public_key_view legend {
189-
font-style: italic;
190-
color: #000;
191-
size: 130%;
192-
}
193-
194-
195160
/*
196161
MISC
197162
*/

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

+1
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ en:
180180
field_key: this key
181181

182182
# User SSH keys (labels)
183+
label_my_public_keys: My public keys
183184
label_public_keys: Public keys
184185
label_public_key: Public key
185186
label_public_key_edit: Edit existing public key

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

+1
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ fr:
180180
field_key: cette clé
181181

182182
# User SSH keys (labels)
183+
label_my_public_keys: Mes clés publiques
183184
label_public_keys: Clés publiques
184185
label_public_key: Clé publique
185186
label_public_key_edit: Modifier une clé publique existante

Diff for: lib/redmine_git_hosting.rb

+1-2
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,11 @@
4040
require_dependency 'redmine_git_hosting/patches/issue_patch'
4141
require_dependency 'redmine_git_hosting/patches/journal_patch'
4242

43-
require_dependency 'redmine_git_hosting/patches/my_controller_patch'
44-
4543
require_dependency 'redmine_git_hosting/patches/sys_controller_patch'
4644

4745
## Redmine Git Hosting Hooks
4846
require_dependency 'redmine_git_hosting/hooks/add_plugin_icon'
47+
require_dependency 'redmine_git_hosting/hooks/add_public_keys_link'
4948
require_dependency 'redmine_git_hosting/hooks/display_git_urls_on_project'
5049
require_dependency 'redmine_git_hosting/hooks/display_git_urls_on_repository_edit'
5150
require_dependency 'redmine_git_hosting/hooks/display_repository_extras'
+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module RedmineGitHosting
2+
module Hooks
3+
class AddPublicKeysLink < Redmine::Hook::ViewListener
4+
render_on :view_my_account_contextual, :inline => "| <%= link_to l(:label_my_public_keys), public_keys_path, :class => 'icon icon-passwd' %>"
5+
end
6+
end
7+
end

Diff for: lib/redmine_git_hosting/patches/my_controller_patch.rb

-49
This file was deleted.

0 commit comments

Comments
 (0)