From 3555eccdccc0ea67459fabf0a12b85e31b017758 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 8 Nov 2018 20:33:26 +0100 Subject: Allow deactivation of "auto-pin" and of "pin menu" in the profile (refs #4307) --- ishtar_common/context_processors.py | 8 ++++-- .../migrations/0075_auto_20181108_1908.py | 25 +++++++++++++++++ ishtar_common/models.py | 3 ++ ishtar_common/static/js/ishtar.js | 32 ++++++++++++---------- ishtar_common/templates/base.html | 8 +++++- ishtar_common/wizards.py | 18 ++++++++---- 6 files changed, 70 insertions(+), 24 deletions(-) create mode 100644 ishtar_common/migrations/0075_auto_20181108_1908.py (limited to 'ishtar_common') diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py index 8c965f99f..0dc907ffd 100644 --- a/ishtar_common/context_processors.py +++ b/ishtar_common/context_processors.py @@ -61,10 +61,12 @@ def get_base_context(request): session=request.session) menu.init() - if hasattr(request.user, 'ishtaruser') and request.user.ishtaruser and \ - request.user.ishtaruser.has_right('administrator', + if hasattr(request.user, 'ishtaruser') and request.user.ishtaruser: + if request.user.ishtaruser.has_right('administrator', session=request.session): - dct['ADMIN'] = True + dct['ADMIN'] = True + if request.user.ishtaruser.current_profile.display_pin_menu: + dct['DISPLAY_PIN_MENU'] = True if menu.selected_idx is not None: dct['current_theme'] = "theme-%d" % (menu.selected_idx + 1) dct['MENU'] = menu diff --git a/ishtar_common/migrations/0075_auto_20181108_1908.py b/ishtar_common/migrations/0075_auto_20181108_1908.py new file mode 100644 index 000000000..813b93117 --- /dev/null +++ b/ishtar_common/migrations/0075_auto_20181108_1908.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-11-08 19:08 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0074_auto_20181017_1854'), + ] + + operations = [ + migrations.AddField( + model_name='userprofile', + name='auto_pin', + field=models.BooleanField(default=False, verbose_name='Automatically pin'), + ), + migrations.AddField( + model_name='userprofile', + name='display_pin_menu', + field=models.BooleanField(default=False, verbose_name='Display pin menu'), + ), + ] diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 82c754fa0..648280ad2 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3197,6 +3197,9 @@ class UserProfile(models.Model): current = models.BooleanField(_(u"Current profile"), default=False) show_field_number = models.BooleanField( _(u"Show field number"), default=False) + auto_pin = models.BooleanField(_(u"Automatically pin"), default=False) + display_pin_menu = models.BooleanField(_(u"Display pin menu"), + default=False) person = models.ForeignKey( Person, verbose_name=_(u"Person"), related_name='profiles') diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 9846b4f1a..b9e9d6844 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -41,6 +41,7 @@ function get_previous_table_id(){} var datatable_submit_search = function() {}; var shortcut_url = ''; +var show_shortcut_menu = false; var alert_url = ''; var debug = false; var datatables_i18n; @@ -277,22 +278,25 @@ function load_opened_shortcut_menu(){ } function load_shortcut_menu(opened){ - if (!shortcut_url) return; $('.modal-progress').modal('show'); - $.ajax({ - url: shortcut_url, - cache: false, - success:function(html){ - init_shortcut_menu(html); - load_alerts(); - if(opened){ - $("#dropdown-toggle-shortcut-menu").click(); + if (show_shortcut_menu && shortcut_url){ + $.ajax({ + url: shortcut_url, + cache: false, + success:function(html){ + init_shortcut_menu(html); + load_alerts(); + if(opened){ + $("#dropdown-toggle-shortcut-menu").click(); + } + }, + error:function(XMLHttpRequest, textStatus, errorThrows){ + close_wait(); } - }, - error:function(XMLHttpRequest, textStatus, errorThrows){ - close_wait(); - } - }); + }); + } else { + load_alerts(); + } } var load_alerts = function(){ diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html index ef3060a5f..a4d09c878 100644 --- a/ishtar_common/templates/base.html +++ b/ishtar_common/templates/base.html @@ -31,6 +31,7 @@ {{EXTRA_JS|safe}}