Yup..

I think the best advice for new contributors is to reply to the email they get from commenting on the issue tracker to get their work recognised on this list. The dev list is expected to have a much greater readership.

Anyway, thanks for investigating this issue - good job I think. The _render_property_diff method is quite a big chunk of code to consider overriding to get the changes implemented outside of the trac code so I would wonder if it is worth passing this on to the Trac devs to see if they wouldn't mind adding the classes as James suggests.

I am not yet sure that the alternative of ignoring the pre-rendering of fields will always work at this point. If we are talking about fields that are treated as lists we may only want to see what is added or removed rather than the whole before and after. Then again I haven't tested that this is what we would get yet! Apart from that, I suspect that the pre-rendering python code will be triggered regardless, even if we choose not to make use of it so it may be slightly wasteful..

Cheers,
    Gary


On 25/07/13 11:53, James Wood wrote:
^Is this worth asking about on the dev list?


On Wed, Jul 24, 2013 at 5:50 PM, Apache Bloodhound <
[email protected]> wrote:

#359: Highlight field values in ticket comments feed
--------------------------+------------------------------------------
   Reporter:  olemis       |      Owner:  nobody
       Type:  enhancement  |     Status:  new
   Priority:  trivial      |  Milestone:
  Component:  ui design    |    Version:
Resolution:               |   Keywords:  ticket comments diff starter
--------------------------+------------------------------------------

Comment (by mudri):

  It works when this is added to the previous stuff:
  {{{
  #!python
  Index: trac/trac/ticket/web_ui.py
  ===================================================================
  --- trac/trac/ticket/web_ui.py  (revision 1505634)
  +++ trac/trac/ticket/web_ui.py  (working copy)
  @@ -1743,9 +1743,9 @@
                       'EMAIL_VIEW' in req.perm(resource_new or
  ticket.resource)):
                   render_elt = obfuscate_email_address
           if (old_list, new_list) != (None, None):
  -            added = [tag.em(render_elt(x)) for x in new_list
  +            added = [tag.em(render_elt(x), class_="new-value") for x in
  new_list
                        if x not in old_list]
  -            remvd = [tag.em(render_elt(x)) for x in old_list
  +            remvd = [tag.em(render_elt(x), class_="old-value") for x in
  old_list
                        if x not in new_list]
               added = added and tagn_("%(items)s added", "%(items)s added",
                                       len(added), items=separated(added,
  sep))
  @@ -1759,12 +1759,12 @@
                   old = obfuscate_email_address(old)
                   new = obfuscate_email_address(new)
               if old and not new:
  -                rendered = tag_("%(value)s deleted", value=tag.em(old))
  +                rendered = tag_("%(value)s deleted", value=tag.em(old,
  class_="old-value"))
               elif new and not old:
  -                rendered = tag_("set to %(value)s", value=tag.em(new))
  +                rendered = tag_("set to %(value)s", value=tag.em(new,
  class_="new-value"))
               elif old and new:
                   rendered = tag_("changed from %(old)s to %(new)s",
  -                                old=tag.em(old), new=tag.em(new))
  +                                old=tag.em(old, class_="old-value"),
  new=tag.em(new, class_="new-value"))
           return rendered

       def grouped_changelog_entries(self, ticket, db=None, when=None):
  }}}
  That does mean modifying Trac, but it's only adding classes to elements.
  An alternative is to take out the line
  {{{
  #!xml
  <py:when test="'rendered' in field">${field.rendered}</py:when>
  }}}
  from bh_ticket_change.html. This just ignores any rendering which has been
  done for us.

--
Ticket URL: <https://issues.apache.org/bloodhound/ticket/359#comment:6>
Apache Bloodhound <https://issues.apache.org/bloodhound/>
The Apache Bloodhound issue tracker


Reply via email to