2010-07-27 10 views
11

Con la plantilla predeterminada, el ticket de trac está disponible para su visualización solamente, debo hacer clic en modificar para expandir la pestaña de propiedades para modificar, cambiar el estado de un ticket. ¿Ahora quiero ampliar esa pestaña automáticamente? ¿Cómo puedo cambiarlo rápidamente sin cambiar la plantilla? ¿Es posible cambiarlo con el archivo trac.ini? No puedo encontrar la ubicación de la plantilla predeterminada para cambiar, por lo que no puedo cambiarme. Gracias!Cambiar la visualización del ticket en Trac

+0

Tengo exactamente la misma necesidad, incluso sería útil alguna ayuda con la forma de cambiar la plantilla. – Tom

+0

¿Están hablando de trac 0.12? Si es así, probablemente sería bueno agregar esa información a la pregunta. No tengo ninguna pestaña "Modificar" en trac 0.11. En realidad, no tengo pestañas en el ticket en absoluto ... –

+0

sí, estoy usando Trac 0.12 – hungnv

Respuesta

3

Estoy usando trac 0.12 y tuve el mismo problema.

... sin cambiar la propia plantilla

no pude encontrar una opción para configurarlo pero me di cuenta si hace clic en el "modificar" enlace rápido en la parte superior derecha de el boleto y luego el área plegable "Modificar boleto" se desglosa automáticamente para usted.

Yo sé que no lo pide, pero por si acaso, te deseo un corte plantilla horribles ...

Abrir el archivo de plantilla en el editor, por ejemplo, para mí en CentOS 5.5:

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

comentario la línea de jQuery que desencadena la modificar la sección de colapsar en la página listo:

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

encontré la edición no tuvo efecto inmediato - tal vez la plantilla está en la memoria caché o algo así? Funcionó después de unos minutos de actualización de turnos y reinicio de Apache.

esperemos que alguien respuestas más con una mejor solución ...

+1

sí, las plantillas están en la memoria caché. necesita configurar [trac] auto_reload = True en su trac.ini –

+0

Pero para mí, el directorio del que habla es /usr/lib/python2.4/site-packages/Trac-0.12-py2.4.egg ¿Es solo un archivo con extensión de huevo? Es muy extraño conmigo, esta es la primera vez que uso Trac, ¿por qué su directorio se convierte en mi archivo con la misma versión de Trac? – hungnv

+1

Su huevo está comprimido mientras que el mío está descomprimido. Instalé Trac usando 'easy_install --always-unzip Trac == 0.12' porque mi sistema operativo no puede reconocer los huevos comprimidos. Podrías descomprimir tu huevo usando 'unzip', luego eliminar la versión comprimida (de lo contrario, tendrías dos tracs instalados). – Tom

8

Creo que la mejor manera de habilitar el comportamiento que busca es añadir un archivo JS personalizado (que se puede inyectar al igual que un CSS personalizado, lea TracInterfaceCustomization).

En ese archivo a hacer esto:

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

Este código no se ha probado, pero debe darle la idea. Básicamente, tenemos que esperar hasta que el DOM esté listo ($ (documento) .ready), pero como hay varias funciones de JS llamadas durante ese evento, el setTimeOut establece un ligero retraso para asegurarse de que el comando de colapso haya pasado antes.

HTH de un desarrollador profesional Trac :-)

+1

Tuve que usar $ (documento). Listo para que esto funcione, pero aparte de eso funcionó muy bien en trac 0.12. ¡Gracias! – icco

+0

Lo he intentado en numerosas ocasiones, y no pude por mi vida hacer que funcionara, incluso respondí a esta pregunta y luego la borré después de darme cuenta de mi falsa suposición. El resultado de icco es el mismo que el mío, cambie la primera línea de '$ .ready' a' $ (document) .ready', ¡Y FUNCIONA! ¡HURRA! Ahora, haga que los desarrolladores de TRAC deshagan este horrible cambio en la propia aplicación web. Ni siquiera puedo comprender la suposición que hicieron en primer lugar. – VxJasonxV

+0

sí, tienes razón. Olvidé el $ (documento). Listo, cambié eso :-) –

2

Esta es básicamente la respuesta de Schwarz pero en una forma más simple

para obtener contols entradas se expandió en la carga de hacer después. Coloca el siguiente código

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

en/ruta/a/su/trac/proyecto/plantillas directorio en el archivo site.html.

+0

Creo que de esta manera es más limpio. –

Cuestiones relacionadas