From a11eeb94c77de0821b5548b8a38c589d27bf87e5 Mon Sep 17 00:00:00 2001 From: Ahmed Darrazi Date: Wed, 17 Dec 2025 13:16:04 +0100 Subject: [PATCH] bugfixes --- .gitea/workflows/docker.yml | 32 +++++++++++++++++++ .../Http/Controllers/LanguageController.php | 12 +++++-- .../Language/app/Services/LanguageService.php | 12 ++++++- 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 .gitea/workflows/docker.yml diff --git a/.gitea/workflows/docker.yml b/.gitea/workflows/docker.yml new file mode 100644 index 00000000..81322eca --- /dev/null +++ b/.gitea/workflows/docker.yml @@ -0,0 +1,32 @@ +name: Build & Push Docker Image + +on: + push: + branches: + - main + +jobs: + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Login to Gitea Container Registry + run: | + echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.cloudarix.de \ + -u "${{ secrets.REGISTRY_USER }}" \ + --password-stdin + + - name: Build Docker image + run: | + docker build \ + -t git.cloudarix.de/ahmido/lms:${{ github.sha }} \ + -t git.cloudarix.de/ahmido/lms:latest \ + . + + - name: Push Docker image + run: | + docker push git.cloudarix.de/ahmido/lms:${{ github.sha }} + docker push git.cloudarix.de/ahmido/lms:latest \ No newline at end of file diff --git a/Modules/Language/app/Http/Controllers/LanguageController.php b/Modules/Language/app/Http/Controllers/LanguageController.php index b5831131..efc1ad91 100644 --- a/Modules/Language/app/Http/Controllers/LanguageController.php +++ b/Modules/Language/app/Http/Controllers/LanguageController.php @@ -63,9 +63,13 @@ class LanguageController extends Controller public function update_property(Request $request, $id) { - $property = LanguageProperty::findOrFail($id); + $property = LanguageProperty::with('language:id,code')->findOrFail($id); $property->update(['properties' => $request->all()]); + if ($property->language) { + $this->languageService->forgetLanguageCache($property->language->code); + } + return back()->with('success', $property->name . ' translation successfully updated'); } @@ -78,8 +82,10 @@ class LanguageController extends Controller public function change_lang(Request $request) { - Cache::forget($this->languageService->cacheKey); - $cookie = Cookie::forever('locale', $request->locale); + $locale = $request->locale; + $this->languageService->forgetLanguageCache($locale); + + $cookie = Cookie::forever('locale', $locale); return back()->withCookie($cookie); } diff --git a/Modules/Language/app/Services/LanguageService.php b/Modules/Language/app/Services/LanguageService.php index eade5dbc..b5b49ed0 100644 --- a/Modules/Language/app/Services/LanguageService.php +++ b/Modules/Language/app/Services/LanguageService.php @@ -86,9 +86,19 @@ class LanguageService extends MediaService Language::where('id', $id)->update(['is_default' => true]); } + protected function getCacheKey(string $locale): string + { + return "{$this->cacheKey}_{$locale}"; + } + + public function forgetLanguageCache(string $locale): void + { + Cache::forget($this->getCacheKey($locale)); + } + function setLanguageProperties(string $locale): void { - $cacheKey = "{$this->cacheKey}_{$locale}"; + $cacheKey = $this->getCacheKey($locale); $cached = Cache::rememberForever($cacheKey, function () use ($locale) { $language = Language::where('code', $locale)