From 333ddfad3108a35d03683434a54660e20716c2b5 Mon Sep 17 00:00:00 2001 From: Diego Araújo + João M. M. da Silva Date: Tue, 31 Jan 2012 16:44:00 +0300 Subject: [PATCH] Displaying a 'new kalibro configuration' page --- plugins/mezuro/lib/mezuro_plugin.rb | 5 +++-- plugins/mezuro/lib/mezuro_plugin/kalibro_configuration.rb | 44 ++++++++++++++++++++++++++++++++++++++++++++ plugins/mezuro/views/cms/mezuro_plugin/_kalibro_configuration.html.erb | 20 ++++++++++++++++++++ 3 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 plugins/mezuro/lib/mezuro_plugin/kalibro_configuration.rb create mode 100644 plugins/mezuro/views/cms/mezuro_plugin/_kalibro_configuration.html.erb diff --git a/plugins/mezuro/lib/mezuro_plugin.rb b/plugins/mezuro/lib/mezuro_plugin.rb index 5327e8e..8b36374 100644 --- a/plugins/mezuro/lib/mezuro_plugin.rb +++ b/plugins/mezuro/lib/mezuro_plugin.rb @@ -9,7 +9,8 @@ class MezuroPlugin < Noosfero::Plugin end def content_types - MezuroPlugin::ProjectContent + [MezuroPlugin::ProjectContent, + MezuroPlugin::KalibroConfiguration] end def stylesheet? @@ -20,4 +21,4 @@ class MezuroPlugin < Noosfero::Plugin ['javascripts/results.js', 'javascripts/toogle.js'] end -end \ No newline at end of file +end diff --git a/plugins/mezuro/lib/mezuro_plugin/kalibro_configuration.rb b/plugins/mezuro/lib/mezuro_plugin/kalibro_configuration.rb new file mode 100644 index 0000000..730f513 --- /dev/null +++ b/plugins/mezuro/lib/mezuro_plugin/kalibro_configuration.rb @@ -0,0 +1,44 @@ +class MezuroPlugin::KalibroConfiguration < Article + + def self.short_description + 'Kalibro configuration' + end + + def self.description + 'Kalibro configuration for some project' + end + + settings_items :description + + include ActionView::Helpers::TagHelper + def to_html(options = {}) + lambda do + render :file => 'content_viewer/show_configuration.rhtml' + end + end + + def configuration + Kalibro::Client::ConfigurationClient.new.configuration(title) + end + + after_save :send_configuration_to_service + after_destroy :remove_configuration_from_service + + private + + def send_configuration_to_service + Kalibro::Client::ConfigurationClient.save(create_configuration) + end + + def remove_configuration_from_service + Kalibro::Client::ConfigurationClient.remove(title) + end + + def create_configuration + configuration = Kalibro::Entities::Configuration.new + configuration.name = title + configuration.description = description + configuration + end + +end diff --git a/plugins/mezuro/views/cms/mezuro_plugin/_kalibro_configuration.html.erb b/plugins/mezuro/views/cms/mezuro_plugin/_kalibro_configuration.html.erb new file mode 100644 index 0000000..e8eb944 --- /dev/null +++ b/plugins/mezuro/views/cms/mezuro_plugin/_kalibro_configuration.html.erb @@ -0,0 +1,20 @@ +

<%= _(MezuroPlugin::KalibroConfiguration.short_description) %>

+ +<% + begin + @configuration = @article.title.nil? ? nil : Kalibro::Client::ConfigurationClient.new.configuration(@article.title) + rescue + @configuration = nil + end +%> + +<%= error_messages_for 'kalibro_configuration' %> + +<%= hidden_field_tag 'kalibro_configuration[profile_id]', profile.id %> +<%= hidden_field_tag 'id', @article.id %> + +<%= required_fields_message %> + +<%= required f.text_field(:name) %> + +<%= f.text_field :description %>
-- libgit2 0.21.2