Commit e376f3150736e7936082529a3f6c92395f4c9720

Authored by Dmitriy Zaporozhets
1 parent 2a1c5cdf

Admin can move project to ANY namespace. Updated permissions page

app/contexts/project_update_context.rb
... ... @@ -2,7 +2,9 @@ class ProjectUpdateContext < BaseContext
2 2 def execute(role = :default)
3 3 namespace_id = params[:project].delete(:namespace_id)
4 4  
5   - if can?(current_user, :change_namespace, project) && namespace_id.present?
  5 + allowed_transfer = can?(current_user, :change_namespace, project) || role == :admin
  6 +
  7 + if allowed_transfer && namespace_id.present?
6 8 if namespace_id == Namespace.global_id
7 9 if project.namespace.present?
8 10 # Transfer to global namespace from anyone
... ...
app/models/ability.rb
... ... @@ -99,7 +99,8 @@ class Ability
99 99 def project_admin_rules
100 100 project_master_rules + [
101 101 :change_namespace,
102   - :rename_project
  102 + :rename_project,
  103 + :remove_project
103 104 ]
104 105 end
105 106  
... ...
app/views/admin/projects/_form.html.haml
... ... @@ -23,7 +23,7 @@
23 23 .clearfix
24 24 = f.label :namespace_id
25 25 .input
26   - = f.select :namespace_id, namespaces_options(@project.namespace_id), {}, {class: 'chosen'}
  26 + = f.select :namespace_id, namespaces_options(@project.namespace_id, :all), {}, {class: 'chosen'}
27 27  
28 28 %span.cred Be careful. Changing project namespace can have unintended side effects
29 29  
... ...
app/views/help/permissions.html.haml
... ... @@ -4,61 +4,65 @@
4 4 ← to index
5 5 %hr
6 6  
7   -.row
8   - .ui-box.span2
9   - %h5 Guest
10   - %ul.unstyled
11   - %li Create new issue
12   - %li Leave comments
13   - %li Write on project wall
  7 +%fieldset
  8 + %legend Guest
  9 + %ul
  10 + %li Create new issue
  11 + %li Leave comments
  12 + %li Write on project wall
14 13  
15   - .ui-box.span3
16   - %h5 Reporter
17   - %ul.unstyled
18   - %li Create new issue
19   - %li Leave comments
20   - %li Write on project wall
21   - %li Pull project code
22   - %li Download project
23   - %li Create new merge request
24   - %li Create a code snippets
  14 +%fieldset
  15 + %legend Reporter
  16 + %ul
  17 + %li Create new issue
  18 + %li Leave comments
  19 + %li Write on project wall
  20 + %li Pull project code
  21 + %li Download project
  22 + %li Create new merge request
  23 + %li Create a code snippets
25 24  
26 25  
27   - .ui-box.span3
28   - %h5 Developer
29   - %ul.unstyled
30   - %li Create new issue
31   - %li Leave comments
32   - %li Write on project wall
33   - %li Pull project code
34   - %li Download project
35   - %li Create new merge request
36   - %li Create a code snippets
37   - %li Create new branches
38   - %li Push to non-protected branches
39   - %li Remove non-protected branches
40   - %li Add tags
41   - %li Write a wiki
  26 +%fieldset
  27 + %legend Developer
  28 + %ul
  29 + %li Create new issue
  30 + %li Leave comments
  31 + %li Write on project wall
  32 + %li Pull project code
  33 + %li Download project
  34 + %li Create new merge request
  35 + %li Create a code snippets
  36 + %li Create new branches
  37 + %li Push to non-protected branches
  38 + %li Remove non-protected branches
  39 + %li Add tags
  40 + %li Write a wiki
42 41  
43   - .ui-box.span3
44   - %h5 Master
45   - %ul.unstyled
46   - %li Create new issue
47   - %li Leave comments
48   - %li Write on project wall
49   - %li Pull project code
50   - %li Download project
51   - %li Create new merge request
52   - %li Create a code snippets
53   - %li Create new branches
54   - %li Push to non-protected branches
55   - %li Remove non-protected branches
56   - %li Add tags
57   - %li Write a wiki
58   - %li Add new team members
59   - %li Push to protected branches
60   - %li Remove protected branches
61   - %li Push with force option
62   - %li Edit project
63   - %li Add Deploy Keys to project
64   - %li Configure Project Hooks
  42 +%fieldset
  43 + %legend Master
  44 + %ul
  45 + %li Create new issue
  46 + %li Leave comments
  47 + %li Write on project wall
  48 + %li Pull project code
  49 + %li Download project
  50 + %li Create new merge request
  51 + %li Create a code snippets
  52 + %li Create new branches
  53 + %li Push to non-protected branches
  54 + %li Remove non-protected branches
  55 + %li Add tags
  56 + %li Write a wiki
  57 + %li Add new team members
  58 + %li Push to protected branches
  59 + %li Remove protected branches
  60 + %li Push with force option
  61 + %li Edit project
  62 + %li Add Deploy Keys to project
  63 + %li Configure Project Hooks
  64 +
  65 +%fieldset
  66 + %legend Owner
  67 + %ul
  68 + %li Transfer project to another namespace
... ...