Append label to search terms from tracker page
This commit is contained in:
parent
f033db0672
commit
8ff1a0cd20
|
@ -72,7 +72,7 @@ def invalidate_markup_cache(obj):
|
|||
key = f"todo.sr.ht:cache_rendered_markup:{class_name}:{obj.id}"
|
||||
redis.delete(key)
|
||||
|
||||
def label_badge(label, cls="", remove_from_ticket=None):
|
||||
def label_badge(label, cls="", remove_from_ticket=None, terms=None):
|
||||
"""Return HTML markup rendering a label badge.
|
||||
|
||||
Additional HTML classes can be passed via the `cls` parameter.
|
||||
|
@ -86,7 +86,10 @@ def label_badge(label, cls="", remove_from_ticket=None):
|
|||
html_class = escape(f"label {cls}".strip())
|
||||
|
||||
style = f"color: {color}; background-color: {bg_color}"
|
||||
search_url = urls.label_search_url(label)
|
||||
if terms:
|
||||
search_url = urls.label_search_url(label, terms=terms)
|
||||
else:
|
||||
search_url = urls.label_search_url(label)
|
||||
|
||||
if remove_from_ticket:
|
||||
remove_url = urls.label_remove_url(label, remove_from_ticket)
|
||||
|
|
|
@ -147,7 +147,11 @@
|
|||
</a>
|
||||
<span class="pull-right">
|
||||
{% for label in ticket.labels %}
|
||||
{{ label|label_badge(cls="small") }}
|
||||
{% if not search %}
|
||||
{{ label|label_badge(cls="small", terms="status:open") }}
|
||||
{% else %}
|
||||
{{ label|label_badge(cls="small", terms=search) }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</span>
|
||||
</div>
|
||||
|
|
|
@ -45,12 +45,13 @@ def ticket_unassign_url(ticket):
|
|||
name=ticket.tracker.name,
|
||||
ticket_id=ticket.scoped_id)
|
||||
|
||||
def label_search_url(label):
|
||||
def label_search_url(label, terms=""):
|
||||
"""Return the URL to the tracker page listing all tickets which have the
|
||||
label applied."""
|
||||
return "{}?search=label:"{}"".format(
|
||||
return "{}?search=label:"{}"{}".format(
|
||||
tracker_url(label.tracker),
|
||||
unicode_urlencode(label.name))
|
||||
unicode_urlencode(label.name),
|
||||
f" {unicode_urlencode(terms)}" if terms else "")
|
||||
|
||||
def label_add_url(ticket):
|
||||
"""Return the URL to add a label to a ticket."""
|
||||
|
|
Loading…
Reference in New Issue