Commit 2a1ea20528e44e636dfd1f7ddfdbcec3ee3d8da0
1 parent
05b73d10
Exists in
master
and in
29 other branches
ActionItem111: added more links to the user_options bar
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@727 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
4 changed files
with
46 additions
and
11 deletions
Show diff stats
app/controllers/public/home_controller.rb
app/helpers/application_helper.rb
| ... | ... | @@ -115,14 +115,20 @@ module ApplicationHelper |
| 115 | 115 | # FIXME: uncomment "My enterprises" links |
| 116 | 116 | def user_links |
| 117 | 117 | links = [ |
| 118 | - ( link_to_homepage(current_user.login) ), | |
| 119 | - ( link_to(_('My account'), { :controller => 'account' }) ), | |
| 118 | + ( link_to_homepage( _('My account') )), | |
| 120 | 119 | ( link_to_myprofile _('My Enterprises'), {:controller => 'membership_editor'} ), |
| 121 | 120 | ( link_to(_('Admin'), { :controller => 'admin_panel' }) if current_user.person.is_admin?), |
| 121 | + ( link_to_document (about_document), _('About') if about_document ), | |
| 122 | 122 | ].join("\n") |
| 123 | 123 | content_tag('span', links, :id => 'user_links') |
| 124 | 124 | end |
| 125 | 125 | |
| 126 | + def about_document | |
| 127 | + Article.find_all_by_title('About').select do |a| | |
| 128 | + a.full_path.split(/\//).shift == 'noosfero' | |
| 129 | + end[0] | |
| 130 | + end | |
| 131 | + | |
| 126 | 132 | def header |
| 127 | 133 | login_or_register_or_logout |
| 128 | 134 | end |
| ... | ... | @@ -190,30 +196,58 @@ module ApplicationHelper |
| 190 | 196 | ] |
| 191 | 197 | end |
| 192 | 198 | |
| 199 | + def myprofile_links | |
| 200 | + links = [ | |
| 201 | + [(link_to _('Change password'), {:controller => 'account', :action => 'change_password'}), 'edit_profile', profile] | |
| 202 | + ] | |
| 203 | + end | |
| 204 | + | |
| 205 | + def about_links | |
| 206 | + links = [ | |
| 207 | + [(link_to _('Report bug'), 'http://www.colivre.coop.br/Noosfero/BugItem')], | |
| 208 | + ] | |
| 209 | + end | |
| 210 | + | |
| 211 | + def design_links | |
| 212 | + links = [ | |
| 213 | + [(link_to _('Change template'), :controller => 'profile_editor', :action => 'design_editor_change_template')], | |
| 214 | + [(link_to _('Change block theme'), :controller => 'profile_editor', :action => 'design_editor_change_theme')], | |
| 215 | + [(link_to _('Change icon theme'), :controller => 'profile_editor', :action => 'design_editor_change_icon_theme')], | |
| 216 | + ] | |
| 217 | + end | |
| 193 | 218 | |
| 194 | - #FIXME: find a way of accessing environment from here | |
| 195 | 219 | def user_options |
| 196 | - profile = params[:profile] | |
| 220 | + profile = Profile.find_by_identifier(params[:profile]) | |
| 197 | 221 | case params[:controller] |
| 198 | 222 | when 'admin_panel' |
| 199 | 223 | admin_links |
| 200 | 224 | when 'membership_editor' |
| 201 | 225 | membership_links |
| 202 | 226 | when 'profile_editor' |
| 203 | - if profile.kind_of?(Enterprise) | |
| 227 | + if profile.kind_of?(Enterprise) && params[:action] == 'index' | |
| 204 | 228 | enterprise_links |
| 205 | - elsif profile.kind_of?(Person) | |
| 206 | - person_links | |
| 229 | + elsif profile.kind_of?(Person) && params[:action] == 'index' | |
| 230 | + myprofile_links | |
| 231 | + elsif params[:action] == 'design_editor' | |
| 232 | + design_links | |
| 207 | 233 | else |
| 208 | 234 | [] |
| 209 | 235 | end |
| 210 | 236 | when 'content_viewer' |
| 211 | - person_links | |
| 237 | + if params[:profile] == 'noosfero' && params[:page][0] == 'about' | |
| 238 | + about_links | |
| 239 | + else | |
| 240 | + person_links | |
| 241 | + end | |
| 212 | 242 | else |
| 213 | 243 | [] |
| 214 | 244 | end.map{|l| link_if_permitted(l[0], l[1], l[2]) } |
| 215 | 245 | end |
| 216 | 246 | |
| 247 | + def accessibility_link | |
| 248 | + link_to _('Accessibility') | |
| 249 | + end | |
| 250 | + | |
| 217 | 251 | def footer |
| 218 | 252 | # FIXME: add some information from the environment |
| 219 | 253 | [ | ... | ... |
app/views/layouts/application.rhtml
| ... | ... | @@ -63,7 +63,8 @@ |
| 63 | 63 | <div id='noosfero_bar' class='category<%= category_color %>'> |
| 64 | 64 | <div id='top_bar' class='category<%= category_color %>'> |
| 65 | 65 | <div id='accessibility_menu'> |
| 66 | - <a href='#content' title='Ir para o conteúdo'>Ir para conteúdo</a> | |
| 66 | + <a href='#content' title='Ir para o conteúdo'>Ir para conteúdo</a> | |
| 67 | + <%= accessibility_link %> | |
| 67 | 68 | <a href='#'>Acessibilidade</a> |
| 68 | 69 | </div><!-- accessibility_menu --> |
| 69 | 70 | <div id='path_category'> | ... | ... |
script/populate
| 1 | 1 | #!/usr/bin/env ruby |
| 2 | 2 | require File.dirname(__FILE__) + '/../config/environment' |
| 3 | 3 | |
| 4 | -anhetegua = Profile.create!(:name => 'anhetegua', :identifier => 'anhetegua') | |
| 4 | +anhetegua = Profile.create!(:name => 'noosfero', :identifier => 'noosfero') | |
| 5 | 5 | |
| 6 | 6 | User.create!(:login => 'testprofile', :email => 'admin@localhost.localdomain', :password => 'test', :password_confirmation => 'test') |
| 7 | 7 | User.create!(:login => 'user', :email => 'user@localhost.localdomain', :password => 'user', :password_confirmation => 'user') | ... | ... |