Style improvements to labels
Also fixes a bug with setting labels on tickets
This commit is contained in:
parent
5973973ec3
commit
0b87f69646
|
@ -161,6 +161,7 @@ select.form-control {
|
|||
|
||||
.label-list > .row {
|
||||
margin-bottom: .2rem;
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
@ -168,9 +169,15 @@ select.form-control {
|
|||
|
||||
.label-edit {
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
margin-bottom: .3rem;
|
||||
display: inline-block;
|
||||
|
||||
form {
|
||||
display: inline-block;
|
||||
margin-bottom: .3rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.btn {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -325,17 +325,17 @@ def ticket_add_label(owner, name, ticket_id):
|
|||
abort(401)
|
||||
|
||||
label_id = int(request.form.get('label_id'))
|
||||
label = Label.query.filter(Label.id==label_id).first()
|
||||
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()
|
||||
.filter(TicketLabel.ticket_id == ticket.id)).first()
|
||||
|
||||
if not ticket_label:
|
||||
ticket_label = TicketLabel()
|
||||
ticket_label.ticket_id = ticket_id
|
||||
ticket_label.ticket_id = ticket.id
|
||||
ticket_label.label_id = label.id
|
||||
ticket_label.user_id = current_user.id
|
||||
|
||||
|
@ -347,7 +347,8 @@ def ticket_add_label(owner, name, ticket_id):
|
|||
name=name,
|
||||
ticket_id=ticket_id))
|
||||
|
||||
@ticket.route("/<owner>/<name>/<int:ticket_id>/remove_label/<int:label_id>", methods=["POST"])
|
||||
@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)
|
||||
|
@ -364,7 +365,7 @@ def ticket_remove_label(owner, name, ticket_id, label_id):
|
|||
|
||||
ticket_label = (TicketLabel.query
|
||||
.filter(TicketLabel.label_id == label_id)
|
||||
.filter(TicketLabel.ticket_id == ticket_id)).first()
|
||||
.filter(TicketLabel.ticket_id == ticket.id)).first()
|
||||
|
||||
if ticket_label:
|
||||
db.session.delete(ticket_label)
|
||||
|
|
|
@ -129,30 +129,30 @@
|
|||
<div class="label-edit">
|
||||
<div
|
||||
class="label"
|
||||
style="color: {{ tl.label.text_color }}; background-color: {{ tl.label.color }}"
|
||||
style="color: {{ tl.label.text_color }};
|
||||
background-color: {{ tl.label.color }}"
|
||||
>{{ tl.label.name }}
|
||||
<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-link">
|
||||
{{ icon("times") }}
|
||||
</button>
|
||||
</form>
|
||||
</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>
|
||||
|
||||
{% if TicketAccess.edit in access %}
|
||||
<dt class="col-md-3">Add label</dt>
|
||||
<dd class="col-md-9">
|
||||
<dd class="col-md-9 offset-md-3">
|
||||
<form
|
||||
method="POST"
|
||||
action="{{
|
||||
|
@ -162,17 +162,20 @@
|
|||
ticket_id=ticket.scoped_id,
|
||||
)
|
||||
}}">
|
||||
<select id="label_id" name="label_id">
|
||||
<select id="label_id" name="label_id" class="form-control">
|
||||
<option>-- Pick one --</option>
|
||||
{% for label in tracker.labels if label not in labels %}
|
||||
<option
|
||||
value="{{ label.id }}"
|
||||
style="color: {{ label.text_color }}; background-color: {{ label.color }}">
|
||||
style="color: {{ label.text_color }};
|
||||
background-color: {{ label.color }}">
|
||||
{{ label.name }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button type="submit" class="btn btn-primary">Add</button>
|
||||
<button type="submit" class="btn btn-default">
|
||||
Add label {{icon('caret-right')}}
|
||||
</button>
|
||||
</form>
|
||||
</dd>
|
||||
{% else %}
|
||||
|
|
|
@ -39,24 +39,12 @@
|
|||
</h2>
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link"
|
||||
href="{{url_for(".tracker_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name
|
||||
)}}">open tickets</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{url_for(".tracker_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name
|
||||
)}}?search=status:closed">closed tickets</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link"
|
||||
href="{{url_for(".tracker_labels_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name
|
||||
)}}">labels</a>
|
||||
<a
|
||||
class="nav-link"
|
||||
href="{{ url_for("tracker.tracker_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name) }}"
|
||||
>{{icon('caret-left')}} back</a>
|
||||
</li>
|
||||
<li class="nav-item d-none d-sm-block">
|
||||
<a class="nav-link active" href="{{url_for(".configure_GET",
|
||||
|
|
|
@ -19,17 +19,12 @@
|
|||
</h2>
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link"
|
||||
href="{{url_for(".tracker_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name
|
||||
)}}">open tickets</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{url_for(".tracker_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name
|
||||
)}}?search=status:closed">closed tickets</a>
|
||||
<a
|
||||
class="nav-link"
|
||||
href="{{ url_for("tracker.tracker_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name) }}"
|
||||
>{{icon('caret-left')}} back</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active"
|
||||
|
@ -38,14 +33,6 @@
|
|||
name=tracker.name
|
||||
)}}">labels</a>
|
||||
</li>
|
||||
{% if current_user and current_user.id == tracker.owner_id %}
|
||||
<li class="nav-item d-none d-sm-block">
|
||||
<a class="nav-link" href="{{url_for(".configure_GET",
|
||||
owner=tracker.owner.canonical_name(),
|
||||
name=tracker.name)}}"
|
||||
>settings</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -60,7 +47,8 @@
|
|||
<div class="col">
|
||||
<div
|
||||
class="label"
|
||||
style="color: {{ label.text_color }}; background-color: {{ label.color }}"
|
||||
style="color: {{ label.text_color }};
|
||||
background-color: {{ label.color }}"
|
||||
>{{ label.name }}</div>
|
||||
</div>
|
||||
{% if is_owner %}
|
||||
|
@ -99,7 +87,8 @@
|
|||
class="form-control {{ valid.cls("color") }}"
|
||||
id="color"
|
||||
name="color"
|
||||
value="{{ color or "#FFFFFF" }}" />
|
||||
style="height: 2.2rem"
|
||||
value="{{ color or "#ffffff" }}" />
|
||||
{{valid.summary("color")}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -145,13 +145,16 @@
|
|||
ticket_id=ticket.scoped_id)}}">#{{ticket.scoped_id}}</a></div>
|
||||
<div class="title">
|
||||
{{ ticket.title }}
|
||||
{% for tl in ticket.labels %}
|
||||
<div
|
||||
class="small label"
|
||||
style="color: {{ tl.label.text_color }}; background-color: {{ tl.label.color }}"
|
||||
>{{ tl.label.name }}
|
||||
</div>
|
||||
{% endfor %}
|
||||
<span class="pull-right">
|
||||
{% for tl in ticket.labels %}
|
||||
<span
|
||||
class="small label"
|
||||
style="color: {{ tl.label.text_color }};
|
||||
background-color: {{ tl.label.color }}"
|
||||
>{{ tl.label.name }}
|
||||
</span>
|
||||
{% endfor %}
|
||||
</span>
|
||||
</div>
|
||||
<div class="updated">{{ ticket.updated | date }}</div>
|
||||
<div class="submitter">
|
||||
|
|
Loading…
Reference in New Issue