From e83773f9cd687ba466c81c548e91a1c20a33cf22 Mon Sep 17 00:00:00 2001 From: João M. M. da Silva + Diego Araújo Date: Thu, 29 Nov 2012 17:49:16 -0200 Subject: [PATCH] [Mezuro] editing a repository of a project --- plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb | 28 +++++++++++++++++++++++++++- plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb index 9843060..8185616 100644 --- a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb +++ b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb @@ -26,7 +26,33 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController redirect_to_error_page repository.errors[0].message end end - + + def edit + @project_content = profile.articles.find(params[:id]) + + @repository_types = Kalibro::Repository.repository_types + + configurations = Kalibro::Configuration.all + configurations = [] if (configurations.nil?) + @configuration_select = configurations.map do |configuration| + [configuration.name,configuration.id] + end + @repository = @project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first + end + + def update + project_content = profile.articles.find(params[:id]) + + repository = Kalibro::Repository.new( params[:repository] ) + repository.save(project_content.project_id) + + if( repository.errors.empty? ) + redirect_to "/#{profile.identifier}/#{project_content.name.downcase.gsub(/\s/, '-')}" + else + redirect_to_error_page repository.errors[0].message + end + end + def show project_content = profile.articles.find(params[:id]) @project_name = project_content.name diff --git a/plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb b/plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb new file mode 100644 index 0000000..2b9031e --- /dev/null +++ b/plugins/mezuro/views/mezuro_plugin_repository/edit.html.erb @@ -0,0 +1,42 @@ +

<%= @project_content.name %> Project

+ +<% form_for :repository, :url => {:action =>"update", :controller => "mezuro_plugin_repository"}, :method => :get do |f| %> + <%= hidden_field_tag :id, @project_content.id %> + + <%= f.hidden_field :id%> +

+ <%= f.label :name, "Name:" %> + <%= f.text_field :name %> +

+

+ <%= f.label :description, "Description:" %> + <%= f.text_field :description %> +

+ + <%= required labelled_form_field _('License'), + f.select(:license, MezuroPlugin::Helpers::ContentViewerHelper.create_license_options) %>
+

+ +

+ <%= f.label :process_period, "Process Period:" %> + <%= f.select(:process_period, MezuroPlugin::Helpers::ContentViewerHelper.create_periodicity_options) %> +

+ <%= f.label :type, "Type:" %> + <%= f.select :type, @repository_types%> +

+ +

+ <%= f.label :address, "Address:" %> + <%= f.text_field :address%> +

+ +

+ <%= f.label :configuration_id, "Configuration:" %> + <%= f.select :configuration_id, @configuration_select, :selected => @repository.configuration_id.to_i %> +

+ +

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

+ +<% end %> -- libgit2 0.21.2