refactor: replace delete/undo flow with close/reopen endpoints
- POST /web/cases/:id/delete renamed to /close; emits CaseClosed. - New POST /web/cases/:id/reopen removes the marker; emits CaseReopened. - Bulk action "delete" renamed to "close"; the shared closed_at timestamp still groups the selection for future UI features. - POST /web/cases/undo-delete removed along with summarize_latest_close_group, latest_close_timestamp and restore_close_group. Per-case reopen makes the group-undo banner obsolete. - CaseEventKind::CaseDeleted -> CaseClosed, CaseRestored -> CaseReopened. - Templates updated to Lucide trash-2 icon, German label "Fall schliessen". - Tests migrated; delete_watermark_test.rs moved to close_watermark_test.rs.
This commit is contained in:
@@ -152,9 +152,6 @@ struct MyCasesTemplate {
|
||||
slug: String,
|
||||
groups: Vec<DateGroup>,
|
||||
total: usize,
|
||||
/// Number of cases that "Undo last delete" would restore. 0 hides the
|
||||
/// undo button entirely.
|
||||
undo_count: usize,
|
||||
/// True iff the session user is an admin — toggles full case_id display.
|
||||
is_admin: bool,
|
||||
}
|
||||
@@ -319,16 +316,11 @@ pub async fn handle_my_cases(
|
||||
let cases = scan_user_cases(&config, &user.slug, busy).await;
|
||||
let total = cases.len();
|
||||
let groups = group_by_utc_date(cases);
|
||||
let undo_count = crate::routes::case_actions::summarize_latest_close_group(&user_root)
|
||||
.await
|
||||
.map(|(_, n)| n)
|
||||
.unwrap_or(0);
|
||||
let is_admin = user.is_admin();
|
||||
MyCasesTemplate {
|
||||
slug: user.slug,
|
||||
groups,
|
||||
total,
|
||||
undo_count,
|
||||
is_admin,
|
||||
}
|
||||
.render()
|
||||
|
||||
Reference in New Issue
Block a user