diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 785f84291..73f9aa678 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -73,8 +73,12 @@ module ProjectsHelper # Renders the projects index def render_project_hierarchy(projects) + bookmarked_project_ids = User.current.bookmarked_project_ids render_project_nested_lists(projects) do |project| - s = link_to_project(project, {}, :class => "#{project.css_classes} #{User.current.member_of?(project) ? 'icon icon-user my-project' : nil}") + classes = project.css_classes.split + classes += %w(icon icon-user my-project) if User.current.member_of?(project) + classes += %w(icon icon-bookmarked-project) if bookmarked_project_ids.include?(project.id) + s = link_to_project(project, {}, :class => classes.uniq.join(' ')) if project.description.present? s << content_tag('div', textilizable(project.short_description, :project => project), :class => 'wiki description') end diff --git a/app/helpers/projects_queries_helper.rb b/app/helpers/projects_queries_helper.rb index 24daa016c..07aed0929 100644 --- a/app/helpers/projects_queries_helper.rb +++ b/app/helpers/projects_queries_helper.rb @@ -23,7 +23,9 @@ module ProjectsQueriesHelper if item.is_a?(Project) case column.name when :name - link_to_project(item) + (content_tag('span', '', :class => 'icon icon-user my-project', :title => l(:label_my_projects)) if User.current.member_of?(item)) + link_to_project(item) + + (tag.span(class: 'icon icon-user my-project', title: l(:label_my_projects)) if User.current.member_of?(item)) + + (tag.span(class: 'icon icon-bookmarked-project', title: l(:label_my_bookmarks)) if User.current.bookmarked_project_ids.include?(item.id)) when :short_description item.description? ? content_tag('div', textilizable(item, :short_description), :class => "wiki") : '' when :homepage diff --git a/app/views/projects/index.html.erb b/app/views/projects/index.html.erb index 051bc0561..adf6b868f 100644 --- a/app/views/projects/index.html.erb +++ b/app/views/projects/index.html.erb @@ -21,6 +21,7 @@ <% if User.current.logged? %>

<%= l(:label_my_projects) %> +<%= l(:label_my_bookmarks) %>

<% end %> diff --git a/public/images/tag_blue.png b/public/images/tag_blue.png new file mode 100644 index 000000000..9757fc6ed Binary files /dev/null and b/public/images/tag_blue.png differ diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index a32030039..78857fcc3 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -695,7 +695,13 @@ ul.projects div.description li {list-style-type:initial;} #projects-index ul.projects div.description { padding-top: 0.5em; } -#projects-index a.icon-user {padding-left:0; padding-right:20px; background-position:98% 50%;} +#projects-index a.icon-user, a.icon-bookmarked-project {padding-left:0; padding-right:20px; background-position:98% 50%;} +#projects-index a.icon-user.icon-bookmarked-project { + background-image: url(../images/tag_blue.png), url(../images/user.png); + background-position: bottom 0px right 0px, bottom 0px right 20px; + padding-right: 40px; + padding-top: 4px; +} #notified-projects>ul, #tracker_project_ids>ul, #custom_field_project_ids>ul {max-height:250px; overflow-y:auto;} @@ -1566,6 +1572,7 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { .icon-collapsed { background-image: url(../images/arrow_right.png); } .icon-bookmark { background-image: url(../images/tag_blue_delete.png); } .icon-bookmark-off { background-image: url(../images/tag_blue_add.png); } +.icon-bookmarked-project { background-image: url(../images/tag_blue.png); } .icon-sorted-asc { background-image: url(../images/arrow_down.png); } .icon-sorted-desc { background-image: url(../images/arrow_up.png); } .icon-toggle-plus { background-image: url(../images/bullet_toggle_plus.png) }