mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Merge branch 'dev' into feature-websockets-status
This commit is contained in:
		| @@ -22,4 +22,12 @@ | ||||
|     </div> | ||||
|   </div> | ||||
|   <small *ngIf="hint" class="form-text text-muted">{{hint}}</small> | ||||
|   <small *ngIf="getSuggestions().length > 0"> | ||||
|     <span i18n>Suggestions:</span>  | ||||
|     <ng-container *ngFor="let s of getSuggestions()"> | ||||
|       <a (click)="value = s.id; onChange(value)" [routerLink]="">{{s.name}}</a>  | ||||
|     </ng-container> | ||||
|      | ||||
|      | ||||
|   </small> | ||||
| </div> | ||||
|   | ||||
| @@ -30,11 +30,22 @@ export class SelectComponent extends AbstractInputComponent<number> { | ||||
|   @Input() | ||||
|   allowNull: boolean = false | ||||
|  | ||||
|   @Input() | ||||
|   suggestions: number[] | ||||
|  | ||||
|   @Output() | ||||
|   createNew = new EventEmitter() | ||||
|    | ||||
|  | ||||
|   showPlusButton(): boolean { | ||||
|     return this.createNew.observers.length > 0 | ||||
|   } | ||||
|  | ||||
|   getSuggestions() { | ||||
|     if (this.suggestions && this.items) { | ||||
|       return this.suggestions.filter(id => id != this.value).map(id => this.items.find(item => item.id == id)) | ||||
|     } else { | ||||
|       return [] | ||||
|     } | ||||
|   } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -2,30 +2,25 @@ | ||||
|   <label for="tags" i18n>Tags</label> | ||||
|  | ||||
|   <div class="input-group flex-nowrap"> | ||||
|     <ng-select name="tags" [items]="tags" bindLabel="name" bindValue="id" [(ngModel)]="displayValue" | ||||
|     <ng-select name="tags" [items]="tags" bindLabel="name" bindValue="id" [(ngModel)]="value" | ||||
|       [multiple]="true" | ||||
|       [closeOnSelect]="false" | ||||
|       [clearSearchOnAdd]="true" | ||||
|       [disabled]="disabled" | ||||
|       [hideSelected]="true" | ||||
|       (change)="ngSelectChange()"> | ||||
|       (change)="onChange(value)" | ||||
|       (blur)="onTouched()"> | ||||
|  | ||||
|       <ng-template ng-label-tmp let-item="item"> | ||||
|         <span class="tag-wrap tag-wrap-delete" (click)="removeTag(item.id)"> | ||||
|           <svg width="1.2em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> | ||||
|             <use xlink:href="assets/bootstrap-icons.svg#x"/> | ||||
|           </svg> | ||||
|           <app-tag style="background-color: none;" [tag]="getTag(item.id)"></app-tag> | ||||
|           <app-tag *ngIf="item.id && tags" style="background-color: none;" [tag]="getTag(item.id)"></app-tag> | ||||
|         </span> | ||||
|       </ng-template> | ||||
|       <ng-template ng-option-tmp let-item="item" let-index="index" let-search="searchTerm"> | ||||
|         <div class="tag-wrap"> | ||||
|           <div class="selected-icon d-inline-block mr-1"> | ||||
|             <svg *ngIf="displayValue.includes(item.id)" width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> | ||||
|               <use xlink:href="assets/bootstrap-icons.svg#check"/> | ||||
|             </svg> | ||||
|           </div> | ||||
|           <app-tag class="mr-2" [tag]="getTag(item.id)"></app-tag> | ||||
|           <app-tag *ngIf="item.id && tags" class="mr-2" [tag]="getTag(item.id)"></app-tag> | ||||
|         </div> | ||||
|       </ng-template> | ||||
|     </ng-select> | ||||
| @@ -39,5 +34,13 @@ | ||||
|     </div> | ||||
|   </div> | ||||
|   <small class="form-text text-muted" *ngIf="hint">{{hint}}</small> | ||||
|   <small *ngIf="getSuggestions().length > 0"> | ||||
|     <span i18n>Suggestions:</span>  | ||||
|     <ng-container *ngFor="let tag of getSuggestions()"> | ||||
|       <a (click)="addTag(tag.id)" [routerLink]="">{{tag.name}}</a>  | ||||
|     </ng-container> | ||||
|      | ||||
|      | ||||
|   </small> | ||||
|  | ||||
| </div> | ||||
|   | ||||
| @@ -26,9 +26,6 @@ export class TagsComponent implements OnInit, ControlValueAccessor { | ||||
|  | ||||
|   writeValue(newValue: number[]): void { | ||||
|     this.value = newValue | ||||
|     if (this.tags) { | ||||
|       this.displayValue = newValue | ||||
|     } | ||||
|   } | ||||
|   registerOnChange(fn: any): void { | ||||
|     this.onChange = fn; | ||||
| @@ -43,7 +40,6 @@ export class TagsComponent implements OnInit, ControlValueAccessor { | ||||
|   ngOnInit(): void { | ||||
|     this.tagService.listAll().subscribe(result => { | ||||
|       this.tags = result.results | ||||
|       this.displayValue = this.value | ||||
|     }) | ||||
|   } | ||||
|  | ||||
| @@ -53,23 +49,28 @@ export class TagsComponent implements OnInit, ControlValueAccessor { | ||||
|   @Input() | ||||
|   hint | ||||
|  | ||||
|   value: number[] | ||||
|   @Input() | ||||
|   suggestions: number[] | ||||
|  | ||||
|   displayValue: number[] = [] | ||||
|   value: number[] | ||||
|  | ||||
|   tags: PaperlessTag[] | ||||
|  | ||||
|   getTag(id) { | ||||
|     return this.tags.find(tag => tag.id == id) | ||||
|     if (this.tags) { | ||||
|       return this.tags.find(tag => tag.id == id) | ||||
|     } else { | ||||
|       return null | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   removeTag(id) { | ||||
|     let index = this.displayValue.indexOf(id) | ||||
|     let index = this.value.indexOf(id) | ||||
|     if (index > -1) { | ||||
|       let oldValue = this.displayValue | ||||
|       let oldValue = this.value | ||||
|       oldValue.splice(index, 1) | ||||
|       this.displayValue = [...oldValue] | ||||
|       this.onChange(this.displayValue) | ||||
|       this.value = [...oldValue] | ||||
|       this.onChange(this.value) | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @@ -79,15 +80,23 @@ export class TagsComponent implements OnInit, ControlValueAccessor { | ||||
|     modal.componentInstance.success.subscribe(newTag => { | ||||
|       this.tagService.listAll().subscribe(tags => { | ||||
|         this.tags = tags.results | ||||
|         this.displayValue = [...this.displayValue, newTag.id] | ||||
|         this.onChange(this.displayValue) | ||||
|         this.value = [...this.value, newTag.id] | ||||
|         this.onChange(this.value) | ||||
|       }) | ||||
|     }) | ||||
|   } | ||||
|  | ||||
|   ngSelectChange() { | ||||
|     this.value = this.displayValue | ||||
|     this.onChange(this.displayValue) | ||||
|   getSuggestions() { | ||||
|     if (this.suggestions && this.tags) { | ||||
|       return this.suggestions.filter(id => !this.value.includes(id)).map(id => this.tags.find(tag => tag.id == id)) | ||||
|     } else { | ||||
|       return [] | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   addTag(id) { | ||||
|     this.value = [...this.value, id] | ||||
|     this.onChange(this.value) | ||||
|   } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -60,10 +60,10 @@ | ||||
|                         <app-input-number i18n-title title="Archive serial number" [error]="error?.archive_serial_number" formControlName='archive_serial_number'></app-input-number> | ||||
|                         <app-input-date-time i18n-titleDate titleDate="Date created" formControlName="created"></app-input-date-time> | ||||
|                         <app-input-select [items]="correspondents" i18n-title title="Correspondent" formControlName="correspondent" [allowNull]="true" | ||||
|                             (createNew)="createCorrespondent()"></app-input-select> | ||||
|                             (createNew)="createCorrespondent()" [suggestions]="suggestions?.correspondents"></app-input-select> | ||||
|                         <app-input-select [items]="documentTypes" i18n-title title="Document type" formControlName="document_type" [allowNull]="true" | ||||
|                             (createNew)="createDocumentType()"></app-input-select> | ||||
|                         <app-input-tags formControlName="tags"></app-input-tags> | ||||
|                             (createNew)="createDocumentType()" [suggestions]="suggestions?.document_types"></app-input-select> | ||||
|                         <app-input-tags formControlName="tags" [suggestions]="suggestions?.tags"></app-input-tags> | ||||
|  | ||||
|                     </ng-template> | ||||
|                 </li> | ||||
| @@ -145,6 +145,6 @@ | ||||
|         <ng-container *ngIf="getContentType() == 'text/plain'"> | ||||
|             <object [data]="previewUrl | safe" type="text/plain" class="preview-sticky" width="100%"></object> | ||||
|         </ng-container> | ||||
|            | ||||
|  | ||||
|     </div> | ||||
| </div> | ||||
|   | ||||
| @@ -19,6 +19,7 @@ import { PDFDocumentProxy } from 'ng2-pdf-viewer'; | ||||
| import { ToastService } from 'src/app/services/toast.service'; | ||||
| import { TextComponent } from '../common/input/text/text.component'; | ||||
| import { SettingsService, SETTINGS_KEYS } from 'src/app/services/settings.service'; | ||||
| import { PaperlessDocumentSuggestions } from 'src/app/data/paperless-document-suggestions'; | ||||
|  | ||||
| @Component({ | ||||
|   selector: 'app-document-detail', | ||||
| @@ -40,6 +41,8 @@ export class DocumentDetailComponent implements OnInit { | ||||
|   documentId: number | ||||
|   document: PaperlessDocument | ||||
|   metadata: PaperlessDocumentMetadata | ||||
|   suggestions: PaperlessDocumentSuggestions | ||||
|  | ||||
|   title: string | ||||
|   previewUrl: string | ||||
|   downloadUrl: string | ||||
| @@ -95,6 +98,7 @@ export class DocumentDetailComponent implements OnInit { | ||||
|       this.previewUrl = this.documentsService.getPreviewUrl(this.documentId) | ||||
|       this.downloadUrl = this.documentsService.getDownloadUrl(this.documentId) | ||||
|       this.downloadOriginalUrl = this.documentsService.getDownloadUrl(this.documentId, true) | ||||
|       this.suggestions = null | ||||
|       if (this.openDocumentService.getOpenDocument(this.documentId)) { | ||||
|         this.updateComponent(this.openDocumentService.getOpenDocument(this.documentId)) | ||||
|       } else { | ||||
| @@ -112,6 +116,9 @@ export class DocumentDetailComponent implements OnInit { | ||||
|     this.documentsService.getMetadata(doc.id).subscribe(result => { | ||||
|       this.metadata = result | ||||
|     }) | ||||
|     this.documentsService.getSuggestions(doc.id).subscribe(result => { | ||||
|       this.suggestions = result | ||||
|     }) | ||||
|     this.title = this.documentTitlePipe.transform(doc.title) | ||||
|     this.documentForm.patchValue(doc) | ||||
|   } | ||||
|   | ||||
| @@ -109,7 +109,7 @@ export class BulkEditorComponent { | ||||
|     if (items.length == 0) { | ||||
|       return "" | ||||
|     } else if (items.length == 1) { | ||||
|       return items[0].name | ||||
|       return $localize`"${items[0].name}"` | ||||
|     } else if (items.length == 2) { | ||||
|       return $localize`:This is for messages like 'modify "tag1" and "tag2"':"${items[0].name}" and "${items[1].name}"` | ||||
|     } else { | ||||
|   | ||||
							
								
								
									
										9
									
								
								src-ui/src/app/data/paperless-document-suggestions.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src-ui/src/app/data/paperless-document-suggestions.ts
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| export interface PaperlessDocumentSuggestions { | ||||
|  | ||||
|   tags?: number[] | ||||
|  | ||||
|   correspondents?: number[] | ||||
|  | ||||
|   document_types?: number[] | ||||
|  | ||||
| } | ||||
| @@ -11,6 +11,7 @@ import { CorrespondentService } from './correspondent.service'; | ||||
| import { DocumentTypeService } from './document-type.service'; | ||||
| import { TagService } from './tag.service'; | ||||
| import { FILTER_RULE_TYPES } from 'src/app/data/filter-rule-type'; | ||||
| import { PaperlessDocumentSuggestions } from 'src/app/data/paperless-document-suggestions'; | ||||
|  | ||||
| export const DOCUMENT_SORT_FIELDS = [ | ||||
|   { field: 'archive_serial_number', name: $localize`ASN` }, | ||||
| @@ -129,4 +130,8 @@ export class DocumentService extends AbstractPaperlessService<PaperlessDocument> | ||||
|     return this.http.post<SelectionData>(this.getResourceUrl(null, 'selection_data'), {"documents": ids}) | ||||
|   } | ||||
|  | ||||
|   getSuggestions(id: number): Observable<PaperlessDocumentSuggestions> { | ||||
|     return this.http.get<PaperlessDocumentSuggestions>(this.getResourceUrl(id, 'suggestions')) | ||||
|   } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -147,7 +147,7 @@ | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="1b051734b0ee9021991c91b3ed4e81c244322462"> | ||||
|         <source>Created</source> | ||||
|         <target>Erstellt</target> | ||||
|         <target>Ausgestellt</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-list/document-list.component.html</context> | ||||
|           <context context-type="linenumber">129</context> | ||||
| @@ -166,7 +166,7 @@ | ||||
|         <target>Löschen bestätigen</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">192</context> | ||||
|           <context context-type="linenumber">199</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="5382975254277698192"> | ||||
| @@ -174,7 +174,7 @@ | ||||
|         <target>Möchten Sie das Dokument "<x equiv-text="this.document.title" id="PH"/>" wirklich löschen?</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">193</context> | ||||
|           <context context-type="linenumber">200</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="6691075929777935948"> | ||||
| @@ -182,7 +182,7 @@ | ||||
|         <target>Die Dateien dieses Dokuments werden permanent gelöscht. Diese Aktion kann nicht rückgängig gemacht werden.</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">194</context> | ||||
|           <context context-type="linenumber">201</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="719892092227206532"> | ||||
| @@ -190,7 +190,7 @@ | ||||
|         <target>Dokument löschen</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">196</context> | ||||
|           <context context-type="linenumber">203</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="1844801255494293730"> | ||||
| @@ -198,7 +198,7 @@ | ||||
|         <target>Fehler beim Löschen des Dokuments: <x equiv-text="JSON.stringify(error)" id="PH"/></target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">203</context> | ||||
|           <context context-type="linenumber">210</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="826b25211922a1b46436589233cb6f1a163d89b7"> | ||||
| @@ -307,7 +307,7 @@ | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="30eebc2dd656dbcb259d8d5286d244ee397d63bd"> | ||||
|         <source>Date created</source> | ||||
|         <target>Erstellt am</target> | ||||
|         <target>Ausgestellt am</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.html</context> | ||||
|           <context context-type="linenumber">61</context> | ||||
| @@ -1283,6 +1283,14 @@ | ||||
|           <context context-type="linenumber">73</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="7894972847287473517"> | ||||
|         <source>"<x equiv-text="items[0].name" id="PH"/>"</source> | ||||
|         <target>"<x equiv-text="items[0].name" id="PH"/>"</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context> | ||||
|           <context context-type="linenumber">112</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="8639884465898458690"> | ||||
|         <source>"<x equiv-text="items[0].name" id="PH"/>" and "<x equiv-text="items[1].name" id="PH_1"/>"</source> | ||||
|         <target>"<x equiv-text="items[0].name" id="PH"/>" und "<x equiv-text="items[1].name" id="PH_1"/>"</target> | ||||
| @@ -1292,14 +1300,6 @@ | ||||
|         </context-group> | ||||
|         <note from="description" priority="1">This is for messages like 'modify "tag1" and "tag2"'</note> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="7894972847287473517"> | ||||
|         <source>"<x equiv-text="i.name" id="PH"/>"</source> | ||||
|         <target>"<x equiv-text="i.name" id="PH"/>"</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context> | ||||
|           <context context-type="linenumber">116</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="760986369763309193"> | ||||
|         <source>, </source> | ||||
|         <target>, </target> | ||||
| @@ -1470,6 +1470,14 @@ | ||||
|           <context context-type="linenumber">27</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e"> | ||||
|         <source>Suggestions:</source> | ||||
|         <target>Vorschläge:</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/common/input/select/select.component.html</context> | ||||
|           <context context-type="linenumber">26</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="27d158b47717ff9305d19866960418c603f19d55"> | ||||
|         <source>Save current view</source> | ||||
|         <target>Aktuelle Ansicht speichern</target> | ||||
| @@ -1723,7 +1731,7 @@ | ||||
|         <target>ASN</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">16</context> | ||||
|           <context context-type="linenumber">17</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="2691296884221415710"> | ||||
| @@ -1731,7 +1739,7 @@ | ||||
|         <target>Korrespondent</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">17</context> | ||||
|           <context context-type="linenumber">18</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="5701618810648052610"> | ||||
| @@ -1739,7 +1747,7 @@ | ||||
|         <target>Titel</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">18</context> | ||||
|           <context context-type="linenumber">19</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="5066119607229701477"> | ||||
| @@ -1747,15 +1755,15 @@ | ||||
|         <target>Dokumenttyp</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">19</context> | ||||
|           <context context-type="linenumber">20</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="4207916966377787111"> | ||||
|         <source>Created</source> | ||||
|         <target>Erstellt am</target> | ||||
|         <target>Ausgestellt am</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">20</context> | ||||
|           <context context-type="linenumber">21</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="231679111972850796"> | ||||
| @@ -1763,7 +1771,7 @@ | ||||
|         <target>Hinzugefügt am</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">21</context> | ||||
|           <context context-type="linenumber">22</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="3553216189604488439"> | ||||
| @@ -1771,7 +1779,7 @@ | ||||
|         <target>Geändert am</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">22</context> | ||||
|           <context context-type="linenumber">23</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="2056433880533904076"> | ||||
|   | ||||
| @@ -166,7 +166,7 @@ | ||||
|         <target>Confirmer la suppression</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">192</context> | ||||
|           <context context-type="linenumber">199</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="5382975254277698192"> | ||||
| @@ -174,7 +174,7 @@ | ||||
|         <target>Voulez-vous vraiment supprimer le document "<x equiv-text="this.document.title" id="PH"/>" ?</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">193</context> | ||||
|           <context context-type="linenumber">200</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="6691075929777935948"> | ||||
| @@ -182,7 +182,7 @@ | ||||
|         <target>Les fichiers liés à ce document seront supprimés définitivement. Cette action est irréversible.</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">194</context> | ||||
|           <context context-type="linenumber">201</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="719892092227206532"> | ||||
| @@ -190,7 +190,7 @@ | ||||
|         <target>Supprimer le document</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">196</context> | ||||
|           <context context-type="linenumber">203</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="1844801255494293730"> | ||||
| @@ -198,7 +198,7 @@ | ||||
|         <target>Une erreur s'est produite lors de la suppression du document : <x equiv-text="JSON.stringify(error)" id="PH"/></target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-detail/document-detail.component.ts</context> | ||||
|           <context context-type="linenumber">203</context> | ||||
|           <context context-type="linenumber">210</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="826b25211922a1b46436589233cb6f1a163d89b7"> | ||||
| @@ -1283,6 +1283,14 @@ | ||||
|           <context context-type="linenumber">73</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="7894972847287473517"> | ||||
|         <source>"<x equiv-text="items[0].name" id="PH"/>"</source> | ||||
|         <target>"<x equiv-text="items[0].name" id="PH"/>"</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context> | ||||
|           <context context-type="linenumber">112</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="8639884465898458690"> | ||||
|         <source>"<x equiv-text="items[0].name" id="PH"/>" and "<x equiv-text="items[1].name" id="PH_1"/>"</source> | ||||
|         <target>"<x equiv-text="items[0].name" id="PH"/>" et "<x equiv-text="items[1].name" id="PH_1"/>"</target> | ||||
| @@ -1292,14 +1300,6 @@ | ||||
|         </context-group> | ||||
|         <note from="description" priority="1">This is for messages like 'modify "tag1" and "tag2"'</note> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="7894972847287473517"> | ||||
|         <source>"<x equiv-text="i.name" id="PH"/>"</source> | ||||
|         <target>"<x equiv-text="i.name" id="PH"/>"</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/document-list/bulk-editor/bulk-editor.component.ts</context> | ||||
|           <context context-type="linenumber">116</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="760986369763309193"> | ||||
|         <source>, </source> | ||||
|         <target>, </target> | ||||
| @@ -1470,6 +1470,14 @@ | ||||
|           <context context-type="linenumber">27</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="a1e6c11f20d4bf6e8e6b43e3c6d2561b2080645e"> | ||||
|         <source>Suggestions:</source> | ||||
|         <target>Suggestions : </target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/components/common/input/select/select.component.html</context> | ||||
|           <context context-type="linenumber">26</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="27d158b47717ff9305d19866960418c603f19d55"> | ||||
|         <source>Save current view</source> | ||||
|         <target>Enregistrer la vue actuelle</target> | ||||
| @@ -1723,7 +1731,7 @@ | ||||
|         <target>NSA</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">16</context> | ||||
|           <context context-type="linenumber">17</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="2691296884221415710"> | ||||
| @@ -1731,7 +1739,7 @@ | ||||
|         <target>Correspondant</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">17</context> | ||||
|           <context context-type="linenumber">18</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="5701618810648052610"> | ||||
| @@ -1739,7 +1747,7 @@ | ||||
|         <target>Titre</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">18</context> | ||||
|           <context context-type="linenumber">19</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="5066119607229701477"> | ||||
| @@ -1747,7 +1755,7 @@ | ||||
|         <target>Type de document</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">19</context> | ||||
|           <context context-type="linenumber">20</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="4207916966377787111"> | ||||
| @@ -1755,7 +1763,7 @@ | ||||
|         <target>Date de création</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">20</context> | ||||
|           <context context-type="linenumber">21</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="231679111972850796"> | ||||
| @@ -1763,7 +1771,7 @@ | ||||
|         <target>Date d'ajout</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">21</context> | ||||
|           <context context-type="linenumber">22</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="3553216189604488439"> | ||||
| @@ -1771,7 +1779,7 @@ | ||||
|         <target>Date de modification</target> | ||||
|         <context-group purpose="location"> | ||||
|           <context context-type="sourcefile">src/app/services/rest/document.service.ts</context> | ||||
|           <context context-type="linenumber">22</context> | ||||
|           <context context-type="linenumber">23</context> | ||||
|         </context-group> | ||||
|       </trans-unit> | ||||
|       <trans-unit datatype="html" id="2056433880533904076"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 jonaswinkler
					jonaswinkler