mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-08-14 00:26:21 +00:00
Add frontend owner filtering
Add owner to doc cards, table Frontend testing for owner filtering
This commit is contained in:
42
src-ui/src/app/pipes/username.pipe.ts
Normal file
42
src-ui/src/app/pipes/username.pipe.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { Pipe, PipeTransform } from '@angular/core'
|
||||
import { UserService } from '../services/rest/user.service'
|
||||
import {
|
||||
PermissionAction,
|
||||
PermissionType,
|
||||
PermissionsService,
|
||||
} from '../services/permissions.service'
|
||||
import { PaperlessUser } from '../data/paperless-user'
|
||||
|
||||
@Pipe({
|
||||
name: 'username',
|
||||
})
|
||||
export class UsernamePipe implements PipeTransform {
|
||||
users: PaperlessUser[]
|
||||
|
||||
constructor(
|
||||
permissionsService: PermissionsService,
|
||||
userService: UserService
|
||||
) {
|
||||
if (
|
||||
permissionsService.currentUserCan(
|
||||
PermissionAction.View,
|
||||
PermissionType.User
|
||||
)
|
||||
) {
|
||||
userService.listAll().subscribe((r) => (this.users = r.results))
|
||||
}
|
||||
}
|
||||
|
||||
transform(userID: number): string {
|
||||
return this.users
|
||||
? this.getName(this.users.find((u) => u.id === userID)) ?? ''
|
||||
: $localize`Shared`
|
||||
}
|
||||
|
||||
getName(user: PaperlessUser): string {
|
||||
if (!user) return ''
|
||||
const name = [user.first_name, user.last_name].join(' ')
|
||||
if (name.length > 1) return name.trim()
|
||||
return user.username
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user