{% extends "base.html" %} {% load i18n %} {% load inventree_extras %} {% block breadcrumb_list %} {% endblock breadcrumb_list %} {% block page_title %} {% inventree_title %} | {% trans "Notifications" %} {% endblock page_title %} {% block sidebar %} {% include "InvenTree/notifications/sidebar.html" %} {% endblock sidebar %} {% block content %} {% include "InvenTree/notifications/inbox.html" %} {% include "InvenTree/notifications/history.html" %} {% endblock content %} {% block js_ready %} {{ block.super }} function updateNotificationTables() { $("#inbox-table").bootstrapTable('refresh'); $("#history-table").bootstrapTable('refresh'); } // this allows the global notification panel to update the tables window.updateNotifications = updateNotificationTables loadNotificationTable("#inbox-table", { name: 'inbox', url: '{% url 'api-notifications-list' %}', params: { read: false, }, no_matches: function() { return '{% trans "No unread notifications found" escape %}'; }, }); $("#mark-all").on('click', function() { inventreeGet( '{% url "api-notifications-readall" %}', { read: false, }, { success: function(response) { updateNotificationTables(); } } ); }); loadNotificationTable("#history-table", { name: 'history', url: '{% url 'api-notifications-list' %}', no_matches: function() { return '{% trans "No notification history found" escape %}'; }, }, true); $('#history-delete').click(function() { var html = `
{% trans "Delete all read notifications" %}
`; // Perform a bulk delete of all 'read' notifications for this user constructForm( '{% url "api-notifications-list" %}', { method: 'DELETE', multi_delete: true, preFormContent: html, title: '{% trans "Delete Notifications" escape %}', refreshTable: '#history-table', form_data: { filters: { read: true, } } } ); }); $("#history-table").on('click', '.notification-delete', function() { constructForm(`{% url "api-notifications-list" %}${$(this).attr('pk')}/`, { method: 'DELETE', title: '{% trans "Delete Notification" escape %}', onSuccess: function(data) { updateNotificationTables(); } }); }); enableSidebar('notifications'); {% endblock js_ready %}