Compare commits

..

17 Commits

Author SHA1 Message Date
shamoon
317a9114eb Bump version to 2.8.6 2024-05-15 13:54:33 -07:00
shamoon
2597d312ed Merge branch 'dev' 2024-05-15 13:52:02 -07:00
github-actions[bot]
0e95b0a64b New Crowdin translations by GitHub Action (#6735)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-05-15 13:50:24 -07:00
shamoon
853c745039 Update frontend translation strings 2024-05-15 13:24:05 -07:00
shamoon
ed05b40ba4 Security: disallow API remote-user auth if disabled (#6739) 2024-05-15 20:18:50 +00:00
shamoon
97eec44647 Fix: retain sort field from global search filtering, use FILTER_HAS_TAGS_ALL (#6737) 2024-05-15 13:10:07 -07:00
shamoon
45138a1881 Reset dev version string 2024-05-14 22:38:23 -07:00
github-actions[bot]
67565ea1ff Documentation: Add v2.8.5 changelog (#6729) 2024-05-14 22:37:48 -07:00
shamoon
05a240b6ed Bump version to v2.8.5 2024-05-14 22:11:43 -07:00
github-actions[bot]
4c6faa698b New Crowdin translations by GitHub Action (#6714)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-05-14 21:41:31 -07:00
shamoon
654685873a Fix: restore search highlighting on large cards results (#6728) 2024-05-14 21:38:10 -07:00
shamoon
2ac5407dd4 Fix: global search filtering links broken in 2.8.4 (#6726) 2024-05-14 21:37:55 -07:00
shamoon
76ddc09dba Fix: button alignment on mobile 2024-05-14 20:14:45 -07:00
shamoon
f45daa9445 Fix: some buttons incorrectly aligned in 2.8.4 (#6715) 2024-05-13 17:26:41 -07:00
shamoon
953ba9160e Fix: dont format ASN as number on dashboard (#6708) 2024-05-13 13:58:47 -07:00
shamoon
64de6b8571 Reset dev version string 2024-05-13 13:25:22 -07:00
github-actions[bot]
5455850168 Documentation: Add v2.8.4 changelog (#6706) 2024-05-13 13:24:49 -07:00
52 changed files with 344 additions and 205 deletions

View File

@@ -1,5 +1,50 @@
# Changelog
## paperless-ngx 2.8.5
### Bug Fixes
- Fix: restore search highlighting on large cards results [@shamoon](https://github.com/shamoon) ([#6728](https://github.com/paperless-ngx/paperless-ngx/pull/6728))
- Fix: global search filtering links broken in 2.8.4 [@shamoon](https://github.com/shamoon) ([#6726](https://github.com/paperless-ngx/paperless-ngx/pull/6726))
- Fix: some buttons incorrectly aligned in 2.8.4 [@shamoon](https://github.com/shamoon) ([#6715](https://github.com/paperless-ngx/paperless-ngx/pull/6715))
- Fix: don't format ASN as number on dashboard [@shamoon](https://github.com/shamoon) ([#6708](https://github.com/paperless-ngx/paperless-ngx/pull/6708))
### All App Changes
<details>
<summary>4 changes</summary>
- Fix: restore search highlighting on large cards results [@shamoon](https://github.com/shamoon) ([#6728](https://github.com/paperless-ngx/paperless-ngx/pull/6728))
- Fix: global search filtering links broken in 2.8.4 [@shamoon](https://github.com/shamoon) ([#6726](https://github.com/paperless-ngx/paperless-ngx/pull/6726))
- Fix: some buttons incorrectly aligned in 2.8.4 [@shamoon](https://github.com/shamoon) ([#6715](https://github.com/paperless-ngx/paperless-ngx/pull/6715))
- Fix: don't format ASN as number on dashboard [@shamoon](https://github.com/shamoon) ([#6708](https://github.com/paperless-ngx/paperless-ngx/pull/6708))
</details>
## 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

View File

@@ -2823,22 +2823,22 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
</trans-unit>
<trans-unit id="1801333259018423190" datatype="html">
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
</trans-unit>
<trans-unit id="8700121026680200191" datatype="html">

View File

@@ -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 {

View File

@@ -24,7 +24,7 @@ import {
FILTER_HAS_CORRESPONDENT_ANY,
FILTER_HAS_DOCUMENT_TYPE_ANY,
FILTER_HAS_STORAGE_PATH_ANY,
FILTER_HAS_TAGS_ANY,
FILTER_HAS_TAGS_ALL,
} from 'src/app/data/filter-rule-type'
import { NgxBootstrapIconsModule, allIcons } from 'ngx-bootstrap-icons'
import { DocumentService } from 'src/app/services/rest/document.service'
@@ -287,48 +287,75 @@ 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: Object.assign(
{
rule_type: FILTER_HAS_CORRESPONDENT_ANY,
value: object.id.toString(),
page: 1,
reverse: 1,
sort: 'created',
},
]),
])
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: Object.assign(
{
rule_type: FILTER_HAS_DOCUMENT_TYPE_ANY,
value: object.id.toString(),
page: 1,
reverse: 1,
sort: 'created',
},
]),
])
queryParamsFromFilterRules([
{
rule_type: FILTER_HAS_DOCUMENT_TYPE_ANY,
value: object.id.toString(),
},
])
),
})
component.primaryAction(DataType.StoragePath, object)
expect(routerSpy).toHaveBeenCalledWith([
'/documents',
queryParamsFromFilterRules([
{ rule_type: FILTER_HAS_STORAGE_PATH_ANY, value: object.id.toString() },
]),
])
expect(routerSpy).toHaveBeenCalledWith(['/documents'], {
queryParams: Object.assign(
{
page: 1,
reverse: 1,
sort: 'created',
},
queryParamsFromFilterRules([
{
rule_type: FILTER_HAS_STORAGE_PATH_ANY,
value: object.id.toString(),
},
])
),
})
component.primaryAction(DataType.Tag, object)
expect(routerSpy).toHaveBeenCalledWith([
'/documents',
queryParamsFromFilterRules([
{ rule_type: FILTER_HAS_TAGS_ANY, value: object.id.toString() },
]),
])
expect(routerSpy).toHaveBeenCalledWith(['/documents'], {
queryParams: Object.assign(
{
page: 1,
reverse: 1,
sort: 'created',
},
queryParamsFromFilterRules([
{ rule_type: FILTER_HAS_TAGS_ALL, value: object.id.toString() },
])
),
})
component.primaryAction(DataType.User, object)
expect(modalSpy).toHaveBeenCalledWith(UserEditDialogComponent, {

View File

@@ -14,7 +14,7 @@ import {
FILTER_HAS_CORRESPONDENT_ANY,
FILTER_HAS_DOCUMENT_TYPE_ANY,
FILTER_HAS_STORAGE_PATH_ANY,
FILTER_HAS_TAGS_ANY,
FILTER_HAS_TAGS_ALL,
} from 'src/app/data/filter-rule-type'
import { DataType } from 'src/app/data/datatype'
import { ObjectWithId } from 'src/app/data/object-with-id'
@@ -41,7 +41,7 @@ import { TagEditDialogComponent } from '../../common/edit-dialog/tag-edit-dialog
import { UserEditDialogComponent } from '../../common/edit-dialog/user-edit-dialog/user-edit-dialog.component'
import { WorkflowEditDialogComponent } from '../../common/edit-dialog/workflow-edit-dialog/workflow-edit-dialog.component'
import { HotKeyService } from 'src/app/services/hot-key.service'
import { queryParamsFromFilterRules } from 'src/app/utils/query-params'
import { paramsFromViewState } from 'src/app/utils/query-params'
@Component({
selector: 'pngx-global-search',
@@ -132,7 +132,7 @@ export class GlobalSearchComponent implements OnInit {
filterRuleType = FILTER_HAS_STORAGE_PATH_ANY
break
case DataType.Tag:
filterRuleType = FILTER_HAS_TAGS_ANY
filterRuleType = FILTER_HAS_TAGS_ALL
break
case DataType.User:
editDialogComponent = UserEditDialogComponent
@@ -160,10 +160,17 @@ export class GlobalSearchComponent implements OnInit {
}
if (filterRuleType) {
let params = queryParamsFromFilterRules([
{ rule_type: filterRuleType, value: object.id.toString() },
])
this.navigateOrOpenInNewWindow(['/documents', params], newWindow)
let params = paramsFromViewState({
filterRules: [
{ rule_type: filterRuleType, value: object.id.toString() },
],
currentPage: 1,
sortField: this.documentListViewService.sortField ?? 'created',
sortReverse: this.documentListViewService.sortReverse,
})
this.navigateOrOpenInNewWindow(['/documents'], newWindow, {
queryParams: params,
})
} else if (editDialogComponent) {
const modalRef: NgbModalRef = this.modalService.open(
editDialogComponent,
@@ -378,12 +385,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)
}
}
}

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -5,7 +5,7 @@ export const environment = {
apiBaseUrl: document.baseURI + 'api/',
apiVersion: '5',
appTitle: 'Paperless-ngx',
version: '2.8.4',
version: '2.8.6',
webSocketHost: window.location.host,
webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:',
webSocketBaseUrl: base_url.pathname + 'ws/',

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="translated">Objecte actualitzat correctament.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="translated">Error desant objecte.</target>
</trans-unit>
@@ -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">ASN Actual</target>
</trans-unit>
<trans-unit id="8693603235657020323" datatype="html">
<source>Other</source>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="final">Objekte erfolgreich aktualisiert.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="final">Fehler beim Speichern des Objekts.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="translated">Objet mis à jour avec succès.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="translated">Une erreur s'est produite lors de la sauvegarde de l'objet.</target>
</trans-unit>
@@ -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>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="translated">Oggetto aggiornato con successo.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="translated">Errore durante il salvataggio dell'oggetto.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="translated">Object succesvol bijgewerkt.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="translated">Fout bij opslaan object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="translated">Pomyślnie zaktualizowano obiekt.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="translated">Wystąpił błąd podczas zapisywania obiektu.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -3071,11 +3071,11 @@
<source>Successfully updated object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">175</context>
<context context-type="linenumber">182</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">213</context>
<context context-type="linenumber">220</context>
</context-group>
<target state="needs-translation">Successfully updated object.</target>
</trans-unit>
@@ -3083,11 +3083,11 @@
<source>Error occurred saving object.</source>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">178</context>
<context context-type="linenumber">185</context>
</context-group>
<context-group purpose="location">
<context context-type="sourcefile">src/app/components/app-frame/global-search/global-search.component.ts</context>
<context context-type="linenumber">216</context>
<context context-type="linenumber">223</context>
</context-group>
<target state="needs-translation">Error occurred saving object.</target>
</trans-unit>

View File

@@ -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;

View File

@@ -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-06 20:59\n"
"PO-Revision-Date: 2024-05-15 12:10\n"
"Last-Translator: \n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"

View File

@@ -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"

View File

@@ -52,6 +52,17 @@ class HttpRemoteUserMiddleware(PersistentRemoteUserMiddleware):
header = settings.HTTP_REMOTE_USER_HEADER_NAME
def process_request(self, request: HttpRequest) -> None:
# If remote user auth is enabled only for the frontend, not the API,
# then we need dont want to authenticate the user for API requests.
if (
"/api/" in request.path
and "paperless.auth.PaperlessRemoteUserAuthentication"
not in settings.REST_FRAMEWORK["DEFAULT_AUTHENTICATION_CLASSES"]
):
return
return super().process_request(request)
class PaperlessRemoteUserAuthentication(authentication.RemoteUserAuthentication):
"""

View File

@@ -2,6 +2,7 @@ import os
from unittest import mock
from django.contrib.auth.models import User
from django.test import override_settings
from rest_framework import status
from rest_framework.test import APITestCase
@@ -88,6 +89,38 @@ class TestRemoteUser(DirectoriesMixin, APITestCase):
self.assertEqual(response.status_code, status.HTTP_200_OK)
@override_settings(
REST_FRAMEWORK={
"DEFAULT_AUTHENTICATION_CLASSES": [
"rest_framework.authentication.BasicAuthentication",
"rest_framework.authentication.TokenAuthentication",
"rest_framework.authentication.SessionAuthentication",
],
},
)
def test_remote_user_api_disabled(self):
"""
GIVEN:
- Configured user
- Remote user auth enabled for frontend but disabled for the API
- Note that REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] is set in settings.py in production
WHEN:
- API call is made to get documents
THEN:
- Call fails
"""
response = self.client.get(
"/api/documents/",
headers={
"Remote-User": self.user.username,
},
)
self.assertIn(
response.status_code,
[status.HTTP_401_UNAUTHORIZED, status.HTTP_403_FORBIDDEN],
)
def test_remote_user_header_setting(self):
"""
GIVEN:

View File

@@ -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, 6)
# Version string like X.Y.Z
__full_version_str__: Final[str] = ".".join(map(str, __version__))
# Version string like X.Y