mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-11-03 03:16:10 -06:00 
			
		
		
		
	fixes #140
This commit is contained in:
		@@ -26,9 +26,26 @@
 | 
			
		||||
      <td scope="row">{{ correspondent.last_correspondence | date }}</td>
 | 
			
		||||
        <td scope="row">
 | 
			
		||||
          <div class="btn-group">
 | 
			
		||||
          <button class="btn btn-sm btn-outline-secondary" (click)="openEditDialog(correspondent)">Edit</button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-danger" (click)="openDeleteDialog(correspondent)">Delete</button>
 | 
			
		||||
        </div>
 | 
			
		||||
            <button class="btn btn-sm btn-outline-secondary" (click)="filterDocuments(correspondent)">
 | 
			
		||||
              <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-funnel" viewBox="0 0 16 16">
 | 
			
		||||
                <path fill-rule="evenodd" d="M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2h-11z"/>
 | 
			
		||||
              </svg>
 | 
			
		||||
              Documents
 | 
			
		||||
            </button>
 | 
			
		||||
            <button class="btn btn-sm btn-outline-secondary" (click)="openEditDialog(correspondent)">
 | 
			
		||||
              <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-pencil" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
                <path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5L13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175l-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>
 | 
			
		||||
              </svg>
 | 
			
		||||
              Edit
 | 
			
		||||
            </button>
 | 
			
		||||
            <button class="btn btn-sm btn-outline-danger" (click)="openDeleteDialog(correspondent)">
 | 
			
		||||
              <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-trash" viewBox="0 0 16 16">
 | 
			
		||||
                <path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/>
 | 
			
		||||
                <path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/>
 | 
			
		||||
              </svg>
 | 
			
		||||
              Delete
 | 
			
		||||
            </button>
 | 
			
		||||
          </div>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    </tbody>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,9 @@
 | 
			
		||||
import { Component, OnInit } from '@angular/core';
 | 
			
		||||
import { Router } from '@angular/router';
 | 
			
		||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
 | 
			
		||||
import { FILTER_CORRESPONDENT } from 'src/app/data/filter-rule-type';
 | 
			
		||||
import { PaperlessCorrespondent } from 'src/app/data/paperless-correspondent';
 | 
			
		||||
import { DocumentListViewService } from 'src/app/services/document-list-view.service';
 | 
			
		||||
import { CorrespondentService } from 'src/app/services/rest/correspondent.service';
 | 
			
		||||
import { GenericListComponent } from '../generic-list/generic-list.component';
 | 
			
		||||
import { CorrespondentEditDialogComponent } from './correspondent-edit-dialog/correspondent-edit-dialog.component';
 | 
			
		||||
@@ -12,7 +15,10 @@ import { CorrespondentEditDialogComponent } from './correspondent-edit-dialog/co
 | 
			
		||||
})
 | 
			
		||||
export class CorrespondentListComponent extends GenericListComponent<PaperlessCorrespondent> {
 | 
			
		||||
 | 
			
