diff --git a/appsettings/templates/appsettings.html b/appsettings/templates/appsettings.html index c5008f5..8e843cb 100644 --- a/appsettings/templates/appsettings.html +++ b/appsettings/templates/appsettings.html @@ -11,6 +11,7 @@ {% include 'errors_block.html' %} + {% include 'messages_block.html' %}
@@ -51,7 +52,7 @@ {% endfor %} - {% trans "After change please full refresh page with Ctrl + F5 "%} + {% trans "After change please full refresh page with 'Ctrl + F5' "%}
diff --git a/appsettings/views.py b/appsettings/views.py index 13bdd58..8cc6e23 100644 --- a/appsettings/views.py +++ b/appsettings/views.py @@ -1,13 +1,18 @@ +import sass +import os + from django.shortcuts import render from django.http import HttpResponseRedirect from django.urls import reverse from django.utils.translation import ugettext_lazy as _ from django.contrib.auth.decorators import login_required +from django.contrib import messages from django.conf import settings -from appsettings.models import AppSettings -import sass -import os +from appsettings.models import AppSettings +from logs.views import addlogmsg + + @login_required def appsettings(request): @@ -30,28 +35,54 @@ def appsettings(request): scss_var = f"@import '{sass_dir.value}/wvc-theme/{theme}/variables';" scss_bootswatch = f"@import '{sass_dir.value}/wvc-theme/{theme}/bootswatch';" scss_boot = f"@import '{sass_dir.value}/bootstrap-overrides.scss';" - - with open(sass_dir.value + "/wvc-main.scss", "w") as main: - main.write(scss_var + "\n" + scss_boot + "\n" + scss_bootswatch) + + try: + with open(sass_dir.value + "/wvc-main.scss", "w") as main: + main.write(scss_var + "\n" + scss_boot + "\n" + scss_bootswatch) + + css_compressed = sass.compile(string=scss_var + "\n"+ scss_boot + "\n" + scss_bootswatch, output_style='compressed') + with open("static/" + "css/wvc-main.min.css", "w") as css: + css.write(css_compressed) + + bootstrap_theme.value = theme + bootstrap_theme.save() + + msg = _(f"Theme changed. Now: {theme}") + messages.success(request, msg) + except Exception as err: + msg = err + error_messages.append(msg) - css_compressed = sass.compile(string=scss_var + "\n"+ scss_boot + "\n" + scss_bootswatch, output_style='compressed') - with open("static/" + "css/wvc-main.min.css", "w") as css: - css.write(css_compressed) - - bootstrap_theme.value = theme - bootstrap_theme.save() + addlogmsg(request.user.username, "", msg) return HttpResponseRedirect(request.get_full_path()) if 'SASS_DIR' in request.POST: - sass_dir.value = request.POST.get("SASS_DIR", "") - sass_dir.save() + try: + sass_dir.value = request.POST.get("SASS_DIR", "") + sass_dir.save() + + msg = _(f"SASS directory path is changed. Now: {sass_dir.value}") + messages.success(request, msg) + except Exception as err: + msg = err + error_messages.append(msg) + + addlogmsg(request.user.username, "", msg) return HttpResponseRedirect(request.get_full_path()) if 'VIEW_INSTANCE_DETAIL_BOTTOM_BAR' in request.POST: - show_inst_bottom_bar.value = request.POST.get("VIEW_INSTANCE_DETAIL_BOTTOM_BAR", "") - show_inst_bottom_bar.save() - return HttpResponseRedirect(request.get_full_path()) + try: + show_inst_bottom_bar.value = request.POST.get("VIEW_INSTANCE_DETAIL_BOTTOM_BAR", "") + show_inst_bottom_bar.save() + msg = _(f"Show bottom bar setting is changed. Now: {show_inst_bottom_bar.value}") + messages.success(request, msg) + except Exception as err: + msg = err + error_messages.append(msg) + + addlogmsg(request.user.username, "", msg) + return HttpResponseRedirect(request.get_full_path()) return render(request, 'appsettings.html', locals())