From 6121466ffb6847a618f6bb82c5f5067c59b9db51 Mon Sep 17 00:00:00 2001 From: vinicim Date: Mon, 7 Oct 2013 21:38:05 -0300 Subject: [PATCH] some changes in edit and new forms to solve editing problems --- app/controllers/repositories_controller.rb | 7 ++++++- app/views/repositories/_form.html.erb | 64 +++++++++++++++++++++++++++++++--------------------------------- app/views/repositories/edit.html.erb | 5 +++-- app/views/repositories/new.html.erb | 6 +++++- config/routes.rb | 3 ++- 5 files changed, 47 insertions(+), 38 deletions(-) diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index 52af746..8b70a1a 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -1,6 +1,9 @@ class RepositoriesController < ApplicationController before_action :set_repository, only: [:show, :edit, :update, :destroy] + + $project_id = 0 + # GET /repositories # GET /repositories.json def index @@ -24,6 +27,7 @@ class RepositoriesController < ApplicationController # GET /repositories/1/edit def edit + $project_id = params[:project_id] @project = Project.find(params[:project_id]) set_repository @repository_types = KalibroEntities::Entities::Repository.repository_types @@ -53,9 +57,10 @@ class RepositoriesController < ApplicationController # PATCH/PUT /repositories/1 # PATCH/PUT /repositories/1.json def update + @project = $project_id respond_to do |format| if @repository.update(repository_params) - format.html { redirect_to @repository, notice: 'Repository was successfully updated.' } + format.html { redirect_to(project_repository_path(@project, @repository.id), notice: 'Repository was successfully updated.') } format.json { head :no_content } else format.html { render action: 'edit' } diff --git a/app/views/repositories/_form.html.erb b/app/views/repositories/_form.html.erb index 4bcfc3c..5da8b45 100644 --- a/app/views/repositories/_form.html.erb +++ b/app/views/repositories/_form.html.erb @@ -1,41 +1,39 @@ -<%= form_for(@repository, :url => project_repositories_url(@project.id)) do |f| %> +<%= render :partial => 'shared/form_errors', :locals => {:object => @repository} %> - <%= render :partial => 'shared/form_errors', :locals => {:object => @repository} %> +<% if @repository.errors.any? %> +
+

<%= pluralize(@repository.errors.count, "error") %> prohibited this repository from being saved:

- <% if @repository.errors.any? %> -
-

<%= pluralize(@repository.errors.count, "error") %> prohibited this repository from being saved:

+
    + <% @repository.errors.full_messages.each do |msg| %> +
  • <%= msg %>
  • + <% end %> +
+
+<% end %> - -
- <% end %> +
+ <%= f.label :name %>
+ <%= f.text_field :name %> +
-
- <%= f.label :name %>
- <%= f.text_field :name %> -
+
+ <%= f.label :type %>
+ <%= f.select( :type, @repository_types ) %> +
-
- <%= f.label :type %>
- <%= f.select( :type, @repository_types ) %> -
+
+ <%= f.label :addres %>
+ <%= f.text_field :address %> +
-
- <%= f.label :addres %>
- <%= f.text_field :address %> -
+
+ <%= f.label :configuration %>
+ <% configuration_list = KalibroEntities::Entities::Configuration.all.map { |conf| [conf.name, conf.id] } %> + <%= f.select( :configuration_id, configuration_list ) %> +
-
- <%= f.label :configuration %>
- <% configuration_list = KalibroEntities::Entities::Configuration.all.map { |conf| [conf.name, conf.id] } %> - <%= f.select( :configuration_id, configuration_list ) %> -
+
+ <%= f.submit %> +
-
- <%= f.submit %> -
-<% end %> diff --git a/app/views/repositories/edit.html.erb b/app/views/repositories/edit.html.erb index 299a34d..e6d794b 100644 --- a/app/views/repositories/edit.html.erb +++ b/app/views/repositories/edit.html.erb @@ -1,6 +1,7 @@

Editing repository

- -<%= render 'form' %> +<%= form_for(@repository, :url => project_repository_update_url(@project, @repository.id), method: :put) do |f| %> + <%= render partial: 'form', locals: {f: f} %> +<% end %> <%= link_to 'Show', project_repository_path(@project, @repository) %> | <%= link_to 'Back', project_repositories_path(@project) %> diff --git a/app/views/repositories/new.html.erb b/app/views/repositories/new.html.erb index c6fe2e2..4d56a3f 100644 --- a/app/views/repositories/new.html.erb +++ b/app/views/repositories/new.html.erb @@ -1,5 +1,9 @@

New Repository

-<%= render 'form' %> +<%= form_for(@repository, :url => project_repositories_url(@project.id)) do |f| %> + <%= render partial: 'form', locals: {f: f} %> +<% end %> <%= link_to 'Back', project_path(@project)%> + + diff --git a/config/routes.rb b/config/routes.rb index 49c0e60..297cf2a 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -7,7 +7,8 @@ Mezuro::Application.routes.draw do #resources :projects resources :projects do - resources :repositories + resources :repositories, except: :update + put '/repositories/:id' => 'repositories#update', as: :repository_update end # The priority is based upon order of creation: first created -> highest priority. # See how all your routes lay out with "rake routes". -- libgit2 0.21.2