mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Merge branch 'dev' into feature-permissions
This commit is contained in:
		
							
								
								
									
										1234
									
								
								src-ui/messages.xlf
									
									
									
									
									
								
							
							
						
						
									
										1234
									
								
								src-ui/messages.xlf
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -189,6 +189,14 @@ | ||||
|       <a ngbNavLink i18n>Saved views</a> | ||||
|       <ng-template ngbNavContent> | ||||
|  | ||||
|         <h4 i18n>Settings</h4> | ||||
|         <div class="row mb-3"> | ||||
|           <div class="offset-md-3 col"> | ||||
|             <app-input-check i18n-title title="Show warning when closing saved views with unsaved changes" formControlName="savedViewsWarnOnUnsavedChange"></app-input-check> | ||||
|           </div> | ||||
|         </div> | ||||
|  | ||||
|         <h4 i18n>Views</h4> | ||||
|         <div formGroupName="savedViews"> | ||||
|  | ||||
|             <div *ngFor="let view of savedViews" [formGroupName]="view.id" class="row"> | ||||
|   | ||||
| @@ -95,6 +95,7 @@ export class SettingsComponent | ||||
|     usersGroup: this.usersGroup, | ||||
|     groupsGroup: this.groupsGroup, | ||||
|  | ||||
|     savedViewsWarnOnUnsavedChange: new FormControl(null), | ||||
|     savedViews: this.savedViewGroup, | ||||
|  | ||||
|     mailAccounts: this.mailAccountGroup, | ||||
| @@ -211,6 +212,9 @@ export class SettingsComponent | ||||
|       notificationsConsumerSuppressOnDashboard: this.settings.get( | ||||
|         SETTINGS_KEYS.NOTIFICATIONS_CONSUMER_SUPPRESS_ON_DASHBOARD | ||||
|       ), | ||||
|       savedViewsWarnOnUnsavedChange: this.settings.get( | ||||
|         SETTINGS_KEYS.SAVED_VIEWS_WARN_ON_UNSAVED_CHANGE | ||||
|       ), | ||||
|       usersGroup: {}, | ||||
|       groupsGroup: {}, | ||||
|       savedViews: {}, | ||||
| @@ -536,6 +540,10 @@ export class SettingsComponent | ||||
|       SETTINGS_KEYS.UPDATE_CHECKING_ENABLED, | ||||
|       this.settingsForm.value.updateCheckingEnabled | ||||
|     ) | ||||
|     this.settings.set( | ||||
|       SETTINGS_KEYS.SAVED_VIEWS_WARN_ON_UNSAVED_CHANGE, | ||||
|       this.settingsForm.value.savedViewsWarnOnUnsavedChange | ||||
|     ) | ||||
|     this.settings.setLanguage(this.settingsForm.value.displayLanguage) | ||||
|     this.settings | ||||
|       .storeSettings() | ||||
|   | ||||
| @@ -38,6 +38,8 @@ export const SETTINGS_KEYS = { | ||||
|   UPDATE_CHECKING_ENABLED: 'general-settings:update-checking:enabled', | ||||
|   UPDATE_CHECKING_BACKEND_SETTING: | ||||
|     'general-settings:update-checking:backend-setting', | ||||
|   SAVED_VIEWS_WARN_ON_UNSAVED_CHANGE: | ||||
|     'general-settings:saved-views:warn-on-unsaved-change', | ||||
| } | ||||
|  | ||||
| export const SETTINGS: PaperlessUiSetting[] = [ | ||||
| @@ -136,4 +138,9 @@ export const SETTINGS: PaperlessUiSetting[] = [ | ||||
|     type: 'string', | ||||
|     default: '', | ||||
|   }, | ||||
|   { | ||||
|     key: SETTINGS_KEYS.SAVED_VIEWS_WARN_ON_UNSAVED_CHANGE, | ||||
|     type: 'boolean', | ||||
|     default: true, | ||||
|   }, | ||||
| ] | ||||
|   | ||||
| @@ -4,17 +4,25 @@ import { first, Observable, Subject } from 'rxjs' | ||||
| import { DocumentListComponent } from '../components/document-list/document-list.component' | ||||
| import { NgbModal } from '@ng-bootstrap/ng-bootstrap' | ||||
| import { ConfirmDialogComponent } from '../components/common/confirm-dialog/confirm-dialog.component' | ||||
| import { SettingsService } from '../services/settings.service' | ||||
| import { SETTINGS_KEYS } from '../data/paperless-uisettings' | ||||
|  | ||||
| @Injectable() | ||||
| export class DirtySavedViewGuard | ||||
|   implements CanDeactivate<DocumentListComponent> | ||||
| { | ||||
|   constructor(private modalService: NgbModal) {} | ||||
|   constructor( | ||||
|     private modalService: NgbModal, | ||||
|     private settings: SettingsService | ||||
|   ) {} | ||||
|  | ||||
|   canDeactivate( | ||||
|     component: DocumentListComponent | ||||
|   ): boolean | Observable<boolean> { | ||||
|     return component.savedViewIsModified ? this.warn(component) : true | ||||
|     return component.savedViewIsModified && | ||||
|       this.settings.get(SETTINGS_KEYS.SAVED_VIEWS_WARN_ON_UNSAVED_CHANGE) | ||||
|       ? this.warn(component) | ||||
|       : true | ||||
|   } | ||||
|  | ||||
|   warn(component: DocumentListComponent) { | ||||
|   | ||||
| @@ -5,7 +5,7 @@ export const environment = { | ||||
|   apiBaseUrl: document.baseURI + 'api/', | ||||
|   apiVersion: '2', | ||||
|   appTitle: 'Paperless-ngx', | ||||
|   version: '1.12.2-dev', | ||||
|   version: '1.13.0-dev', | ||||
|   webSocketHost: window.location.host, | ||||
|   webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:', | ||||
|   webSocketBaseUrl: base_url.pathname + 'ws/', | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user
	 shamoon
					shamoon