Redmine: Issueshttps://www.redmine.org/https://www.redmine.org/favicon.ico?16793021292009-06-10T17:52:12ZRedmine
Redmine Redmine - Defect #3476 (Closed): Right-floating TOC funky in the roadmaphttps://www.redmine.org/issues/34762009-06-10T17:52:12ZBrad Beattie
<p>See attached screenshot. If a version's wiki page has a right-floating table of contents, it's very oddly placed.</p> Redmine - Feature #3390 (Closed): Ability to add watchers to forum threadshttps://www.redmine.org/issues/33902009-05-19T20:03:28ZBrad Beattie
<p>If issues are restricted in use to actionable items and forums are used for general discussion and brainstorming, it would be nice to be able to add watchers to threads (by permission, of course).</p>
<p>If a project manager could add others as watchers to threads, they would be informed of their creation and updates (much like adding watchers to issues).</p>
<p>At the moment, there's no way to inform a subset of a project's members that a thread is relevant to them.</p> Redmine - Feature #3265 (Closed): Filter on issue relationshttps://www.redmine.org/issues/32652009-04-29T20:47:44ZBrad Beattie
<p>It'd be nice if Redmine's issue filters included some notion of issue relations. That way you could build a query like so:</p>
<ul>
<li>Status is open</li>
<li>Assigned to me</li>
<li>Start is less than 0 days ago</li>
<li><strong>Has no blocking issues</strong></li>
<li><strong>Has no preceeding issues</strong></li>
</ul>
<p>Doesn't look trivial, but shouldn't be too difficult. Looking into it now...</p> Redmine - Patch #3264 (Closed): Allow issue edit exceptions to choke nicelyhttps://www.redmine.org/issues/32642009-04-29T18:27:32ZBrad Beattie
<p>The attached patch allows issues raised by controller_issues_edit_before_save and controller_issues_edit_after_save to choke nicely, instead of bringing the user to an intimidating grey page.</p>
<p>The purpose of this is so that a plugin can use the controller_issues_edit_before_save hook and deny editing on specific conditions (e.g. an issue can't have it's assigned_to revoked after it's been set once, specific roles can't remove due dates, etc). Without this modification, plugins can't stop issues from saving.</p> Redmine - Patch #3220 (Closed): Custom queries as my page widgethttps://www.redmine.org/issues/32202009-04-22T17:10:23ZBrad Beattie
<p>The attached view is part of the My Widgets plugin, but it's sufficiently generic that I think it'd make a good addition to Redmine's default set of blocks.</p> Redmine - Feature #3170 (Closed): Autocomplete issue relations on subjecthttps://www.redmine.org/issues/31702009-04-14T18:00:13ZBrad Beattie
<p>Autocomplete exists in member selection at the moment. It would be nice to expand that functionality to issue relation selection as well.</p>
<p>The attached patch doesn't work, but provides an initial starting point to work from.</p> Redmine - Feature #3144 (Closed): Stop watching a threadhttps://www.redmine.org/issues/31442009-04-08T19:45:48ZBrad Beattie
<p>Once you post in a single thread, you're effectively "watching" it. Even if you no longer care about what's happening in the thread, you can't "unwatch" it.</p>
<p>It'd be nice to have "watch"/"unwatch" option like in issues on individual forum threads.</p> Redmine - Patch #3086 (Closed): Link projects and users in issue listhttps://www.redmine.org/issues/30862009-03-31T17:45:37ZBrad BeattieRedmine - Patch #3085 (Closed): Link project in simple issue listshttps://www.redmine.org/issues/30852009-03-31T17:41:59ZBrad BeattieRedmine - Defect #3078 (Closed): Sorting a query on a value that isn't in the displayed columns f...https://www.redmine.org/issues/30782009-03-30T22:35:56ZBrad Beattie
<ul>
<li>Assume your default columns don't include priority</li>
<li>Save a custom query that uses the default columns and sorts by priority</li>
<li>Notice that the resultant list of issues isn't sorted</li>
</ul> Redmine - Feature #3057 (Closed): Allow custom my_page blocks to define drop-down nameshttps://www.redmine.org/issues/30572009-03-26T22:07:02ZBrad Beattie
<p>I have <a href="http://github.com/bradbeattie/redmine-my-widgets-plugin/tree/master" class="external">a plugin that adds additional blocks to the my_page page</a>. The only problem I have here is that I can't name the blocks beyond their file names, whereas core blocks define their localized names:</p>
<pre>
BLOCKS = { 'issuesassignedtome' => :label_assigned_to_me_issues,
'issuesreportedbyme' => :label_reported_issues,
'issueswatched' => :label_watched_issues,
'news' => :label_news_latest,
'calendar' => :label_calendar,
'documents' => :label_document_plural,
'timelog' => :label_spent_time
}.merge(Redmine::Views::MyPage::Block.additional_blocks).freeze
</pre>
<p>This request is necessary in order to localize the plugin.</p> Redmine - Patch #3056 (Closed): Update SVG library to latest stable (0.6.1)https://www.redmine.org/issues/30562009-03-26T21:23:52ZBrad Beattie
<p>The attached patch updates the library Redmine uses for SVG to it's latest version.</p> Redmine - Patch #3051 (Closed): Show timelog reports for non-versioned issueshttps://www.redmine.org/issues/30512009-03-25T21:25:26ZBrad Beattie
<p>The attached patch allows non-versioned issues to display in the timelog report.</p> Redmine - Patch #3036 (Closed): Version view hook requesthttps://www.redmine.org/issues/30362009-03-23T22:13:45ZBrad Beattie
<p>Attached is a patch that allows plugins to add additional links to the version show page. This is necessary for plugins that, for instance, add a quick link to a version's gantt chart or recalculate a version effective date.</p> Redmine - Patch #3019 (Closed): Add hook to successful_authentication methodhttps://www.redmine.org/issues/30192009-03-20T17:39:49ZBrad Beattie
<p>The attached patch provides a hook called after successful authentication and before the redirect call.</p>
<p>It's necessary for plugins that, for instance, notify users of changes since their last login.</p> Redmine - Defect #3009 (Closed): Missing translation for greater than or equal to?https://www.redmine.org/issues/30092009-03-18T23:09:34ZBrad Beattie
<p>Attached you'll find a screenshot of an odd bug. I'm up to date with the repository, yet I get this error.</p>
<p>"translation missing: en, >="</p>
<p>Same occurs for less than or equal to.</p> Redmine - Defect #3004 (Closed): Field lock version lacks translationhttps://www.redmine.org/issues/30042009-03-18T16:46:04ZBrad Beattie
<p>When two people edit the same issue at the same time, I get the following message appended to the issue's changes:</p>
<blockquote>
<p>translation missing: en, field_lock_version</p>
</blockquote>
<p>Truthfully, I don't think this message should even display. I find my users ask me things like "It changed from 7 to 6, but I have <em>no</em> idea what that means".</p> Redmine - Patch #2960 (Closed): Fix for sidebar calling incorrect actionhttps://www.redmine.org/issues/29602009-03-12T18:16:54ZBrad Beattie
<p>The issues sidebar calls the wrong controller if a plugin makes use of the sidebar. This patch addresses that issue.</p> Redmine - Patch #2959 (Closed): Only display active versions in context menu submenuhttps://www.redmine.org/issues/29592009-03-12T16:53:53ZBrad Beattie
<p>The attached patch removes completed versions from the issues context menu. If a project has some 20 completed versions, this list starts to get awfully long.</p> Redmine - Defect #2851 (Closed): CVS terms accidentally removedhttps://www.redmine.org/issues/28512009-02-26T22:45:01ZBrad Beattie
<p>Seems that in the whole i18n push, some of the localized strings for CVS were removed accidentally. For example,</p>
<pre><code>translation mising: en, CVSROOT</code></pre> Redmine - Feature #2848 (New): Sort time entries by name, not IDhttps://www.redmine.org/issues/28482009-02-26T18:18:13ZBrad Beattie
<p>Go to /time_entries/report and filter by project or member. Both result in a list sorted by the row's respective ID, not by it's name.</p> Redmine - Feature #2746 (Closed): Send out issue priority in the email notification headerhttps://www.redmine.org/issues/27462009-02-13T18:10:06ZBrad Beattie
<p>The attached patch will send out an issue's priority with the notification email's headers. This is important for when you want to route urgent tickets differently.</p> Redmine - Patch #2724 (Closed): Display attachment names in email notificationshttps://www.redmine.org/issues/27242009-02-12T00:20:56ZBrad Beattie
<p>If a ticket is created with an attachment, no such information is displayed in the email notification. The patch below adds such a line to email.</p>
<pre>
Index: app/models/attachment.rb
===================================================================
--- app/models/attachment.rb (revision 2451)
+++ app/models/attachment.rb (working copy)
@@ -118,6 +118,10 @@
self.filename =~ /\.(patch|diff)$/i
end
+ def to_s
+ self.filename
+ end
+
private
def sanitize_filename(value)
# get only the filename, not the whole path
Index: app/views/mailer/_issue_text_plain.rhtml
===================================================================
--- app/views/mailer/_issue_text_plain.rhtml (revision 2451)
+++ app/views/mailer/_issue_text_plain.rhtml (working copy)
@@ -7,6 +7,7 @@
<%=l(:field_assigned_to)%>: <%= issue.assigned_to %>
<%=l(:field_category)%>: <%= issue.category %>
<%=l(:field_fixed_version)%>: <%= issue.fixed_version %>
+<% if issue.attachments.size > 0 %><li><%=l(:label_attachment)%>: <%= issue.attachments.join(", ") %></li><% end %>
<% issue.custom_values.each do |c| %><%= c.custom_field.name %>: <%= show_value(c) %>
<% end %>
Index: app/views/mailer/_issue_text_html.rhtml
===================================================================
--- app/views/mailer/_issue_text_html.rhtml (revision 2451)
+++ app/views/mailer/_issue_text_html.rhtml (working copy)
@@ -7,6 +7,7 @@
<li><%=l(:field_assigned_to)%>: <%= issue.assigned_to %></li>
<li><%=l(:field_category)%>: <%= issue.category %></li>
<li><%=l(:field_fixed_version)%>: <%= issue.fixed_version %></li>
+<% if issue.attachments.size > 0 %><li><%=l(:label_attachment)%>: <%= issue.attachments.join(", ") %></li><% end %>
<% issue.custom_values.each do |c| %>
<li><%= c.custom_field.name %>: <%= show_value(c) %></li>
<% end %>
</pre> Redmine - Defect #2695 (Closed): Side by side revision comparison seems brokenhttps://www.redmine.org/issues/26952009-02-07T19:18:06ZBrad Beattie
<p>Not sure if this is just my installation, or if everyone's experiencing this.</p>
<p>Inline view works fine, but switching to side-by-side mode causes <code>NoMethodError (undefined method `join' for "appviewsschedules_calendar.html.erb":String)</code>.</p>
<pre>
Processing RepositoriesController#revision (for ---.---.---.--- at 2009-02-07 11:15:11) [GET]
Session ID: de7d739fcd289c83517b86b215ee9774
Parameters: {"rev"=>"11", "action"=>"revision", "id"=>"23", "controller"=>"repositories"}
Rendering template within layouts/base
Rendering repositories/revision
Completed in 0.02206 (45 reqs/sec) | Rendering: 0.01405 (63%) | DB: 0.00278 (12%) | 200 OK [https://-----------------------------/projects/23/repository/revisions/11]
Processing RepositoriesController#diff (for ---.---.---.--- at 2009-02-07 11:15:13) [GET]
Session ID: de7d739fcd289c83517b86b215ee9774
Parameters: {"rev"=>"11", "action"=>"diff", "id"=>"focus-plugin", "controller"=>"repositories", "path"=>["app", "views", "schedules", "_calendar.html.erb"]}
Rendering template within layouts/base
Rendering repositories/diff
Completed in 0.03615 (27 reqs/sec) | Rendering: 0.01066 (29%) | DB: 0.00081 (2%) | 200 OK [https://-----------------------------/projects/focus-plugin/repository/revisions/11/diff/app/views/schedules/_calendar.html.erb]
Processing RepositoriesController#diff (for ---.---.---.--- at 2009-02-07 11:15:15) [GET]
Session ID: de7d739fcd289c83517b86b215ee9774
Parameters: {"rev"=>"11", "action"=>"diff", "type"=>"sbs", "id"=>"focus-plugin", "controller"=>"repositories", "path"=>"appviewsschedules_calendar.html.erb"}
NoMethodError (undefined method `join' for "appviewsschedules_calendar.html.erb":String):
/app/controllers/repositories_controller.rb:208:in `find_repository'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:173:in `send'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:173:in `evaluate_method'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/callbacks.rb:161:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:191:in `call'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:591:in `run_before_filters'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:577:in `call_filters'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/rescue.rb:201:in `perform_action_without_caching'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'
/usr/lib/ruby/gems/1.8/gems/activerecord-2.1.2/lib/active_record/query_cache.rb:8:in `cache'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:529:in `send'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:529:in `process_without_filters'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/filters.rb:568:in `process_without_session_management_support'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/session_management.rb:130:in `process'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/base.rb:389:in `process'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:149:in `handle_request'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:107:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:104:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:104:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'
/usr/lib/ruby/gems/1.8/gems/actionpack-2.1.2/lib/action_controller/dispatcher.rb:35:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/webrick_server.rb:112:in `handle_dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/webrick_server.rb:78:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/usr/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/usr/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/usr/lib/ruby/1.8/webrick/server.rb:95:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `each'
/usr/lib/ruby/1.8/webrick/server.rb:92:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:23:in `start'
/usr/lib/ruby/1.8/webrick/server.rb:82:in `start'
/usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/webrick_server.rb:62:in `dispatch'
/usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/servers/webrick.rb:66
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in `require'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:355:in `new_constants_in'
/usr/lib/ruby/gems/1.8/gems/activesupport-2.1.2/lib/active_support/dependencies.rb:510:in `require'
/usr/lib/ruby/gems/1.8/gems/rails-2.1.2/lib/commands/server.rb:39
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
script/server:3
Rendering /home/redmine/redmine/public/500.html (500 Internal Server Error)
</pre> Redmine - Patch #2685 (New): Display notice when commenting on closed ticketshttps://www.redmine.org/issues/26852009-02-05T23:48:56ZBrad Beattie
<p>Consider the following scenario. An issue is opened, resolved and closed. An inexperienced user X doesn't have access to reopen the issue. Instead of creating a new issue and relating it to the old issue, user X instead comments on the issue and reassigns it back to experienced user Y. This closed issue is now assigned to user Y, but they never notice it as its closed.</p>
<p>While we can't prevent poor behaviour like this, we can at least provide some sort of warning message to the inexperienced user.</p>
<p>The attached patch displays a warning if a user comments on a closed ticket.</p> Redmine - Defect #2642 (Closed): Issue references are parsed in pre tagshttps://www.redmine.org/issues/26422009-02-02T05:37:59ZBrad Beattie
<p>I noticed something odd while posting a bit of CSS. I don't know if it's intentional, but see the effect below:</p>
<pre>
div.attachments span.author { font-size: 0.9em; color: #888; }
</pre>
<p>The above snippet of CSS is parsed for issue IDs.</p> Redmine - Defect #2641 (Closed): other-formats paragraph location is inconsistenthttps://www.redmine.org/issues/26412009-02-02T05:33:46ZBrad Beattie
<p>On an issue view page, the other-formats paragraph appears at the bottom of the page, just above the footer through use of<br /><pre>
<div style="clear: both;"/>
</pre></p>
<p>On other pages, the other-formats paragraph appears simply as the last element in the #content div.</p>
<p>It doesn't really matter to me which one is used, but I figured consistency would be good, yeah? The following patch puts all at the bottom through use of relative absolute positioning with the #content div and, consequently, removes the single instance of the clear div.</p>
<pre>
### Eclipse Workspace Patch 1.0
#P Redmine
Index: app/views/issues/show.rhtml
===================================================================
--- app/views/issues/show.rhtml (revision 2338)
+++ app/views/issues/show.rhtml (working copy)
@@ -99,7 +99,6 @@
<%= render :partial => 'history', :locals => { :journals => @journals } %>
</div>
<% end %>
-<div style="clear: both;"></div>
<% if authorize_for('issues', 'edit') %>
<div id="update" style="display:none;">
Index: public/stylesheets/application.css
===================================================================
--- public/stylesheets/application.css (revision 2352)
+++ public/stylesheets/application.css (working copy)
@@ -55,7 +55,7 @@
#sidebar hr{ width: 100%; margin: 0 auto; height: 1px; background: #ccc; border: 0; }
* html #sidebar hr{ width: 95%; position: relative; left: -6px; color: #ccc; }
-#content { width: 80%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; }
+#content { width: 80%; background-color: #fff; margin: 0px; border-right: 1px solid #ddd; padding: 6px 10px 10px 10px; z-index: 10; position: relative; }
* html #content{ width: 80%; padding-left: 0; margin-top: 0px; padding: 6px 10px 10px 10px;}
html>body #content { min-height: 600px; }
* html body #content { height: 600px; } /* IE */
@@ -308,7 +308,7 @@
div.attachments img { vertical-align: middle; }
div.attachments span.author { font-size: 0.9em; color: #888; }
-p.other-formats { text-align: right; font-size:0.9em; color: #666; }
+p.other-formats { text-align: right; font-size:0.9em; color: #666; position: absolute; bottom: 0; right: 1em; }
.other-formats span + span:before { content: "| "; }
a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
</pre> Redmine - Patch #2635 (Closed): Display notice on forum updateshttps://www.redmine.org/issues/26352009-01-31T20:44:23ZBrad Beattie
<p>When posting a comment to a news item, the notice label_comment_added is displayed to the user. I figured that it was inconsistent not to do the same for forum comments, so I created the following patch.</p>
<pre>
### Eclipse Workspace Patch 1.0
#P Redmine
Index: lang/en.yml
===================================================================
--- lang/en.yml (revision 2344)
+++ lang/en.yml (working copy)
@@ -536,6 +536,7 @@
label_message_new: New message
label_message_posted: Message added
label_reply_plural: Replies
+label_reply_added: Reply added
label_send_information: Send account information to the user
label_year: Year
label_month: Month
Index: app/controllers/messages_controller.rb
===================================================================
--- app/controllers/messages_controller.rb (revision 2338)
+++ app/controllers/messages_controller.rb (working copy)
@@ -47,6 +47,7 @@
end
if request.post? && @message.save
attach_files(@message, params[:attachments])
+ flash[:notice] = l(:label_message_posted)
redirect_to :action => 'show', :id => @message
end
end
@@ -60,6 +61,7 @@
if !@reply.new_record?
attach_files(@reply, params[:attachments])
end
+ flash[:notice] = l(:label_reply_added)
redirect_to :action => 'show', :id => @topic
end
</pre> Redmine - Patch #2634 (Closed): Refactoring of error messageshttps://www.redmine.org/issues/26342009-01-31T20:26:55ZBrad Beattie
<p>Seems that there were two methods of declaring errors: #errorExplanation or div.flash.error. Considering they were both used in the same way, I'm not sure why two are necessary. The following patch replaces all instances of the former with the latter.</p>
<pre>
### Eclipse Workspace Patch 1.0
#P Redmine
Index: test/functional/my_controller_test.rb
===================================================================
--- test/functional/my_controller_test.rb (revision 2338)
+++ test/functional/my_controller_test.rb (working copy)
@@ -88,7 +88,7 @@
:new_password_confirmation => 'hello2'
assert_response :success
assert_template 'password'
- assert_tag :tag => "div", :attributes => { :class => "errorExplanation" }
+ assert_tag :tag => "div", :attributes => { :class => "flash error" }
# wrong password
post :password, :password => 'wrongpassword',
Index: public/stylesheets/application.css
===================================================================
--- public/stylesheets/application.css (revision 2344)
+++ public/stylesheets/application.css (working copy)
@@ -313,7 +313,7 @@
a.atom { background: url(../images/feed.png) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
/***** Flash & error messages ****/
-#errorExplanation, div.flash, .nodata, .warning {
+div.flash, .nodata, .warning {
padding: 4px 4px 4px 30px;
margin-bottom: 12px;
font-size: 1.1em;
@@ -322,7 +322,7 @@
div.flash {margin-top: 8px;}
-div.flash.error, #errorExplanation {
+div.flash.error {
background: url(../images/false.png) 8px 5px no-repeat;
background-color: #ffe3e3;
border-color: #dd0000;
@@ -351,7 +351,7 @@
color: #A6750C;
}
-#errorExplanation ul { font-size: 0.9em;}
+div.flash.error ul { font-size: 0.9em;}
/***** Ajax indicator ******/
#ajax-indicator {
Index: app/helpers/application_helper.rb
===================================================================
--- app/helpers/application_helper.rb (revision 2344)
+++ app/helpers/application_helper.rb (working copy)
@@ -576,7 +576,7 @@
options[:header_tag] || "span", lwr(:gui_validation_error, full_messages.length) + ":"
) +
content_tag("ul", full_messages.collect { |msg| content_tag("li", msg) }),
- "id" => options[:id] || "errorExplanation", "class" => options[:class] || "errorExplanation"
+ "id" => options[:id], "class" => options[:class] || "flash error"
)
else
""
Index: test/functional/news_controller_test.rb
===================================================================
--- test/functional/news_controller_test.rb (revision 2338)
+++ test/functional/news_controller_test.rb (working copy)
@@ -160,7 +160,7 @@
assert_template 'new'
assert_not_nil assigns(:news)
assert assigns(:news).new_record?
- assert_tag :tag => 'div', :attributes => { :id => 'errorExplanation' },
+ assert_tag :tag => 'div', :attributes => { :class => 'flash error' },
:content => /1 error/
end
Index: vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/layout.erb
===================================================================
--- vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/layout.erb (revision 2338)
+++ vendor/plugins/actionwebservice/lib/action_web_service/templates/scaffolds/layout.erb (working copy)
@@ -26,7 +26,7 @@
display: table;
}
- #errorExplanation {
+ div.flash.error {
width: 400px;
border: 2px solid red;
padding: 7px;
@@ -35,7 +35,7 @@
background-color: #f0f0f0;
}
- #errorExplanation h2 {
+ div.flash.error h2 {
text-align: left;
font-weight: bold;
padding: 5px 5px 5px 15px;
@@ -45,13 +45,13 @@
color: #fff;
}
- #errorExplanation p {
+ div.flash.error p {
color: #333;
margin-bottom: 0;
padding: 5px;
}
- #errorExplanation ul li {
+ div.flash.error ul li {
font-size: 12px;
list-style: square;
}
Index: test/functional/roles_controller_test.rb
===================================================================
--- test/functional/roles_controller_test.rb (revision 2338)
+++ test/functional/roles_controller_test.rb (working copy)
@@ -57,7 +57,7 @@
assert_response :success
assert_template 'new'
- assert_tag :tag => 'div', :attributes => { :id => 'errorExplanation' }
+ assert_tag :tag => 'div', :attributes => { :class => 'flash error' }
end
def test_post_new_without_workflow_copy
</pre> Redmine - Defect #2633 (Closed): Contextual divs after attachments are placed incorrectly in FireFoxhttps://www.redmine.org/issues/26332009-01-31T17:35:46ZBrad Beattie
<p>Was able to fix this issue by moving the contextual inside the message div.</p>
<pre>
Index: app/views/messages/show.rhtml
===================================================================
--- app/views/messages/show.rhtml (revision 2338)
+++ app/views/messages/show.rhtml (working copy)
@@ -23,12 +23,12 @@
<h3 class="icon22 icon22-comment"><%= l(:label_reply_plural) %></h3>
<% @replies.each do |message| %>
<a name="<%= "message-#{message.id}" %>"></a>
- <div class="contextual">
- <%= link_to_remote_if_authorized image_tag('comment.png'), { :url => {:action => 'quote', :id => message} }, :title => l(:button_quote) %>
- <%= link_to(image_tag('edit.png'), {:action => 'edit', :id => message}, :title => l(:button_edit)) if message.editable_by?(User.current) %>
- <%= link_to(image_tag('delete.png'), {:action => 'destroy', :id => message}, :method => :post, :confirm => l(:text_are_you_sure), :title => l(:button_delete)) if message.destroyable_by?(User.current) %>
- </div>
<div class="message reply">
+ <div class="contextual">
+ <%= link_to_remote_if_authorized image_tag('comment.png'), { :url => {:action => 'quote', :id => message} }, :title => l(:button_quote) %>
+ <%= link_to(image_tag('edit.png'), {:action => 'edit', :id => message}, :title => l(:button_edit)) if message.editable_by?(User.current) %>
+ <%= link_to(image_tag('delete.png'), {:action => 'destroy', :id => message}, :method => :post, :confirm => l(:text_are_you_sure), :title => l(:button_delete)) if message.destroyable_by?(User.current) %>
+ </div>
<h4><%=h message.subject %> - <%= authoring message.created_on, message.author %></h4>
<div class="wiki"><%= textilizable message, :content, :attachments => message.attachments %></div>
<%= link_to_attachments message, :author => false %>
Index: public/stylesheets/application.css
===================================================================
--- public/stylesheets/application.css (revision 2338)
+++ public/stylesheets/application.css (working copy)
@@ -158,6 +158,7 @@
}
.contextual {float:right; white-space: nowrap; line-height:1.4em;margin-top:5px; padding-left: 10px; font-size:0.9em;}
.contextual input {font-size:0.9em;}
+.message .contextual { margin-top: 0; }
.splitcontentleft{float:left; width:49%;}
.splitcontentright{float:right; width:49%;}
</pre> Redmine - Patch #2632 (Closed): News comment form has no boxhttps://www.redmine.org/issues/26322009-01-31T17:28:11ZBrad Beattie
<p>The following patch boxes the news comment, as every other instance of commenting (e.g. on an existing ticket or in a forum) was boxed. Visual consistency and all that jazz. :)</p>
<pre>
### Eclipse Workspace Patch 1.0
#P Redmine
Index: app/views/news/show.rhtml
===================================================================
--- app/views/news/show.rhtml (revision 2338)
+++ app/views/news/show.rhtml (working copy)
@@ -46,10 +46,12 @@
</div>
<% if authorize_for 'news', 'add_comment' %>
-<p><%= toggle_link l(:label_comment_add), "add_comment_form", :focus => "comment_comments" %></p>
-<% form_tag({:action => 'add_comment', :id => @news}, :id => "add_comment_form", :style => "display:none;") do %>
-<%= text_area 'comment', 'comments', :cols => 80, :rows => 15, :class => 'wiki-edit' %>
-<%= wikitoolbar_for 'comment_comments' %>
+<p><%= toggle_link l(:label_comment_add), "add_comment_box", :focus => "comment_comments" %></p>
+<div id="add_comment_box" class="box" style="display: none">
+ <% form_tag({:action => 'add_comment', :id => @news}, :id => "add_comment_form") do %>
+ <%= text_area 'comment', 'comments', :cols => 80, :rows => 15, :class => 'wiki-edit' %>
+ <%= wikitoolbar_for 'comment_comments' %>
+</div>
<p><%= submit_tag l(:button_add) %></p>
<% end %>
<% end %>
</pre> Redmine - Feature #2631 (Closed): Add breadcrumbs to news pageshttps://www.redmine.org/issues/26312009-01-31T17:06:54ZBrad Beattie
<pre>
Index: app/views/news/show.rhtml
===================================================================
--- app/views/news/show.rhtml (revision 2338)
+++ app/views/news/show.rhtml (working copy)
@@ -1,3 +1,5 @@
+<%= breadcrumb link_to(l(:label_news_plural), {:controller => 'news', :action => 'index', :project_id => @project}) %>
+
<div class="contextual">
<%= link_to_if_authorized l(:button_edit),
{:controller => 'news', :action => 'edit', :id => @news},
</pre> Redmine - Patch #2622 (Closed): Display avatar in news postshttps://www.redmine.org/issues/26222009-01-29T22:43:01ZBrad Beattie
<p>See attached file. It was modified from 0.8.0, not dev. Still, I don't think it should be far off.</p> Redmine - Defect #2619 (Closed): Categories field displays when no categories exist and user can'...https://www.redmine.org/issues/26192009-01-29T19:54:04ZBrad Beattie
<p>As a user with no access to create new categories, create a new ticket in a project with no categories. The category drop down displays, although no options exist. It probably shouldn't show, much like target version doesn't display when no options are there.</p> Redmine - Feature #2618 (New): Move some change properties fields into the "more" linkhttps://www.redmine.org/issues/26182009-01-29T19:51:02ZBrad Beattie
<p>When updating a ticket, a user is presented with a number of options in the "Change properties" fieldset that they, on the whole, won't touch. In the normal life-span of a ticket, a user changes who the ticket is assigned to and it's percentage done. The remaining fields could be moved up to the expanding "more" link to help reduce visual clutter.</p> Redmine - Patch #2607 (Closed): Avatars display in forumshttps://www.redmine.org/issues/26072009-01-28T05:55:22ZBrad Beattie
<p>Not sure what format you want your patches in, so I'll just include this here.</p>
<p>app/views/messages/show.rhtml from release 0.8.0, between lines 32 and 33<br /><pre>
<%= avatar(message.user, :size => "32") %>
</pre></p> Redmine - Feature #2604 (Closed): Preview comment on news / bulk edithttps://www.redmine.org/issues/26042009-01-28T00:44:36ZBrad Beattie
<p>When creating a new issue, we can preview our text before we submit. Likewise with forum posts and comments.</p>
<p>However, comments on news can't be previewed. Bulk edit update notes can't be previewed. I think they should be, yeah?</p> Redmine - Defect #2600 (Closed): Referencing keywords collide in imported Trac instanceshttps://www.redmine.org/issues/26002009-01-27T18:01:25ZBrad Beattie
<ol>
<li>Work on some Trac instance, making use of repository keyword references
<ol>
<li>Create a pair of tickets, numbered A1 and B1</li>
<li>Commit a change summary for revision X like "fixes #A1" </li>
<li>Commit a change summary for revision Y like "fixes #B1" </li>
</ol>
</li>
<li>Work on some Redmine instance until its ticket count surpasses A1 and B1</li>
<li>Import the Trac instance into Redmine
<ol>
<li>Note that Trac's tickets are renumbered to A2 and B2</li>
<li><strong>Note that when this project is connected to its repository, old change summaries reference incorrect tickets.</strong></li>
</ol></li>
</ol>
<p>I guess the root of this is that given a sufficiently large set of tickets and commits, there exists a set such that A2 == B1.</p>
<p>A simple solution would be to disable issue references from before the time a project was imported.</p> Redmine - Feature #2595 (New): Issue report for all projectshttps://www.redmine.org/issues/25952009-01-26T23:05:44ZBrad Beattie
<p>Currently, we can view /reports/issue_report/PROJECTNAME, but /reports/issue_report results in a 404. Everything on this page is applicable to all projects, save for Version and Category, which likely doesn't carry between projects. These could, for this page, be replaced by Project, yeah?</p> Redmine - Feature #2594 (Closed): Sort issues by projecthttps://www.redmine.org/issues/25942009-01-26T23:02:35ZBrad Beattie
<p>On the /issues page, there's no way to sort by project. If a Redmine instance gets some 10 projects with a decent throughput of tickets, it quickly becomes chaotic to get the necessary overview.</p> Redmine - Defect #2590 (Closed): Moved tickets and project permissionshttps://www.redmine.org/issues/25902009-01-26T18:04:43ZBrad Beattie
<p>Okay, here's the case. User Alice creates a ticket in Project X. Manager Bob comes along and realizes that this ticket would be better addressed elsewhere, so he moves it to private Project Y. Alice doesn't have access to view Project Y and can't, as a result, see her ticket anymore.</p>
<p>That's all well and good, but on /my/page in the <em>Reported issues</em> block, she sees her ticket with a link (that 403's on her).</p>
<p>I think we can agree that she shouldn't be able to see the ticket (it would reveal possibly private categories, affected versions, etc), but shouldn't this mean it shouldn't display elsewhere to her?</p> Redmine - Defect #2589 (Closed): Cross project issue relations and user permissionshttps://www.redmine.org/issues/25892009-01-26T17:55:11ZBrad Beattie
<p>I have an odd use-case here. Administrator Alice enables cross-project issue relations, creates a private project and creates issue 1 (an issue User Bob can't see). Bob, who belongs to a public project, creates issue 2. Being the sneaky user that he is, he wants to see what tickets private trackers have. He adds an issue relation to issue 1 and sees the ticket subject. Oh noes!</p>
<p>Basically, cross-project issue relations aren't respecting user permissions to see the ticket (or its subject). The issue relation could be kept, for sure, just not displayed to that user.</p>
<p>I gather the fix is to restrict what issue relations show according the the viewing user's permissions, yeah?</p> Redmine - Patch #2576 (New): Partially decouple application_helper.rb from Gravatarhttps://www.redmine.org/issues/25762009-01-24T22:17:36ZBrad Beattie
<p>The application_helper.rb directly accesses the Gravatar function by email. I would argue that it would be better to instead use vendor/plugins/gravatar/lib/gravatar.rb's gravatar_for function with the user object.</p>
<p>The situation I have here is that my local instance has modified the Gravatar plugin to use locally stored avatars linked by email address (as dictated by application_helper.rb). Occasionally, users change their email addresses, which requires renaming their avatar files. If the change I proposed was implemented, this local avatar plugin would be doable. Without it, the avatar system is intrinsically tied to email addresses.</p>
<p>I'm not sure what patch formats you prefer, so here's the proposed change:</p>
<pre><code class="ruby syntaxhl"><span class="k">def</span> <span class="nf">avatar</span><span class="p">(</span><span class="n">user</span><span class="p">,</span> <span class="n">options</span> <span class="o">=</span> <span class="p">{</span> <span class="p">})</span>
<span class="k">if</span> <span class="no">Setting</span><span class="p">.</span><span class="nf">gravatar_enabled?</span>
<span class="k">return</span> <span class="n">gravatar_for</span><span class="p">(</span><span class="n">user</span><span class="p">)</span> <span class="k">unless</span> <span class="n">user</span><span class="p">.</span><span class="nf">mail</span><span class="p">.</span><span class="nf">blank?</span> <span class="k">rescue</span> <span class="kp">nil</span>
<span class="k">end</span>
<span class="k">end</span>
</code></pre>
<p>Apologies if my syntax is wrong. I'm so very, very new to Ruby.</p> Redmine - Feature #2570 (Closed): Filter on assigned to rolehttps://www.redmine.org/issues/25702009-01-23T22:08:23ZBrad Beattie
<p>Currently, filters on <em>Assigned to</em> are restricted to user names or <em><< me >></em>. It'd be nice to be able to filter on the assignee's role. Otherwise, there's no way to search for tickets in status <em>New</em> that are assigned to users with the role <em>Developer</em>.</p>
<p>This becomes important when workflow has been restricted such that developers can only resolve tickets that are in the <em>Assigned</em> state.</p> Redmine - Defect #2550 (Closed): Project overview page shows disabled trackershttps://www.redmine.org/issues/25502009-01-20T22:41:13ZBrad Beattie
<p>Create a project and disable all but one tracker (e.g. support and feature disabled, bug enabled). Note that the page overview will still list the number of support and feature tickets ("0 open on 0" for both). These shouldn't be displayed at all, yeah?</p>
<p>app/views/projects/show.rhtml, line 24</p> Redmine - Feature #2549 (Closed): Enable the watching of newshttps://www.redmine.org/issues/25492009-01-20T21:16:28ZBrad Beattie
<p>At the moment, users can't watch news items. They can subscribe the the provided feeds, but they can't get emails like they do tickets.</p>
<p>I don't know Ruby, but I see the "acts_as_watchable" property that the board, message and issue models have. I gather adding this to news wouldn't watch all news, just a singular news item. Anywho, I leave the implementation details to the Redmine experts. :)</p>