def get_user_color_theme(username): """ Get current user color theme """ try: user_theme = ColorTheme.objects.filter(user=username).get() user_theme_name = user_theme.name if not user_theme_name or not ColorTheme.is_valid_choice(user_theme): user_theme_name = 'default' except ColorTheme.DoesNotExist: user_theme_name = 'default' return user_theme_name
def get_color_theme_css(username): try: user_theme = ColorTheme.objects.filter(user=username).get() user_theme_name = user_theme.name if not user_theme_name or not ColorTheme.is_valid_choice(user_theme): user_theme_name = 'default' except ColorTheme.DoesNotExist: user_theme_name = 'default' # Build path to CSS sheet inventree_css_sheet = os.path.join('css', 'color-themes', user_theme_name + '.css') # Build static URL inventree_css_static_url = os.path.join(settings.STATIC_URL, inventree_css_sheet) return inventree_css_static_url
def get(self, request, *args, **kwargs): """ Check if current color theme exists, else display alert box """ context = {} form = self.get_form() context['form'] = form user_theme = self.get_user_theme() if user_theme: # Check color theme is a valid choice if not ColorTheme.is_valid_choice(user_theme): user_color_theme_name = user_theme.name if not user_color_theme_name: user_color_theme_name = 'default' context['invalid_color_theme'] = user_color_theme_name return self.render_to_response(context)