« 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


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

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