summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2011-11-07 23:22:25 +0200
committerDmitriy Zaporozhets <dzaporozhets@sphereconsultinginc.com>2011-11-07 23:22:25 +0200
commit7066444fdabf8f1f151bb590f6513e34ce12a214 (patch)
tree945567b6ce9003c96d9e9e99c7d0ca3fc4a66b25
parent8170da06a6eb55bfe02fa9e3541b89e5a44ae4a4 (diff)
parent32abaa33f895f154aef126e7ea799aacdf8c6ee8 (diff)
downloadgitlab-ce-7066444fdabf8f1f151bb590f6513e34ce12a214.tar.gz
Merge branch 'dev'
-rw-r--r--app/assets/javascripts/note.js6
-rw-r--r--app/assets/stylesheets/projects.css.scss27
-rwxr-xr-xapp/assets/stylesheets/style.scss11
-rw-r--r--app/controllers/issues_controller.rb1
-rw-r--r--app/views/admin/users/_form.html.haml72
-rw-r--r--app/views/admin/users/index.html.haml1
-rw-r--r--app/views/issues/_form.html.haml13
-rw-r--r--app/views/issues/_issues.html.haml17
-rw-r--r--app/views/issues/_show.html.haml54
-rw-r--r--app/views/issues/create.js.haml1
-rw-r--r--app/views/issues/index.html.haml51
-rw-r--r--app/views/issues/index.js.haml2
-rw-r--r--app/views/keys/_form.html.haml6
-rw-r--r--app/views/notes/_form.html.haml9
-rw-r--r--app/views/profile/password.html.haml4
-rw-r--r--app/views/profile/show.html.haml6
-rw-r--r--public/.directory4
-rw-r--r--spec/requests/issues_spec.rb1
-rw-r--r--vendor/assets/stylesheets/jquery-ui/jquery-ui.css6
19 files changed, 162 insertions, 130 deletions
diff --git a/app/assets/javascripts/note.js b/app/assets/javascripts/note.js
index 7acc81e5bff..ef5330b7d4f 100644
--- a/app/assets/javascripts/note.js
+++ b/app/assets/javascripts/note.js
@@ -42,8 +42,10 @@ replace:
prepend:
function(id, html) {
- this.last_id = id;
- $("#notes-list").prepend(html);
+ if(id != this.last_id) {
+ this.last_id = id;
+ $("#notes-list").prepend(html);
+ }
},
getNew:
diff --git a/app/assets/stylesheets/projects.css.scss b/app/assets/stylesheets/projects.css.scss
index 7dfd8b297bf..3fe6b233e1f 100644
--- a/app/assets/stylesheets/projects.css.scss
+++ b/app/assets/stylesheets/projects.css.scss
@@ -276,6 +276,9 @@ input.ssh_project_url {
/** FORM INPUTS **/
.user_new,
+.new_key,
+.new_issue,
+.new_note,
.edit_user,
.new_project,
.new_snippet,
@@ -676,6 +679,30 @@ body.project-page table .commit {
}
}
+#notes-list .note .delete-note { display:none; }
+#notes-list .note:hover .delete-note { display:block; }
+
+#issues-table-holder .issue .action-links {
+ display:none;
+ a {
+ margin-left:10px;
+ }
+}
+
+.issue-number {
+ float: left;
+ border-radius: 5px;
+ text-shadow: none;
+ background: rgba(0, 0, 0, 0.12);
+ text-align: center;
+ padding: 14px 8px;
+ width: 40px;
+ margin-right: 10px;
+ color: #444;
+}
+
+#issues-table-holder .issue:hover .action-links { display:block; }
+
body.project-page #notes-list .note {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;}
body.project-page #notes-list .note {padding: 10px; border-bottom: 1px solid #eee; overflow: hidden; display: block;}
body.project-page #notes-list .note img{float: left; margin-right: 10px;}
diff --git a/app/assets/stylesheets/style.scss b/app/assets/stylesheets/style.scss
index ec403eba69c..13f26d97d44 100755
--- a/app/assets/stylesheets/style.scss
+++ b/app/assets/stylesheets/style.scss
@@ -87,6 +87,17 @@ h2{margin: 1.5em 0}
/* Forms */
input[type="text"]:focus, input[type="password"]:focus { outline: none; }
input.text{border: 1px solid #ccc; border-radius: 4px; display: block; padding: 10px}
+
+.form-row{
+ padding: 0px 0px 10px 0px;
+}
+
+.form-row label{
+ font-weight:bold;
+ display: inline-block;
+ padding: 0px 0px 5px 0px;
+}
+
/* eo Forms */
/* Tables */
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 7ff1ccb3a66..508cfc3974a 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -47,6 +47,7 @@ class IssuesController < ApplicationController
def create
@issue = @project.issues.new(params[:issue])
@issue.author = current_user
+
if @issue.save && @issue.assignee != current_user
Notify.new_issue_email(@issue).deliver
end
diff --git a/app/views/admin/users/_form.html.haml b/app/views/admin/users/_form.html.haml
index 51b5d5c76eb..06e5be19aa4 100644
--- a/app/views/admin/users/_form.html.haml
+++ b/app/views/admin/users/_form.html.haml
@@ -7,44 +7,42 @@
- @admin_user.errors.full_messages.each do |msg|
%li= msg
- .span-24
- .span-11.colborder
- .field
- = f.label :name
- %br
- = f.text_field :name
- .field
- = f.label :email
- %br
- = f.text_field :email
- .field
- = f.label :password
- %br
- = f.password_field :password
- .field
- = f.label :password_confirmation
- %br
- = f.password_field :password_confirmation
- .field.prepend-top
- = f.check_box :admin
- = f.label :admin
- .span-11
- .field.prepend-top
- = f.text_field :projects_limit, :class => "small_input"
- = f.label :projects_limit
+ .form-row
+ = f.label :name
+ %br
+ = f.text_field :name
+ .form-row
+ = f.label :email
+ %br
+ = f.text_field :email
+ .form-row
+ = f.label :password
+ %br
+ = f.password_field :password
+ .form-row
+ = f.label :password_confirmation
+ %br
+ = f.password_field :password_confirmation
+ .form-row
+ = f.check_box :admin
+ = f.label :admin
- .field
- = f.label :skype
- %br
- = f.text_field :skype
- .field
- = f.label :linkedin
- %br
- = f.text_field :linkedin
- .field
- = f.label :twitter
- %br
- = f.text_field :twitter
+ .form-row
+ = f.text_field :projects_limit, :class => "small_input"
+ = f.label :projects_limit
+
+ .form-row
+ = f.label :skype
+ %br
+ = f.text_field :skype
+ .form-row
+ = f.label :linkedin
+ %br
+ = f.text_field :linkedin
+ .form-row
+ = f.label :twitter
+ %br
+ = f.text_field :twitter
.clear
%br
.actions
diff --git a/app/views/admin/users/index.html.haml b/app/views/admin/users/index.html.haml
index cbec1060962..e12cfc7763b 100644
--- a/app/views/admin/users/index.html.haml
+++ b/app/views/admin/users/index.html.haml
@@ -21,4 +21,5 @@
%br
= paginate @admin_users
+
= link_to 'New User', new_admin_user_path
diff --git a/app/views/issues/_form.html.haml b/app/views/issues/_form.html.haml
index 80f19d627f4..ffcdc028ec1 100644
--- a/app/views/issues/_form.html.haml
+++ b/app/views/issues/_form.html.haml
@@ -5,24 +5,21 @@
- @issue.errors.full_messages.each do |msg|
%li= msg
- .span-8
+ .form-row
= f.label :title
= f.text_area :title, :style => "width:450px; height:100px", :maxlength => 255
- -#.span-8
- -#= f.label :content
- -#= f.text_area :content, :style => "width:450px; height:130px"
- .span-8.append-bottom
+ .form-row
= f.label :assignee_id
= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" })
- .span-1
+ .form-row
= f.label :critical, "Critical"
%br
= f.check_box :critical
- unless @issue.new_record?
- .span-2.right
+ .form-row
= f.label :closed
%br
= f.check_box :closed
%hr
- .span-6
+ .form-row
= f.submit 'Save', :class => "lbutton vm"
diff --git a/app/views/issues/_issues.html.haml b/app/views/issues/_issues.html.haml
index d758fed5386..eb0cae660ae 100644
--- a/app/views/issues/_issues.html.haml
+++ b/app/views/issues/_issues.html.haml
@@ -1,14 +1,5 @@
-%table.round-borders#issues-table
- %thead
- - if can?(current_user, :admin_issue, @project) && !params[:f] || params[:f] == "0"
- %th
- %th Assignee
- %th ID
- %th Title
- %th Closed?
+- @issues.critical.each do |issue|
+ = render(:partial => 'show', :locals => {:issue => issue})
- - @issues.critical.each do |issue|
- = render(:partial => 'show', :locals => {:issue => issue})
-
- - @issues.non_critical.each do |issue|
- = render(:partial => 'show', :locals => {:issue => issue})
+- @issues.non_critical.each do |issue|
+ = render(:partial => 'show', :locals => {:issue => issue})
diff --git a/app/views/issues/_show.html.haml b/app/views/issues/_show.html.haml
index 72b99b0400b..ebee0bf060f 100644
--- a/app/views/issues/_show.html.haml
+++ b/app/views/issues/_show.html.haml
@@ -1,37 +1,29 @@
%tr{ :id => dom_id(issue), :class => "issue #{issue.critical ? "critical" : ""}", :url => project_issue_path(@project, issue) }
- - if can?(current_user, :admin_issue, @project) && (!params[:f] || params[:f] == "0")
+ -#- if can?(current_user, :admin_issue, @project) && (!params[:f] || params[:f] == "0")
%td
= image_tag "move.png" , :class => [:handle, :left]
%td
- = image_tag gravatar_icon(issue.assignee.email), :class => "left", :width => 40, :style => "padding:0 5px;"
- = issue.assignee.name
- %td ##{issue.id}
- %td
- = truncate(html_escape(issue.title), :length => 200)
+ %strong.issue-number= "##{issue.id}"
+ %span
+ = truncate(html_escape(issue.title), :length => fixed_mode? ? 100 : 200)
%br
%br
- - if issue.critical
- %span.tag.high critical
- - if issue.today?
- %span.tag.today today
-
- .right
- - if can?(current_user, :admin_issue, @project) || issue.author == current_user
- = link_to 'Edit', edit_project_issue_path(@project, issue), :class => "cgray", :remote => true
- - if can?(current_user, :admin_issue, @project) || issue.author == current_user
- &nbsp;
- = link_to 'Destroy', [@project, issue], :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "cred delete-issue negative", :id => "destroy_issue_#{issue.id}"
-
- -#- if issue.author == current_user
- -#%span.tag.yours yours
- -#- if issue.notes.count > 0
- -#%span.tag.notes
- -#= issue.notes.count
- -#notes
- %td
- - if can? current_user, :write_issue, @project
- = form_for([@project, issue], :remote => true) do |f|
- = f.check_box :closed, :onclick => "$(this).parent().submit();"
- = hidden_field_tag :status_only, true
- - else
- = check_box_tag "closed", 1, issue.closed, :disabled => true
+ %div.note-author
+ %strong= issue.assignee.name
+ %cite.cgray
+ = time_ago_in_words(issue.updated_at)
+ ago
+ - if issue.critical
+ %span.tag.high critical
+ - if issue.today?
+ %span.tag.today today
+ .right.action-links
+ - if can? current_user, :write_issue, issue
+ - if issue.closed
+ = link_to 'Reopen', project_issue_path(@project, issue, :issue => {:closed => false }, :status_only => true), :method => :put, :class => "cgray", :remote => true
+ - else
+ = link_to 'Resolve', project_issue_path(@project, issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "cgray", :remote => true
+ - if can? current_user, :write_issue, issue
+ = link_to 'Edit', edit_project_issue_path(@project, issue), :class => "cgray edit-issue-link", :remote => true
+ - if can?(current_user, :admin_issue, @project) || issue.author == current_user
+ = link_to 'Destroy', [@project, issue], :confirm => 'Are you sure?', :method => :delete, :remote => true, :class => "cred delete-issue negative", :id => "destroy_issue_#{issue.id}"
diff --git a/app/views/issues/create.js.haml b/app/views/issues/create.js.haml
index 3713a8aff41..b8043290972 100644
--- a/app/views/issues/create.js.haml
+++ b/app/views/issues/create.js.haml
@@ -1,6 +1,7 @@
- if @issue.valid?
:plain
$("#new_issue_dialog").dialog("close");
+ $("#issues-table").prepend("#{escape_javascript(render(:partial => 'show', :locals => {:issue => @issue} ))}");
$.ajax({type: "GET", url: location.href, dataType: "script"});
- else
:plain
diff --git a/app/views/issues/index.html.haml b/app/views/issues/index.html.haml
index 21e455b9ec8..355429c3776 100644
--- a/app/views/issues/index.html.haml
+++ b/app/views/issues/index.html.haml
@@ -1,28 +1,31 @@
-%div
- .top_panel_issues
- - if can? current_user, :write_issue, @project
- %div{:class => "left", :style => "margin-right: 10px;" }
- = link_to 'New Issue', new_project_issue_path(@project), :remote => true, :class => "lbutton vm"
- = form_tag search_project_issues_path(@project), :method => :get, :remote => true, :class => :left, :id => "issue_search_form" do
- = hidden_field_tag :project_id, @project.id, { :id => 'project_id' }
- = search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search' }
+%div#issues-table-holder
+ %table.round-borders#issues-table
+ %thead
+ %th
+ .top_panel_issues
+ - if can? current_user, :write_issue, @project
+ %div{:class => "left", :style => "margin-right: 10px;" }
+ = link_to 'New Issue', new_project_issue_path(@project), :remote => true, :class => "lbutton vm"
+ = form_tag search_project_issues_path(@project), :method => :get, :remote => true, :class => :left, :id => "issue_search_form" do
+ = hidden_field_tag :project_id, @project.id, { :id => 'project_id' }
+ = search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search' }
- .right.issues_filter
- = form_tag project_issues_path(@project), :method => :get do
- .left
- = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "this.form.submit()", :id => "open_issues", :class => "status"
- = label_tag "open_issues","Open"
- .left
- = radio_button_tag :f, 2, params[:f] == "2", :onclick => "this.form.submit()", :id => "closed_issues", :class => "status"
- = label_tag "closed_issues","Closed"
- .left
- = radio_button_tag :f, 3, params[:f] == "3", :onclick => "this.form.submit()", :id => "my_issues", :class => "status"
- = label_tag "my_issues","To Me"
- .left
- = radio_button_tag :f, 1, params[:f] == "1", :onclick => "this.form.submit()", :id => "all_issues", :class => "status"
- = label_tag "all_issues","All"
+ .right.issues_filter
+ = form_tag project_issues_path(@project), :method => :get do
+ .left
+ = radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "this.form.submit()", :id => "open_issues", :class => "status"
+ = label_tag "open_issues","Open"
+ .left
+ = radio_button_tag :f, 2, params[:f] == "2", :onclick => "this.form.submit()", :id => "closed_issues", :class => "status"
+ = label_tag "closed_issues","Closed"
+ .left
+ = radio_button_tag :f, 3, params[:f] == "3", :onclick => "this.form.submit()", :id => "my_issues", :class => "status"
+ = label_tag "my_issues","To Me"
+ .left
+ = radio_button_tag :f, 1, params[:f] == "1", :onclick => "this.form.submit()", :id => "all_issues", :class => "status"
+ = label_tag "all_issues","All"
- #issues-table-holder= render "issues"
+ = render "issues"
%br
:javascript
var href = $('.issue_search').parent().attr('action');
@@ -37,7 +40,7 @@
if (terms.length >= 2 || terms.length == 0) {
$.get(href, { 'status': status, 'terms': terms, project: project_id }, function(response) {
- $('#issues-table').html(response);
+ $('#issues-table tbody').html(response);
setSortable();
});
}
diff --git a/app/views/issues/index.js.haml b/app/views/issues/index.js.haml
index bc18ac15151..a08ffe5adbb 100644
--- a/app/views/issues/index.js.haml
+++ b/app/views/issues/index.js.haml
@@ -1,3 +1,3 @@
:plain
- $('#issues-table-holder').html("#{escape_javascript(render('issues'))}");
+ $('#issues-table tbody').html("#{escape_javascript(render('issues'))}");
setSortable();
diff --git a/app/views/keys/_form.html.haml b/app/views/keys/_form.html.haml
index 7d3e14efc1e..a49164cf378 100644
--- a/app/views/keys/_form.html.haml
+++ b/app/views/keys/_form.html.haml
@@ -5,12 +5,12 @@
- @key.errors.full_messages.each do |msg|
%li= msg
- .span-6
+ .form-row
= f.label :title
= f.text_field :title, :style => "width:300px"
- .span-6
+ .form-row
= f.label :key
= f.text_area :key, :style => "width:300px; height:130px"
- .span-6
+ .form-row
= f.submit 'Save', :class => "lbutton vm"
diff --git a/app/views/notes/_form.html.haml b/app/views/notes/_form.html.haml
index 86f0b779adb..a0def20b32d 100644
--- a/app/views/notes/_form.html.haml
+++ b/app/views/notes/_form.html.haml
@@ -10,13 +10,16 @@
%div
= f.label :note
- %cite
+ %cite.cgray markdown supported
+ %br
%br
= f.text_area :note, :size => 255
-
+
%div.attach_holder
+ %br
= f.label :attachment
- %cite (less than 10 MB)
+ %cite.cgray (less than 10 MB)
+ %br
%br
= f.file_field :attachment
diff --git a/app/views/profile/password.html.haml b/app/views/profile/password.html.haml
index f77d3855364..3e82143de47 100644
--- a/app/views/profile/password.html.haml
+++ b/app/views/profile/password.html.haml
@@ -7,11 +7,11 @@
- @user.errors.full_messages.each do |msg|
%li= msg
- .div
+ .form-row
= f.label :password
%br
= f.password_field :password
- .div
+ .form-row
= f.label :password_confirmation
%br
= f.password_field :password_confirmation
diff --git a/app/views/profile/show.html.haml b/app/views/profile/show.html.haml
index ef23a1692a1..bf45f4400a4 100644
--- a/app/views/profile/show.html.haml
+++ b/app/views/profile/show.html.haml
@@ -16,15 +16,15 @@
- @user.errors.full_messages.each do |msg|
%li= msg
- .div
+ .form-row
= f.label :skype
%br
= f.text_field :skype
- .div
+ .form-row
= f.label :linkedin
%br
= f.text_field :linkedin
- .div
+ .form-row
= f.label :twitter
%br
= f.text_field :twitter
diff --git a/public/.directory b/public/.directory
new file mode 100644
index 00000000000..8bb0b81629f
--- /dev/null
+++ b/public/.directory
@@ -0,0 +1,4 @@
+[Dolphin]
+ShowPreview=true
+Timestamp=2011,11,6,21,7,47
+Version=2
diff --git a/spec/requests/issues_spec.rb b/spec/requests/issues_spec.rb
index b5d6f1bcf64..0dda659b405 100644
--- a/spec/requests/issues_spec.rb
+++ b/spec/requests/issues_spec.rb
@@ -169,6 +169,7 @@ describe "Issues" do
:assignee => @user,
:project => project
visit project_issues_path(project)
+ page.execute_script("$('.action-links').css('display', 'block');")
click_link "Edit"
end
diff --git a/vendor/assets/stylesheets/jquery-ui/jquery-ui.css b/vendor/assets/stylesheets/jquery-ui/jquery-ui.css
index a6b4c363716..a94efee496d 100644
--- a/vendor/assets/stylesheets/jquery-ui/jquery-ui.css
+++ b/vendor/assets/stylesheets/jquery-ui/jquery-ui.css
@@ -59,7 +59,7 @@
.ui-widget { font-family: "Helvetica Neue",Arial,Helvetica,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
-.ui-widget-content { border: 1px solid #dddddd; background: #ffffff url(ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
+.ui-widget-content { border: 1px solid #474D57; background: #ffffff url(ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
.ui-widget-content a { color: #222222; }
.ui-widget-header { color: #222222; font-weight: bold; }
.ui-widget-header a { color: #222222; }
@@ -445,8 +445,8 @@ button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra pad
* http://docs.jquery.com/UI/Dialog#theming
*/
.ui-dialog { position: absolute; padding: 0; width: 300px; overflow: hidden; }
-.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; background: #F7F7F7; color:#555; }
-.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0;}
+.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; background: #474D57; color:#eee; }
+.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; text-shadow: none;}
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; background:#eaeaea}
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }