mirror of
https://github.com/zulip/zulip.git
synced 2025-11-19 05:58:25 +00:00
compose: Remove draft older than 30 days.
This removes drafts older than 30 days as they become irrelevant for the user. Those drafts are removed before populating them. Fixes: #7602.
This commit is contained in:
committed by
Tim Abbott
parent
40958e0824
commit
7aeae688e7
@@ -160,6 +160,20 @@ exports.restore_draft = function (draft_id) {
|
||||
$("#compose-textarea").data("draft-id", draft_id);
|
||||
};
|
||||
|
||||
var DRAFT_LIFETIME = 30;
|
||||
|
||||
function remove_old_drafts() {
|
||||
var old_date = new Date().setDate(new Date().getDate() - DRAFT_LIFETIME);
|
||||
var drafts = draft_model.get();
|
||||
_.each(drafts, function (draft, id) {
|
||||
if (draft.updatedAt < old_date) {
|
||||
draft_model.deleteDraft(id);
|
||||
}
|
||||
});
|
||||
}
|
||||
// Exporting for testing purpose
|
||||
exports.remove_old_drafts = remove_old_drafts;
|
||||
|
||||
exports.setup_page = function (callback) {
|
||||
function setup_event_handlers() {
|
||||
$(".restore-draft").on("click", function (e) {
|
||||
@@ -262,7 +276,10 @@ exports.setup_page = function (callback) {
|
||||
function _populate_and_fill() {
|
||||
$('#drafts_table').empty();
|
||||
var drafts = format_drafts(draft_model.get());
|
||||
var rendered = templates.render('draft_table_body', { drafts: drafts });
|
||||
var rendered = templates.render('draft_table_body',{
|
||||
drafts: drafts,
|
||||
draft_lifetime: DRAFT_LIFETIME,
|
||||
});
|
||||
$('#drafts_table').append(rendered);
|
||||
if ($("#drafts_table .draft-row").length > 0) {
|
||||
$('#drafts_table .no-drafts').hide();
|
||||
@@ -280,6 +297,8 @@ exports.setup_page = function (callback) {
|
||||
_populate_and_fill();
|
||||
});
|
||||
}
|
||||
|
||||
remove_old_drafts();
|
||||
populate_and_fill();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user