2010-07-27 16 views
11

Con il modello predefinito, il ticket Trac è disponibile solo per la visualizzazione, è necessario fare clic su Modifica per espandere la scheda Proprietà per modificare, modificare lo stato di un ticket. Ora voglio espandere automaticamente quella scheda? Come posso cambiarlo rapidamente senza cambiare il modello stesso? È possibile cambiarlo con il file trac.ini? Non riesco a trovare la posizione del modello predefinito da cambiare, quindi non posso cambiarmi. Grazie!Modifica visualizzazione ticket in Trac

+0

Ho esattamente la stessa necessità: anche qualche aiuto su come cambiare il modello sarebbe utile. – Tom

+0

Stai parlando di trac 0.12? Se così fosse, sarebbe probabilmente opportuno aggiungere quell'informazione alla domanda. Non ho alcuna scheda "Modifica" in trac 0.11. In realtà, non ho nessuna scheda sul biglietto ... –

+0

sì, sto usando Trac 0.12 – hungnv

risposta

3

Sto utilizzando trac 0.12 e ho riscontrato lo stesso problema.

... senza modificare il modello stesso

non riuscivo a trovare una soluzione per configurarlo, ma ho notato se si fa clic sul "modificare" collegamento rapido in alto a destra della il biglietto quindi l'area pieghevole "Modifica biglietto" viene automaticamente annullata per te.

So che non hai chiesto, ma solo nel caso in cui, si vuole un modello di trucco orribile ...

Aprire il file di modello in editor di, ad esempio, per me in CentOS 5.5:

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

commento la riga jQuery che innesca il modificare sezione a crollare a pagina pronto:

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

ho trovato la modifica non ha effetto immediatamente - forse il modello è memorizzato nella cache o qualcosa del genere? Ha funzionato dopo alcuni minuti di shift-refreshing e riavvio di apache.

Lets risposte altro spero che qualcuno con una soluzione migliore ...

+1

sì, i modelli sono memorizzati nella cache. devi impostare [trac] auto_reload = True nel tuo trac.ini –

+0

Ma per me, la directory di cui stai parlando /usr/lib/python2.4/site-packages/Trac-0.12-py2.4.egg è solo un file con estensione uovo? È così strano con me, questa è la prima volta che uso Trac, perché la tua directory diventa il mio file con la stessa versione di Trac? – hungnv

+1

Il tuo uovo è zippato mentre il mio è decompresso. Ho installato Trac usando 'easy_install --always-unzip Trac == 0.12' perché il mio sistema operativo non è in grado di riconoscere le uova zippate. Potresti decomprimere il tuo uovo usando 'unzip', quindi rimuovi la versione zippata (altrimenti avrai due tracs installati). – Tom

8

Penso che il modo migliore per attivare il comportamento che stai cercando è quello di aggiungere un file JS personalizzato (che può essere iniettato molto simile un CSS personalizzato, leggi TracInterfaceCustomization).

In quel file fare questo:

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

Questo codice non è testato, ma dovrebbe dare l'idea. Fondamentalmente dobbiamo aspettare che il DOM sia pronto ($ (document) .ready) ma poiché ci sono più funzioni JS chiamate durante quell'evento, setTimeOut imposta un leggero ritardo per assicurarsi che il comando collapse sia passato prima.

HTH da uno sviluppatore professionista Trac :-)

+1

Ho dovuto usare $ (document) .ready per farlo funzionare, ma a parte questo ha funzionato benissimo in trac 0.12. Grazie! – icco

+0

Ho provato questo molte volte, e non potevo farlo funzionare per tutta la vita, ho persino risposto a questa domanda e poi l'ho cancellato dopo che ho realizzato la mia falsa ipotesi che ho fatto. Il risultato di icco è lo stesso di mio, cambia la prima riga da '$ .ready' a' $ (document) .ready', E FUNZIONA! SÌÌ! Ora per ottenere gli sviluppatori TRAC per annullare questo cambiamento orribile nella webapp stessa. Non riesco nemmeno a capire l'assunto che hanno fatto in primo luogo. – VxJasonxV

+0

sì, hai ragione Ho dimenticato $ (documento). Già, ho cambiato :-) –

2

Questo è fondamentalmente la risposta di Schwarz, ma in una forma più semplice

Per ottenere contols biglietti ampliato carico do seguente. Inserire codice seguente

<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> 

in/path/to/la vostra/trac/progetto/modelli directory nel file di site.html.

+0

Penso che questo modo sia più pulito. –

Problemi correlati