
    p:iF                     R    d dl mZmZ d dlmZ d dlmZmZmZ  G d de          Z	dS )    )	Component
implements)IRequestFilter)ITemplateProvider
add_scriptadd_script_datac                   B    e Zd ZdZ eee           d Zd Zd Z	d Z
dS )TicketCloneButtonzAdd a ''Clone'' button in the ticket box and in ticket comments.

    This button is located next to the 'Reply' to description button,
    and pressing it will send a request for creating a new ticket
    which will be based on the cloned one.
    c                     |S N )selfreqhandlers      L/var/www/html/trac/venv/lib/python3.11/site-packages/tracopt/ticket/clone.pypre_process_requestz%TicketCloneButton.pre_process_request   s        c                     |dk    rm|                     d          }|rV|j        rOt          |d           t          ||                    d          d|j                             d          i           |||fS )Nzticket.htmlticketzticketopt/ticketclone.js	newticketuse_symbolszui.use_symbols)newticket_hrefui)getexistsr   r   hrefsession)r   r   templatedatametadatar   s         r   post_process_requestz&TicketCloneButton.post_process_request"   s    }$$XXh''F H&- H3 :;;;/2xx/D/D$1$'KOO4D$E$E$GH H H H x''r   c              #   @   K   ddl m} d |t          d          fV  d S )Nr   )resource_filename	ticketopthtdocs)pkg_resourcesr#   __name__)r   r#   s     r   get_htdocs_dirsz!TicketCloneButton.get_htdocs_dirs/   s=      333333,,Xx@@@@@@@@r   c                     g S r   r   )r   s    r   get_templates_dirsz$TicketCloneButton.get_templates_dirs3   s    	r   N)r'   
__module____qualname____doc__r   r   r   r   r!   r(   r*   r   r   r   r
   r
      sr          J~0111  	( 	( 	(A A A    r   r
   N)
	trac.corer   r   trac.web.apir   trac.web.chromer   r   r   r
   r   r   r   <module>r1      s    , + + + + + + + ' ' ' ' ' ' J J J J J J J J J J! ! ! ! !	 ! ! ! ! !r   