Commit e61086adf9c1205ca7369f6861c16311ff8084f3

Authored by Diego Camarinha
Committed by Rafael Manzo
1 parent 7e914183

Revising repositories.

There's only the model left to revise.

Signed-off-by: Renan Fichberg <rfichberg@gmail.com>
app/controllers/repositories_controller.rb
1 1 class RepositoriesController < ApplicationController
2 2 before_action :set_repository, only: [:show, :edit, :update, :destroy]
3 3  
4   -
5   - $project_id = 0
6   -
7   - # GET /repositories
8   - # GET /repositories.json
9   - def index
10   - @project = Project.find(params[:project_id])
11   - @repositories = Repository.repositories_of(params[:project_id])
12   - end
13   -
14   - # GET /repositories/1
15   - # GET /repositories/1.json
  4 + # GET /projects/1/repositories/1
  5 + # GET /projects/1/repositories/1.json
16 6 def show
17   - @project = Project.find(params[:project_id])
  7 + @project_id = params[:project_id]
  8 + set_repository
18 9 end
19 10  
20 11 # GET projects/1/repositories/new
21 12 def new
22   -
23   - @project = Project.find(params[:project_id])
  13 + @project_id = params[:project_id]
24 14 @repository = Repository.new
25   - @repository_types = KalibroEntities::Entities::Repository.repository_types
  15 + @repository_types = Repository.repository_types
26 16 end
27 17  
28 18 # GET /repositories/1/edit
29 19 def edit
30   - $project_id = params[:project_id]
31   - @project = Project.find(params[:project_id])
  20 + @project_id = params[:project_id]
32 21 set_repository
33   - @repository_types = KalibroEntities::Entities::Repository.repository_types
  22 + @repository_types = Repository.repository_types
34 23 end
35 24  
36   - # POST /repositories
37   - # POST /repositories.json
  25 + # POST /projects/1/repositories
  26 + # POST /projects/1/repositories.json
38 27 def create
39   - @project = Project.find(params[:project_id])
40   - #@repository = @project.repositories.create(params[:repository].permit(:name, :type, :address, :configuration_id))
41   -
42 28 @repository = Repository.new(repository_params)
43   -
44   - @repository.project_id = @project.id
  29 + @repository.project_id = params[:project_id]
45 30  
46 31 respond_to do |format|
47 32 if @repository.save
48   - format.html { redirect_to project_path(@project), notice: 'Repository was successfully created.' }
  33 + format.html { redirect_to project_path(params[:project_id]), notice: 'Repository was successfully created.' }
49 34 format.json { render action: 'show', status: :created, location: @repository }
50 35 else
51 36 format.html { render action: 'new' }
... ... @@ -54,13 +39,13 @@ class RepositoriesController &lt; ApplicationController
54 39 end
55 40 end
56 41  
57   - # PATCH/PUT /repositories/1
58   - # PATCH/PUT /repositories/1.json
  42 + # PUT /projects/1/repositories/1
  43 + # PUT /projects/1/repositories/1.json
59 44 def update
60   - @project = $project_id
  45 + set_repository
61 46 respond_to do |format|
62 47 if @repository.update(repository_params)
63   - format.html { redirect_to(project_repository_path(@project, @repository.id), notice: 'Repository was successfully updated.') }
  48 + format.html { redirect_to(project_repository_path(params[:project_id], @repository.id), notice: 'Repository was successfully updated.') }
64 49 format.json { head :no_content }
65 50 else
66 51 format.html { render action: 'edit' }
... ... @@ -69,13 +54,13 @@ class RepositoriesController &lt; ApplicationController
69 54 end
70 55 end
71 56  
72   - # DELETE /repositories/1
73   - # DELETE /repositories/1.json
  57 + # DELETE /projects/1/repositories/1
  58 + # DELETE /projects/1/repositories/1.json
74 59 def destroy
75   - @project = Project.find(params[:project_id])
  60 + set_repository
76 61 @repository.destroy
77 62 respond_to do |format|
78   - format.html { redirect_to project_path(@project) }
  63 + format.html { redirect_to project_path(params[:project_id]) }
79 64 format.json { head :no_content }
80 65 end
81 66 end
... ... @@ -88,6 +73,6 @@ class RepositoriesController &lt; ApplicationController
88 73  
89 74 # Never trust parameters from the scary internet, only allow the white list through.
90 75 def repository_params
91   - params.require(:repository).permit(:name, :configuration_id, :address, :type)
  76 + params[:repository]
