From 1591467655b6045108f88e8ac2d8b6a069ef4bb1 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Thu, 17 Jul 2014 22:45:16 +0200 Subject: [PATCH] Helper instead of template. --- app/helpers/projects_helper.rb | 22 +++++++++++++++++++ app/views/projects/_home_panel.html.haml | 15 +++---------- .../projects/_link_to_toggle_star.html.haml | 13 ----------- 3 files changed, 25 insertions(+), 25 deletions(-) delete mode 100644 app/views/projects/_link_to_toggle_star.html.haml diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index bc2ec84302d..1304e2dea23 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -122,6 +122,28 @@ module ProjectsHelper options_for_select(values, current_tracker) end + def link_to_toggle_star(title, starred, signed_in) + cls = 'btn' + cls += ' disabled' unless signed_in + content_tag 'span', class: starred ? 'turn-on' : 'turn-off' do + link_to toggle_star_project_path(@project), + title: title, class: cls, method: :post, remote: true, + data: {type: 'json'} do + content_tag('span', class: 'toggle') do + content_tag('i', ' ', class: 'icon-star') << + if starred + 'Unstar' + else + 'Star' + end + end << + content_tag('span', class: 'count') do + @project.star_count.to_s + end + end + end + end + private def get_project_nav_tabs(project, current_user) diff --git a/app/views/projects/_home_panel.html.haml b/app/views/projects/_home_panel.html.haml index 419b50a1141..bf9301d70c4 100644 --- a/app/views/projects/_home_panel.html.haml +++ b/app/views/projects/_home_panel.html.haml @@ -36,16 +36,7 @@ %span.light.prepend-left-20= repository_size %span.star.js-toggler-container{class: @show_star ? 'on' : ''} - if current_user - = render 'link_to_toggle_star', - title: 'Star this project.', - starred: false, - signed_in: true - = render 'link_to_toggle_star', - title: 'Unstar this project.', - starred: true, - signed_in: true + = link_to_toggle_star('Star this project.', false, true) + = link_to_toggle_star('Unstar this project.', true, true) - else - = render 'link_to_toggle_star', - title: 'You must sign in to star a project.', - starred: false, - signed_in: false + = link_to_toggle_star('You must sign in to star a project.', false, false) diff --git a/app/views/projects/_link_to_toggle_star.html.haml b/app/views/projects/_link_to_toggle_star.html.haml deleted file mode 100644 index 7d41578c8f3..00000000000 --- a/app/views/projects/_link_to_toggle_star.html.haml +++ /dev/null @@ -1,13 +0,0 @@ -- cls = 'btn' -- cls += ' disabled' unless signed_in -%span{class: starred ? 'turn-on' : 'turn-off'} - = link_to toggle_star_project_path(@project), title: title, - class: cls, method: :post, remote: true, data: {type: 'json'} do - %span.toggle<> - %i.icon-star - - if starred - Unstar - - else - Star - %span.count<> - = @project.star_count