{% extends "base.html" %} {% block title %}Project Board{% endblock %} {% block extra_head %} {% include "components/rich_text_editor_assets.html" %} {% endblock %} {% block breadcrumb %} {% endblock %} {% block content %}
{% if not selected_project %}

Project Board

Drag and drop tickets across status columns

Select Project

Choose a project to view its board

{% if not projects %}

No Projects Available

You don't have access to any projects yet.

{% elif search and not projects %}

No Projects Found

Try adjusting your search terms

{% else %} {% endif %}
{% else %}

Project Board

{{ selected_project.name }}

{% if is_admin %} {% endif %}
Swipe horizontally to view all columns
{% if not can_move %}
View Only ModeYou can view tickets but cannot move them
{% elif can_move and allowed_move_to_status_ids|length < columns|length %}
Restricted ModeYou can only move tickets to certain statuses
{% endif %}
{% for col in columns %}

{{ col.status.name }} {{ col.count }} {% if col.status.is_completed %}
{% endif %}

{% for ticket in col.tickets %}
{{ ticket.uuid }}
{% if ticket.priority %}{{ ticket.priority.name }}{% endif %} {% if ticket.due_date %}{{ ticket.due_date|date:"M d" }}{% endif %}

{{ ticket.name }}

{% if ticket.description %}

{{ ticket.description|striptags|truncatechars:100 }}

{% endif %}
{% if ticket.assignees.all %} {% for assignee in ticket.assignees.all|slice:":2" %}
{{ assignee.get_full_name|default:assignee.username|first|upper }} {{ assignee.get_full_name|default:assignee.username|truncatechars:8 }}
{% endfor %} {% if ticket.assignees.all|length > 2 %}
+{{ ticket.assignees.all|length|add:"-2" }}
{% endif %} {% else %}
Unassigned
{% endif %}
View
{% empty %}
No tickets
{% endfor %}
{% endfor %} {% if not columns %}
No status columns found for this project
{% endif %}

New Ticket

{% csrf_token %}
{% include "components/rich_text_editor.html" with input_name="description" alpine_model="ticketDescription" %}

Select multiple users to assign this ticket to. Only project members can be assigned.

Export to Excel

Select columns to include in the export

Filter by User

Select users to filter tickets

{% for u in project_users %} {% empty %}

No users with tickets in this project

{% endfor %}

Manage Ticket Statuses

New Status

{% csrf_token %}
{% for col in columns %} {% empty %} {% endfor %}
Name Color Order Completed Actions
{{ col.status.name }} {{ col.status.color }} {{ col.status.sort_order }} {% if col.status.is_completed %} Yes {% else %} No {% endif %}
{% csrf_token %}
{% csrf_token %}
No statuses found.

Board Permissions

Add / Update Permission

{% csrf_token %}
{% for col in columns %} {% endfor %}
{% for perm in permissions %} {% empty %} {% endfor %}
Role Can move to Actions
{{ perm.role_display_name }}
{% for status in perm.move_to_statuses.all %} {{ status.name }} {% empty %} None {% endfor %}
{% csrf_token %}
No permissions configured. All non-admin roles are restricted by default.

Superadmin and manager roles always have full access. Select the statuses a developer role can move tickets to.

{% include "projects/partials/board_automation_modal.html" %} {% endif %}
{% endblock %} {% block extra_scripts %} {% endblock %}