Style improvements to labels

Also fixes a bug with setting labels on tickets
This commit is contained in:
Drew DeVault 2018-10-16 21:33:05 -04:00
parent 5973973ec3
commit 0b87f69646
6 changed files with 64 additions and 73 deletions

View File

@ -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;
}
}

View File

@ -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)

View File

@ -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 %}

View File

@ -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",

View File

@ -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>

View File

@ -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">