diff --git a/plugins/mezuro/controllers/myprofile/mezuro_plugin_reading_controller.rb b/plugins/mezuro/controllers/myprofile/mezuro_plugin_reading_controller.rb new file mode 100644 index 0000000..d8325ae --- /dev/null +++ b/plugins/mezuro/controllers/myprofile/mezuro_plugin_reading_controller.rb @@ -0,0 +1,76 @@ +class MezuroPluginReadingController < MezuroPluginMyprofileController + + append_view_path File.join(File.dirname(__FILE__) + '/../../views') + + def new + reading_group_content = profile.articles.find(params[:id]) + @reading_group_name = reading_group_content.name + @data_profile = reading_group_content.profile.identifier + @reading_group_content_id = reading_group_content.id + end + + def create + reading_group_content = profile.articles.find(params[:id]) + + reading = Kalibro::Reading.new( params[:reading] ) + reading.save(reading_group_content.reading_group_id) + + if( reading.errors.empty? ) + redirect_to "/#{profile.identifier}/#{reading_group_content.name.downcase.gsub(/\s/, '-').gsub(/[^0-9A-Za-z\-]/, '')}" + else + redirect_to_error_page reading.errors[0].message + end + end + + def edit + reading_group_content = profile.articles.find(params[:id]) + @reading_group_name = reading_group_content.name + @data_profile = reading_group_content.profile.identifier + @reading_group_content_id = reading_group_content.id + + @reading_types = Kalibro::Reading.reading_types + + configurations = Kalibro::Configuration.all + configurations = [] if (configurations.nil?) + @configuration_select = configurations.map do |configuration| + [configuration.name,configuration.id] + end + + @reading = reading_group_content.repositories.select{ |reading| reading.id.to_s == params[:reading_id] }.first + end + + def update + reading_group_content = profile.articles.find(params[:id]) + + reading = Kalibro::Reading.new( params[:reading] ) + reading.save(reading_group_content.reading_group_id) + + if( reading.errors.empty? ) + reading.process + redirect_to "/profile/#{profile.identifier}/plugin/mezuro/reading/show/#{reading_group_content.id}?reading_id=#{reading.id}" + else + redirect_to_error_page reading.errors[0].message + end + end + + def show + reading_group_content = profile.articles.find(params[:id]) + @reading_group_name = reading_group_content.name + @reading = reading_group_content.repositories.select{ |reading| reading.id.to_s == params[:reading_id] }.first + @configuration_name = Kalibro::Configuration.configuration_of(@reading.id).name + @data_profile = reading_group_content.profile.identifier + @data_content = reading_group_content.id + end + + def destroy + reading_group_content = profile.articles.find(params[:id]) + reading = reading_group_content.repositories.select{ |reading| reading.id.to_s == params[:reading_id] }.first + reading.destroy + if( reading.errors.empty? ) + redirect_to "/#{profile.identifier}/#{reading_group_content.name.downcase.gsub(/\s/, '-')}" + else + redirect_to_error_page reading.errors[0].message + end + end + +end diff --git a/plugins/mezuro/views/content_viewer/show_reading_group.rhtml b/plugins/mezuro/views/content_viewer/show_reading_group.rhtml index 6b585e7..daeabec 100644 --- a/plugins/mezuro/views/content_viewer/show_reading_group.rhtml +++ b/plugins/mezuro/views/content_viewer/show_reading_group.rhtml @@ -23,16 +23,13 @@ <% @page.readings.each do |reading| %> - - + :reading_id => reading.id %> + +
<%= link_to reading.name, :controller => "mezuro_plugin_reading", - :profile => @page.profile.identifier, - :action => "show", - :id => @page.id, - :reading_id => reading.id %><%= link_to _('Edit'), {:controller => "mezuro_plugin_reading", + <%= link_to reading.label, :controller => "mezuro_plugin_reading", :profile => @page.profile.identifier, :action => "edit", :id => @page.id, - :reading_id => reading.id}, :class=>"button with-text icon-edit" %><%= reading.grade %><%= reading.color %> <%= link_to _('Remove'), {:controller => "mezuro_plugin_reading", :profile => @page.profile.identifier, :action => "destroy", diff --git a/plugins/mezuro/views/mezuro_plugin_reading/new.html.erb b/plugins/mezuro/views/mezuro_plugin_reading/new.html.erb new file mode 100644 index 0000000..062af55 --- /dev/null +++ b/plugins/mezuro/views/mezuro_plugin_reading/new.html.erb @@ -0,0 +1,20 @@ + + +

<%= link_to( @reading_group_name, homepage_url(@data_profile, @reading_group_name.downcase.gsub(/[^0-9A-Za-z\-]/, '')) ) %>

+ +<% form_for :reading, :url => {:action =>"create", :controller => "mezuro_plugin_reading"}, :method => :get do |f| %> + <%= hidden_field_tag :id, @reading_group_content_id %> + + <%= required labelled_form_field _('label:'), f.text_field(:label) %> + + <%= required labelled_form_field _('grade:'), + f.text_field(:grade) %> + + <%= required labelled_form_field _('color:'), + colorpicker_field(:reading, :color) %>Click in the field to change Color + +

+ <%= f.submit "Add" %> +

+ +<% end %> -- libgit2 0.21.2