mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-08-01 18:37:42 -05:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
05a240b6ed | ||
![]() |
4c6faa698b | ||
![]() |
654685873a | ||
![]() |
2ac5407dd4 | ||
![]() |
76ddc09dba | ||
![]() |
f45daa9445 | ||
![]() |
953ba9160e | ||
![]() |
64de6b8571 | ||
![]() |
5455850168 |
@@ -1,5 +1,30 @@
|
||||
# Changelog
|
||||
|
||||
## paperless-ngx 2.8.4
|
||||
|
||||
### Features
|
||||
|
||||
- Enhancement: display current ASN in statistics [@darmiel](https://github.com/darmiel) ([#6692](https://github.com/paperless-ngx/paperless-ngx/pull/6692))
|
||||
- Enhancement: global search tweaks [@shamoon](https://github.com/shamoon) ([#6674](https://github.com/paperless-ngx/paperless-ngx/pull/6674))
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Security: Correctly disable in pdfjs [@shamoon](https://github.com/shamoon) ([#6702](https://github.com/paperless-ngx/paperless-ngx/pull/6702))
|
||||
- Fix: history timestamp tooltip illegible in dark mode [@shamoon](https://github.com/shamoon) ([#6696](https://github.com/paperless-ngx/paperless-ngx/pull/6696))
|
||||
- Fix: only count inbox documents from inbox tags with permissions [@shamoon](https://github.com/shamoon) ([#6670](https://github.com/paperless-ngx/paperless-ngx/pull/6670))
|
||||
|
||||
### All App Changes
|
||||
|
||||
<details>
|
||||
<summary>5 changes</summary>
|
||||
|
||||
- Enhancement: global search tweaks [@shamoon](https://github.com/shamoon) ([#6674](https://github.com/paperless-ngx/paperless-ngx/pull/6674))
|
||||
- Security: Correctly disable in pdfjs [@shamoon](https://github.com/shamoon) ([#6702](https://github.com/paperless-ngx/paperless-ngx/pull/6702))
|
||||
- Fix: history timestamp tooltip illegible in dark mode [@shamoon](https://github.com/shamoon) ([#6696](https://github.com/paperless-ngx/paperless-ngx/pull/6696))
|
||||
- Enhancement: display current ASN in statistics [@darmiel](https://github.com/darmiel) ([#6692](https://github.com/paperless-ngx/paperless-ngx/pull/6692))
|
||||
- Fix: only count inbox documents from inbox tags with permissions [@shamoon](https://github.com/shamoon) ([#6670](https://github.com/paperless-ngx/paperless-ngx/pull/6670))
|
||||
</details>
|
||||
|
||||
## paperless-ngx 2.8.3
|
||||
|
||||
### Bug Fixes
|
||||
|
@@ -31,6 +31,9 @@ form {
|
||||
.input-group .btn {
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
color: var(--pngx-primary-text-contrast);
|
||||
padding-top: .15rem;
|
||||
padding-bottom: .15rem;
|
||||
min-height: calc(1.3em + 0.5rem + calc(var(--bs-border-width) * 2)) !important;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
|
@@ -287,48 +287,44 @@ describe('GlobalSearchComponent', () => {
|
||||
modalService.activeInstances.subscribe((m) => (modal = m[m.length - 1]))
|
||||
|
||||
component.primaryAction(DataType.Document, object)
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/documents', object.id])
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/documents', object.id], {})
|
||||
|
||||
component.primaryAction(DataType.SavedView, object)
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/view', object.id])
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/view', object.id], {})
|
||||
|
||||
component.primaryAction(DataType.Correspondent, object)
|
||||
expect(routerSpy).toHaveBeenCalledWith([
|
||||
'/documents',
|
||||
queryParamsFromFilterRules([
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/documents'], {
|
||||
queryParams: queryParamsFromFilterRules([
|
||||
{
|
||||
rule_type: FILTER_HAS_CORRESPONDENT_ANY,
|
||||
value: object.id.toString(),
|
||||
},
|
||||
]),
|
||||
])
|
||||
})
|
||||
|
||||
component.primaryAction(DataType.DocumentType, object)
|
||||
expect(routerSpy).toHaveBeenCalledWith([
|
||||
'/documents',
|
||||
queryParamsFromFilterRules([
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/documents'], {
|
||||
queryParams: queryParamsFromFilterRules([
|
||||
{
|
||||
rule_type: FILTER_HAS_DOCUMENT_TYPE_ANY,
|
||||
value: object.id.toString(),
|
||||
},
|
||||
]),
|
||||
])
|
||||
})
|
||||
|
||||
component.primaryAction(DataType.StoragePath, object)
|
||||
expect(routerSpy).toHaveBeenCalledWith([
|
||||
'/documents',
|
||||
queryParamsFromFilterRules([
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/documents'], {
|
||||
queryParams: queryParamsFromFilterRules([
|
||||
{ rule_type: FILTER_HAS_STORAGE_PATH_ANY, value: object.id.toString() },
|
||||
]),
|
||||
])
|
||||
})
|
||||
|
||||
component.primaryAction(DataType.Tag, object)
|
||||
expect(routerSpy).toHaveBeenCalledWith([
|
||||
'/documents',
|
||||
queryParamsFromFilterRules([
|
||||
expect(routerSpy).toHaveBeenCalledWith(['/documents'], {
|
||||
queryParams: queryParamsFromFilterRules([
|
||||
{ rule_type: FILTER_HAS_TAGS_ANY, value: object.id.toString() },
|
||||
]),
|
||||
])
|
||||
})
|
||||
|
||||
component.primaryAction(DataType.User, object)
|
||||
expect(modalSpy).toHaveBeenCalledWith(UserEditDialogComponent, {
|
||||
|
@@ -163,7 +163,9 @@ export class GlobalSearchComponent implements OnInit {
|
||||
let params = queryParamsFromFilterRules([
|
||||
{ rule_type: filterRuleType, value: object.id.toString() },
|
||||
])
|
||||
this.navigateOrOpenInNewWindow(['/documents', params], newWindow)
|
||||
this.navigateOrOpenInNewWindow(['/documents'], newWindow, {
|
||||
queryParams: params,
|
||||
})
|
||||
} else if (editDialogComponent) {
|
||||
const modalRef: NgbModalRef = this.modalService.open(
|
||||
editDialogComponent,
|
||||
@@ -378,12 +380,18 @@ export class GlobalSearchComponent implements OnInit {
|
||||
this.reset(true)
|
||||
}
|
||||
|
||||
private navigateOrOpenInNewWindow(commands: any, newWindow: boolean = false) {
|
||||
private navigateOrOpenInNewWindow(
|
||||
commands: any,
|
||||
newWindow: boolean = false,
|
||||
extras: Object = {}
|
||||
) {
|
||||
if (newWindow) {
|
||||
const url = this.router.serializeUrl(this.router.createUrlTree(commands))
|
||||
const url = this.router.serializeUrl(
|
||||
this.router.createUrlTree(commands, extras)
|
||||
)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
this.router.navigate(commands)
|
||||
this.router.navigate(commands, extras)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -18,7 +18,7 @@
|
||||
@if (statistics?.current_asn) {
|
||||
<div class="list-group-item d-flex justify-content-between align-items-center" routerLink="/documents/">
|
||||
<ng-container i18n>Current ASN</ng-container>:
|
||||
<span class="badge bg-secondary text-light rounded-pill">{{statistics?.current_asn | number}}</span>
|
||||
<span class="badge bg-secondary text-light rounded-pill">{{statistics?.current_asn}}</span>
|
||||
</div>
|
||||
}
|
||||
@if (statistics?.document_file_type_counts?.length > 1) {
|
||||
|
@@ -34,7 +34,7 @@
|
||||
</h5>
|
||||
</div>
|
||||
<p class="card-text">
|
||||
@if (document.__search_hit__?.score && document.__search_hit__.highlights) {
|
||||
@if (document.__search_hit__ && document.__search_hit__.highlights) {
|
||||
<span [innerHtml]="document.__search_hit__.highlights"></span>
|
||||
}
|
||||
@for (highlight of searchNoteHighlights; track highlight) {
|
||||
|
@@ -5,7 +5,7 @@ export const environment = {
|
||||
apiBaseUrl: document.baseURI + 'api/',
|
||||
apiVersion: '5',
|
||||
appTitle: 'Paperless-ngx',
|
||||
version: '2.8.4',
|
||||
version: '2.8.5',
|
||||
webSocketHost: window.location.host,
|
||||
webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:',
|
||||
webSocketBaseUrl: base_url.pathname + 'ws/',
|
||||
|
@@ -5735,7 +5735,7 @@
|
||||
<context context-type="sourcefile">src/app/components/dashboard/widgets/statistics-widget/statistics-widget.component.html</context>
|
||||
<context context-type="linenumber">20</context>
|
||||
</context-group>
|
||||
<target state="needs-translation">Current ASN</target>
|
||||
<target state="translated">NSA actuel</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8693603235657020323" datatype="html" approved="yes">
|
||||
<source>Other</source>
|
||||
|
@@ -332,8 +332,15 @@ textarea,
|
||||
}
|
||||
}
|
||||
|
||||
.input-group .form-control-sm,
|
||||
.input-group .btn-sm {
|
||||
@media(max-width: 768px) {
|
||||
.input-group-sm .btn-sm {
|
||||
// accommodate larger font size on mobile
|
||||
padding-top: .35rem;
|
||||
padding-bottom: .35rem;
|
||||
}
|
||||
}
|
||||
|
||||
.input-group .form-control-sm {
|
||||
// accommodate larger font size on mobile
|
||||
padding-top: .15rem;
|
||||
padding-bottom: .15rem;
|
||||
|
@@ -3,7 +3,7 @@ msgstr ""
|
||||
"Project-Id-Version: paperless-ngx\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-04-26 07:19-0700\n"
|
||||
"PO-Revision-Date: 2024-05-03 12:09\n"
|
||||
"PO-Revision-Date: 2024-05-14 00:24\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr_FR\n"
|
||||
|
@@ -1,6 +1,6 @@
|
||||
from typing import Final
|
||||
|
||||
__version__: Final[tuple[int, int, int]] = (2, 8, 4)
|
||||
__version__: Final[tuple[int, int, int]] = (2, 8, 5)
|
||||
# Version string like X.Y.Z
|
||||
__full_version_str__: Final[str] = ".".join(map(str, __version__))
|
||||
# Version string like X.Y
|
||||
|
Reference in New Issue
Block a user