summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorAndrew8xx8 <avk@8xx8.ru>2013-03-23 23:13:51 +0400
committerAndrew8xx8 <avk@8xx8.ru>2013-03-23 23:17:25 +0400
commitb49cfbc1d54b6cfa674ba803b3a90fb81c609c8b (patch)
treef3bbb846ae9881b33e238585e1d72ea5e668d689 /app
parentcc869d5dc101ea1175e308d8532064f06072d08b (diff)
downloadgitlab-ce-b49cfbc1d54b6cfa674ba803b3a90fb81c609c8b.tar.gz
Project snippets moved to /projects
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects/snippets_controller.rb2
-rw-r--r--app/views/projects/snippets/_blob.html.haml12
-rw-r--r--app/views/projects/snippets/_form.html.haml41
-rw-r--r--app/views/projects/snippets/_snippet.html.haml13
-rw-r--r--app/views/projects/snippets/edit.html.haml1
-rw-r--r--app/views/projects/snippets/index.html.haml19
-rw-r--r--app/views/projects/snippets/new.html.haml1
-rw-r--r--app/views/projects/snippets/show.html.haml9
8 files changed, 97 insertions, 1 deletions
diff --git a/app/controllers/projects/snippets_controller.rb b/app/controllers/projects/snippets_controller.rb
index a2e22a670a3..7c3281084f7 100644
--- a/app/controllers/projects/snippets_controller.rb
+++ b/app/controllers/projects/snippets_controller.rb
@@ -1,4 +1,4 @@
-class SnippetsController < ProjectResourceController
+class Projects::SnippetsController < Projects::ApplicationController
before_filter :module_enabled
before_filter :snippet, only: [:show, :edit, :destroy, :update, :raw]
diff --git a/app/views/projects/snippets/_blob.html.haml b/app/views/projects/snippets/_blob.html.haml
new file mode 100644
index 00000000000..017a33b34f3
--- /dev/null
+++ b/app/views/projects/snippets/_blob.html.haml
@@ -0,0 +1,12 @@
+.file_holder
+ .file_title
+ %i.icon-file
+ %strong= @snippet.file_name
+ %span.options
+ = link_to "raw", raw_project_snippet_path(@project, @snippet), class: "btn btn-tiny", target: "_blank"
+ .file_content.code
+ - unless @snippet.content.empty?
+ %div{class: user_color_scheme_class}
+ = raw @snippet.colorize(formatter: :gitlab)
+ - else
+ %p.nothing_here_message Empty file
diff --git a/app/views/projects/snippets/_form.html.haml b/app/views/projects/snippets/_form.html.haml
new file mode 100644
index 00000000000..77162cdcde3
--- /dev/null
+++ b/app/views/projects/snippets/_form.html.haml
@@ -0,0 +1,41 @@
+%h3.page_title
+ = @snippet.new_record? ? "New Snippet" : "Edit Snippet ##{@snippet.id}"
+%hr
+.snippet-form-holder
+ = form_for [@project, @snippet] do |f|
+ -if @snippet.errors.any?
+ .alert.alert-error
+ %ul
+ - @snippet.errors.full_messages.each do |msg|
+ %li= msg
+
+ .clearfix
+ = f.label :title
+ .input= f.text_field :title, placeholder: "Example Snippet", class: 'input-xlarge', required: true
+ .clearfix
+ = f.label "Lifetime"
+ .input= f.select :expires_at, lifetime_select_options, {}, {class: 'chosen span2'}
+ .clearfix
+ .file-editor
+ = f.label :file_name, "File"
+ .input
+ .file_holder.snippet
+ .file_title
+ = f.text_field :file_name, placeholder: "example.rb", class: 'snippet-file-name', required: true
+ .file_content.code
+ %pre#editor= @snippet.content
+ = f.hidden_field :content, class: 'snippet-file-content'
+
+ .form-actions
+ = f.submit 'Save', class: "btn-save btn"
+ = link_to "Cancel", project_snippets_path(@project), class: " btn"
+ - unless @snippet.new_record?
+ .pull-right= link_to 'Destroy', [@project, @snippet], confirm: 'Are you sure?', method: :delete, class: "btn pull-right danger delete-snippet", id: "destroy_snippet_#{@snippet.id}"
+
+
+:javascript
+ var editor = ace.edit("editor");
+ $(".snippet-form-holder form").submit(function(){
+ $(".snippet-file-content").val(editor.getValue());
+ });
+
diff --git a/app/views/projects/snippets/_snippet.html.haml b/app/views/projects/snippets/_snippet.html.haml
new file mode 100644
index 00000000000..a576500c15d
--- /dev/null
+++ b/app/views/projects/snippets/_snippet.html.haml
@@ -0,0 +1,13 @@
+%tr
+ %td
+ = image_tag gravatar_icon(snippet.author_email), class: "avatar s24"
+ %a{href: project_snippet_path(snippet.project, snippet)}
+ %strong= truncate(snippet.title, length: 60)
+ %td
+ = snippet.file_name
+ %td
+ %span.cgray
+ - if snippet.expires_at
+ = snippet.expires_at.to_date.to_s(:short)
+ - else
+ Never
diff --git a/app/views/projects/snippets/edit.html.haml b/app/views/projects/snippets/edit.html.haml
new file mode 100644
index 00000000000..f81c0b8bc64
--- /dev/null
+++ b/app/views/projects/snippets/edit.html.haml
@@ -0,0 +1 @@
+= render "snippets/form"
diff --git a/app/views/projects/snippets/index.html.haml b/app/views/projects/snippets/index.html.haml
new file mode 100644
index 00000000000..bacf23d8f8d
--- /dev/null
+++ b/app/views/projects/snippets/index.html.haml
@@ -0,0 +1,19 @@
+%h3.page_title
+ Snippets
+ %small share code pastes with others out of git repository
+
+ - if can? current_user, :write_snippet, @project
+ = link_to new_project_snippet_path(@project), class: "btn btn-small add_new pull-right", title: "New Snippet" do
+ Add new snippet
+%br
+%table
+ %thead
+ %tr
+ %th Title
+ %th File Name
+ %th Expires At
+ = render @snippets
+ - if @snippets.empty?
+ %tr
+ %td{colspan: 3}
+ %h3.nothing_here_message Nothing here.
diff --git a/app/views/projects/snippets/new.html.haml b/app/views/projects/snippets/new.html.haml
new file mode 100644
index 00000000000..f81c0b8bc64
--- /dev/null
+++ b/app/views/projects/snippets/new.html.haml
@@ -0,0 +1 @@
+= render "snippets/form"
diff --git a/app/views/projects/snippets/show.html.haml b/app/views/projects/snippets/show.html.haml
new file mode 100644
index 00000000000..12534edf8ba
--- /dev/null
+++ b/app/views/projects/snippets/show.html.haml
@@ -0,0 +1,9 @@
+%h3.page_title
+ = @snippet.title
+ %small= @snippet.file_name
+ - if can?(current_user, :admin_snippet, @project) || @snippet.author == current_user
+ = link_to "Edit", edit_project_snippet_path(@project, @snippet), class: "btn btn-small pull-right", title: 'Edit Snippet'
+
+%br
+%div= render 'blob'
+%div#notes= render "notes/notes_with_form"