From 86e1fd79ce8ff8b3cd8c3d685dc2444b99144508 Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Thu, 21 Oct 2010 21:33:24 -0300 Subject: [PATCH] Add back support for managing enterprises directly from menu --- app/models/user.rb | 2 ++ app/views/shared/user_menu.rhtml | 4 +--- public/javascripts/application.js | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index 25fd603..c348057 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -216,6 +216,7 @@ class User < ActiveRecord::Base def data_hash friends_list = {} + enterprises = person.enterprises.map { |e| { 'name' => e.short_name, 'identifier' => e.identifier } } self.person.friends.online.map do |person| friends_list[person.identifier] = { 'avatar' => person.profile_custom_icon, @@ -231,6 +232,7 @@ class User < ActiveRecord::Base 'since_year' => self.person.created_at.year, 'email_domain' => self.enable_email ? self.email_domain : nil, 'friends_list' => friends_list, + 'enterprises' => enterprises, 'amount_of_friends' => friends_list.count } end diff --git a/app/views/shared/user_menu.rhtml b/app/views/shared/user_menu.rhtml index 52dbd32..4ed6547 100644 --- a/app/views/shared/user_menu.rhtml +++ b/app/views/shared/user_menu.rhtml @@ -23,9 +23,7 @@ <%= lightbox_link_to('' + _('New article'), '/myprofile/{login}/cms/new') %> - <%# for enterprise in user.enterprises %> -
  • <%# link_to('' + (_('Manage %s') % enterprise.short_name), { :controller => 'profile_editor', :profile => enterprise.identifier, :action => 'index' }) #%>
  • - <%# end %> + diff --git a/public/javascripts/application.js b/public/javascripts/application.js index 13d6c0b..8084ee0 100644 --- a/public/javascripts/application.js +++ b/public/javascripts/application.js @@ -455,6 +455,7 @@ jQuery(function($) { if (data.login) { // logged in loggedInDataCallBack(data); + addManageEnterprisesToOldStyleMenu(data); chatOnlineUsersDataCallBack(data); } else { // not logged in @@ -487,6 +488,19 @@ jQuery(function($) { }); } + function addManageEnterprisesToOldStyleMenu(data) { + if ($('#manage-enterprises-link-template').length > 0) { + $.each(data.enterprises, function(index, enterprise) { + var item = $('
  • ' + $('#manage-enterprises-link-template').html() + '
  • '); + item.find('a[href]').each(function() { + $(this).attr('href', '/myprofile/' + enterprise.identifier); + }); + item.html(item.html().replace('{name}', enterprise.name)); + item.insertAfter('#manage-enterprises-link-template'); + }); + } + } + function chatOnlineUsersDataCallBack(data) { var content = ''; $('#chat-online-users').html($('#chat-online-users').html().replace(/%{amount}/g, data['amount_of_friends'])); -- libgit2 0.21.2