Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
374c1f934cba
Commit
374c1f93
authored
Nov 23, 2012
by
Dmitriy Zaporozhets
Browse files
Fixed admin area. Create project only from one place
parent
9fb91606014c
Changes
9
Hide whitespace changes
Inline
Side-by-side
app/controllers/admin/projects_controller.rb
View file @
374c1f93
class
Admin::ProjectsController
<
AdminController
before_filter
:
admin_
project
,
only:
[
:edit
,
:show
,
:update
,
:destroy
,
:team_update
]
before_filter
:project
,
only:
[
:edit
,
:show
,
:update
,
:destroy
,
:team_update
]
def
index
...
...
@@ -3,9 +3,9 @@
def
index
@
admin_
projects
=
Project
.
scoped
@
admin_
projects
=
@
admin_
projects
.
search
(
params
[
:name
])
if
params
[
:name
].
present?
@
admin_
projects
=
@
admin_
projects
.
order
(
"name ASC"
).
page
(
params
[
:page
]).
per
(
20
)
@projects
=
Project
.
scoped
@projects
=
@projects
.
search
(
params
[
:name
])
if
params
[
:name
].
present?
@projects
=
@projects
.
order
(
"name ASC"
).
page
(
params
[
:page
]).
per
(
20
)
end
def
show
@users
=
User
.
scoped
...
...
@@ -8,8 +8,8 @@
end
def
show
@users
=
User
.
scoped
@users
=
@users
.
not_in_project
(
@
admin_
project
)
if
@
admin_
project
.
users
.
present?
@users
=
@users
.
not_in_project
(
@project
)
if
@project
.
users
.
present?
@users
=
@users
.
all
end
...
...
@@ -13,11 +13,7 @@
@users
=
@users
.
all
end
def
new
@admin_project
=
Project
.
new
end
def
edit
end
def
team_update
...
...
@@ -20,9 +16,6 @@
def
edit
end
def
team_update
@admin_project
.
add_users_ids_to_team
(
params
[
:user_ids
],
params
[
:project_access
])
redirect_to
[
:admin
,
@admin_project
],
notice:
'Project was successfully updated.'
end
@project
.
add_users_ids_to_team
(
params
[
:user_ids
],
params
[
:project_access
])
...
...
@@ -28,16 +21,8 @@
def
create
@admin_project
=
Project
.
new
(
params
[
:project
])
@admin_project
.
owner
=
current_user
if
@admin_project
.
save
redirect_to
[
:admin
,
@admin_project
],
notice:
'Project was successfully created.'
else
render
action:
"new"
end
redirect_to
[
:admin
,
@project
],
notice:
'Project was successfully updated.'
end
def
update
owner_id
=
params
[
:project
].
delete
(
:owner_id
)
if
owner_id
...
...
@@ -38,9 +23,9 @@
end
def
update
owner_id
=
params
[
:project
].
delete
(
:owner_id
)
if
owner_id
@
admin_
project
.
owner
=
User
.
find
(
owner_id
)
@project
.
owner
=
User
.
find
(
owner_id
)
end
...
...
@@ -45,10 +30,10 @@
end
if
@
admin_
project
.
update_attributes
(
params
[
:project
])
redirect_to
[
:admin
,
@
admin_
project
],
notice:
'Project was successfully updated.'
if
@project
.
update_attributes
(
params
[
:project
]
,
as: :admin
)
redirect_to
[
:admin
,
@project
],
notice:
'Project was successfully updated.'
else
render
action:
"edit"
end
end
def
destroy
...
...
@@ -49,11 +34,8 @@
else
render
action:
"edit"
end
end
def
destroy
@admin_project
.
destroy
redirect_to
admin_projects_url
,
notice:
'Project was successfully deleted.'
end
@project
.
destroy
...
...
@@ -59,7 +41,4 @@
private
def
admin_project
@admin_project
=
Project
.
find_by_code
(
params
[
:id
])
redirect_to
projects_url
,
notice:
'Project was successfully deleted.'
end
end
app/models/project.rb
View file @
374c1f93
...
...
@@ -28,7 +28,10 @@
include
Team
attr_accessible
:name
,
:path
,
:description
,
:code
,
:default_branch
,
:issues_enabled
,
:wall_enabled
,
:merge_requests_enabled
,
:wiki_enabled
:wall_enabled
,
:merge_requests_enabled
,
:wiki_enabled
,
as:
[
:default
,
:admin
]
attr_accessible
:namespace_id
,
as: :admin
attr_accessor
:error_code
# Relations
...
...
app/views/admin/projects/_form.html.haml
View file @
374c1f93
...
...
@@ -11,10 +11,9 @@
.input
=
f
.
text_field
:name
,
placeholder:
"Example Project"
,
class:
"xxlarge"
%hr
.adv_settings
%h6
Advanced settings:
%fieldset
.adv_settings
%legend
Advanced settings:
.clearfix
=
f
.
label
:path
do
Path
.input
...
...
@@ -17,10 +16,8 @@
.clearfix
=
f
.
label
:path
do
Path
.input
.input-prepend
%strong
=
text_field_tag
:ppath
,
@admin_project
.
path_to_repo
,
class:
"xlarge"
,
disabled:
true
=
text_field_tag
:ppath
,
@project
.
path_to_repo
,
class:
"xlarge"
,
disabled:
true
.clearfix
=
f
.
label
:code
do
URL
...
...
@@ -31,6 +28,10 @@
-
unless
project
.
new_record?
.clearfix
=
f
.
label
:namespace_id
.input
=
f
.
select
:namespace_id
,
namespaces_options
,
{},
{
class:
'chosen'
}
.clearfix
=
f
.
label
:owner_id
.input
=
f
.
select
:owner_id
,
User
.
all
.
map
{
|
user
|
[
user
.
name
,
user
.
id
]
},
{},
{
class:
'chosen'
}
...
...
@@ -40,9 +41,8 @@
.input
=
f
.
select
(
:default_branch
,
project
.
heads
.
map
(
&
:name
),
{},
style:
"width:210px;"
)
-
unless
project
.
new_record?
%hr
.adv_settings
%h6
Features:
%fieldset
.adv_settings
%legend
Features:
.clearfix
=
f
.
label
:issues_enabled
,
"Issues"
...
...
app/views/admin/projects/_new_form.html.haml
deleted
100644 → 0
View file @
9fb91606
=
form_for
[
:admin
,
@admin_project
]
do
|
f
|
-
if
@admin_project
.
errors
.
any?
.alert-message.block-message.error
%span
=
@admin_project
.
errors
.
full_messages
.
first
.clearfix.project_name_holder
=
f
.
label
:name
do
Project name is
.input
=
f
.
text_field
:name
,
placeholder:
"Example Project"
,
class:
"xxlarge"
=
f
.
submit
'Create project'
,
class:
"btn primary project-submit"
%hr
%div
.adv_settings
%h6
Advanced settings:
.clearfix
=
f
.
label
:path
do
Git Clone
.input
.input-prepend
%span
.add-on
=
Gitlab
.
config
.
ssh_path
=
f
.
text_field
:path
,
placeholder:
"example_project"
,
disabled:
!
@admin_project
.
new_record?
%span
.add-on
=
".git"
.clearfix
=
f
.
label
:code
do
URL
.input
.input-prepend
%span
.add-on
=
web_app_url
=
f
.
text_field
:code
,
placeholder:
"example"
app/views/admin/projects/edit.html.haml
View file @
374c1f93
%h3
.page_title
#{
@
admin_
project
.
name
}
→
Edit project
%h3
.page_title
#{
@project
.
name
}
→
Edit project
%hr
...
...
@@ -2,2 +2,2 @@
%hr
=
render
'form'
,
project:
@
admin_
project
=
render
'form'
,
project:
@project
app/views/admin/projects/index.html.haml
View file @
374c1f93
=
render
'admin/shared/projects_head'
%h3
.page_title
Projects
=
link_to
'New Project'
,
new_
admin_
project_path
,
class:
"btn small right"
=
link_to
'New Project'
,
new_project_path
,
class:
"btn small right"
%br
=
form_tag
admin_projects_path
,
method: :get
,
class:
'form-inline'
do
=
text_field_tag
:name
,
params
[
:name
],
class:
"xlarge"
...
...
@@ -16,7 +16,7 @@
%th
Edit
%th
.cred
Danger Zone!
-
@
admin_
projects
.
each
do
|
project
|
-
@projects
.
each
do
|
project
|
%tr
%td
=
link_to
project
.
name
,
[
:admin
,
project
]
%td
=
project
.
path
...
...
@@ -24,4 +24,4 @@
%td
=
last_commit
(
project
)
%td
=
link_to
'Edit'
,
edit_admin_project_path
(
project
),
id:
"edit_
#{
dom_id
(
project
)
}
"
,
class:
"btn small"
%td
.bgred
=
link_to
'Destroy'
,
[
:admin
,
project
],
confirm:
"REMOVE
#{
project
.
name
}
? Are you sure?"
,
method: :delete
,
class:
"btn small danger"
=
paginate
@
admin_
projects
,
theme:
"admin"
=
paginate
@projects
,
theme:
"admin"
app/views/admin/projects/new.html.haml
deleted
100644 → 0
View file @
9fb91606
.project_new_holder
%h3
.page_title
New Project
%hr
=
render
'new_form'
%div
.save-project-loader.hide
%center
=
image_tag
"ajax_loader.gif"
%h3
Creating project
&
repository. Please wait a few minutes
:javascript
$
(
function
(){
new
Projects
();
});
app/views/admin/projects/show.html.haml
View file @
374c1f93
=
render
'admin/shared/projects_head'
%h3
.page_title
Project:
#{
@
admin_
project
.
name
}
=
link_to
edit_admin_project_path
(
@
admin_
project
),
class:
"btn right"
do
Project:
#{
@project
.
name
}
=
link_to
edit_admin_project_path
(
@project
),
class:
"btn right"
do
%i
.icon-edit
Edit
...
...
@@ -5,7 +5,7 @@
%i
.icon-edit
Edit
-
if
!
@
admin_
project
.
has_post_receive_file?
&&
@
admin_
project
.
has_commits?
-
if
!
@project
.
has_post_receive_file?
&&
@project
.
has_commits?
%br
.alert.alert-error
%span
...
...
@@ -25,9 +25,9 @@
%b
Name:
%td
=
@
admin_
project
.
name
=
@project
.
name
%tr
%td
%b
Code:
%td
...
...
@@ -29,11 +29,11 @@
%tr
%td
%b
Code:
%td
=
@
admin_
project
.
code
=
@project
.
code
%tr
%td
%b
Path:
%td
...
...
@@ -35,11 +35,11 @@
%tr
%td
%b
Path:
%td
=
@admin_
project
.
path
%code
=
@
project
.
path
_to_repo
%tr
%td
%b
Owner:
%td
...
...
@@ -41,11 +41,11 @@
%tr
%td
%b
Owner:
%td
=
@
admin_
project
.
owner_name
||
'(deleted)'
=
@project
.
owner_name
||
'(deleted)'
%tr
%td
%b
Post Receive File:
%td
...
...
@@ -47,10 +47,10 @@
%tr
%td
%b
Post Receive File:
%td
=
check_box_tag
:post_receive_file
,
1
,
@
admin_
project
.
has_post_receive_file?
,
disabled:
true
=
check_box_tag
:post_receive_file
,
1
,
@project
.
has_post_receive_file?
,
disabled:
true
%br
%h3
Team
%small
...
...
@@ -53,8 +53,8 @@
%br
%h3
Team
%small
(
#{
@
admin_
project
.
users_projects
.
count
}
)
(
#{
@project
.
users_projects
.
count
}
)
%br
%table
.zebra-striped
%thead
...
...
@@ -64,7 +64,7 @@
%th
Repository Access
%th
-
@
admin_
project
.
users_projects
.
each
do
|
tm
|
-
@project
.
users_projects
.
each
do
|
tm
|
%tr
%td
=
link_to
tm
.
user_name
,
admin_user_path
(
tm
.
user
)
...
...
@@ -75,7 +75,7 @@
%br
%h3
Add new team member
%br
=
form_tag
team_update_admin_project_path
(
@
admin_
project
),
class:
"bulk_import"
,
method: :put
do
=
form_tag
team_update_admin_project_path
(
@project
),
class:
"bulk_import"
,
method: :put
do
%table
.zebra-striped
%thead
%tr
...
...
config/routes.rb
View file @
374c1f93
...
...
@@ -49,7 +49,7 @@
delete
:remove_project
end
end
resources
:projects
,
constraints:
{
id:
/[a-zA-Z.\/0-9_\-]+/
}
do
resources
:projects
,
constraints:
{
id:
/[a-zA-Z.\/0-9_\-]+/
}
,
except:
[
:new
,
:create
]
do
member
do
get
:team
put
:team_update
...
...
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