« DB2のSQLExceptionのスタックトレース | Main | カスタムクエリページにコメントも出力する »

2008.11.29

カスタムクエリページでpreserve_newlinesを反応させる

 カスタムクエリページ(あるいはWikiページにおけるTicketQueryマクロ)の結果において、description(説明)などのテキストを1行使用して出力することが可能です・・・が、実は、preserve_newlinesの設定が反映されていないようです。

 試しに、パッチを作ってみました。とりあえずは、動いているようです(^^;

 なお、行番号に関しては、オリジナルのソースの行番号とずれているので注意してください(他のカスタマイズも混じっていているので)。

Index: Trac-0.11.1.ja1/trac/ticket/query.py
===================================================================
--- Trac-0.11.1.ja1/trac/ticket/query.py
+++ Trac-0.11.1.ja1/trac/ticket/query.py
@@ -23,7 +23,7 @@
 
 from genshi.builder import tag
 
-from trac.config import Option, IntOption 
+from trac.config import Option, IntOption, _TRUE_VALUES
 from trac.core import *
 from trac.db import get_column_names
 from trac.mimeview.api import Mimeview, IContentConverter, Context
@@ -726,6 +726,11 @@
                                 'string': str(results.page + 1),
                                 'title':None}
 
+        preserve_newlines = self.env.config.get('ticket', 'preserve_newlines', 'default')
+        if preserve_newlines == 'default':
+            preserve_newlines = self.env.get_version(initial=True) >= 21 # 0.11
+        preserve_newlines = preserve_newlines in _TRUE_VALUES
+
         return {'query': self,
                 'context': context,
                 'col': cols,
@@ -738,6 +743,7 @@
                 'tickets': tickets,
                 'groups': groupsequence or [(None, tickets)],
                 'last_group_is_partial': last_group_is_partial,
+                'preserve_newlines': preserve_newlines,
                 'paginator': results}
     
 class QueryModule(Component):
Index: Trac-0.11.1.ja1/trac/ticket/templates/query_results.html
===================================================================
--- Trac-0.11.1.ja1/trac/ticket/templates/query_results.html
+++ Trac-0.11.1.ja1/trac/ticket/templates/query_results.html
@@ -85,7 +85,7 @@
                   <tr py:otherwise="" py:for="r in result_rows" class="fullrow">
                     <th class="meta">${labels[r]}</th>
                     <td colspan="${len(headers)-1}" xml:space="preserve">
-                      ${wiki_to_html(ticket_context, result[r])}
+                      ${wiki_to_html(ticket_context, result[r], escape_newlines=preserve_newlines)}
                     </td>
                   </tr>
                 </py:choose>

|

« DB2のSQLExceptionのスタックトレース | Main | カスタムクエリページにコメントも出力する »

Subversion・Trac・etc.」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/3959/43261044

Listed below are links to weblogs that reference カスタムクエリページでpreserve_newlinesを反応させる:

« DB2のSQLExceptionのスタックトレース | Main | カスタムクエリページにコメントも出力する »