[Git][noosfero/noosfero][master] piwik: allow custom path for url
Victor Costa
gitlab at mg.gitlab.com
Thu Dec 10 15:55:52 BRST 2015
Victor Costa pushed to branch master at Noosfero / noosfero
Commits:
3bdce461 by Victor Costa at 2015-12-10T14:51:34Z
piwik: allow custom path for url
- - - - -
6 changed files:
- plugins/piwik/lib/ext/environment.rb
- plugins/piwik/lib/piwik_plugin.rb
- plugins/piwik/test/functional/piwik_plugin_test.rb
- plugins/piwik/test/unit/piwik_plugin_test.rb
- plugins/piwik/views/piwik_plugin_admin/index.html.erb
- plugins/piwik/views/tracking-code.rhtml
Changes:
=====================================
plugins/piwik/lib/ext/environment.rb
=====================================
--- a/plugins/piwik/lib/ext/environment.rb
+++ b/plugins/piwik/lib/ext/environment.rb
@@ -2,6 +2,7 @@ require_dependency 'environment'
class Environment
settings_items :piwik_domain
+ settings_items :piwik_path, :default => 'piwik'
settings_items :piwik_site_id
- attr_accessible :piwik_domain, :piwik_site_id
+ attr_accessible :piwik_domain, :piwik_site_id, :piwik_path
end
=====================================
plugins/piwik/lib/piwik_plugin.rb
=====================================
--- a/plugins/piwik/lib/piwik_plugin.rb
+++ b/plugins/piwik/lib/piwik_plugin.rb
@@ -17,7 +17,9 @@ class PiwikPlugin < Noosfero::Plugin
domain = context.environment.piwik_domain
site_id = context.environment.piwik_site_id
unless domain.blank? || site_id.blank?
- expanded_template('tracking-code.rhtml',{:domain => domain, :site_id => site_id})
+ piwik_url = "#{domain}/#{context.environment.piwik_path}"
+ piwik_url = "#{piwik_url}/" unless piwik_url.end_with?('/')
+ expanded_template('tracking-code.rhtml', {:site_id => site_id, :piwik_url => piwik_url})
end
end
=====================================
plugins/piwik/test/functional/piwik_plugin_test.rb
=====================================
--- a/plugins/piwik/test/functional/piwik_plugin_test.rb
+++ b/plugins/piwik/test/functional/piwik_plugin_test.rb
@@ -19,10 +19,12 @@ class PiwikPluginAdminControllerTest < ActionController::TestCase
should 'update piwik plugin settings' do
assert_nil @environment.reload.piwik_domain
+ assert_equal 'piwik', @environment.reload.piwik_path
assert_nil @environment.reload.piwik_site_id
- post :index, :environment => { :piwik_domain => 'http://something', :piwik_site_id => 10 }
- assert_not_nil @environment.reload.piwik_domain
- assert_not_nil @environment.reload.piwik_site_id
+ post :index, :environment => { :piwik_domain => 'something', :piwik_site_id => 10, :piwik_path => 'some_path' }
+ assert_equal 'something', @environment.reload.piwik_domain
+ assert_equal '10', @environment.reload.piwik_site_id
+ assert_equal 'some_path', @environment.reload.piwik_path
end
end
=====================================
plugins/piwik/test/unit/piwik_plugin_test.rb
=====================================
--- a/plugins/piwik/test/unit/piwik_plugin_test.rb
+++ b/plugins/piwik/test/unit/piwik_plugin_test.rb
@@ -39,4 +39,19 @@ class PiwikPluginTest < ActiveSupport::TestCase
assert_respond_to Environment.new, :piwik_site_id
end
+ should 'set default path to piwik' do
+ @environment.piwik_domain = 'piwik.domain.example.com'
+ @environment.piwik_site_id = 5
+ @plugin.expects(:expanded_template).with('tracking-code.rhtml', {:site_id => @environment.piwik_site_id, :piwik_url => "piwik.domain.example.com/piwik/"})
+ @plugin.body_ending
+ end
+
+ should 'allow empty path in piwik url' do
+ @environment.piwik_domain = 'piwik.domain.example.com'
+ @environment.piwik_path = ''
+ @environment.piwik_site_id = 5
+ @plugin.expects(:expanded_template).with('tracking-code.rhtml', {:site_id => @environment.piwik_site_id, :piwik_url => "piwik.domain.example.com/"})
+ @plugin.body_ending
+ end
+
end
=====================================
plugins/piwik/views/piwik_plugin_admin/index.html.erb
=====================================
--- a/plugins/piwik/views/piwik_plugin_admin/index.html.erb
+++ b/plugins/piwik/views/piwik_plugin_admin/index.html.erb
@@ -4,6 +4,8 @@
<%= labelled_form_field _('Piwik domain'), f.text_field(:piwik_domain) %>
+ <%= labelled_form_field _('Piwik path'), f.text_field(:piwik_path) %>
+
<%= labelled_form_field _('Piwik site id'), f.text_field(:piwik_site_id) %>
<% button_bar do %>
=====================================
plugins/piwik/views/tracking-code.rhtml
=====================================
--- a/plugins/piwik/views/tracking-code.rhtml
+++ b/plugins/piwik/views/tracking-code.rhtml
@@ -4,12 +4,12 @@
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
- var u=(("https:" == document.location.protocol) ? "https" : "http") + "://<%= escape_javascript locals[:domain] %>/piwik/";
+ var u=(("https:" == document.location.protocol) ? "https" : "http") + "://<%= escape_javascript locals[:piwik_url] %>";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', <%= escape_javascript locals[:site_id] %>]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript';
g.defer=true; g.async=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
-<noscript><p><img src="http://<%= escape_javascript locals[:domain] %>/piwik/piwik.php?idsite=<%= escape_javascript locals[:site_id] %>" style="border:0;" alt="" /></p></noscript>
+<noscript><p><img src="http://<%= escape_javascript locals[:piwik_url] %>piwik.php?idsite=<%= escape_javascript locals[:site_id] %>" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
View it on GitLab: https://gitlab.com/noosfero/noosfero/commit/3bdce46182d68be9fb2663b4d692ebed38120b9c
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20151210/89ae7507/attachment.html>
More information about the Noosfero-dev
mailing list