OSDN Git Service

Issues form improved, Show milestone for Issue show
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Mon, 16 Apr 2012 21:22:59 +0000 (00:22 +0300)
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Mon, 16 Apr 2012 21:22:59 +0000 (00:22 +0300)
app/assets/stylesheets/main.scss
app/assets/stylesheets/sections/issues.scss [new file with mode: 0644]
app/views/issues/_form.html.haml
app/views/issues/show.html.haml

index a612417..c7ebbeb 100644 (file)
@@ -99,6 +99,11 @@ $hover: #FDF5D9;
 @import "sections/commits.scss";
 
 /**
+ * Styles related to displaying issues
+ */
+@import "sections/issues.scss";
+
+/**
  * This scss file redefine chozen selectbox styles for
  * project Branch/Tag select element
  */
diff --git a/app/assets/stylesheets/sections/issues.scss b/app/assets/stylesheets/sections/issues.scss
new file mode 100644 (file)
index 0000000..cbaca76
--- /dev/null
@@ -0,0 +1,27 @@
+.issue_form_box { 
+  @extend .main_box;
+  .issue_title { 
+    @extend .top_box_content;
+    .clearfix { 
+      margin-bottom:0px; 
+      input { 
+        @extend .span8;
+      }
+    }
+  }
+  .issue_middle_block { 
+    @extend .middle_box_content;
+    height:30px;
+    .issue_assignee { 
+      @extend .span6;
+      float:left;
+    }
+    .issue_milestone { 
+      @extend .span4;
+      float:left;
+    }
+  }
+  .issue_description { 
+    @extend .bottom_box_content;
+  }
+}
index 4698bed..2baf1bf 100644 (file)
@@ -1,42 +1,45 @@
 %div.issue-form-holder
+  %h3= @issue.new_record? ? "New Issue" : "Edit Issue ##{@issue.id}"
+  - unless request.xhr?
+    .back_link
+      = link_to project_issue_path(@project, @issue) do 
+        &larr; back to show page
   = form_for [@project, @issue], :remote => request.xhr? do |f|
-    %h3= @issue.new_record? ? "New Issue" : "Edit Issue ##{@issue.id}"
-    %hr
     -if @issue.errors.any?
       .alert-message.block-message.error
         %ul
           - @issue.errors.full_messages.each do |msg|
             %li= msg
+    .issue_form_box
+      .issue_title
+        .clearfix
+          = f.label :title, "Issue Subject *"
+          .input
+            = f.text_field :title, :maxlength => 255, :class => "xxlarge"
+      .issue_middle_block
+        .issue_assignee
+          = f.label :assignee_id, "Assign to *"
+          .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Assign to user" })
+        .issue_milestone
+          = f.label :milestone_id
+          .input= f.select(:milestone_id, @project.milestones.active.all.collect {|p| [ p.title, p.id ] }, { :include_blank => "Select milestone" })
+
+      .issue_description
+        .clearfix
+          = f.label :critical, "Critical"
+          .input= f.check_box :critical
+        
+        - unless @issue.new_record?
+          .clearfix
+            = f.label :closed
+            .input= f.check_box :closed
+        .clearfix
+          = f.label :description, "Issue Details"
+          .input
+            = f.text_area :description, :maxlength => 2000, :class => "xxlarge", :rows => 14
+            %p.hint Markdown is enabled.
 
-    .clearfix
-      = f.label :title, "Issue Subject *"
-      .input
-        = f.text_field :title, :maxlength => 255, :class => "xxlarge"
 
-    .clearfix
-      = f.label :assignee_id, "Assign to *"
-      .input= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Assign to user" })
-
-    .clearfix
-      = f.label :description, "Issue Details"
-      .input
-        = f.text_area :description, :maxlength => 2000, :class => "xxlarge", :rows => 10
-        %p.hint Markdown is enabled.
-
-
-    .clearfix
-      = f.label :milestone_id
-      .input= f.select(:milestone_id, @project.milestones.active.all.collect {|p| [ p.title, p.id ] }, { :include_blank => "Select milestone" })
-
-
-    .clearfix
-      = f.label :critical, "Critical"
-      .input= f.check_box :critical
-    
-    - unless @issue.new_record?
-      .clearfix
-        = f.label :closed
-        .input= f.check_box :closed
 
     .actions
       - if @issue.new_record?
index 5da2e45..9241a46 100644 (file)
@@ -7,11 +7,11 @@
   %span.right
     - if can?(current_user, :admin_project, @project) || @issue.author == current_user
       - if @issue.closed
-        = link_to 'Reopen', project_issue_path(@project, @issue, :issue => {:closed => false }, :status_only => true), :method => :put,  :class => "btn"
+        = link_to 'Reopen', project_issue_path(@project, @issue, :issue => {:closed => false }, :status_only => true), :method => :put,  :class => "btn small"
       - else
-        = link_to 'Close', project_issue_path(@project, @issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "btn", :title => "Close Issue"
+        = link_to 'Close', project_issue_path(@project, @issue, :issue => {:closed => true }, :status_only => true), :method => :put, :class => "btn small", :title => "Close Issue"
     - if can?(current_user, :admin_project, @project) || @issue.author == current_user
-      = link_to edit_project_issue_path(@project, @issue), :class => "btn" do 
+      = link_to edit_project_issue_path(@project, @issue), :class => "btn small" do 
         Edit
 
     %br
     %cite.cgray and currently assigned to 
     = image_tag gravatar_icon(@issue.assignee_email), :width => 16, :class => "lil_av"
     %strong.author= link_to_issue_assignee(@issue)
-      
+
+    - if @issue.milestone 
+      - milestone = @issue.milestone
+      %cite.cgray and attached to milestone 
+      = link_to project_milestone_path(milestone.project, milestone) do
+        %strong
+          = truncate(milestone.title, :length => 20)
+    
   - if @issue.description.present?
     .bottom_box_content
       = preserve do