Merge branch 'dev' into issue-184

Conflicts:
	app/views/layouts/project.html.haml
This commit is contained in:
Aleksei Kvitinskii 2011-11-07 21:29:28 +02:00
commit 444b69ddc2
17 changed files with 106 additions and 66 deletions

View file

@ -42,8 +42,10 @@ replace:
prepend: prepend:
function(id, html) { function(id, html) {
this.last_id = id; if(id != this.last_id) {
$("#notes-list").prepend(html); this.last_id = id;
$("#notes-list").prepend(html);
}
}, },
getNew: getNew:

View file

@ -276,6 +276,9 @@ input.ssh_project_url {
/** FORM INPUTS **/ /** FORM INPUTS **/
.user_new, .user_new,
.new_key,
.new_issue,
.new_note,
.edit_user, .edit_user,
.new_project, .new_project,
.new_snippet, .new_snippet,
@ -667,6 +670,15 @@ table.highlighttable pre{
.cred { color:#D12F19; } .cred { color:#D12F19; }
.cgreen { color:#44aa22; } .cgreen { color:#44aa22; }
body.project-page table .commit {
a.tree-commit-link {
color:gray;
&:hover {
text-decoration:underline;
}
}
}
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 {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;} body.project-page #notes-list .note img{float: left; margin-right: 10px;}

View file

@ -87,6 +87,17 @@ h2{margin: 1.5em 0}
/* Forms */ /* Forms */
input[type="text"]:focus, input[type="password"]:focus { outline: none; } input[type="text"]:focus, input[type="password"]:focus { outline: none; }
input.text{border: 1px solid #ccc; border-radius: 4px; display: block; padding: 10px} 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 */ /* eo Forms */
/* Tables */ /* Tables */

View file

@ -4,6 +4,10 @@ module ApplicationHelper
"http://www.gravatar.com/avatar/#{Digest::MD5.hexdigest(user_email)}?s=40&d=identicon" "http://www.gravatar.com/avatar/#{Digest::MD5.hexdigest(user_email)}?s=40&d=identicon"
end end
def fixed_mode?
@view_mode == :fixed
end
def body_class(default_class = nil) def body_class(default_class = nil)
main = content_for(:body_class).blank? ? main = content_for(:body_class).blank? ?
default_class : default_class :

View file

@ -50,6 +50,11 @@ class Project < ActiveRecord::Base
code code
end end
def team_member_by_name_or_email(email = nil, name = nil)
user = users.where("email like ? or name like ?", email, name).first
users_projects.find_by_user_id(user.id) if user
end
def common_notes def common_notes
notes.where(:noteable_type => ["", nil]) notes.where(:noteable_type => ["", nil])
end end

View file

@ -7,44 +7,42 @@
- @admin_user.errors.full_messages.each do |msg| - @admin_user.errors.full_messages.each do |msg|
%li= msg %li= msg
.span-24 .form-row
.span-11.colborder = f.label :name
.field %br
= f.label :name = f.text_field :name
%br .form-row
= f.text_field :name = f.label :email
.field %br
= f.label :email = f.text_field :email
%br .form-row
= f.text_field :email = f.label :password
.field %br
= f.label :password = f.password_field :password
%br .form-row
= f.password_field :password = f.label :password_confirmation
.field %br
= f.label :password_confirmation = f.password_field :password_confirmation
%br .form-row
= f.password_field :password_confirmation = f.check_box :admin
.field.prepend-top = f.label :admin
= f.check_box :admin
= f.label :admin
.span-11
.field.prepend-top
= f.text_field :projects_limit, :class => "small_input"
= f.label :projects_limit
.field .form-row
= f.label :skype = f.text_field :projects_limit, :class => "small_input"
%br = f.label :projects_limit
= f.text_field :skype
.field .form-row
= f.label :linkedin = f.label :skype
%br %br
= f.text_field :linkedin = f.text_field :skype
.field .form-row
= f.label :twitter = f.label :linkedin
%br %br
= f.text_field :twitter = f.text_field :linkedin
.form-row
= f.label :twitter
%br
= f.text_field :twitter
.clear .clear
%br %br
.actions .actions

View file

@ -21,4 +21,5 @@
%br %br
= paginate @admin_users = paginate @admin_users
= link_to 'New User', new_admin_user_path = link_to 'New User', new_admin_user_path

View file

@ -17,7 +17,7 @@
= image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;" = image_tag "no_avatar.png", :class => "left", :width => 40, :style => "padding-right:5px;"
%span.commit-title %span.commit-title
%strong %strong
= truncate(commit.safe_message, :length => 60) = truncate(commit.safe_message, :length => fixed_mode? ? 60 : 120)
%span.commit-author %span.commit-author
%strong= commit.author_name %strong= commit.author_name
= time_ago_in_words(commit.committed_date) = time_ago_in_words(commit.committed_date)

View file

@ -5,24 +5,21 @@
- @issue.errors.full_messages.each do |msg| - @issue.errors.full_messages.each do |msg|
%li= msg %li= msg
.span-8 .form-row
= f.label :title = f.label :title
= f.text_area :title, :style => "width:450px; height:100px", :maxlength => 255 = f.text_area :title, :style => "width:450px; height:100px", :maxlength => 255
-#.span-8 .form-row
-#= f.label :content
-#= f.text_area :content, :style => "width:450px; height:130px"
.span-8.append-bottom
= f.label :assignee_id = f.label :assignee_id
= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" }) = 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" = f.label :critical, "Critical"
%br %br
= f.check_box :critical = f.check_box :critical
- unless @issue.new_record? - unless @issue.new_record?
.span-2.right .form-row
= f.label :closed = f.label :closed
%br %br
= f.check_box :closed = f.check_box :closed
%hr %hr
.span-6 .form-row
= f.submit 'Save', :class => "lbutton vm" = f.submit 'Save', :class => "lbutton vm"

View file

@ -5,12 +5,12 @@
- @key.errors.full_messages.each do |msg| - @key.errors.full_messages.each do |msg|
%li= msg %li= msg
.span-6 .form-row
= f.label :title = f.label :title
= f.text_field :title, :style => "width:300px" = f.text_field :title, :style => "width:300px"
.span-6 .form-row
= f.label :key = f.label :key
= f.text_area :key, :style => "width:300px; height:130px" = f.text_area :key, :style => "width:300px; height:130px"
.span-6 .form-row
= f.submit 'Save', :class => "lbutton vm" = f.submit 'Save', :class => "lbutton vm"

View file

@ -26,12 +26,12 @@
- if @project.users_projects.count > 0 - if @project.users_projects.count > 0
%span{ :class => "number" }= @project.users_projects.count %span{ :class => "number" }= @project.users_projects.count
= link_to project_issues_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do = link_to project_issues_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do
Issues Issuess
- if @project.issues.opened.count > 0 - if @project.issues.opened.count > 0
%span{ :class => "number" }= @project.issues.opened.count %span{ :class => "number" }= @project.issues.opened.count
= link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do = link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do
Wall Wall
- if @project.common_notes.count > 0 - if @project.common_nsotes.count > 0
%span{ :class => "number" }= @project.common_notes.count %span{ :class => "number" }= @project.common_notes.count
= link_to project_snippets_path(@project), :class => (controller.controller_name == "snippets") ? "current" : nil do = link_to project_snippets_path(@project), :class => (controller.controller_name == "snippets") ? "current" : nil do
Snippets Snippets

View file

@ -10,13 +10,16 @@
%div %div
= f.label :note = f.label :note
%cite %cite.cgray markdown supported
%br
%br %br
= f.text_area :note, :size => 255 = f.text_area :note, :size => 255
%div.attach_holder %div.attach_holder
%br
= f.label :attachment = f.label :attachment
%cite (less than 10 MB) %cite.cgray (less than 10 MB)
%br
%br %br
= f.file_field :attachment = f.file_field :attachment

View file

@ -7,11 +7,11 @@
- @user.errors.full_messages.each do |msg| - @user.errors.full_messages.each do |msg|
%li= msg %li= msg
.div .form-row
= f.label :password = f.label :password
%br %br
= f.password_field :password = f.password_field :password
.div .form-row
= f.label :password_confirmation = f.label :password_confirmation
%br %br
= f.password_field :password_confirmation = f.password_field :password_confirmation

View file

@ -16,15 +16,15 @@
- @user.errors.full_messages.each do |msg| - @user.errors.full_messages.each do |msg|
%li= msg %li= msg
.div .form-row
= f.label :skype = f.label :skype
%br %br
= f.text_field :skype = f.text_field :skype
.div .form-row
= f.label :linkedin = f.label :linkedin
%br %br
= f.text_field :linkedin = f.text_field :linkedin
.div .form-row
= f.label :twitter = f.label :twitter
%br %br
= f.text_field :twitter = f.text_field :twitter

View file

@ -11,5 +11,8 @@
%td %td
= time_ago_in_words(content_commit.committed_date) = time_ago_in_words(content_commit.committed_date)
ago ago
%td %td.commit
= link_to truncate(content_commit.safe_message, :length => 40), project_commit_path(@project, content_commit) = link_to truncate(content_commit.safe_message, :length => fixed_mode? ? 40 : 80), project_commit_path(@project, content_commit), :class => "tree-commit-link"
- tm = @project.team_member_by_name_or_email(content_commit.author_email, content_commit.author_name)
- if tm
= link_to "[#{tm.user_name}]", project_team_member_path(@project, tm)

4
public/.directory Normal file
View file

@ -0,0 +1,4 @@
[Dolphin]
ShowPreview=true
Timestamp=2011,11,6,21,7,47
Version=2

View file

@ -59,7 +59,7 @@
.ui-widget { font-family: "Helvetica Neue",Arial,Helvetica,sans-serif; font-size: 1.1em; } .ui-widget { font-family: "Helvetica Neue",Arial,Helvetica,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 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 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-content a { color: #222222; }
.ui-widget-header { color: #222222; font-weight: bold; } .ui-widget-header { color: #222222; font-weight: bold; }
.ui-widget-header a { color: #222222; } .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 * http://docs.jquery.com/UI/Dialog#theming
*/ */
.ui-dialog { position: absolute; padding: 0; width: 300px; overflow: hidden; } .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-titlebar { padding: .4em 1em; position: relative; background: #474D57; color:#eee; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0;} .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 { 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 span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } .ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }