Commit 7f92419af87298e6952e6cba752569e41ee39c02

Authored by Victor Costa
1 parent 43751b88

rails3: fix ajax requests with csrf protection

app/helpers/application_helper.rb
@@ -589,7 +589,7 @@ module ApplicationHelper @@ -589,7 +589,7 @@ module ApplicationHelper
589 extra_info = extra_info.nil? ? '' : content_tag( 'span', extra_info, :class => 'extra_info' ) 589 extra_info = extra_info.nil? ? '' : content_tag( 'span', extra_info, :class => 'extra_info' )
590 links = links_for_balloon(profile) 590 links = links_for_balloon(profile)
591 content_tag('div', content_tag(tag, 591 content_tag('div', content_tag(tag,
592 - (environment.enabled?(:show_balloon_with_profile_links_when_clicked) ? link_to( content_tag( 'span', _('Profile links')), '#', :onclick => "toggleSubmenu(this, '#{profile.short_name}', #{links.to_json}); return false", :class => "menu-submenu-trigger #{trigger_class}", :url => url) : "") + 592 + (environment.enabled?(:show_balloon_with_profile_links_when_clicked) ? link_to( content_tag( 'span', _('Profile links')), '#', :onclick => "toggleSubmenu(this, '#{profile.short_name}', #{j(links.to_json)}); return false", :class => "menu-submenu-trigger #{trigger_class}", :url => url) : "") +
593 link_to( 593 link_to(
594 content_tag( 'span', profile_image( profile, size ), :class => 'profile-image' ) + 594 content_tag( 'span', profile_image( profile, size ), :class => 'profile-image' ) +
595 content_tag( 'span', h(name), :class => ( profile.class == Person ? 'fn' : 'org' ) ) + 595 content_tag( 'span', h(name), :class => ( profile.class == Person ? 'fn' : 'org' ) ) +
app/views/layouts/application-ng.html.erb
@@ -21,6 +21,8 @@ @@ -21,6 +21,8 @@
21 <script type='text/javascript'> 21 <script type='text/javascript'>
22 DEFAULT_LOADING_MESSAGE = <%="'#{ _('loading...') }'" %>; 22 DEFAULT_LOADING_MESSAGE = <%="'#{ _('loading...') }'" %>;
23 </script> 23 </script>
  24 +
  25 + <%= csrf_meta_tag %>
24 </head> 26 </head>
25 <body class="<%= body_classes %>"> 27 <body class="<%= body_classes %>">
26 <a href="#content" id="link-go-content"><span><%= _("Go to the content") %></span></a> 28 <a href="#content" id="link-go-content"><span><%= _("Go to the content") %></span></a>
public/javascripts/application.js
@@ -508,7 +508,13 @@ function new_qualifier_row(selector, select_qualifiers, delete_button) { @@ -508,7 +508,13 @@ function new_qualifier_row(selector, select_qualifiers, delete_button) {
508 508
509 // controls the display of the login/logout stuff 509 // controls the display of the login/logout stuff
510 jQuery(function($) { 510 jQuery(function($) {
511 - $.ajaxSetup({cache: false}); 511 + $.ajaxSetup({
  512 + cache: false,
  513 + headers: {
  514 + 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
  515 + }
  516 + });
  517 +
512 $.getJSON('/account/user_data', function userDataCallBack(data) { 518 $.getJSON('/account/user_data', function userDataCallBack(data) {
513 if (data.login) { 519 if (data.login) {
514 // logged in 520 // logged in