mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	pull frontend lang setting from db if set
This commit is contained in:
		| @@ -65,6 +65,9 @@ export class SettingsService { | |||||||
|       tap((uisettings) => { |       tap((uisettings) => { | ||||||
|         Object.assign(this.settings, uisettings.settings) |         Object.assign(this.settings, uisettings.settings) | ||||||
|         this.maybeMigrateSettings() |         this.maybeMigrateSettings() | ||||||
|  |         // to update lang cookie | ||||||
|  |         if (this.settings['language']?.length) | ||||||
|  |           this.setLanguage(this.settings['language']) | ||||||
|         this.displayName = uisettings.display_name.trim() |         this.displayName = uisettings.display_name.trim() | ||||||
|       }) |       }) | ||||||
|     ) |     ) | ||||||
|   | |||||||
| @@ -83,12 +83,18 @@ logger = logging.getLogger("paperless.api") | |||||||
| class IndexView(TemplateView): | class IndexView(TemplateView): | ||||||
|     template_name = "index.html" |     template_name = "index.html" | ||||||
|  |  | ||||||
|     def get_language(self): |     def get_frontend_language(self): | ||||||
|  |         if hasattr( | ||||||
|  |             self.request.user, | ||||||
|  |             "ui_settings", | ||||||
|  |         ) and self.request.user.ui_settings.settings.get("language"): | ||||||
|  |             lang = self.request.user.ui_settings.settings.get("language") | ||||||
|  |         else: | ||||||
|  |             lang = get_language() | ||||||
|         # This is here for the following reason: |         # This is here for the following reason: | ||||||
|         # Django identifies languages in the form "en-us" |         # Django identifies languages in the form "en-us" | ||||||
|         # However, angular generates locales as "en-US". |         # However, angular generates locales as "en-US". | ||||||
|         # this translates between these two forms. |         # this translates between these two forms. | ||||||
|         lang = get_language() |  | ||||||
|         if "-" in lang: |         if "-" in lang: | ||||||
|             first = lang[: lang.index("-")] |             first = lang[: lang.index("-")] | ||||||
|             second = lang[lang.index("-") + 1 :] |             second = lang[lang.index("-") + 1 :] | ||||||
| @@ -101,16 +107,18 @@ class IndexView(TemplateView): | |||||||
|         context["cookie_prefix"] = settings.COOKIE_PREFIX |         context["cookie_prefix"] = settings.COOKIE_PREFIX | ||||||
|         context["username"] = self.request.user.username |         context["username"] = self.request.user.username | ||||||
|         context["full_name"] = self.request.user.get_full_name() |         context["full_name"] = self.request.user.get_full_name() | ||||||
|         context["styles_css"] = f"frontend/{self.get_language()}/styles.css" |         context["styles_css"] = f"frontend/{self.get_frontend_language()}/styles.css" | ||||||
|         context["runtime_js"] = f"frontend/{self.get_language()}/runtime.js" |         context["runtime_js"] = f"frontend/{self.get_frontend_language()}/runtime.js" | ||||||
|         context["polyfills_js"] = f"frontend/{self.get_language()}/polyfills.js" |         context[ | ||||||
|         context["main_js"] = f"frontend/{self.get_language()}/main.js" |             "polyfills_js" | ||||||
|  |         ] = f"frontend/{self.get_frontend_language()}/polyfills.js" | ||||||
|  |         context["main_js"] = f"frontend/{self.get_frontend_language()}/main.js" | ||||||
|         context[ |         context[ | ||||||
|             "webmanifest" |             "webmanifest" | ||||||
|         ] = f"frontend/{self.get_language()}/manifest.webmanifest"  # noqa: E501 |         ] = f"frontend/{self.get_frontend_language()}/manifest.webmanifest"  # noqa: E501 | ||||||
|         context[ |         context[ | ||||||
|             "apple_touch_icon" |             "apple_touch_icon" | ||||||
|         ] = f"frontend/{self.get_language()}/apple-touch-icon.png"  # noqa: E501 |         ] = f"frontend/{self.get_frontend_language()}/apple-touch-icon.png"  # noqa: E501 | ||||||
|         return context |         return context | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon