Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
gitlab-ce
Commits
cc869d5d
Commit
cc869d5d
authored
Mar 23, 2013
by
Andrew8xx8
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Private field added to snippet
parent
77faffbd
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
99 additions
and
1 deletion
+99
-1
app/controllers/projects/snippets_controller.rb
app/controllers/projects/snippets_controller.rb
+92
-0
db/migrate/20130323174317_add_private_to_snippets.rb
db/migrate/20130323174317_add_private_to_snippets.rb
+5
-0
db/schema.rb
db/schema.rb
+2
-1
No files found.
app/controllers/projects/snippets_controller.rb
0 → 100644
View file @
cc869d5d
class
SnippetsController
<
ProjectResourceController
before_filter
:module_enabled
before_filter
:snippet
,
only:
[
:show
,
:edit
,
:destroy
,
:update
,
:raw
]
# Allow read any snippet
before_filter
:authorize_read_snippet!
# Allow write(create) snippet
before_filter
:authorize_write_snippet!
,
only:
[
:new
,
:create
]
# Allow modify snippet
before_filter
:authorize_modify_snippet!
,
only:
[
:edit
,
:update
]
# Allow destroy snippet
before_filter
:authorize_admin_snippet!
,
only:
[
:destroy
]
respond_to
:html
def
index
@snippets
=
@project
.
snippets
.
fresh
.
non_expired
end
def
new
@snippet
=
@project
.
snippets
.
new
end
def
create
@snippet
=
@project
.
snippets
.
new
(
params
[
:snippet
])
@snippet
.
author
=
current_user
@snippet
.
save
if
@snippet
.
valid?
redirect_to
[
@project
,
@snippet
]
else
respond_with
(
@snippet
)
end
end
def
edit
end
def
update
@snippet
.
update_attributes
(
params
[
:snippet
])
if
@snippet
.
valid?
redirect_to
[
@project
,
@snippet
]
else
respond_with
(
@snippet
)
end
end
def
show
@note
=
@project
.
notes
.
new
(
noteable:
@snippet
)
@target_type
=
:snippet
@target_id
=
@snippet
.
id
end
def
destroy
return
access_denied!
unless
can?
(
current_user
,
:admin_snippet
,
@snippet
)
@snippet
.
destroy
redirect_to
project_snippets_path
(
@project
)
end
def
raw
send_data
(
@snippet
.
content
,
type:
"text/plain"
,
disposition:
'inline'
,
filename:
@snippet
.
file_name
)
end
protected
def
snippet
@snippet
||=
@project
.
snippets
.
find
(
params
[
:id
])
end
def
authorize_modify_snippet!
return
render_404
unless
can?
(
current_user
,
:modify_snippet
,
@snippet
)
end
def
authorize_admin_snippet!
return
render_404
unless
can?
(
current_user
,
:admin_snippet
,
@snippet
)
end
def
module_enabled
return
render_404
unless
@project
.
snippets_enabled
end
end
db/migrate/20130323174317_add_private_to_snippets.rb
0 → 100644
View file @
cc869d5d
class
AddPrivateToSnippets
<
ActiveRecord
::
Migration
def
change
add_column
:snippets
,
:private
,
:boolean
end
end
db/schema.rb
View file @
cc869d5d
...
...
@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord
::
Schema
.
define
(
:version
=>
201303
18212250
)
do
ActiveRecord
::
Schema
.
define
(
:version
=>
201303
23174317
)
do
create_table
"events"
,
:force
=>
true
do
|
t
|
t
.
string
"target_type"
...
...
@@ -190,6 +190,7 @@ ActiveRecord::Schema.define(:version => 20130318212250) do
t
.
datetime
"updated_at"
,
:null
=>
false
t
.
string
"file_name"
t
.
datetime
"expires_at"
t
.
boolean
"private"
end
add_index
"snippets"
,
[
"created_at"
],
:name
=>
"index_snippets_on_created_at"
...
...
Write
Preview
Markdown
is supported
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