Implement unlinking labels from issues
This commit is contained in:
parent
aba4f78345
commit
9d66081d9a
|
@ -165,3 +165,12 @@ select.form-control {
|
|||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.label-edit {
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
form {
|
||||
display: inline-block;
|
||||
margin-bottom: .3rem;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -346,3 +346,31 @@ def ticket_add_label(owner, name, ticket_id):
|
|||
owner=tracker.owner.canonical_name(),
|
||||
name=name,
|
||||
ticket_id=ticket_id))
|
||||
|
||||
@ticket.route("/<owner>/<name>/<int:ticket_id>/remove_label/<int:label_id>", methods=["POST"])
|
||||
@loginrequired
|
||||
def ticket_remove_label(owner, name, ticket_id, label_id):
|
||||
tracker, _ = get_tracker(owner, name)
|
||||
if not tracker:
|
||||
abort(404)
|
||||
ticket, access = get_ticket(tracker, ticket_id)
|
||||
if not ticket:
|
||||
abort(404)
|
||||
if not TicketAccess.edit in access:
|
||||
abort(401)
|
||||
label = Label.query.filter(Label.id==label_id).first()
|
||||
if not label:
|
||||
abort(404)
|
||||
|
||||
ticket_label = (TicketLabel.query
|
||||
.filter(TicketLabel.label_id == label_id)
|
||||
.filter(TicketLabel.ticket_id == ticket_id)).first()
|
||||
|
||||
if ticket_label:
|
||||
db.session.delete(ticket_label)
|
||||
db.session.commit()
|
||||
|
||||
return redirect(url_for("ticket.ticket_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=name,
|
||||
ticket_id=ticket_id))
|
||||
|
|
|
@ -126,10 +126,26 @@
|
|||
<dt class="col-md-3">Labels</dt>
|
||||
<dd class="col-md-9">
|
||||
{% for tl in ticket.labels %}
|
||||
<div
|
||||
class="label"
|
||||
style="color: {{ tl.label.text_color }}; background-color: {{ tl.label.color }}"
|
||||
>{{ tl.label.name }}
|
||||
<div class="label-edit">
|
||||
<div
|
||||
class="label"
|
||||
style="color: {{ tl.label.text_color }}; background-color: {{ tl.label.color }}"
|
||||
>{{ tl.label.name }}
|
||||
</div>
|
||||
<form
|
||||
method="POST"
|
||||
action="{{
|
||||
url_for(".ticket_remove_label",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name,
|
||||
ticket_id=ticket.scoped_id,
|
||||
label_id=tl.label.id,
|
||||
)
|
||||
}}">
|
||||
<button type="submit" class="btn btn-outline-danger">
|
||||
{{ icon("times") }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</dd>
|
||||
|
|
Loading…
Reference in New Issue