default priority

This commit is contained in:
Corban-Lee Jones 2024-01-10 18:06:24 +00:00
parent 33c721c5a6
commit 4c7a81e076
3 changed files with 47 additions and 21 deletions

View File

@ -54,6 +54,8 @@ def get_tickets(request):
queryset = Ticket.objects.all()
for key, values in filters.items():
print(key, values)
for value in values:
queryset = queryset.filter(**{key: [value]})

View File

@ -29,13 +29,27 @@
<h6>Priorities</h6>
</li>
<li id="filterPriorityAll" class="nav-item filter-priority">
<label for="filterPriority-all" class="nav-link c-grey-800 cH-blue-500 actived">
<div class="peers ai-c jc-sb">
<div class="peer peer-greed">
<input type="radio" id="filterPriority-all" name="filterPriorities" class="form-check-input me-2" checked="checked" value="all">
<span>All</span>
</div>
<div class="peer">
<span class="badge rounded-pill bgc-green-50 c-green-700">0</span>
</div>
</div>
</label>
</li>
{% for priority in priorities %}
<li class="nav-item filter-priority" data-uuid="{{ priority.id }}">
<li class="nav-item filter-priority">
<label for="filterPriority-{{ priority.id }}" class="nav-link c-grey-800 cH-blue-500 actived">
<div class="peers ai-c jc-sb">
<div class="peer peer-greed">
<input type="checkbox" id="filterPriority-{{ priority.id }}" class="form-check-input me-2">
<input type="radio" id="filterPriority-{{ priority.id }}" name="filterPriorities" class="form-check-input me-2" value="{{ priority.id }}">
<span>{{ priority.title }}</span>
</div>
<div class="peer">
@ -57,11 +71,11 @@
{% for tag in tags %}
<li class="nav-item filter-tag" data-uuid="{{ tag.id }}">
<li class="nav-item filter-tag">
<label for="filterTag-{{ tag.id }}" class="nav-link c-grey-800 cH-blue-500 actived">
<div class="peers ai-c jc-sb">
<div class="peer peer-greed">
<input type="checkbox" id="filterTag-{{ tag.id }}" class="form-check-input me-2">
<input type="checkbox" id="filterTag-{{ tag.id }}" class="form-check-input me-2" value="{{ priority.id }}">
<span>{{ tag.title }}</span>
</div>
<div class="peer">
@ -83,11 +97,11 @@
{% for department in departments %}
<li class="nav-item filter-department" data-uuid="{{ department.id }}">
<li class="nav-item filter-department">
<label for="filterDepartment-{{ department.id }}" class="nav-link c-grey-800 cH-blue-500 actived">
<div class="peers ai-c jc-sb">
<div class="peer peer-greed">
<input type="checkbox" id="filterDepartment-{{ department.id }}" class="form-check-input me-2">
<input type="checkbox" id="filterDepartment-{{ department.id }}" class="form-check-input me-2" value="{{ department.id }}">
<span>{{ department.title }}</span>
</div>
<div class="peer">
@ -297,7 +311,7 @@
</div>
<div class="mb-3">
<label for="newDesc" class="form-label">Description</label>
<div id="newDesc" class="form-control"></div>
<div id="newDesc" class="form-control"></div>
<small class="text-muted">Describe your issue in detail here.</small>
<!-- class="form-control" -->
</div>
@ -311,7 +325,7 @@
<small class="text-muted">How important is this ticket?</small>
</div>
<div class="mb-3">
<label for="newTagss" class="form-label">Tags</label>
<label for="newTags" class="form-label">Tags</label>
<select name="newTags" id="newTags" class="select-2" multiple="multiple">
{% for tag in tags %}
<option value="{{ tag.id }}">{{ tag.title }}</option>
@ -348,6 +362,11 @@
console.error(error)
});
// $("#filterPriorityAll").click(function() {
// delete filters[".filter-priority"];
// loadAllTickets();
// });
setupFilter("#filterSidebar .filter-department", "author__department__in");
setupFilter("#filterSidebar .filter-tag", "tags__in")
setupFilter("#filterSidebar .filter-priority", "priority__in")
@ -358,17 +377,23 @@
function setupFilter(selector, key) {
$(selector).each(function () {
var uuid = $(this).data("uuid");
var checkbox = $(this).find("input[type=checkbox]");
checkbox.on("change", function () {
if ($(this).is(":checked")) {
filters[key] = filters[key] || [];
filters[key].push(uuid);
} else {
filters[key].splice(filters[key].indexOf(uuid), 1);
if (filters[key].length === 0) {
delete filters[key];
var uuid = $(this).val();
var input = $(this).find("input[type=checkbox], input[type=radio]");
input.on("change", function () {
if (input.is(":checkbox")) {
if ($(this).is(":checked")) {
filters[key] = filters[key] || [];
filters[key].push(uuid);
} else {
// filters[key].splice(filters[key].indexOf(uuid), 1);
filters[key] = filters[key].filter(id => id !== uuid);
if (filters[key].length === 0) {
delete filters[key];
}
}
} else if (input.is(":radio") && input.is(":checked")) {
filters[key] = [uuid];
}
loadAllTickets();
@ -426,6 +451,8 @@
updateFilterCounts('priority', data);
updateFilterCounts('tag', data);
updateFilterCounts('department', data);
$("#filterPriorityAll .badge").text(data.ticket_count);
},
error: function(data) {
alert(JSON.stringify(data, null, 4))

View File

@ -1,7 +1,4 @@
#!/usr/bin/env python
"""
Copyright (c) 2019 - present AppSeed.us
"""
import os
import sys