Sfoglia il codice sorgente

Name invoice and quote unlocks in the audit log (#529)

Bernt Christian Egeland 3 giorni fa
parent
commit
5b9469115a

+ 4 - 0
messages/de/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "E-Mail-Vorlage gelöscht",
     "settings_deleteEmailTemplate": "E-Mail-Vorlage gelöscht",
     "settings_applyEmailTemplate": "Standard-E-Mail-Vorlage festgelegt",
     "settings_applyEmailTemplate": "Standard-E-Mail-Vorlage festgelegt",
     "settings_freezeInvoices": "Ältere Rechnungen gesperrt",
     "settings_freezeInvoices": "Ältere Rechnungen gesperrt",
+    "invoice_unlock": "Rechnung zum Bearbeiten entsperrt",
+    "invoice_relock": "Rechnung wieder gesperrt",
+    "quote_unlock": "Angebot zum Bearbeiten entsperrt",
+    "quote_relock": "Angebot wieder gesperrt",
     "settings_reapplyInvoiceDesign": "Rechnungsdesign erneut angewendet",
     "settings_reapplyInvoiceDesign": "Rechnungsdesign erneut angewendet",
     "invoice_reapplyDesign": "Rechnungsdesign erneut angewendet",
     "invoice_reapplyDesign": "Rechnungsdesign erneut angewendet",
     "invoice_reissue": "Gesendete Rechnung auf aktuelle Angaben aktualisiert",
     "invoice_reissue": "Gesendete Rechnung auf aktuelle Angaben aktualisiert",

+ 4 - 0
messages/en/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Deleted Email Template",
     "settings_deleteEmailTemplate": "Deleted Email Template",
     "settings_applyEmailTemplate": "Set Default Email Template",
     "settings_applyEmailTemplate": "Set Default Email Template",
     "settings_freezeInvoices": "Locked Older Invoices",
     "settings_freezeInvoices": "Locked Older Invoices",
+    "invoice_unlock": "Unlocked Invoice for Editing",
+    "invoice_relock": "Locked Invoice Again",
+    "quote_unlock": "Unlocked Quote for Editing",
+    "quote_relock": "Locked Quote Again",
     "settings_reapplyInvoiceDesign": "Re-applied Invoice Design",
     "settings_reapplyInvoiceDesign": "Re-applied Invoice Design",
     "invoice_reapplyDesign": "Re-applied Invoice Design",
     "invoice_reapplyDesign": "Re-applied Invoice Design",
     "invoice_reissue": "Updated Sent Invoice to Today's Details",
     "invoice_reissue": "Updated Sent Invoice to Today's Details",

+ 4 - 0
messages/es/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Plantilla de correo eliminada",
     "settings_deleteEmailTemplate": "Plantilla de correo eliminada",
     "settings_applyEmailTemplate": "Plantilla de correo predeterminada establecida",
     "settings_applyEmailTemplate": "Plantilla de correo predeterminada establecida",
     "settings_freezeInvoices": "Facturas anteriores bloqueadas",
     "settings_freezeInvoices": "Facturas anteriores bloqueadas",
+    "invoice_unlock": "Factura desbloqueada para editar",
+    "invoice_relock": "Factura bloqueada de nuevo",
+    "quote_unlock": "Presupuesto desbloqueado para editar",
+    "quote_relock": "Presupuesto bloqueado de nuevo",
     "settings_reapplyInvoiceDesign": "Diseño de factura vuelto a aplicar",
     "settings_reapplyInvoiceDesign": "Diseño de factura vuelto a aplicar",
     "invoice_reapplyDesign": "Diseño de factura vuelto a aplicar",
     "invoice_reapplyDesign": "Diseño de factura vuelto a aplicar",
     "invoice_reissue": "Factura enviada actualizada a los datos actuales",
     "invoice_reissue": "Factura enviada actualizada a los datos actuales",

+ 4 - 0
messages/fr/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Modèle d'e-mail supprimé",
     "settings_deleteEmailTemplate": "Modèle d'e-mail supprimé",
     "settings_applyEmailTemplate": "Modèle d'e-mail par défaut défini",
     "settings_applyEmailTemplate": "Modèle d'e-mail par défaut défini",
     "settings_freezeInvoices": "Anciennes factures verrouillées",
     "settings_freezeInvoices": "Anciennes factures verrouillées",
+    "invoice_unlock": "Facture déverrouillée pour modification",
+    "invoice_relock": "Facture verrouillée à nouveau",
+    "quote_unlock": "Devis déverrouillé pour modification",
+    "quote_relock": "Devis verrouillé à nouveau",
     "settings_reapplyInvoiceDesign": "Design de facture réappliqué",
     "settings_reapplyInvoiceDesign": "Design de facture réappliqué",
     "invoice_reapplyDesign": "Design de facture réappliqué",
     "invoice_reapplyDesign": "Design de facture réappliqué",
     "invoice_reissue": "Facture envoyée mise à jour avec les informations actuelles",
     "invoice_reissue": "Facture envoyée mise à jour avec les informations actuelles",

+ 4 - 0
messages/it/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Modello email eliminato",
     "settings_deleteEmailTemplate": "Modello email eliminato",
     "settings_applyEmailTemplate": "Modello email predefinito impostato",
     "settings_applyEmailTemplate": "Modello email predefinito impostato",
     "settings_freezeInvoices": "Fatture precedenti bloccate",
     "settings_freezeInvoices": "Fatture precedenti bloccate",
+    "invoice_unlock": "Fattura sbloccata per la modifica",
+    "invoice_relock": "Fattura bloccata di nuovo",
+    "quote_unlock": "Preventivo sbloccato per la modifica",
+    "quote_relock": "Preventivo bloccato di nuovo",
     "settings_reapplyInvoiceDesign": "Design fattura riapplicato",
     "settings_reapplyInvoiceDesign": "Design fattura riapplicato",
     "invoice_reapplyDesign": "Design fattura riapplicato",
     "invoice_reapplyDesign": "Design fattura riapplicato",
     "invoice_reissue": "Fattura inviata aggiornata ai dati attuali",
     "invoice_reissue": "Fattura inviata aggiornata ai dati attuali",

+ 4 - 0
messages/lt/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Ištrintas el. laiško šablonas",
     "settings_deleteEmailTemplate": "Ištrintas el. laiško šablonas",
     "settings_applyEmailTemplate": "Nustatytas numatytasis el. laiško šablonas",
     "settings_applyEmailTemplate": "Nustatytas numatytasis el. laiško šablonas",
     "settings_freezeInvoices": "Užrakintos senesnės sąskaitos",
     "settings_freezeInvoices": "Užrakintos senesnės sąskaitos",
+    "invoice_unlock": "Sąskaita atrakinta redagavimui",
+    "invoice_relock": "Sąskaita vėl užrakinta",
+    "quote_unlock": "Pasiūlymas atrakintas redagavimui",
+    "quote_relock": "Pasiūlymas vėl užrakintas",
     "settings_reapplyInvoiceDesign": "Sąskaitos dizainas pritaikytas iš naujo",
     "settings_reapplyInvoiceDesign": "Sąskaitos dizainas pritaikytas iš naujo",
     "invoice_reapplyDesign": "Sąskaitos dizainas pritaikytas iš naujo",
     "invoice_reapplyDesign": "Sąskaitos dizainas pritaikytas iš naujo",
     "invoice_reissue": "Išsiųsta sąskaita atnaujinta pagal dabartinius duomenis",
     "invoice_reissue": "Išsiųsta sąskaita atnaujinta pagal dabartinius duomenis",

+ 4 - 0
messages/nb/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Slettet e-postmal",
     "settings_deleteEmailTemplate": "Slettet e-postmal",
     "settings_applyEmailTemplate": "Satte standard e-postmal",
     "settings_applyEmailTemplate": "Satte standard e-postmal",
     "settings_freezeInvoices": "Låste eldre fakturaer",
     "settings_freezeInvoices": "Låste eldre fakturaer",
+    "invoice_unlock": "Låste opp faktura for redigering",
+    "invoice_relock": "Låste faktura igjen",
+    "quote_unlock": "Låste opp tilbud for redigering",
+    "quote_relock": "Låste tilbud igjen",
     "settings_reapplyInvoiceDesign": "Brukte fakturadesign på nytt",
     "settings_reapplyInvoiceDesign": "Brukte fakturadesign på nytt",
     "invoice_reapplyDesign": "Brukte fakturadesign på nytt",
     "invoice_reapplyDesign": "Brukte fakturadesign på nytt",
     "invoice_reissue": "Oppdaterte sendt faktura til dagens opplysninger",
     "invoice_reissue": "Oppdaterte sendt faktura til dagens opplysninger",

+ 4 - 0
messages/nl/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "E-mailsjabloon verwijderd",
     "settings_deleteEmailTemplate": "E-mailsjabloon verwijderd",
     "settings_applyEmailTemplate": "Standaard e-mailsjabloon ingesteld",
     "settings_applyEmailTemplate": "Standaard e-mailsjabloon ingesteld",
     "settings_freezeInvoices": "Oudere facturen vergrendeld",
     "settings_freezeInvoices": "Oudere facturen vergrendeld",
+    "invoice_unlock": "Factuur ontgrendeld om te bewerken",
+    "invoice_relock": "Factuur opnieuw vergrendeld",
+    "quote_unlock": "Offerte ontgrendeld om te bewerken",
+    "quote_relock": "Offerte opnieuw vergrendeld",
     "settings_reapplyInvoiceDesign": "Factuurontwerp opnieuw toegepast",
     "settings_reapplyInvoiceDesign": "Factuurontwerp opnieuw toegepast",
     "invoice_reapplyDesign": "Factuurontwerp opnieuw toegepast",
     "invoice_reapplyDesign": "Factuurontwerp opnieuw toegepast",
     "invoice_reissue": "Verzonden factuur bijgewerkt naar de huidige gegevens",
     "invoice_reissue": "Verzonden factuur bijgewerkt naar de huidige gegevens",

+ 4 - 0
messages/pl/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Usunięto szablon e-maila",
     "settings_deleteEmailTemplate": "Usunięto szablon e-maila",
     "settings_applyEmailTemplate": "Ustawiono domyślny szablon e-maila",
     "settings_applyEmailTemplate": "Ustawiono domyślny szablon e-maila",
     "settings_freezeInvoices": "Zablokowano starsze faktury",
     "settings_freezeInvoices": "Zablokowano starsze faktury",
+    "invoice_unlock": "Odblokowano fakturę do edycji",
+    "invoice_relock": "Ponownie zablokowano fakturę",
+    "quote_unlock": "Odblokowano wycenę do edycji",
+    "quote_relock": "Ponownie zablokowano wycenę",
     "settings_reapplyInvoiceDesign": "Ponownie nałożono projekt faktury",
     "settings_reapplyInvoiceDesign": "Ponownie nałożono projekt faktury",
     "invoice_reapplyDesign": "Ponownie nałożono projekt faktury",
     "invoice_reapplyDesign": "Ponownie nałożono projekt faktury",
     "invoice_reissue": "Zaktualizowano wysłaną fakturę do bieżących danych",
     "invoice_reissue": "Zaktualizowano wysłaną fakturę do bieżących danych",

+ 4 - 0
messages/pt-BR/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Modelo de e-mail excluído",
     "settings_deleteEmailTemplate": "Modelo de e-mail excluído",
     "settings_applyEmailTemplate": "Modelo de e-mail padrão definido",
     "settings_applyEmailTemplate": "Modelo de e-mail padrão definido",
     "settings_freezeInvoices": "Faturas anteriores travadas",
     "settings_freezeInvoices": "Faturas anteriores travadas",
+    "invoice_unlock": "Fatura desbloqueada para edição",
+    "invoice_relock": "Fatura bloqueada novamente",
+    "quote_unlock": "Orçamento desbloqueado para edição",
+    "quote_relock": "Orçamento bloqueado novamente",
     "settings_reapplyInvoiceDesign": "Design de fatura reaplicado",
     "settings_reapplyInvoiceDesign": "Design de fatura reaplicado",
     "invoice_reapplyDesign": "Design de fatura reaplicado",
     "invoice_reapplyDesign": "Design de fatura reaplicado",
     "invoice_reissue": "Fatura enviada atualizada para os dados atuais",
     "invoice_reissue": "Fatura enviada atualizada para os dados atuais",

+ 4 - 0
messages/pt-PT/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Modelo de e-mail eliminado",
     "settings_deleteEmailTemplate": "Modelo de e-mail eliminado",
     "settings_applyEmailTemplate": "Modelo de e-mail predefinido definido",
     "settings_applyEmailTemplate": "Modelo de e-mail predefinido definido",
     "settings_freezeInvoices": "Faturas anteriores bloqueadas",
     "settings_freezeInvoices": "Faturas anteriores bloqueadas",
+    "invoice_unlock": "Fatura desbloqueada para edição",
+    "invoice_relock": "Fatura bloqueada novamente",
+    "quote_unlock": "Orçamento desbloqueado para edição",
+    "quote_relock": "Orçamento bloqueado novamente",
     "settings_reapplyInvoiceDesign": "Design de fatura reaplicado",
     "settings_reapplyInvoiceDesign": "Design de fatura reaplicado",
     "invoice_reapplyDesign": "Design de fatura reaplicado",
     "invoice_reapplyDesign": "Design de fatura reaplicado",
     "invoice_reissue": "Fatura enviada atualizada para os dados atuais",
     "invoice_reissue": "Fatura enviada atualizada para os dados atuais",

+ 4 - 0
messages/ru/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "Удалён шаблон письма",
     "settings_deleteEmailTemplate": "Удалён шаблон письма",
     "settings_applyEmailTemplate": "Задан шаблон письма по умолчанию",
     "settings_applyEmailTemplate": "Задан шаблон письма по умолчанию",
     "settings_freezeInvoices": "Зафиксированы старые счета",
     "settings_freezeInvoices": "Зафиксированы старые счета",
+    "invoice_unlock": "Счёт разблокирован для редактирования",
+    "invoice_relock": "Счёт снова заблокирован",
+    "quote_unlock": "Предложение разблокировано для редактирования",
+    "quote_relock": "Предложение снова заблокировано",
     "settings_reapplyInvoiceDesign": "Дизайн счёта применён заново",
     "settings_reapplyInvoiceDesign": "Дизайн счёта применён заново",
     "invoice_reapplyDesign": "Дизайн счёта применён заново",
     "invoice_reapplyDesign": "Дизайн счёта применён заново",
     "invoice_reissue": "Отправленный счёт обновлён до текущих данных",
     "invoice_reissue": "Отправленный счёт обновлён до текущих данных",

+ 4 - 0
messages/tr/audit.json

@@ -170,6 +170,10 @@
     "settings_deleteEmailTemplate": "E-posta şablonu silindi",
     "settings_deleteEmailTemplate": "E-posta şablonu silindi",
     "settings_applyEmailTemplate": "Varsayılan e-posta şablonu ayarlandı",
     "settings_applyEmailTemplate": "Varsayılan e-posta şablonu ayarlandı",
     "settings_freezeInvoices": "Eski faturalar kilitlendi",
     "settings_freezeInvoices": "Eski faturalar kilitlendi",
+    "invoice_unlock": "Faturanın kilidi düzenleme için açıldı",
+    "invoice_relock": "Fatura yeniden kilitlendi",
+    "quote_unlock": "Teklifin kilidi düzenleme için açıldı",
+    "quote_relock": "Teklif yeniden kilitlendi",
     "settings_reapplyInvoiceDesign": "Fatura tasarımı yeniden uygulandı",
     "settings_reapplyInvoiceDesign": "Fatura tasarımı yeniden uygulandı",
     "invoice_reapplyDesign": "Fatura tasarımı yeniden uygulandı",
     "invoice_reapplyDesign": "Fatura tasarımı yeniden uygulandı",
     "invoice_reissue": "Gönderilen fatura güncel bilgilere güncellendi",
     "invoice_reissue": "Gönderilen fatura güncel bilgilere güncellendi",

+ 11 - 0
src/__tests__/i18n/audit-actions.test.ts

@@ -33,6 +33,15 @@ function emittedActions(): string[] {
         for (const m of src.matchAll(/action:\s*['"]([a-zA-Z][\w]*\.[\w.]+)['"]/g)) {
         for (const m of src.matchAll(/action:\s*['"]([a-zA-Z][\w]*\.[\w.]+)['"]/g)) {
           found.add(m[1])
           found.add(m[1])
         }
         }
+        // An action chosen by a condition, `action: unlocked ? 'invoice.unlock'
+        // : 'invoice.relock'`, writes both. The pattern above sees neither, which
+        // is how the unlock and relock entries reached the audit log unlabelled.
+        for (const m of src.matchAll(
+          /action:\s*[^,\n?]+\?\s*['"]([a-zA-Z]\w*\.[\w.]+)['"]\s*:\s*['"]([a-zA-Z]\w*\.[\w.]+)['"]/g
+        )) {
+          found.add(m[1])
+          found.add(m[2])
+        }
       }
       }
     }
     }
   }
   }
@@ -46,6 +55,8 @@ describe('audit action labels', () => {
   it('finds the audit actions the code emits', () => {
   it('finds the audit actions the code emits', () => {
     expect(ACTIONS.length).toBeGreaterThan(50)
     expect(ACTIONS.length).toBeGreaterThan(50)
     expect(ACTIONS).toContain('inspection.create')
     expect(ACTIONS).toContain('inspection.create')
+    expect(ACTIONS).toContain('invoice.unlock')
+    expect(ACTIONS).toContain('invoice.relock')
   })
   })
 
 
   it.each(LOCALES)('%s has a label for every emitted action', (locale) => {
   it.each(LOCALES)('%s has a label for every emitted action', (locale) => {