mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	settings and localization
This commit is contained in:
		| @@ -2,6 +2,48 @@ | |||||||
| <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> | <xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> | ||||||
|   <file source-language="en-US" datatype="plaintext" original="ng2.template"> |   <file source-language="en-US" datatype="plaintext" original="ng2.template"> | ||||||
|     <body> |     <body> | ||||||
|  |       <trans-unit id="9103526311244275943" datatype="html"> | ||||||
|  |         <source>Document added</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/app.component.ts</context> | ||||||
|  |           <context context-type="linenumber">51</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="9204248378636247318" datatype="html"> | ||||||
|  |         <source>Document <x id="PH" equiv-text="status.filename"/> was added to paperless.</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/app.component.ts</context> | ||||||
|  |           <context context-type="linenumber">51</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="1931214133925051574" datatype="html"> | ||||||
|  |         <source>Open document</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/app.component.ts</context> | ||||||
|  |           <context context-type="linenumber">51</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="8582620835547864448" datatype="html"> | ||||||
|  |         <source>Could not add <x id="PH" equiv-text="status.filename"/>: <x id="PH_1" equiv-text="status.message"/></source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/app.component.ts</context> | ||||||
|  |           <context context-type="linenumber">59</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="1710712016675379662" datatype="html"> | ||||||
|  |         <source>New document detected</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/app.component.ts</context> | ||||||
|  |           <context context-type="linenumber">65</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="587031278561344416" datatype="html"> | ||||||
|  |         <source>Document <x id="PH" equiv-text="status.filename"/> is being processed by paperless.</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/app.component.ts</context> | ||||||
|  |           <context context-type="linenumber">65</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|       <trans-unit id="4733307402565258070" datatype="html"> |       <trans-unit id="4733307402565258070" datatype="html"> | ||||||
|         <source>Documents</source> |         <source>Documents</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
| @@ -482,35 +524,35 @@ | |||||||
|         <source>Saved view "<x id="PH" equiv-text="savedView.name"/>" deleted.</source> |         <source>Saved view "<x id="PH" equiv-text="savedView.name"/>" deleted.</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> | ||||||
|           <context context-type="linenumber">63</context> |           <context context-type="linenumber">67</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="5647210819299459618" datatype="html"> |       <trans-unit id="5647210819299459618" datatype="html"> | ||||||
|         <source>Settings saved successfully.</source> |         <source>Settings saved successfully.</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> | ||||||
|           <context context-type="linenumber">79</context> |           <context context-type="linenumber">87</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="6839066544204061364" datatype="html"> |       <trans-unit id="6839066544204061364" datatype="html"> | ||||||
|         <source>Use system language</source> |         <source>Use system language</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> | ||||||
|           <context context-type="linenumber">83</context> |           <context context-type="linenumber">91</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="7729897675462249787" datatype="html"> |       <trans-unit id="7729897675462249787" datatype="html"> | ||||||
|         <source>Use date format of display language</source> |         <source>Use date format of display language</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> | ||||||
|           <context context-type="linenumber">87</context> |           <context context-type="linenumber">95</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="8488620293789898901" datatype="html"> |       <trans-unit id="8488620293789898901" datatype="html"> | ||||||
|         <source>Error while storing settings on server: <x id="PH" equiv-text="JSON.stringify(error.error)"/></source> |         <source>Error while storing settings on server: <x id="PH" equiv-text="JSON.stringify(error.error)"/></source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.ts</context> | ||||||
|           <context context-type="linenumber">103</context> |           <context context-type="linenumber">111</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html"> |       <trans-unit id="121cc5391cd2a5115bc2b3160379ee5b36cd7716" datatype="html"> | ||||||
| @@ -531,7 +573,7 @@ | |||||||
|         <source>Saved views</source> |         <source>Saved views</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">114</context> |           <context context-type="linenumber">128</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13" datatype="html"> |       <trans-unit id="bbe41ac2ea4a6c00ea941a41b33105048f8e9f13" datatype="html"> | ||||||
| @@ -639,60 +681,109 @@ | |||||||
|           <context context-type="linenumber">98</context> |           <context context-type="linenumber">98</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|  |       <trans-unit id="8bcabdf6b16cad0313a86c7e940c5e3ad7f9f8ab" datatype="html"> | ||||||
|  |         <source>Notifications</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|  |           <context context-type="linenumber">102</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="69c5a98f8aa92e4db060f10dcd37781c8f40a48f" datatype="html"> | ||||||
|  |         <source>Consumer status</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|  |           <context context-type="linenumber">106</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="2ad4d76b36341c589d94004ad2a213fd4d6f5ca0" datatype="html"> | ||||||
|  |         <source>Show notifications when new documents are detected</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|  |           <context context-type="linenumber">109</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="f2361d3f65b6c77ef0a15fad8af8e858b043ace3" datatype="html"> | ||||||
|  |         <source>Show notifications when document consumption completes successfully</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|  |           <context context-type="linenumber">110</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="2bcbcbe99e207803e21183580b98d90410dd8718" datatype="html"> | ||||||
|  |         <source>Show notifications when document consumption fails</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|  |           <context context-type="linenumber">111</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="af113f7c9f7e13145c3461f61a1aedf12d57bd71" datatype="html"> | ||||||
|  |         <source>Suppress notifications on dashboard</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|  |           <context context-type="linenumber">112</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|  |       <trans-unit id="59fe5c9233a2aaab3079a2300e4dfa439ddb1890" datatype="html"> | ||||||
|  |         <source>This will suppress all consumer related status messages on the dashboard.</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|  |           <context context-type="linenumber">112</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|       <trans-unit id="3863a86cd9e69a61d143d3daf51df44203df4a82" datatype="html"> |       <trans-unit id="3863a86cd9e69a61d143d3daf51df44203df4a82" datatype="html"> | ||||||
|         <source>Bulk editing</source> |         <source>Bulk editing</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">102</context> |           <context context-type="linenumber">116</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586" datatype="html"> |       <trans-unit id="c0ac61661c6c326d6e0e00c231b95cf2ac0c6586" datatype="html"> | ||||||
|         <source>Show confirmation dialogs</source> |         <source>Show confirmation dialogs</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">106</context> |           <context context-type="linenumber">120</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a" datatype="html"> |       <trans-unit id="291bbe56ecbe945dcf05580a57d679fa7bd1e06a" datatype="html"> | ||||||
|         <source>Deleting documents will always ask for confirmation.</source> |         <source>Deleting documents will always ask for confirmation.</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">106</context> |           <context context-type="linenumber">120</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="8cfddc13e04f5545ac63f419ef363505d6f78c2e" datatype="html"> |       <trans-unit id="8cfddc13e04f5545ac63f419ef363505d6f78c2e" datatype="html"> | ||||||
|         <source>Apply on close</source> |         <source>Apply on close</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">107</context> |           <context context-type="linenumber">121</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="8cb90334f5dfd7fc67205085f59381e2a334ccfc" datatype="html"> |       <trans-unit id="8cb90334f5dfd7fc67205085f59381e2a334ccfc" datatype="html"> | ||||||
|         <source>Appears on</source> |         <source>Appears on</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">126</context> |           <context context-type="linenumber">140</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5" datatype="html"> |       <trans-unit id="6717cf1acf04728fc2b7c39f6d3297f8ff15fde5" datatype="html"> | ||||||
|         <source>Show on dashboard</source> |         <source>Show on dashboard</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">129</context> |           <context context-type="linenumber">143</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="541bfc5b123b3f8867fd681eaceefb663a811973" datatype="html"> |       <trans-unit id="541bfc5b123b3f8867fd681eaceefb663a811973" datatype="html"> | ||||||
|         <source>Show in sidebar</source> |         <source>Show in sidebar</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">133</context> |           <context context-type="linenumber">147</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="abba764a7a595d04dc8c3b26e04b3780d4fdb540" datatype="html"> |       <trans-unit id="abba764a7a595d04dc8c3b26e04b3780d4fdb540" datatype="html"> | ||||||
|         <source>No saved views defined.</source> |         <source>No saved views defined.</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> |           <context context-type="sourcefile">src/app/components/manage/settings/settings.component.html</context> | ||||||
|           <context context-type="linenumber">143</context> |           <context context-type="linenumber">157</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="ef60a738a565f498b858e903e42bc5ffc3cc1299" datatype="html"> |       <trans-unit id="ef60a738a565f498b858e903e42bc5ffc3cc1299" datatype="html"> | ||||||
| @@ -1323,25 +1414,25 @@ | |||||||
|           <context context-type="linenumber">4</context> |           <context context-type="linenumber">4</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="8705589528094706681" datatype="html"> |       <trans-unit id="3852289441366561594" datatype="html"> | ||||||
|         <source>The document has been uploaded and will be processed by the consumer shortly.</source> |         <source>Connecting...</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.ts</context> |           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.ts</context> | ||||||
|           <context context-type="linenumber">63</context> |           <context context-type="linenumber">90</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="4956689020592747108" datatype="html"> |       <trans-unit id="1245343823699368872" datatype="html"> | ||||||
|         <source>There was an error while uploading the document: <x id="PH" equiv-text="error.error.document"/></source> |         <source>Uploading...</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.ts</context> |           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.ts</context> | ||||||
|           <context context-type="linenumber">71</context> |           <context context-type="linenumber">95</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="7554858521017940575" datatype="html"> |       <trans-unit id="3994065460580948013" datatype="html"> | ||||||
|         <source>An error has occurred while uploading the document. Sorry!</source> |         <source>Waiting for consumer...</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.ts</context> |           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.ts</context> | ||||||
|           <context context-type="linenumber">75</context> |           <context context-type="linenumber">98</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="e022072b3e4dd77e3f09960817ef3359a49963b3" datatype="html"> |       <trans-unit id="e022072b3e4dd77e3f09960817ef3359a49963b3" datatype="html"> | ||||||
| @@ -1351,25 +1442,32 @@ | |||||||
|           <context context-type="linenumber">1</context> |           <context context-type="linenumber">1</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|  |       <trans-unit id="bd4a8607e4a002d939cffb347ec056664dfb2c73" datatype="html"> | ||||||
|  |         <source>Dismiss completed</source> | ||||||
|  |         <context-group purpose="location"> | ||||||
|  |           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context> | ||||||
|  |           <context context-type="linenumber">4</context> | ||||||
|  |         </context-group> | ||||||
|  |       </trans-unit> | ||||||
|       <trans-unit id="52d5d56b6667ba3f7c759cbc0d4c39d34a99701e" datatype="html"> |       <trans-unit id="52d5d56b6667ba3f7c759cbc0d4c39d34a99701e" datatype="html"> | ||||||
|         <source>Drop documents here or</source> |         <source>Drop documents here or</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context> |           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context> | ||||||
|           <context context-type="linenumber">5</context> |           <context context-type="linenumber">13</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="865c511f4a24558ed0e954f9bbbff557bbb8954d" datatype="html"> |       <trans-unit id="865c511f4a24558ed0e954f9bbbff557bbb8954d" datatype="html"> | ||||||
|         <source>Browse files</source> |         <source>Browse files</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context> |           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context> | ||||||
|           <context context-type="linenumber">5</context> |           <context context-type="linenumber">13</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="33c76d75ce25ce3b05ab22877f1b6b09dcf603ae" datatype="html"> |       <trans-unit id="710254a196a2649674438edf8a15b7ab1f48271b" datatype="html"> | ||||||
|         <source>{VAR_PLURAL, plural, =1 {Uploading file...} =other {Uploading <x id="INTERPOLATION"/> files...}}</source> |         <source>Open document</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context> |           <context context-type="sourcefile">src/app/components/dashboard/widgets/upload-file-widget/upload-file-widget.component.html</context> | ||||||
|           <context context-type="linenumber">13</context> |           <context context-type="linenumber">40</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="45854ddec74086b271e62be6a363f4fa5036f7fc" datatype="html"> |       <trans-unit id="45854ddec74086b271e62be6a363f4fa5036f7fc" datatype="html"> | ||||||
| @@ -1467,42 +1565,42 @@ | |||||||
|         <source>English (US)</source> |         <source>English (US)</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/services/settings.service.ts</context> |           <context context-type="sourcefile">src/app/services/settings.service.ts</context> | ||||||
|           <context context-type="linenumber">74</context> |           <context context-type="linenumber">82</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="1858110241312746425" datatype="html"> |       <trans-unit id="1858110241312746425" datatype="html"> | ||||||
|         <source>German</source> |         <source>German</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/services/settings.service.ts</context> |           <context context-type="sourcefile">src/app/services/settings.service.ts</context> | ||||||
|           <context context-type="linenumber">75</context> |           <context context-type="linenumber">83</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="3071065188816255493" datatype="html"> |       <trans-unit id="3071065188816255493" datatype="html"> | ||||||
|         <source>Dutch</source> |         <source>Dutch</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/services/settings.service.ts</context> |           <context context-type="sourcefile">src/app/services/settings.service.ts</context> | ||||||
|           <context context-type="linenumber">76</context> |           <context context-type="linenumber">84</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="7633754075223722162" datatype="html"> |       <trans-unit id="7633754075223722162" datatype="html"> | ||||||
|         <source>French</source> |         <source>French</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/services/settings.service.ts</context> |           <context context-type="sourcefile">src/app/services/settings.service.ts</context> | ||||||
|           <context context-type="linenumber">77</context> |           <context context-type="linenumber">85</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="1519954996184640001" datatype="html"> |       <trans-unit id="1519954996184640001" datatype="html"> | ||||||
|         <source>Error</source> |         <source>Error</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/services/toast.service.ts</context> |           <context context-type="sourcefile">src/app/services/toast.service.ts</context> | ||||||
|           <context context-type="linenumber">31</context> |           <context context-type="linenumber">35</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="5037437391296624618" datatype="html"> |       <trans-unit id="5037437391296624618" datatype="html"> | ||||||
|         <source>Information</source> |         <source>Information</source> | ||||||
|         <context-group purpose="location"> |         <context-group purpose="location"> | ||||||
|           <context context-type="sourcefile">src/app/services/toast.service.ts</context> |           <context context-type="sourcefile">src/app/services/toast.service.ts</context> | ||||||
|           <context context-type="linenumber">35</context> |           <context context-type="linenumber">39</context> | ||||||
|         </context-group> |         </context-group> | ||||||
|       </trans-unit> |       </trans-unit> | ||||||
|       <trans-unit id="7517688192215738656" datatype="html"> |       <trans-unit id="7517688192215738656" datatype="html"> | ||||||
|   | |||||||
| @@ -1,9 +1,9 @@ | |||||||
| import { SettingsService } from './services/settings.service'; | import { SettingsService, SETTINGS_KEYS } from './services/settings.service'; | ||||||
| import { Component, OnDestroy, OnInit } from '@angular/core'; | import { Component, OnDestroy, OnInit } from '@angular/core'; | ||||||
| import { Router } from '@angular/router'; | import { Router } from '@angular/router'; | ||||||
| import { Subscription } from 'rxjs'; | import { Subscription } from 'rxjs'; | ||||||
| import { ConsumerStatusService } from './services/consumer-status.service'; | import { ConsumerStatusService } from './services/consumer-status.service'; | ||||||
| import { Toast, ToastService } from './services/toast.service'; | import { ToastService } from './services/toast.service'; | ||||||
|  |  | ||||||
| @Component({ | @Component({ | ||||||
|   selector: 'app-root', |   selector: 'app-root', | ||||||
| @@ -12,6 +12,7 @@ import { Toast, ToastService } from './services/toast.service'; | |||||||
| }) | }) | ||||||
| export class AppComponent implements OnInit, OnDestroy { | export class AppComponent implements OnInit, OnDestroy { | ||||||
|  |  | ||||||
|  |   newDocumentSubscription: Subscription; | ||||||
|   successSubscription: Subscription; |   successSubscription: Subscription; | ||||||
|   failedSubscription: Subscription; |   failedSubscription: Subscription; | ||||||
|  |  | ||||||
| @@ -23,23 +24,47 @@ export class AppComponent implements OnInit, OnDestroy { | |||||||
|  |  | ||||||
|   ngOnDestroy(): void { |   ngOnDestroy(): void { | ||||||
|     this.consumerStatusService.disconnect() |     this.consumerStatusService.disconnect() | ||||||
|     this.successSubscription.unsubscribe() |     if (this.successSubscription) { | ||||||
|     this.failedSubscription.unsubscribe() |       this.successSubscription.unsubscribe() | ||||||
|  |     } | ||||||
|  |     if (this.failedSubscription) { | ||||||
|  |       this.failedSubscription.unsubscribe() | ||||||
|  |     } | ||||||
|  |     if (this.newDocumentSubscription) { | ||||||
|  |       this.newDocumentSubscription.unsubscribe() | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private showNotification(key) { | ||||||
|  |     if (this.router.url == '/dashboard' && this.settings.get(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUPPRESS_ON_DASHBOARD)) { | ||||||
|  |       return false | ||||||
|  |     } | ||||||
|  |     return this.settings.get(key) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   ngOnInit(): void { |   ngOnInit(): void { | ||||||
|     this.consumerStatusService.connect() |     this.consumerStatusService.connect() | ||||||
|  |  | ||||||
|  |      | ||||||
|     this.successSubscription = this.consumerStatusService.onDocumentConsumptionFinished().subscribe(status => { |     this.successSubscription = this.consumerStatusService.onDocumentConsumptionFinished().subscribe(status => { | ||||||
|       this.toastService.show({title: "Document added", delay: 10000, content: `Document ${status.filename} was added to paperless.`, actionName: "Open document", action: () => { |       if (this.showNotification(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUCCESS)) { | ||||||
|         this.router.navigate(['documents', status.documentId]) |         this.toastService.show({title: $localize`Document added`, delay: 10000, content: $localize`Document ${status.filename} was added to paperless.`, actionName: $localize`Open document`, action: () => { | ||||||
|       }}) |           this.router.navigate(['documents', status.documentId]) | ||||||
|  |         }}) | ||||||
|  |       } | ||||||
|     }) |     }) | ||||||
|  |  | ||||||
|     this.failedSubscription = this.consumerStatusService.onDocumentConsumptionFailed().subscribe(status => { |     this.failedSubscription = this.consumerStatusService.onDocumentConsumptionFailed().subscribe(status => { | ||||||
|       this.toastService.showError(`Could not consume ${status.filename}: ${status.message}`) |       if (this.showNotification(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_FAILED)) { | ||||||
|  |         this.toastService.showError($localize`Could not add ${status.filename}\: ${status.message}`) | ||||||
|  |       } | ||||||
|     }) |     }) | ||||||
|  |  | ||||||
|  |     this.newDocumentSubscription = this.consumerStatusService.onDocumentDetected().subscribe(status => { | ||||||
|  |       if (this.showNotification(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT)) { | ||||||
|  |         this.toastService.show({title: $localize`New document detected`, delay: 5000, content: $localize`Document ${status.filename} is being processed by paperless.`}) | ||||||
|  |       } | ||||||
|  |     }) | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| <app-widget-frame title="Upload new documents" i18n-title [class.has-multiple-status]="(getStatus().length + getStatusesHidden().length)> 1"> | <app-widget-frame title="Upload new documents" i18n-title [class.has-multiple-status]="(getStatus().length + getStatusesHidden().length)> 1"> | ||||||
|   <div header-buttons> |   <div header-buttons> | ||||||
|     <button type="button" class="btn btn-link dismiss-all" [disabled]="!getStatus().length" (click)="dismissAll()"> |     <button type="button" class="btn btn-link dismiss-all" [disabled]="!getStatus().length" (click)="dismissAll()"> | ||||||
|       <small class="mr-1">Hide all</small> |       <small class="mr-1" i18n>Dismiss completed</small> | ||||||
|       <svg xmlns="http://www.w3.org/2000/svg" width="1rem" height="1rem" fill="currentColor" class="bi bi-check2-all" viewBox="0 0 16 16"> |       <svg xmlns="http://www.w3.org/2000/svg" width="1rem" height="1rem" fill="currentColor" class="bi bi-check2-all" viewBox="0 0 16 16"> | ||||||
|         <path d="M12.354 4.354a.5.5 0 0 0-.708-.708L5 10.293 1.854 7.146a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l7-7zm-4.208 7l-.896-.897.707-.707.543.543 6.646-6.647a.5.5 0 0 1 .708.708l-7 7a.5.5 0 0 1-.708 0z"/> |         <path d="M12.354 4.354a.5.5 0 0 0-.708-.708L5 10.293 1.854 7.146a.5.5 0 1 0-.708.708l3.5 3.5a.5.5 0 0 0 .708 0l7-7zm-4.208 7l-.896-.897.707-.707.543.543 6.646-6.647a.5.5 0 0 1 .708.708l-7 7a.5.5 0 0 1-.708 0z"/> | ||||||
|         <path d="M5.354 7.146l.896.897-.707.707-.897-.896a.5.5 0 1 1 .708-.708z"/> |         <path d="M5.354 7.146l.896.897-.707.707-.897-.896a.5.5 0 1 1 .708-.708z"/> | ||||||
| @@ -37,7 +37,7 @@ | |||||||
|     <ngb-progressbar [value]="status.getProgress()" [max]="1" [type]="getStatusColor(status)"></ngb-progressbar> |     <ngb-progressbar [value]="status.getProgress()" [max]="1" [type]="getStatusColor(status)"></ngb-progressbar> | ||||||
|     <div *ngIf="isFinished(status)"> |     <div *ngIf="isFinished(status)"> | ||||||
|       <button *ngIf="status.documentId" class="btn btn-sm btn-outline-primary btn-open" routerLink="/documents/{{status.documentId}}" (click)="dismiss(status)"> |       <button *ngIf="status.documentId" class="btn btn-sm btn-outline-primary btn-open" routerLink="/documents/{{status.documentId}}" (click)="dismiss(status)"> | ||||||
|         <small>Open document</small> |         <small i18n>Open document</small> | ||||||
|         <svg xmlns="http://www.w3.org/2000/svg" width="1rem" height="1rem" fill="currentColor" class="bi bi-arrow-right-short" viewBox="0 0 16 16"> |         <svg xmlns="http://www.w3.org/2000/svg" width="1rem" height="1rem" fill="currentColor" class="bi bi-arrow-right-short" viewBox="0 0 16 16"> | ||||||
|           <path fill-rule="evenodd" d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z"/> |           <path fill-rule="evenodd" d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z"/> | ||||||
|         </svg> |         </svg> | ||||||
|   | |||||||
| @@ -99,6 +99,20 @@ | |||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|  |         <h4 class="mt-4" i18n>Notifications</h4> | ||||||
|  |  | ||||||
|  |         <div class="form-row form-group"> | ||||||
|  |           <div class="col-md-3 col-form-label"> | ||||||
|  |             <span i18n>Consumer status</span> | ||||||
|  |           </div> | ||||||
|  |           <div class="col"> | ||||||
|  |             <app-input-check i18n-title title="Show notifications when new documents are detected" formControlName="notificationsConsumerNewDocument"></app-input-check> | ||||||
|  |             <app-input-check i18n-title title="Show notifications when document consumption completes successfully" formControlName="notificationsConsumerSuccess"></app-input-check> | ||||||
|  |             <app-input-check i18n-title title="Show notifications when document consumption fails" formControlName="notificationsConsumerFailed"></app-input-check> | ||||||
|  |             <app-input-check i18n-title title="Suppress notifications on dashboard" formControlName="notificationsConsumerSuppressOnDashboard" i18n-hint hint="This will suppress all consumer related status messages on the dashboard."></app-input-check> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |  | ||||||
|         <h4 class="mt-4" i18n>Bulk editing</h4> |         <h4 class="mt-4" i18n>Bulk editing</h4> | ||||||
|  |  | ||||||
|         <div class="form-row form-group"> |         <div class="form-row form-group"> | ||||||
|   | |||||||
| @@ -26,6 +26,10 @@ export class SettingsComponent implements OnInit { | |||||||
|     'displayLanguage': new FormControl(this.settings.getLanguage()), |     'displayLanguage': new FormControl(this.settings.getLanguage()), | ||||||
|     'dateLocale': new FormControl(this.settings.get(SETTINGS_KEYS.DATE_LOCALE)), |     'dateLocale': new FormControl(this.settings.get(SETTINGS_KEYS.DATE_LOCALE)), | ||||||
|     'dateFormat': new FormControl(this.settings.get(SETTINGS_KEYS.DATE_FORMAT)), |     'dateFormat': new FormControl(this.settings.get(SETTINGS_KEYS.DATE_FORMAT)), | ||||||
|  |     'notificationsConsumerNewDocument': new FormControl(this.settings.get(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT)), | ||||||
|  |     'notificationsConsumerSuccess': new FormControl(this.settings.get(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUCCESS)), | ||||||
|  |     'notificationsConsumerFailed': new FormControl(this.settings.get(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_FAILED)), | ||||||
|  |     'notificationsConsumerSuppressOnDashboard': new FormControl(this.settings.get(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUPPRESS_ON_DASHBOARD)), | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
|   savedViews: PaperlessSavedView[] |   savedViews: PaperlessSavedView[] | ||||||
| @@ -73,6 +77,10 @@ export class SettingsComponent implements OnInit { | |||||||
|     this.settings.set(SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, this.settingsForm.value.useNativePdfViewer) |     this.settings.set(SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, this.settingsForm.value.useNativePdfViewer) | ||||||
|     this.settings.set(SETTINGS_KEYS.DATE_LOCALE, this.settingsForm.value.dateLocale) |     this.settings.set(SETTINGS_KEYS.DATE_LOCALE, this.settingsForm.value.dateLocale) | ||||||
|     this.settings.set(SETTINGS_KEYS.DATE_FORMAT, this.settingsForm.value.dateFormat) |     this.settings.set(SETTINGS_KEYS.DATE_FORMAT, this.settingsForm.value.dateFormat) | ||||||
|  |     this.settings.set(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT, this.settingsForm.value.notificationsConsumerNewDocument) | ||||||
|  |     this.settings.set(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUCCESS, this.settingsForm.value.notificationsConsumerSuccess) | ||||||
|  |     this.settings.set(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_FAILED, this.settingsForm.value.notificationsConsumerFailed) | ||||||
|  |     this.settings.set(SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUPPRESS_ON_DASHBOARD, this.settingsForm.value.notificationsConsumerSuppressOnDashboard) | ||||||
|     this.settings.setLanguage(this.settingsForm.value.displayLanguage) |     this.settings.setLanguage(this.settingsForm.value.displayLanguage) | ||||||
|     this.documentListViewService.updatePageSize() |     this.documentListViewService.updatePageSize() | ||||||
|     this.settings.updateDarkModeSettings() |     this.settings.updateDarkModeSettings() | ||||||
|   | |||||||
| @@ -65,19 +65,21 @@ export class ConsumerStatusService { | |||||||
|  |  | ||||||
|   private consumerStatus: FileStatus[] = [] |   private consumerStatus: FileStatus[] = [] | ||||||
|  |  | ||||||
|  |   private documentDetectedSubject = new Subject<FileStatus>() | ||||||
|   private documentConsumptionFinishedSubject = new Subject<FileStatus>() |   private documentConsumptionFinishedSubject = new Subject<FileStatus>() | ||||||
|   private documentConsumptionFailedSubject = new Subject<FileStatus>() |   private documentConsumptionFailedSubject = new Subject<FileStatus>() | ||||||
|  |  | ||||||
|   private get(taskId: string, filename?: string) { |   private get(taskId: string, filename?: string) { | ||||||
|     let status = this.consumerStatus.find(e => e.taskId == taskId) || this.consumerStatus.find(e => e.filename == filename && e.taskId == null) |     let status = this.consumerStatus.find(e => e.taskId == taskId) || this.consumerStatus.find(e => e.filename == filename && e.taskId == null) | ||||||
|  |     let created = false | ||||||
|     if (!status) { |     if (!status) { | ||||||
|       status = new FileStatus() |       status = new FileStatus() | ||||||
|       this.consumerStatus.push(status) |       this.consumerStatus.push(status) | ||||||
|  |       created = true | ||||||
|     } |     } | ||||||
|     status.taskId = taskId |     status.taskId = taskId | ||||||
|     status.filename = filename |     status.filename = filename | ||||||
|     return status |     return {'status': status, 'created': created} | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   newFileUpload(filename: string): FileStatus { |   newFileUpload(filename: string): FileStatus { | ||||||
| @@ -101,11 +103,17 @@ export class ConsumerStatusService { | |||||||
|     this.statusWebSocked.onmessage = (ev) => { |     this.statusWebSocked.onmessage = (ev) => { | ||||||
|       let statusMessage: WebsocketConsumerStatusMessage = JSON.parse(ev['data']) |       let statusMessage: WebsocketConsumerStatusMessage = JSON.parse(ev['data']) | ||||||
|  |  | ||||||
|       let status = this.get(statusMessage.task_id, statusMessage.filename) |       let statusMessageGet = this.get(statusMessage.task_id, statusMessage.filename) | ||||||
|  |       let status = statusMessageGet.status | ||||||
|  |       let created = statusMessageGet.created | ||||||
|  |  | ||||||
|       status.updateProgress(FileStatusPhase.PROCESSING, statusMessage.current_progress, statusMessage.max_progress) |       status.updateProgress(FileStatusPhase.PROCESSING, statusMessage.current_progress, statusMessage.max_progress) | ||||||
|       status.message = statusMessage.message |       status.message = statusMessage.message | ||||||
|       status.documentId = statusMessage.document_id |       status.documentId = statusMessage.document_id | ||||||
|  |  | ||||||
|  |       if (created && statusMessage.status == 'STARTING') { | ||||||
|  |         this.documentDetectedSubject.next(status) | ||||||
|  |       } | ||||||
|       if (statusMessage.status == "SUCCESS") { |       if (statusMessage.status == "SUCCESS") { | ||||||
|         status.phase = FileStatusPhase.SUCCESS |         status.phase = FileStatusPhase.SUCCESS | ||||||
|         this.documentConsumptionFinishedSubject.next(status) |         this.documentConsumptionFinishedSubject.next(status) | ||||||
| @@ -150,4 +158,8 @@ export class ConsumerStatusService { | |||||||
|     return this.documentConsumptionFailedSubject |     return this.documentConsumptionFailedSubject | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   onDocumentDetected() { | ||||||
|  |     return this.documentDetectedSubject | ||||||
|  |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -23,7 +23,11 @@ export const SETTINGS_KEYS = { | |||||||
|   DARK_MODE_ENABLED: 'general-settings:dark-mode:enabled', |   DARK_MODE_ENABLED: 'general-settings:dark-mode:enabled', | ||||||
|   USE_NATIVE_PDF_VIEWER: 'general-settings:document-details:native-pdf-viewer', |   USE_NATIVE_PDF_VIEWER: 'general-settings:document-details:native-pdf-viewer', | ||||||
|   DATE_LOCALE: 'general-settings:date-display:date-locale', |   DATE_LOCALE: 'general-settings:date-display:date-locale', | ||||||
|   DATE_FORMAT: 'general-settings:date-display:date-format' |   DATE_FORMAT: 'general-settings:date-display:date-format', | ||||||
|  |   NOTIFICATIONS_CONSUMER_NEW_DOCUMENT: 'general-settings:notifications:consumer-new-documents', | ||||||
|  |   NOTIFICATIONS_CONSUMER_SUCCESS: 'general-settings:notifications:consumer-success', | ||||||
|  |   NOTIFICATIONS_CONSUMER_FAILED: 'general-settings:notifications:consumer-failed', | ||||||
|  |   NOTIFICATIONS_CONSUMER_SUPPRESS_ON_DASHBOARD: 'general-settings:notifications:consumer-suppress-on-dashboard', | ||||||
| } | } | ||||||
|  |  | ||||||
| const SETTINGS: PaperlessSettings[] = [ | const SETTINGS: PaperlessSettings[] = [ | ||||||
| @@ -34,7 +38,11 @@ const SETTINGS: PaperlessSettings[] = [ | |||||||
|   {key: SETTINGS_KEYS.DARK_MODE_ENABLED, type: "boolean", default: false}, |   {key: SETTINGS_KEYS.DARK_MODE_ENABLED, type: "boolean", default: false}, | ||||||
|   {key: SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, type: "boolean", default: false}, |   {key: SETTINGS_KEYS.USE_NATIVE_PDF_VIEWER, type: "boolean", default: false}, | ||||||
|   {key: SETTINGS_KEYS.DATE_LOCALE, type: "string", default: ""}, |   {key: SETTINGS_KEYS.DATE_LOCALE, type: "string", default: ""}, | ||||||
|   {key: SETTINGS_KEYS.DATE_FORMAT, type: "string", default: "mediumDate"} |   {key: SETTINGS_KEYS.DATE_FORMAT, type: "string", default: "mediumDate"}, | ||||||
|  |   {key: SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_NEW_DOCUMENT, type: "boolean", default: true}, | ||||||
|  |   {key: SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUCCESS, type: "boolean", default: true}, | ||||||
|  |   {key: SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_FAILED, type: "boolean", default: true}, | ||||||
|  |   {key: SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUPPRESS_ON_DASHBOARD, type: "boolean", default: true}, | ||||||
| ] | ] | ||||||
|  |  | ||||||
| @Injectable({ | @Injectable({ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 jonaswinkler
					jonaswinkler