Merge branch 'master' of https://github.com/dubcanada/gitlabhq into dubcanada-master
This commit is contained in:
commit
b1d89f732c
BIN
app/assets/images/icon-attachment.png
Normal file
BIN
app/assets/images/icon-attachment.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 450 B |
|
@ -37,6 +37,12 @@ init:
|
||||||
$('.attach_holder').show();
|
$('.attach_holder').show();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#note_attachment").change(function(e){
|
||||||
|
var val = $('.input-file').val();
|
||||||
|
var filename = val.replace(/^.*[\\\/]/, '');
|
||||||
|
$(".file_name").text(filename);
|
||||||
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -293,8 +293,14 @@ nav.main_menu {
|
||||||
background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
|
background-image: -o-linear-gradient(#eee 6.6%, #dfdfdf);
|
||||||
@include shade;
|
@include shade;
|
||||||
.count {
|
.count {
|
||||||
color:#aaa;
|
|
||||||
margin-left:3px;
|
margin-left:3px;
|
||||||
|
color: #332;
|
||||||
|
background: white;
|
||||||
|
padding: 1px 6px 2px;
|
||||||
|
font-weight: bold;
|
||||||
|
-webkit-border-radius: 9px;
|
||||||
|
-moz-border-radius: 9px;
|
||||||
|
border-radius: 9px;
|
||||||
}
|
}
|
||||||
.label {
|
.label {
|
||||||
background:$hover;
|
background:$hover;
|
||||||
|
@ -345,8 +351,8 @@ nav.main_menu {
|
||||||
|
|
||||||
img.avatar {
|
img.avatar {
|
||||||
float:left;
|
float:left;
|
||||||
margin-right:15px;
|
margin-right:10px;
|
||||||
width:40px;
|
width:35px;
|
||||||
-webkit-border-radius: 4px;
|
-webkit-border-radius: 4px;
|
||||||
-moz-border-radius: 4px;
|
-moz-border-radius: 4px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
@ -372,7 +378,7 @@ img.lil_av {
|
||||||
|
|
||||||
.wll {
|
.wll {
|
||||||
background-color: #FFF;
|
background-color: #FFF;
|
||||||
padding: 10px 5px;
|
padding: 6px 10px;
|
||||||
min-height: 20px;
|
min-height: 20px;
|
||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
||||||
|
@ -998,6 +1004,41 @@ p.time {
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Issues Changed */
|
||||||
|
/* Could probably rewrite this, a bit sloppy */
|
||||||
|
.well {
|
||||||
|
.issue_status.span2 {
|
||||||
|
width:116px;
|
||||||
|
|
||||||
|
.alert-message {
|
||||||
|
width:34px;
|
||||||
|
margin: 0 0 0 auto;
|
||||||
|
|
||||||
|
.error {
|
||||||
|
width: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pre {
|
||||||
|
background: white !important;
|
||||||
|
|
||||||
|
code {
|
||||||
|
background: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix for readme code (stopped it from being yellow) */
|
||||||
|
.readme {
|
||||||
|
pre {
|
||||||
|
background: white !important;
|
||||||
|
|
||||||
|
code {
|
||||||
|
background: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.highlight_word {
|
.highlight_word {
|
||||||
background:#EEDC94;
|
background:#EEDC94;
|
||||||
}
|
}
|
||||||
|
@ -1040,3 +1081,58 @@ p.time {
|
||||||
border-bottom:2px solid $style_color;
|
border-bottom:2px solid $style_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fixes alignment on notes.
|
||||||
|
.new_note {
|
||||||
|
label {
|
||||||
|
text-align:left;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.issue_notes {
|
||||||
|
.input-file {
|
||||||
|
font: 500px monospace;
|
||||||
|
opacity:0;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
padding:0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.file_upload {
|
||||||
|
position: absolute;
|
||||||
|
right:14px;
|
||||||
|
top:7px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.attachments {
|
||||||
|
position:relative;
|
||||||
|
width: 350px;
|
||||||
|
height: 30px;
|
||||||
|
overflow:hidden;
|
||||||
|
margin:0 0 5px !important;
|
||||||
|
}
|
||||||
|
.file_name {
|
||||||
|
line-height:30px;
|
||||||
|
width:240px;
|
||||||
|
height:28px;
|
||||||
|
overflow:hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fix issue with notes & lists creating a bunch of bottom borders.
|
||||||
|
li.note {
|
||||||
|
.note-title {
|
||||||
|
li {
|
||||||
|
border-bottom:none !important;
|
||||||
|
}
|
||||||
|
.file {
|
||||||
|
padding-left:20px;
|
||||||
|
background:url("icon-attachment.png") no-repeat left center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -48,3 +48,13 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Fix for Search Dropdown Border **/
|
||||||
|
.chzn-container {
|
||||||
|
.chzn-search {
|
||||||
|
input:focus {
|
||||||
|
-webkit-box-shadow: none;
|
||||||
|
-moz-box-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -25,6 +25,10 @@ class Issue < ActiveRecord::Base
|
||||||
:presence => true,
|
:presence => true,
|
||||||
:length => { :within => 0..255 }
|
:length => { :within => 0..255 }
|
||||||
|
|
||||||
|
validates :description,
|
||||||
|
:presence => true,
|
||||||
|
:length => { :within => 0..2000 }
|
||||||
|
|
||||||
scope :critical, where(:critical => true)
|
scope :critical, where(:critical => true)
|
||||||
scope :non_critical, where(:critical => false)
|
scope :non_critical, where(:critical => false)
|
||||||
|
|
||||||
|
@ -57,6 +61,7 @@ end
|
||||||
#
|
#
|
||||||
# id :integer not null, primary key
|
# id :integer not null, primary key
|
||||||
# title :string(255)
|
# title :string(255)
|
||||||
|
# description :text
|
||||||
# assignee_id :integer
|
# assignee_id :integer
|
||||||
# author_id :integer
|
# author_id :integer
|
||||||
# project_id :integer
|
# project_id :integer
|
||||||
|
|
|
@ -9,12 +9,18 @@
|
||||||
%li= msg
|
%li= msg
|
||||||
|
|
||||||
.clearfix
|
.clearfix
|
||||||
= f.label :title
|
= f.label :title, "Issue Subject"
|
||||||
.input= f.text_area :title, :maxlength => 255, :class => "xxlarge"
|
.input= f.text_field :title, :maxlength => 255
|
||||||
|
|
||||||
|
.clearfix
|
||||||
|
= f.label :description, "Issue Details"
|
||||||
|
.input
|
||||||
|
= f.text_area :description, :maxlength => 2000, :class => "xxlarge"
|
||||||
|
%p.hint Markdown is enabled.
|
||||||
|
|
||||||
.clearfix
|
.clearfix
|
||||||
= f.label :assignee_id
|
= f.label :assignee_id
|
||||||
.input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" })
|
.input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Assign to user" })
|
||||||
|
|
||||||
.clearfix
|
.clearfix
|
||||||
= f.label :critical, "Critical"
|
= f.label :critical, "Critical"
|
||||||
|
@ -26,7 +32,10 @@
|
||||||
.input= f.check_box :closed
|
.input= f.check_box :closed
|
||||||
|
|
||||||
.actions
|
.actions
|
||||||
= f.submit 'Save', :class => "primary btn"
|
- if @issue.new_record?
|
||||||
|
= f.submit 'Submit new issue', :class => "primary btn"
|
||||||
|
-else
|
||||||
|
= f.submit 'Save changes', :class => "primary btn"
|
||||||
|
|
||||||
- if request.xhr?
|
- if request.xhr?
|
||||||
= link_to "Cancel", "#back", :onclick => "backToIssues();", :class => "btn"
|
= link_to "Cancel", "#back", :onclick => "backToIssues();", :class => "btn"
|
||||||
|
|
|
@ -1,5 +1,9 @@
|
||||||
|
.back_link
|
||||||
|
= link_to project_issues_path(@project) do
|
||||||
|
← To issues list
|
||||||
|
|
||||||
%h3
|
%h3
|
||||||
Issue ##{@issue.id}
|
#{@issue.title}
|
||||||
%small
|
%small
|
||||||
created at
|
created at
|
||||||
= @issue.created_at.stamp("Aug 21, 2011")
|
= @issue.created_at.stamp("Aug 21, 2011")
|
||||||
|
@ -19,20 +23,12 @@
|
||||||
.upvotes#upvotes= "+#{pluralize @issue.upvotes, 'upvote'}"
|
.upvotes#upvotes= "+#{pluralize @issue.upvotes, 'upvote'}"
|
||||||
|
|
||||||
|
|
||||||
.back_link
|
|
||||||
= link_to project_issues_path(@project) do
|
|
||||||
← To issues list
|
|
||||||
|
|
||||||
|
|
||||||
%hr
|
%hr
|
||||||
- if @issue.closed
|
|
||||||
.alert-message.error Closed
|
|
||||||
- else
|
|
||||||
.alert-message.success Open
|
|
||||||
|
|
||||||
|
|
||||||
%div.well.prettyprint
|
%div.well
|
||||||
%div
|
%div.row
|
||||||
|
%div.issue_meta.span13
|
||||||
%cite.cgray Created by
|
%cite.cgray Created by
|
||||||
= image_tag gravatar_icon(@issue.author_email), :width => 16, :class => "lil_av"
|
= image_tag gravatar_icon(@issue.author_email), :width => 16, :class => "lil_av"
|
||||||
%strong.author= link_to_issue_author(@issue)
|
%strong.author= link_to_issue_author(@issue)
|
||||||
|
@ -41,9 +37,17 @@
|
||||||
= image_tag gravatar_icon(@issue.assignee_email), :width => 16, :class => "lil_av"
|
= image_tag gravatar_icon(@issue.assignee_email), :width => 16, :class => "lil_av"
|
||||||
%strong.author= link_to_issue_assignee(@issue)
|
%strong.author= link_to_issue_assignee(@issue)
|
||||||
|
|
||||||
|
%div.issue_status.span2
|
||||||
|
- if @issue.closed
|
||||||
|
.alert-message.error Closed
|
||||||
|
- else
|
||||||
|
.alert-message.success Open
|
||||||
|
|
||||||
%hr
|
%hr
|
||||||
|
|
||||||
%div= simple_format @issue.title
|
%div
|
||||||
|
- if @project.description.present?
|
||||||
|
= markdown @issue.description
|
||||||
|
|
||||||
|
|
||||||
.issue_notes#notes= render "notes/notes", :tid => @issue.id, :tt => "issue"
|
.issue_notes#notes= render "notes/notes", :tid => @issue.id, :tt => "issue"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
= form_for [@project, @note], :remote => "true", :multipart => true do |f|
|
= form_for [@project, @note], :remote => "true", :multipart => true do |f|
|
||||||
%h3 Leave a note
|
%h3 Leave a comment
|
||||||
-if @note.errors.any?
|
-if @note.errors.any?
|
||||||
.alert-message.block-message.error
|
.alert-message.block-message.error
|
||||||
- @note.errors.full_messages.each do |msg|
|
- @note.errors.full_messages.each do |msg|
|
||||||
|
@ -8,6 +8,7 @@
|
||||||
= f.hidden_field :noteable_id
|
= f.hidden_field :noteable_id
|
||||||
= f.hidden_field :noteable_type
|
= f.hidden_field :noteable_type
|
||||||
= f.text_area :note, :size => 255
|
= f.text_area :note, :size => 255
|
||||||
|
%p.hint Markdown is enabled.
|
||||||
|
|
||||||
.row
|
.row
|
||||||
.span4
|
.span4
|
||||||
|
@ -21,11 +22,14 @@
|
||||||
= label_tag :notify_author do
|
= label_tag :notify_author do
|
||||||
= check_box_tag :notify_author, 1 , @note.noteable_type == "Commit"
|
= check_box_tag :notify_author, 1 , @note.noteable_type == "Commit"
|
||||||
%span Commit author
|
%span Commit author
|
||||||
.span4
|
.span8
|
||||||
%h5 Attachment:
|
%h5 Attachment:
|
||||||
.clearfix
|
.clearfix
|
||||||
= f.label :attachment, "Any file, < 10 MB"
|
.attachments.breadcrumb
|
||||||
|
%div.file_name File name...
|
||||||
|
%button.file_upload.btn.primary Upload File
|
||||||
.input= f.file_field :attachment, :class => "input-file"
|
.input= f.file_field :attachment, :class => "input-file"
|
||||||
|
%span Any file less then 10 MB
|
||||||
|
|
||||||
|
|
||||||
= f.submit 'Add note', :class => "btn primary", :id => "submit_note"
|
= f.submit 'Add Comment', :class => "btn primary", :id => "submit_note"
|
||||||
|
|
|
@ -12,6 +12,6 @@
|
||||||
= markdown(note.note)
|
= markdown(note.note)
|
||||||
- if note.attachment.url
|
- if note.attachment.url
|
||||||
.right
|
.right
|
||||||
%span.file
|
%div.file
|
||||||
= link_to note.attachment_identifier, note.attachment.url, :target => "_blank"
|
= link_to note.attachment_identifier, note.attachment.url, :target => "_blank"
|
||||||
.clear
|
.clear
|
||||||
|
|
5
db/migrate/20120317095543_add_description_to_issues.rb
Normal file
5
db/migrate/20120317095543_add_description_to_issues.rb
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
class AddDescriptionToIssues < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :issues, :description, :text
|
||||||
|
end
|
||||||
|
end
|
|
@ -27,6 +27,7 @@ ActiveRecord::Schema.define(:version => 20120323221339) do
|
||||||
|
|
||||||
create_table "issues", :force => true do |t|
|
create_table "issues", :force => true do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
|
t.text "description"
|
||||||
t.integer "assignee_id"
|
t.integer "assignee_id"
|
||||||
t.integer "author_id"
|
t.integer "author_id"
|
||||||
t.integer "project_id"
|
t.integer "project_id"
|
||||||
|
|
14
vendor/assets/stylesheets/chosen.css
vendored
14
vendor/assets/stylesheets/chosen.css
vendored
|
@ -107,13 +107,13 @@
|
||||||
z-index: 1010;
|
z-index: 1010;
|
||||||
}
|
}
|
||||||
.chzn-container-single .chzn-search input {
|
.chzn-container-single .chzn-search input {
|
||||||
background: #fff url('chosen-sprite.png') no-repeat 100% -22px;
|
background: #fff url('chosen-sprite.png') no-repeat 100% -21px;
|
||||||
background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
|
background: url('chosen-sprite.png') no-repeat 100% -21px, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, white), color-stop(0.99, #eeeeee));
|
||||||
background: url('chosen-sprite.png') no-repeat 100% -22px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
background: url('chosen-sprite.png') no-repeat 100% -21px, -webkit-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
||||||
background: url('chosen-sprite.png') no-repeat 100% -22px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
background: url('chosen-sprite.png') no-repeat 100% -21px, -moz-linear-gradient(center bottom, white 85%, #eeeeee 99%);
|
||||||
background: url('chosen-sprite.png') no-repeat 100% -22px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
|
background: url('chosen-sprite.png') no-repeat 100% -21px, -o-linear-gradient(bottom, white 85%, #eeeeee 99%);
|
||||||
background: url('chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%);
|
background: url('chosen-sprite.png') no-repeat 100% -21px, -ms-linear-gradient(top, #ffffff 85%,#eeeeee 99%);
|
||||||
background: url('chosen-sprite.png') no-repeat 100% -22px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
|
background: url('chosen-sprite.png') no-repeat 100% -21px, linear-gradient(top, #ffffff 85%,#eeeeee 99%);
|
||||||
margin: 1px 0;
|
margin: 1px 0;
|
||||||
padding: 4px 20px 4px 5px;
|
padding: 4px 20px 4px 5px;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
|
|
Loading…
Reference in a new issue