92 77 end
93 78 end
... ...
app/models/repository.rb
1 1 class Repository < KalibroEntities::Entities::Repository
2   -
3   - include ActiveModel::Validations
4   - include ActiveModel::Conversion
5   - extend ActiveModel::Naming
6   - delegate :url_helpers, to: 'Rails.application.routes'
7   -
8   - def persisted?
9   - Project.exists?(self.id) unless self.id.nil?
10   - end
11   -
12   - def update(attributes = {})
13   - attributes.each { |field, value| send("#{field}=", value) if self.class.is_valid?(field) }
14   - self.save
15   - end
  2 + include KalibroRecord
  3 +
16 4  
17 5 end
... ...
app/views/repositories/_form.html.erb
... ... @@ -23,7 +23,7 @@
23 23 </div>
24 24  
25 25 <div class="field">
26   - <%= f.label :addres %><br>
  26 + <%= f.label :address %><br>
27 27 <%= f.text_field :address %>
28 28 </div>
29 29  
... ...
app/views/repositories/edit.html.erb
1 1 <h1>Editing repository</h1>
2   -<%= form_for(@repository, :url => project_repository_update_url(@project, @repository.id), method: :put) do |f| %>
  2 +<%= form_for(@repository, :url => project_repository_update_url(@project_id, @repository.id), method: :put) do |f| %>
3 3 <%= render partial: 'form', locals: {f: f} %>
4 4 <% end %>
5 5  
6   -<%= link_to 'Show', project_repository_path(@project, @repository) %> |
7   -<%= link_to 'Back', project_repositories_path(@project) %>
  6 +<%= link_to 'Show', project_repository_path(@project_id, @repository) %> |
  7 +<%= link_to 'Back', project_repository(@project_id) %>
... ...
app/views/repositories/index.html.erb
... ... @@ -1,25 +0,0 @@
1   -<h1>Listing Repositories</h1>
2   -
3   -<table border="1" width="30%">
4   - <thead>
5   - <tr>
6   - <th>Name</th>
7   - <th>Options</th>
8   - </tr>
9   - </thead>
10   -
11   - <tbody>
12   - <% @repositories.each do |repository| %>
13   - <tr>
14   - <td align="center"><%= repository.name %></td>
15   - <td align="center"><%= link_to 'Show', project_repository_path(@project, repository) %><br/>
16   - <%= link_to 'Edit', edit_project_repository_path(@project, repository) %><br/>
17   -
18   - </tr>
19   - <% end %>
20   - </tbody>
21   -</table>
22   -
23   -<br>
24   -
25   -<%= link_to 'New Repository', new_project_repository_path(@project) %>
app/views/repositories/index.json.jbuilder
... ... @@ -1,4 +0,0 @@
1   -json.array!(@repositories) do |repository|
2   - json.extract! repository, :name
3   - json.url repository_url(repository, format: :json)
4   -end
app/views/repositories/new.html.erb
1 1 <h1>New Repository</h1>
2 2  
3   -<%= form_for(@repository, :url => project_repositories_url(@project.id)) do |f| %>
  3 +<%= form_for(@repository, :url => project_repositories_url(@project_id)) do |f| %>
4 4 <%= render partial: 'form', locals: {f: f} %>
5 5 <% end %>
6 6  
7   -<%= link_to 'Back', project_path(@project)%>
  7 +<%= link_to 'Back', project_path(@project_id)%>
8 8  
9 9  
... ...
app/views/repositories/show.html.erb
... ... @@ -6,4 +6,4 @@
6 6 </p>
7 7  
8 8 <%= link_to 'Edit', edit_project_repository_path(@repository) %> |
9   -<%= link_to 'Back', project_repositories_path(@project) %>
  9 +<%= link_to 'Back', project_repositories_path(@project_id) %>
... ...
db/schema.rb
... ... @@ -11,17 +11,20 @@
11 11 #
12 12 # It's strongly recommended that you check this file into your version control system.
13 13  
14   -ActiveRecord::Schema.define(version: 20130826211404) do
  14 +ActiveRecord::Schema.define(version: 20130903180641) do
15 15  
16 16 create_table "project_ownerships", force: true do |t|
17 17 t.integer "user_id"
18 18 t.integer "project_id"
  19 + t.datetime "created_at"
  20 + t.datetime "updated_at"
  21 + end
19 22  
20 23 create_table "repositories", force: true do |t|
21 24 t.string "name"
22 25 t.datetime "created_at"
23 26 t.datetime "updated_at"
24   -
  27 + end
25 28  
26 29 create_table "users", force: true do |t|
27 30 t.string "name", default: "", null: false
... ...