From 37a65f2890e7d490ca20ec3ba8e63fde9a2b7606 Mon Sep 17 00:00:00 2001 From: llj Date: Sat, 8 Feb 2014 14:44:44 +0800 Subject: [PATCH] [top nav] improved 'groups' nav --- media/js/base.js | 29 +++++++++++++++------------ seahub/base/context_processors.py | 5 +++++ seahub/templates/base.html | 20 ------------------ seahub/templates/myhome_base.html | 21 +++++++++++++------ seahub/templates/snippets/groups.html | 11 ---------- seahub/urls.py | 1 - seahub/views/ajax.py | 16 +-------------- 7 files changed, 37 insertions(+), 66 deletions(-) delete mode 100644 seahub/templates/snippets/groups.html diff --git a/media/js/base.js b/media/js/base.js index 60d757c579..42312d9797 100644 --- a/media/js/base.js +++ b/media/js/base.js @@ -16,6 +16,14 @@ if ($('.messages')[0]) { setTimeout(function() { $('.messages').addClass('hide'); }, 10000); } +$('#top-nav-grp').click(function() { + var grp_nav = $(this), + popup = $('#top-nav-grp-info'); + popup.css({'right': (grp_nav.outerWidth() - popup.outerWidth())/2}); + popup.toggleClass('hide'); + return false; +}); + $(document).ready(function(){ var msg_ct = $("#msg-count"); $.ajax({ @@ -36,12 +44,6 @@ $('#msg-count').click(function() { (function () { var my_info = $('#my-info'); var popup = $('#user-info-popup'); - - $(window).load(function() { - if (my_info.length > 0) { // before login, no 'my_info' - popup.css({'right': my_info.parent().width() - my_info.position().left - my_info.outerWidth()}); - } - }); my_info.click(function() { var loading_tip = $('.loading-tip', popup); if (popup.hasClass('hide')) { @@ -62,14 +64,15 @@ $('#msg-count').click(function() { return false; }); })(); - $(document).click(function(e) { - var target = e.target || event.srcElement, - popup = $('#user-info-popup'), - popup_switch = $('#my-info'); - if (!popup.hasClass('hide') && !popup.is(target) && !popup.find('*').is(target) && !popup_switch.is(target) && !popup_switch.find('*').is(target) ) { - popup.addClass('hide'); - } + var target = e.target || event.srcElement; + var closePopup = function(popup, popup_switch) { + if (!popup.hasClass('hide') && !popup.is(target) && !popup.find('*').is(target) && !popup_switch.is(target) && !popup_switch.find('*').is(target) ) { + popup.addClass('hide'); + } + }; + closePopup($('#user-info-popup'), $('#my-info')); + closePopup($('#top-nav-grp-info'), $('#top-nav-grp')); }); // search: disable submit when input nothing diff --git a/seahub/base/context_processors.py b/seahub/base/context_processors.py index f5990f6797..4d8bbc52b3 100644 --- a/seahub/base/context_processors.py +++ b/seahub/base/context_processors.py @@ -11,6 +11,7 @@ from seahub.settings import SEAFILE_VERSION, SITE_TITLE, SITE_NAME, SITE_BASE, \ SHOW_REPO_DOWNLOAD_BUTTON, REPO_PASSWORD_MIN_LENGTH from seahub.views.modules import get_enabled_mods_by_user, \ get_available_mods_by_user +from seaserv import get_personal_groups_by_user try: from seahub.settings import SEACLOUD_MODE @@ -44,6 +45,9 @@ def base(request): mods_available = get_available_mods_by_user(username) mods_enabled = get_enabled_mods_by_user(username) + # get groups + grps = get_personal_groups_by_user(username)[:4] + return { 'seafile_version': SEAFILE_VERSION, 'site_title': SITE_TITLE, @@ -65,4 +69,5 @@ def base(request): 'events_enabled': EVENTS_ENABLED, 'mods_available': mods_available, 'mods_enabled': mods_enabled, + 'grps': grps, } diff --git a/seahub/templates/base.html b/seahub/templates/base.html index 0cf8171c81..8b1fd1165a 100644 --- a/seahub/templates/base.html +++ b/seahub/templates/base.html @@ -129,26 +129,6 @@