		||||
  constructor(correspondentsService: CorrespondentService, modalService: NgbModal,) { 
 | 
			
		||||
  constructor(correspondentsService: CorrespondentService, modalService: NgbModal,
 | 
			
		||||
    private router: Router,
 | 
			
		||||
    private list: DocumentListViewService
 | 
			
		||||
  ) { 
 | 
			
		||||
    super(correspondentsService,modalService,CorrespondentEditDialogComponent)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -20,4 +26,10 @@ export class CorrespondentListComponent extends GenericListComponent<PaperlessCo
 | 
			
		||||
    return `correspondent '${object.name}'`
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  filterDocuments(object: PaperlessCorrespondent) {
 | 
			
		||||
    this.list.documentListView.filter_rules = [
 | 
			
		||||
      {rule_type: FILTER_CORRESPONDENT, value: object.id.toString()}
 | 
			
		||||
    ]
 | 
			
		||||
    this.router.navigate(["documents"])
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -25,8 +25,25 @@
 | 
			
		||||
      <td scope="row">{{ document_type.document_count }}</td>
 | 
			
		||||
      <td scope="row">
 | 
			
		||||
        <div class="btn-group">
 | 
			
		||||
          <button class="btn btn-sm btn-outline-secondary" (click)="openEditDialog(document_type)">Edit</button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-danger" (click)="openDeleteDialog(document_type)">Delete</button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-secondary" (click)="filterDocuments(document_type)">
 | 
			
		||||
            <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-funnel" viewBox="0 0 16 16">
 | 
			
		||||
              <path fill-rule="evenodd" d="M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2h-11z"/>
 | 
			
		||||
            </svg>
 | 
			
		||||
            Documents
 | 
			
		||||
          </button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-secondary" (click)="openEditDialog(document_type)">
 | 
			
		||||
            <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-pencil" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
              <path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5L13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175l-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>
 | 
			
		||||
            </svg>
 | 
			
		||||
            Edit
 | 
			
		||||
          </button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-danger" (click)="openDeleteDialog(document_type)">
 | 
			
		||||
            <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-trash" viewBox="0 0 16 16">
 | 
			
		||||
              <path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/>
 | 
			
		||||
              <path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/>
 | 
			
		||||
            </svg>
 | 
			
		||||
            Delete
 | 
			
		||||
          </button>
 | 
			
		||||
        </div>
 | 
			
		||||
      </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,9 @@
 | 
			
		||||
import { Component } from '@angular/core';
 | 
			
		||||
import { Router } from '@angular/router';
 | 
			
		||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
 | 
			
		||||
import { FILTER_DOCUMENT_TYPE } from 'src/app/data/filter-rule-type';
 | 
			
		||||
import { PaperlessDocumentType } from 'src/app/data/paperless-document-type';
 | 
			
		||||
import { DocumentListViewService } from 'src/app/services/document-list-view.service';
 | 
			
		||||
import { DocumentTypeService } from 'src/app/services/rest/document-type.service';
 | 
			
		||||
import { GenericListComponent } from '../generic-list/generic-list.component';
 | 
			
		||||
import { DocumentTypeEditDialogComponent } from './document-type-edit-dialog/document-type-edit-dialog.component';
 | 
			
		||||
@@ -12,7 +15,10 @@ import { DocumentTypeEditDialogComponent } from './document-type-edit-dialog/doc
 | 
			
		||||
})
 | 
			
		||||
export class DocumentTypeListComponent extends GenericListComponent<PaperlessDocumentType> {
 | 
			
		||||
 | 
			
		||||
  constructor(service: DocumentTypeService, modalService: NgbModal) {
 | 
			
		||||
  constructor(service: DocumentTypeService, modalService: NgbModal,
 | 
			
		||||
    private router: Router,
 | 
			
		||||
    private list: DocumentListViewService
 | 
			
		||||
  ) {
 | 
			
		||||
    super(service, modalService, DocumentTypeEditDialogComponent)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -20,4 +26,10 @@ export class DocumentTypeListComponent extends GenericListComponent<PaperlessDoc
 | 
			
		||||
    return `document type '${object.name}'`
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  filterDocuments(object: PaperlessDocumentType) {
 | 
			
		||||
    this.list.documentListView.filter_rules = [
 | 
			
		||||
      {rule_type: FILTER_DOCUMENT_TYPE, value: object.id.toString()}
 | 
			
		||||
    ]
 | 
			
		||||
    this.router.navigate(["documents"])
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
    aria-label="Default pagination"></ngb-pagination>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<table class="table table-striped border shadow">
 | 
			
		||||
<table class="table table-striped border shadow-sm">
 | 
			
		||||
  <thead>
 | 
			
		||||
    <tr>
 | 
			
		||||
      <th scope="col" sortable="name" (sort)="onSort($event)">Name</th>
 | 
			
		||||
@@ -28,8 +28,25 @@
 | 
			
		||||
      <td scope="row">{{ tag.document_count }}</td>
 | 
			
		||||
      <td scope="row">
 | 
			
		||||
        <div class="btn-group">
 | 
			
		||||
          <button class="btn btn-sm btn-outline-secondary" (click)="openEditDialog(tag)">Edit</button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-danger" (click)="openDeleteDialog(tag)">Delete</button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-secondary" (click)="filterDocuments(tag)">
 | 
			
		||||
            <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-funnel" viewBox="0 0 16 16">
 | 
			
		||||
              <path fill-rule="evenodd" d="M1.5 1.5A.5.5 0 0 1 2 1h12a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-.128.334L10 8.692V13.5a.5.5 0 0 1-.342.474l-3 1A.5.5 0 0 1 6 14.5V8.692L1.628 3.834A.5.5 0 0 1 1.5 3.5v-2zm1 .5v1.308l4.372 4.858A.5.5 0 0 1 7 8.5v5.306l2-.666V8.5a.5.5 0 0 1 .128-.334L13.5 3.308V2h-11z"/>
 | 
			
		||||
            </svg>
 | 
			
		||||
            Documents
 | 
			
		||||
          </button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-secondary" (click)="openEditDialog(tag)">
 | 
			
		||||
            <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-pencil" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
 | 
			
		||||
              <path fill-rule="evenodd" d="M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5L13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175l-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"/>
 | 
			
		||||
            </svg>
 | 
			
		||||
            Edit
 | 
			
		||||
          </button>
 | 
			
		||||
          <button class="btn btn-sm btn-outline-danger" (click)="openDeleteDialog(tag)">
 | 
			
		||||
            <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-trash" viewBox="0 0 16 16">
 | 
			
		||||
              <path d="M5.5 5.5A.5.5 0 0 1 6 6v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm2.5 0a.5.5 0 0 1 .5.5v6a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5zm3 .5a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V6z"/>
 | 
			
		||||
              <path fill-rule="evenodd" d="M14.5 3a1 1 0 0 1-1 1H13v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V4h-.5a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1H6a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1h3.5a1 1 0 0 1 1 1v1zM4.118 4L4 4.059V13a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4.059L11.882 4H4.118zM2.5 3V2h11v1h-11z"/>
 | 
			
		||||
            </svg>
 | 
			
		||||
            Delete
 | 
			
		||||
          </button>
 | 
			
		||||
        </div>
 | 
			
		||||
      </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,9 @@
 | 
			
		||||
import { Component } from '@angular/core';
 | 
			
		||||
import { Router } from '@angular/router';
 | 
			
		||||
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
 | 
			
		||||
import { FILTER_HAS_TAG } from 'src/app/data/filter-rule-type';
 | 
			
		||||
import { TAG_COLOURS, PaperlessTag } from 'src/app/data/paperless-tag';
 | 
			
		||||
import { DocumentListViewService } from 'src/app/services/document-list-view.service';
 | 
			
		||||
import { TagService } from 'src/app/services/rest/tag.service';
 | 
			
		||||
import { GenericListComponent } from '../generic-list/generic-list.component';
 | 
			
		||||
import { TagEditDialogComponent } from './tag-edit-dialog/tag-edit-dialog.component';
 | 
			
		||||
@@ -12,7 +15,10 @@ import { TagEditDialogComponent } from './tag-edit-dialog/tag-edit-dialog.compon
 | 
			
		||||
})
 | 
			
		||||
export class TagListComponent extends GenericListComponent<PaperlessTag> {
 | 
			
		||||
 | 
			
		||||
  constructor(tagService: TagService, modalService: NgbModal) {
 | 
			
		||||
  constructor(tagService: TagService, modalService: NgbModal,
 | 
			
		||||
    private router: Router,
 | 
			
		||||
    private list: DocumentListViewService
 | 
			
		||||
  ) {
 | 
			
		||||
    super(tagService, modalService, TagEditDialogComponent)
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +29,11 @@ export class TagListComponent extends GenericListComponent<PaperlessTag> {
 | 
			
		||||
  getObjectName(object: PaperlessTag) {
 | 
			
		||||
    return `tag '${object.name}'`
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  filterDocuments(object: PaperlessTag) {
 | 
			
		||||
    this.list.documentListView.filter_rules = [
 | 
			
		||||
      {rule_type: FILTER_HAS_TAG, value: object.id.toString()}
 | 
			
		||||
    ]
 | 
			
		||||
    this.router.navigate(["documents"])
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user