Изменить отображение билетов в Trac - PullRequest
11 голосов
/ 27 июля 2010

С шаблоном по умолчанию, trac ticket доступен только для просмотра, я должен щелкнуть по Изменить, чтобы развернуть вкладку свойств, чтобы изменить, изменить состояние заявки.Теперь я хочу расширить эту вкладку автоматически?Как я могу изменить его быстро, не меняя сам шаблон?Можно ли это изменить с помощью файла trac.ini?Я не могу найти, где находится шаблон по умолчанию для изменения, поэтому я не могу изменить себя.Спасибо!

Ответы [ 3 ]

8 голосов
/ 28 июля 2010

Я думаю, что лучший способ включить нужное вам поведение - это добавить пользовательский файл JS (который может быть введен так же, как пользовательский CSS, прочитайте TracInterfaceCustomization).

В этом файле сделайте это:

$(document).ready(function() {
 window.setTimeout(function() {
    $("#modify").parent().removeClass('collapsed')
 }, 0);
});

Этот код не проверен, но он должен дать вам идею.По сути, нам нужно подождать, пока DOM не будет готов ($ (document) .ready), но, поскольку во время этого события вызывается несколько функций JS, setTimeOut устанавливает небольшую задержку, чтобы убедиться, что команда collapse прошла раньше.

HTH от профессионального разработчика Trac: -)

3 голосов
/ 27 июля 2010

Я использую trac 0.12 и имел ту же проблему.

... без изменения самого шаблона

Я не смог найти опцию для настройкино я заметил, что если вы нажмете на быструю ссылку " изменить " в правом верхнем углу билета, тогда складная область "Изменить билет" автоматически откроется для вас.

Я знаю, что вы не просили об этом, но на всякий случай вам нужен ужасный взлом шаблона ...

Откройте файл шаблона в редакторе, например, для меня в CentOS 5.5:

sudo emacs  /usr/lib/python2.4/site-packages/Trac-0.12-py2.4.egg/trac/ticket/templates/ticket.html

Закомментируйте строку jQuery, которая запускает секцию modify , чтобы свернуть ее на странице:

//$("#modify").parent().toggleClass("collapsed");

Я обнаружил, что редактирование не вступило в силу сразу - возможношаблон кешируется что ли?Это сработало после нескольких минут обновления и перезапуска apache.

Будем надеяться, что кто-то другой ответит лучшим решением ...

2 голосов
/ 18 октября 2011

Это в основном ответ Шварца, но в более простой форме

Чтобы развернуть элементы управления билетом при загрузке, выполните следующие действия. Поставьте следующий код

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:py="http://genshi.edgewall.org/"
      py:strip="">

  <!--! Add site-specific style sheet -->
  <head py:match="head" py:attrs="select('@*')">
    ${select('*|comment()|text()')}
    <script type="text/JavaScript">
    <!--
    // EXPAND TICKET CONROLS ON LOAD.
    jQuery(document).ready(function() {
     window.setTimeout(function() {
        $("#modify").parent().removeClass('collapsed')
     }, 1);
    });
    //-->
    </script>
  </head>

  <body py:match="body" py:attrs="select('@*')">
    ${select('*|text()')}
  </body>
</html>

в / path / to / your / trac / project / templates каталог в файле site.html .

...