Commit 86e1fd79ce8ff8b3cd8c3d685dc2444b99144508
1 parent
7af94bbc
Exists in
master
and in
23 other branches
Add back support for managing enterprises directly from menu
(ActionItem1608)
Showing
3 changed files
with
17 additions
and
3 deletions
Show diff stats
app/models/user.rb
| @@ -216,6 +216,7 @@ class User < ActiveRecord::Base | @@ -216,6 +216,7 @@ class User < ActiveRecord::Base | ||
| 216 | 216 | ||
| 217 | def data_hash | 217 | def data_hash |
| 218 | friends_list = {} | 218 | friends_list = {} |
| 219 | + enterprises = person.enterprises.map { |e| { 'name' => e.short_name, 'identifier' => e.identifier } } | ||
| 219 | self.person.friends.online.map do |person| | 220 | self.person.friends.online.map do |person| |
| 220 | friends_list[person.identifier] = { | 221 | friends_list[person.identifier] = { |
| 221 | 'avatar' => person.profile_custom_icon, | 222 | 'avatar' => person.profile_custom_icon, |
| @@ -231,6 +232,7 @@ class User < ActiveRecord::Base | @@ -231,6 +232,7 @@ class User < ActiveRecord::Base | ||
| 231 | 'since_year' => self.person.created_at.year, | 232 | 'since_year' => self.person.created_at.year, |
| 232 | 'email_domain' => self.enable_email ? self.email_domain : nil, | 233 | 'email_domain' => self.enable_email ? self.email_domain : nil, |
| 233 | 'friends_list' => friends_list, | 234 | 'friends_list' => friends_list, |
| 235 | + 'enterprises' => enterprises, | ||
| 234 | 'amount_of_friends' => friends_list.count | 236 | 'amount_of_friends' => friends_list.count |
| 235 | } | 237 | } |
| 236 | end | 238 | end |
app/views/shared/user_menu.rhtml
| @@ -23,9 +23,7 @@ | @@ -23,9 +23,7 @@ | ||
| 23 | <%= lightbox_link_to('<span class="icon-new"></span>' + _('New article'), '/myprofile/{login}/cms/new') %> | 23 | <%= lightbox_link_to('<span class="icon-new"></span>' + _('New article'), '/myprofile/{login}/cms/new') %> |
| 24 | </li> | 24 | </li> |
| 25 | 25 | ||
| 26 | - <%# for enterprise in user.enterprises %> | ||
| 27 | - <li><%# link_to('<span class="icon-menu-enterprise"></span>' + (_('Manage %s') % enterprise.short_name), { :controller => 'profile_editor', :profile => enterprise.identifier, :action => 'index' }) #%></li> | ||
| 28 | - <%# end %> | 26 | + <li id='manage-enterprises-link-template' style='display: none'><a href='/myprofile/{identifier}'><span class="icon-menu-enterprise"></span><%= _('Manage %s') % '{name}' %></a></li> |
| 29 | 27 | ||
| 30 | <!-- li><a href="#"><span class="icon-menu-blog"></span> Meu Blog</a></li --> | 28 | <!-- li><a href="#"><span class="icon-menu-blog"></span> Meu Blog</a></li --> |
| 31 | 29 |
public/javascripts/application.js
| @@ -455,6 +455,7 @@ jQuery(function($) { | @@ -455,6 +455,7 @@ jQuery(function($) { | ||
| 455 | if (data.login) { | 455 | if (data.login) { |
| 456 | // logged in | 456 | // logged in |
| 457 | loggedInDataCallBack(data); | 457 | loggedInDataCallBack(data); |
| 458 | + addManageEnterprisesToOldStyleMenu(data); | ||
| 458 | chatOnlineUsersDataCallBack(data); | 459 | chatOnlineUsersDataCallBack(data); |
| 459 | } else { | 460 | } else { |
| 460 | // not logged in | 461 | // not logged in |
| @@ -487,6 +488,19 @@ jQuery(function($) { | @@ -487,6 +488,19 @@ jQuery(function($) { | ||
| 487 | }); | 488 | }); |
| 488 | } | 489 | } |
| 489 | 490 | ||
| 491 | + function addManageEnterprisesToOldStyleMenu(data) { | ||
| 492 | + if ($('#manage-enterprises-link-template').length > 0) { | ||
| 493 | + $.each(data.enterprises, function(index, enterprise) { | ||
| 494 | + var item = $('<li>' + $('#manage-enterprises-link-template').html() + '</li>'); | ||
| 495 | + item.find('a[href]').each(function() { | ||
| 496 | + $(this).attr('href', '/myprofile/' + enterprise.identifier); | ||
| 497 | + }); | ||
| 498 | + item.html(item.html().replace('{name}', enterprise.name)); | ||
| 499 | + item.insertAfter('#manage-enterprises-link-template'); | ||
| 500 | + }); | ||
| 501 | + } | ||
| 502 | + } | ||
| 503 | + | ||
| 490 | function chatOnlineUsersDataCallBack(data) { | 504 | function chatOnlineUsersDataCallBack(data) { |
| 491 | var content = ''; | 505 | var content = ''; |
| 492 | $('#chat-online-users').html($('#chat-online-users').html().replace(/%{amount}/g, data['amount_of_friends'])); | 506 | $('#chat-online-users').html($('#chat-online-users').html().replace(/%{amount}/g, data['amount_of_friends'])); |