<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -63,6 +63,8 @@ class Query &lt; ActiveRecord::Base
                   &quot;!&quot;   =&gt; :label_not_equals,
                   &quot;o&quot;   =&gt; :label_open_issues,
                   &quot;c&quot;   =&gt; :label_closed_issues,
+                  &quot;done&quot;   =&gt; :label_done_issues,
+                  &quot;undone&quot;   =&gt; :label_undone_issues,
                   &quot;!*&quot;  =&gt; :label_none,
                   &quot;*&quot;   =&gt; :label_all,
                   &quot;&gt;=&quot;   =&gt; '&gt;=',
@@ -81,7 +83,7 @@ class Query &lt; ActiveRecord::Base
   cattr_reader :operators
     
   @@operators_by_filter_type = { :list =&gt; [ &quot;=&quot;, &quot;!&quot; ],
-                                 :list_status =&gt; [ &quot;o&quot;, &quot;=&quot;, &quot;!&quot;, &quot;c&quot;, &quot;*&quot; ],
+                                 :list_status =&gt; [ &quot;o&quot;, &quot;c&quot;, &quot;=&quot;, &quot;!&quot;, &quot;*&quot;, &quot;done&quot;, &quot;undone&quot; ],
                                  :list_optional =&gt; [ &quot;=&quot;, &quot;!&quot;, &quot;!*&quot;, &quot;*&quot; ],
                                  :list_subprojects =&gt; [ &quot;*&quot;, &quot;!*&quot;, &quot;=&quot; ],
                                  :date =&gt; [ &quot;&lt;t+&quot;, &quot;&gt;t+&quot;, &quot;t+&quot;, &quot;t&quot;, &quot;w&quot;, &quot;&gt;t-&quot;, &quot;&lt;t-&quot;, &quot;t-&quot; ],
@@ -127,7 +129,7 @@ class Query &lt; ActiveRecord::Base
           # filter requires one or more values
           (values_for(field) and !values_for(field).first.blank?) or 
           # filter doesn't require any value
-          [&quot;o&quot;, &quot;c&quot;, &quot;!*&quot;, &quot;*&quot;, &quot;t&quot;, &quot;w&quot;].include? operator_for(field)
+          [&quot;o&quot;, &quot;c&quot;, &quot;done&quot;, &quot;undone&quot;, &quot;!*&quot;, &quot;*&quot;, &quot;t&quot;, &quot;w&quot;].include? operator_for(field)
     end if filters
   end
   
@@ -326,6 +328,10 @@ class Query &lt; ActiveRecord::Base
         sql = sql + &quot;#{IssueStatus.table_name}.is_closed=#{connection.quoted_false}&quot; if field == &quot;status_id&quot;
       when &quot;c&quot;
         sql = sql + &quot;#{IssueStatus.table_name}.is_closed=#{connection.quoted_true}&quot; if field == &quot;status_id&quot;
+      when &quot;undone&quot;
+        sql = sql + &quot;#{IssueStatus.table_name}.is_closed=#{connection.quoted_false} AND #{IssueStatus.table_name}.is_development_complete=#{connection.quoted_false}&quot; if field == &quot;status_id&quot;
+      when &quot;done&quot;
+        sql = sql + &quot;#{IssueStatus.table_name}.is_closed = #{connection.quoted_true} OR #{IssueStatus.table_name}.is_development_complete=#{connection.quoted_true}&quot; if field == &quot;status_id&quot;
       when &quot;&gt;t-&quot;
         sql = sql + &quot;#{db_table}.#{db_field} BETWEEN '%s' AND '%s'&quot; % [connection.quoted_date((Date.today - v.first.to_i).to_time), connection.quoted_date((Date.today + 1).to_time)]
       when &quot;&lt;t-&quot;</diff>
      <filename>app/models/query.rb</filename>
    </modified>
    <modified>
      <diff>@@ -102,6 +102,13 @@ class Version &lt; ActiveRecord::Base
     @closed_issues_count ||= Issue.count(:all, :conditions =&gt; [&quot;fixed_version_id = ? AND is_closed = ?&quot;, self.id, true], :include =&gt; :status)
   end
   
+  def not_estimated_undone_count
+    @not_estimated_undone_count ||= Issue.count(:all, :conditions =&gt; 
+        [&quot;fixed_version_id = ? AND estimated_hours IS NULL AND &quot; + 
+          &quot;(is_closed = ? AND is_development_complete = ?)&quot;, self.id, false, 
+        false], :include =&gt; :status)
+  end
+  
   def wiki_page
     if project.wiki &amp;&amp; !wiki_page_title.blank?
       @wiki_page ||= project.wiki.find_page(wiki_page_title)</diff>
      <filename>app/models/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -36,6 +36,8 @@ function toggle_operator(field) {
     case &quot;t&quot;:
     case &quot;w&quot;:
     case &quot;o&quot;:
+    case &quot;undone&quot;:
+    case &quot;done&quot;:
     case &quot;c&quot;:
       Element.hide(&quot;div_values_&quot; + field);
       break;</diff>
      <filename>app/views/queries/_filters.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -12,6 +12,22 @@
     &lt;td class=&quot;label&quot;&gt;&lt;%= l(:field_estimated_hours) %&gt;&lt;/td&gt;
     &lt;td class=&quot;total-hours&quot;&gt;&lt;%= html_hours(lwr(:label_f_hour, @version.estimated_hours)) %&gt;&lt;/td&gt;
 &lt;/tr&gt;
+&lt;% if @version.not_estimated_undone_count &gt; 0 %&gt;
+&lt;tr&gt;
+    &lt;td class=&quot;label&quot;&gt;&lt;%= l(:label_not_estimated_and_undone) %&gt;&lt;/td&gt;
+    &lt;td class=&quot;not_estimated total-hours&quot;&gt;&lt;%= link_to(&quot; &lt;span class = \&quot;count\&quot;&gt;%s&lt;/span&gt; %s&quot; % 
+        [@version.not_estimated_undone_count, lwr(:label_issue, @version.not_estimated_undone_count).downcase],                                             
+        {:controller =&gt; 'issues', 
+        :action =&gt; 'index',
+        :project_id =&gt; @version.project,
+        :set_filter =&gt; 1,
+        :fields =&gt; [&quot;estimated_hours&quot;, &quot;fixed_version_id&quot;, &quot;status_id&quot;],
+        :values =&gt; {&quot;estimated_hours&quot; =&gt; [1], &quot;fixed_version_id&quot; =&gt; [@version], &quot;status_id&quot; =&gt; [1]},
+        :operators =&gt; {&quot;estimated_hours&quot; =&gt; &quot;!*&quot;, &quot;fixed_version_id&quot; =&gt; &quot;=&quot;, &quot;status_id&quot; =&gt; &quot;undone&quot;}
+        }
+)%&gt;&lt;/td&gt;
+&lt;/tr&gt;
+&lt;% end %&gt;
 &lt;% if User.current.allowed_to?(:view_time_entries, @project) %&gt;
 &lt;tr&gt;
     &lt;td class=&quot;label&quot;&gt;&lt;%= l(:label_spent_time) %&gt;&lt;/td&gt;</diff>
      <filename>app/views/versions/show.rhtml</filename>
    </modified>
    <modified>
      <diff>@@ -347,6 +347,10 @@ label_open_issues_plural: open
 label_closed_issues: closed
 label_closed_issues_plural: closed
 label_done_issues_genitive_case: done
+label_done_issues: done
+label_done_issues_plural: done
+label_undone_issues: undone
+label_undone_issues_plural: undone
 label_total: Total
 label_permissions: Permissions
 label_current_status: Current status
@@ -535,6 +539,7 @@ label_remaining_time_short: Rem.
 label_issues_count: Count
 label_time: Time
 label_spent_time_log: Spent time log
+label_not_estimated_and_undone: Not estimated
 
 label_issue_watchers: Watchers
 </diff>
      <filename>lang/en.yml</filename>
    </modified>
    <modified>
      <diff>@@ -315,7 +315,11 @@ label_public_projects: &#1054;&#1073;&#1097;&#1080;&#1077; &#1087;&#1088;&#1086;&#1077;&#1082;&#1090;&#1099;
 label_open_issues: &#1086;&#1090;&#1082;&#1088;&#1099;&#1090;&#1099;&#1081;
 label_open_issues_plural: &#1086;&#1090;&#1082;&#1088;&#1099;&#1090;&#1099;&#1077;
 label_closed_issues: &#1079;&#1072;&#1082;&#1088;&#1099;&#1090;&#1099;&#1081;
-label_done_issues_genitive_case: &#1089;&#1076;&#1077;&#1083;&#1072;&#1085;&#1085;&#1099;&#1093;
+label_done_issues_genitive_case: &#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1085;&#1099;&#1093;
+label_done_issues: &#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1085;&#1099;&#1081;
+label_done_issues_plural: &#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1085;&#1099;&#1077;
+label_undone_issues: &#1085;&#1077;&#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1085;&#1099;&#1081;
+label_undone_issues_plural: &#1085;&#1077;&#1074;&#1099;&#1087;&#1086;&#1083;&#1085;&#1077;&#1085;&#1085;&#1099;&#1077;
 label_total: &#1042;&#1089;&#1077;&#1075;&#1086;
 label_permissions: &#1055;&#1088;&#1072;&#1074;&#1072; &#1076;&#1086;&#1089;&#1090;&#1091;&#1087;&#1072;
 label_current_status: &#1058;&#1077;&#1082;&#1091;&#1097;&#1080;&#1081; &#1089;&#1090;&#1072;&#1090;&#1091;&#1089;</diff>
      <filename>lang/ru.yml</filename>
    </modified>
    <modified>
      <diff>@@ -676,3 +676,7 @@ div.wiki pre.linebreak {
     margin:0;
     padding:0;
 }
+
+.not_estimated .count {
+    color:red;
+}
\ No newline at end of file</diff>
      <filename>public/stylesheets/application.css</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>045169baf4b668ce869deb7a135340dd5962df5f</id>
    </parent>
  </parents>
  <author>
    <name>Artem Vasiliev</name>
    <email>artem.vasiliev@texunatech.com</email>
  </author>
  <url>http://github.com/artemv/redmine_tt/commit/2f53878ce1f51cd5c797eaa8a98e6ed327e13b96</url>
  <id>2f53878ce1f51cd5c797eaa8a98e6ed327e13b96</id>
  <committed-date>2008-09-04T07:31:27-07:00</committed-date>
  <authored-date>2008-09-04T07:31:27-07:00</authored-date>
  <message>Version page: show not estimated (undone) issues count.
Count is a link that leads to relevant issues list.
For this 2 new filter operators added for status: 'done' and 'undone'.</message>
  <tree>0ee9ed910f58f4a48a5836a5b73d273805e18ce5</tree>
  <committer>
    <name>Artem Vasiliev</name>
    <email>artem.vasiliev@texunatech.com</email>
  </committer>
</commit>
