Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Privacy
Imprint
Contact
Login methods
Sign in
Toggle navigation
Menu
Open sidebar
projects.thm.de
GitLab FOSS
Commits
eb3e07a5
Commit
eb3e07a5
authored
Nov 30, 2012
by
Dmitriy Zaporozhets
Browse files
Use project owner if no namespace. Restyled team page
parent
8bf340f5
Changes
13
Hide whitespace changes
Inline
Side-by-side
app/assets/stylesheets/sections/projects.scss
View file @
eb3e07a5
...
...
@@ -94,6 +94,7 @@
}
input
[
type
=
"text"
]
{
@extend
.monospace
;
border
:
1px
solid
#BBB
;
box-shadow
:
none
;
margin-left
:
-1px
;
...
...
app/models/ability.rb
View file @
eb3e07a5
...
...
@@ -18,7 +18,7 @@ def project_abilities(user, project)
# Rules based on role in project
if
project
.
master_access_for?
(
user
)
# TODO: replace with master rules.
# Only allow project administration for owners
# Only allow project administration for
namespace
owners
rules
<<
project_admin_rules
elsif
project
.
dev_access_for?
(
user
)
...
...
@@ -31,15 +31,20 @@ def project_abilities(user, project)
rules
<<
project_guest_rules
end
# If user own project namespace (Ex. group owner or account owner)
if
project
.
namespace
&&
project
.
namespace
.
owner
==
user
rules
<<
project_admin_rules
if
project
.
namespace
# If user own project namespace
# (Ex. group owner or account owner)
if
project
.
namespace
.
owner
==
user
rules
<<
project_admin_rules
end
else
# For compatibility with global projects
# use projects.owner_id
if
project
.
owner
==
user
rules
<<
project_admin_rules
end
end
# If user was set as direct project owner
if
project
.
owner
==
user
rules
<<
project_admin_rules
end
rules
.
flatten
end
...
...
app/models/project.rb
View file @
eb3e07a5
...
...
@@ -292,4 +292,8 @@ def items_for entity
merge_requests
end
end
def
namespace_owner
namespace
.
try
(
:owner
)
end
end
app/views/admin/projects/_form.html.haml
View file @
eb3e07a5
...
...
@@ -24,10 +24,6 @@
=
f
.
label
:namespace_id
.input
=
f
.
select
:namespace_id
,
namespaces_options
(
@project
.
namespace_id
),
{},
{
class:
'chosen'
}
.clearfix
=
f
.
label
:owner_id
.input
=
f
.
select
:owner_id
,
User
.
all
.
map
{
|
user
|
[
user
.
name
,
user
.
id
]
},
{},
{
class:
'chosen'
}
-
if
project
.
repo_exists?
.clearfix
=
f
.
label
:default_branch
,
"Default Branch"
...
...
app/views/admin/projects/show.html.haml
View file @
eb3e07a5
...
...
@@ -25,6 +25,15 @@
Name:
%td
=
@project
.
name
%tr
%td
%b
Namespace:
%td
-
if
@project
.
namespace
=
@project
.
namespace
.
human_name
-
else
Global
%tr
%td
%b
...
...
@@ -34,7 +43,7 @@
%tr
%td
%b
Owner
:
Created by
:
%td
=
@project
.
owner_name
||
'(deleted)'
%tr
...
...
app/views/groups/people.html.haml
View file @
eb3e07a5
...
...
@@ -15,10 +15,6 @@
=
image_tag
gravatar_icon
(
user
.
email
,
16
),
class:
"avatar s16"
%strong
=
user
.
name
%span
.cgray
=
user
.
email
-
if
@project
-
if
@project
.
owner
==
user
%span
.btn.btn-small.disabled.right
Project Owner
-
else
-
if
@group
.
owner
==
user
%span
.btn.btn-small.disabled.right
Group Owner
-
if
@group
.
owner
==
user
%span
.btn.btn-small.disabled.right
Group Owner
app/views/layouts/project_resource.html.haml
View file @
eb3e07a5
...
...
@@ -4,7 +4,8 @@
%body
{
class:
"#{app_theme} project"
}
=
render
"layouts/flash"
=
render
"layouts/head_panel"
,
title:
@project
.
name
=
render
'shared/no_ssh'
-
if
can?
(
current_user
,
:download_code
,
@project
)
=
render
'shared/no_ssh'
.container
%ul
.main_menu
=
nav_link
(
html_options:
{
class:
"home
#{
project_tab_class
}
"
})
do
...
...
app/views/projects/empty.html.haml
View file @
eb3e07a5
=
render
'clone_panel'
%div
.git-empty
%h4
Git global setup:
%pre
.dark
=
preserve
do
git config --global user.name "
#{
current_user
.
name
}
"
git config --global user.email "
#{
current_user
.
email
}
"
%fieldset
%legend
Git global setup:
%pre
.dark
=
preserve
do
git config --global user.name "
#{
current_user
.
name
}
"
git config --global user.email "
#{
current_user
.
email
}
"
%h4
.prepend-top-20
Create Repository
%pre
.dark
=
preserve
do
mkdir
#{
@project
.
path
}
cd
#{
@project
.
path
}
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin
#{
@project
.
url_to_repo
}
git push -u origin master
%fieldset
%legend
Create Repository
%pre
.dark
=
preserve
do
mkdir
#{
@project
.
path
}
cd
#{
@project
.
path
}
git init
touch README
git add README
git commit -m 'first commit'
git remote add origin
#{
@project
.
url_to_repo
}
git push -u origin master
%h4
.prepend-top-20
Existing Git Repo?
%pre
.dark
=
preserve
do
cd existing_git_repo
git remote add origin
#{
@project
.
url_to_repo
}
git push -u origin master
%fieldset
%legend
Existing Git Repo?
%pre
.dark
=
preserve
do
cd existing_git_repo
git remote add origin
#{
@project
.
url_to_repo
}
git push -u origin master
-
if
can?
current_user
,
:admin_project
,
@project
.prepend-top-20
...
...
app/views/shared/_clone_panel.html.haml
View file @
eb3e07a5
.input-prepend.project_clone_holder
%button
{
class:
"btn active"
,
:"data-clone"
=>
@project
.
ssh_url_to_repo
}
SSH
%button
{
class:
"btn"
,
:"data-clone"
=>
@project
.
http_url_to_repo
}=
Gitlab
.
config
.
web_protocol
.
upcase
=
text_field_tag
:project_clone
,
@project
.
url_to_repo
,
class:
"one_click_select
span5
"
=
text_field_tag
:project_clone
,
@project
.
url_to_repo
,
class:
"one_click_select
input-xxlarge
"
app/views/team_members/_show.html.haml
View file @
eb3e07a5
-
user
=
member
.
user
-
allow_admin
=
can?
current_user
,
:admin_project
,
@project
%tr
{
id:
dom_id
(
member
),
class:
"team_member_row user_#{user.id}"
}
%td
.span6
=
link_to
project_team_member_path
(
@project
,
member
),
title:
user
.
name
,
class:
"dark"
do
=
image_tag
gravatar_icon
(
user
.
email
,
40
),
class:
"avatar s32"
=
link_to
project_team_member_path
(
@project
,
member
),
title:
user
.
name
,
class:
"dark"
do
%strong
=
truncate
(
user
.
name
,
lenght:
40
)
%br
%small
.cgray
=
user
.
email
%li
.wll
{
id:
dom_id
(
member
),
class:
"team_member_row user_#{user.id}"
}
.row
.span6
=
link_to
project_team_member_path
(
@project
,
member
),
title:
user
.
name
,
class:
"dark"
do
=
image_tag
gravatar_icon
(
user
.
email
,
40
),
class:
"avatar s32"
=
link_to
project_team_member_path
(
@project
,
member
),
title:
user
.
name
,
class:
"dark"
do
%strong
=
truncate
(
user
.
name
,
lenght:
40
)
%br
%small
.cgray
=
user
.
email
%td
.span5
.right
-
if
current_user
==
user
%span
.btn.disabled
This is you!
-
if
@project
.
owner
==
user
%span
.btn.disabled.success
Owner
-
elsif
user
.
blocked
%span
.btn.disabled.blocked
Blocked
-
elsif
allow_admin
=
link_to
project_team_member_path
(
project_id:
@project
,
id:
member
.
id
),
confirm:
remove_from_team_message
(
@project
,
member
),
method: :delete
,
class:
"very_small btn danger"
do
%i
.icon-minus.icon-white
.span5.right
-
if
allow_admin
.left
=
form_for
(
member
,
as: :team_member
,
url:
project_team_member_path
(
@project
,
member
))
do
|
f
|
=
f
.
select
:project_access
,
options_for_select
(
UsersProject
.
access_roles
,
member
.
project_access
),
{},
class:
"medium project-access-select span2"
.right
-
if
current_user
==
user
%span
.btn.disabled
This is you!
-
if
@project
.
namespace_owner
==
user
%span
.btn.disabled.success
Owner
-
elsif
user
.
blocked
%span
.btn.disabled.blocked
Blocked
-
elsif
allow_admin
=
link_to
project_team_member_path
(
project_id:
@project
,
id:
member
.
id
),
confirm:
remove_from_team_message
(
@project
,
member
),
method: :delete
,
class:
"very_small btn danger"
do
%i
.icon-minus.icon-white
-
if
allow_admin
=
form_for
(
member
,
as: :team_member
,
url:
project_team_member_path
(
@project
,
member
))
do
|
f
|
=
f
.
select
:project_access
,
options_for_select
(
UsersProject
.
access_roles
,
member
.
project_access
),
{},
class:
"medium project-access-select span2"
app/views/team_members/_team.html.haml
View file @
eb3e07a5
-
grouper_project_members
(
@project
).
each
do
|
access
,
members
|
%table
.low
%thead
%tr
%th
.span7
=
Project
.
access_options
.
key
(
access
).
pluralize
%th
%tbody
%fieldset
%legend
=
Project
.
access_options
.
key
(
access
).
pluralize
%small
=
members
.
size
%ul
.unstyled
-
members
.
each
do
|
up
|
=
render
(
partial:
'team_members/show'
,
locals:
{
member:
up
})
...
...
app/views/team_members/index.html.haml
View file @
eb3e07a5
=
render
"projects/project_head"
%h3
.page_title
Team Members
%small
(
#{
@project
.
users_projects
.
count
}
)
-
if
can?
current_user
,
:admin_team_member
,
@project
%p
.slead
(
#{
@project
.
users_projects
.
count
}
)
%small
Read more about project permissions
%strong
=
link_to
"here"
,
help_permissions_path
,
class:
"vlink"
-
if
can?
current_user
,
:admin_team_member
,
@project
%span
.right
=
link_to
import_project_team_members_path
(
@project
),
class:
"btn small grouped"
,
title:
"Import team from another project"
do
Import team from another project
=
link_to
new_project_team_member_path
(
@project
),
class:
"btn success small grouped"
,
title:
"New Team Member"
do
New Team Member
%hr
.clearfix
=
render
partial:
"team_members/team"
,
locals:
{
project:
@project
}
.clearfix
%div
.team-table
=
render
partial:
"team_members/team"
,
locals:
{
project:
@project
}
app/views/tree/_head.html.haml
View file @
eb3e07a5
...
...
@@ -4,4 +4,4 @@
=
nav_link
(
controller: :tree
)
do
=
link_to
'Source'
,
project_tree_path
(
@project
,
@ref
)
%li
.right
=
render
"shared/clone_panel"
\ No newline at end of file
=
render
"shared/clone_panel"
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment