diff --git a/app/helpers/macros_helper.rb b/app/helpers/macros_helper.rb index 32bb648..8cf8bbf 100644 --- a/app/helpers/macros_helper.rb +++ b/app/helpers/macros_helper.rb @@ -67,13 +67,12 @@ module MacrosHelper def macro_default_generator(macro) code = "var params = {};" - macro_name = macro.name.undescore configuration = macro_configuration(macro) configuration[:params].map do |field| code += "params.#{field[:name]} = jQuery('*[name=#{field[:name]}]', dialog).val();" end code + " - var html = jQuery('
'+#{macro_title(macro).to_json}+'
')[0]; + var html = jQuery('
'+#{macro_title(macro).to_json}+'
')[0]; for(key in params) html.setAttribute('data-macro-'+key,params[key]); return html.outerHTML; " diff --git a/app/views/shared/tiny_mce.rhtml b/app/views/shared/tiny_mce.rhtml index 1ec8bc5..28d5024 100644 --- a/app/views/shared/tiny_mce.rhtml +++ b/app/views/shared/tiny_mce.rhtml @@ -12,7 +12,7 @@ first_line = "print,separator,copy,paste,separator,undo,redo,separator,search,replace,separator,forecolor,fontsizeselect,formatselect" second_line = "bold,italic,underline,strikethrough,separator,bullist,numlist,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,link,unlink,image,table,separator,cleanup,code,macros" <% macros_with_buttons.each do |macro| %> - second_line += ',<%=macro.name.underscore %>' + second_line += ',<%=macro.identifier %>' <% end %> <% end %> @@ -76,7 +76,7 @@ tinyMCE.init({ entity_encoding: 'raw', setup : function(ed) { <% macros_with_buttons.each do |macro| %> - ed.addButton('<%= macro.name.underscore %>', { + ed.addButton('<%= macro.identifier %>', { title: <%= macro_title(macro).to_json %>, onclick: <%= generate_macro_config_dialog(macro) %>, image : '<%= macro.configuration[:icon_path]%>' diff --git a/lib/noosfero/plugin/macro.rb b/lib/noosfero/plugin/macro.rb index aedf374..13a1868 100644 --- a/lib/noosfero/plugin/macro.rb +++ b/lib/noosfero/plugin/macro.rb @@ -2,12 +2,18 @@ class Noosfero::Plugin::Macro attr_accessor :context - def self.configuration -# {:generator => ''} - end + class << self + def configuration + # {:generator => ''} + end - def self.plugin - name.split('::')[0...-1].join('::').constantize + def plugin + name.split('::')[0...-1].join('::').constantize + end + + def identifier + name.underscore + end end def initialize(context=nil) diff --git a/lib/noosfero/plugin/manager.rb b/lib/noosfero/plugin/manager.rb index 184ae31..987f049 100644 --- a/lib/noosfero/plugin/manager.rb +++ b/lib/noosfero/plugin/manager.rb @@ -66,7 +66,7 @@ class Noosfero::Plugin::Manager def enabled_macros @enabled_macros ||= dispatch(:macros).inject({}) do |memo, macro| - memo.merge!(macro.name.underscore => macro.new(context)) + memo.merge!(macro.identifier => macro.new(context)) end.merge('default' => Noosfero::Plugin::Macro.new(context)) end diff --git a/test/unit/application_helper_test.rb b/test/unit/application_helper_test.rb index 8fa22bb..4cc0fdd 100644 --- a/test/unit/application_helper_test.rb +++ b/test/unit/application_helper_test.rb @@ -678,8 +678,8 @@ class ApplicationHelperTest < ActiveSupport::TestCase environment = Environment.default environment.enable_plugin(Plugin1) @plugins = Noosfero::Plugin::Manager.new(environment, self) - macro1_name = Plugin1::Macro1.name.underscore - macro2_name = Plugin1::Macro2.name.underscore + macro1_name = Plugin1::Macro1.identifier + macro2_name = Plugin1::Macro2.identifier html = "
diff --git a/test/unit/plugin_manager_test.rb b/test/unit/plugin_manager_test.rb index 78cbc10..47e9678 100644 --- a/test/unit/plugin_manager_test.rb +++ b/test/unit/plugin_manager_test.rb @@ -190,8 +190,8 @@ class PluginManagerTest < ActiveSupport::TestCase environment.enable_plugin(Plugin1) macro = 'My name is %{name}!' - assert_equal 'My name is Macro1!', manager.parse_macro(Plugin1::Macro1.name.underscore, macro) - assert_equal 'My name is Macro2!', manager.parse_macro(Plugin1::Macro2.name.underscore, macro) + assert_equal 'My name is Macro1!', manager.parse_macro(Plugin1::Macro1.identifier, macro) + assert_equal 'My name is Macro2!', manager.parse_macro(Plugin1::Macro2.identifier, macro) end end -- libgit2 0.21.2