Commit 2217176fdf6670c5558882734afdfade795ffdda
Committed by
Rafael Manzo
1 parent
6347d197
Exists in
colab
and in
4 other branches
Add image for project
Showing
14 changed files
with
101 additions
and
10 deletions
Show diff stats
Gemfile
@@ -37,7 +37,7 @@ gem 'kalibro_gatekeeper_client', '~> 1.0.0' | @@ -37,7 +37,7 @@ gem 'kalibro_gatekeeper_client', '~> 1.0.0' | ||
37 | gem "pg", "~> 0.17.0" | 37 | gem "pg", "~> 0.17.0" |
38 | 38 | ||
39 | # Twitter Bootstrap for layout | 39 | # Twitter Bootstrap for layout |
40 | -gem 'twitter-bootstrap-rails', :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git' | 40 | +gem 'twitter-bootstrap-rails', :git => 'https://github.com/seyhunak/twitter-bootstrap-rails.git' |
41 | 41 | ||
42 | # Chart generation | 42 | # Chart generation |
43 | gem "chart-js-rails", "~> 0.0.6" | 43 | gem "chart-js-rails", "~> 0.0.6" |
Gemfile.lock
1 | GIT | 1 | GIT |
2 | - remote: git://github.com/seyhunak/twitter-bootstrap-rails.git | 2 | + remote: https://github.com/seyhunak/twitter-bootstrap-rails.git |
3 | revision: 3edf24de985d946f16a2781644289cfdc51ba95b | 3 | revision: 3edf24de985d946f16a2781644289cfdc51ba95b |
4 | specs: | 4 | specs: |
5 | twitter-bootstrap-rails (3.2.0) | 5 | twitter-bootstrap-rails (3.2.0) |
17.4 KB
app/controllers/projects_controller.rb
@@ -22,6 +22,7 @@ class ProjectsController < ApplicationController | @@ -22,6 +22,7 @@ class ProjectsController < ApplicationController | ||
22 | @project = Project.new(project_params) | 22 | @project = Project.new(project_params) |
23 | respond_to do |format| | 23 | respond_to do |format| |
24 | create_and_redir(format) | 24 | create_and_redir(format) |
25 | + add_image_url(project_params[:image_url], @project.id) | ||
25 | end | 26 | end |
26 | end | 27 | end |
27 | 28 | ||
@@ -30,16 +31,19 @@ class ProjectsController < ApplicationController | @@ -30,16 +31,19 @@ class ProjectsController < ApplicationController | ||
30 | def show | 31 | def show |
31 | set_project | 32 | set_project |
32 | @project_repositories = @project.repositories | 33 | @project_repositories = @project.repositories |
34 | + @project_image = ProjectImage.find_by_project_id(@project.id).image_url | ||
33 | end | 35 | end |
34 | 36 | ||
35 | # GET /projects/1/edit | 37 | # GET /projects/1/edit |
36 | # GET /projects/1/edit.json | 38 | # GET /projects/1/edit.json |
37 | def edit | 39 | def edit |
38 | set_project | 40 | set_project |
39 | - end | 41 | + check_no_image(@project.id) |
42 | + end | ||
40 | 43 | ||
41 | def update | 44 | def update |
42 | set_project | 45 | set_project |
46 | + update_image_url(project_params[:image_url], @project.id) | ||
43 | if @project.update(project_params) | 47 | if @project.update(project_params) |
44 | redirect_to(project_path(@project.id)) | 48 | redirect_to(project_path(@project.id)) |
45 | else | 49 | else |
@@ -82,4 +86,26 @@ class ProjectsController < ApplicationController | @@ -82,4 +86,26 @@ class ProjectsController < ApplicationController | ||
82 | format.json { render json: @project.errors, status: :unprocessable_entity } | 86 | format.json { render json: @project.errors, status: :unprocessable_entity } |
83 | end | 87 | end |
84 | end | 88 | end |
89 | + | ||
90 | + def add_image_url url,project_id | ||
91 | + if url.blank? | ||
92 | + url = "no-image-available.png" | ||
93 | + end | ||
94 | + ProjectImage.create(image_url: url,project_id: project_id ) | ||
95 | + end | ||
96 | + | ||
97 | + def update_image_url url,project_id | ||
98 | + if url.blank? | ||
99 | + url = "no-image-available.png" | ||
100 | + end | ||
101 | + ProjectImage.find_by_project_id(project_id).update(image_url: url) | ||
102 | + end | ||
103 | + | ||
104 | + def check_no_image project_id | ||
105 | + @project_image = ProjectImage.find_by_project_id(project_id).image_url | ||
106 | + if @project_image == "no-image-available.png" | ||
107 | + @project_image = "" | ||
108 | + end | ||
109 | + end | ||
110 | + | ||
85 | end | 111 | end |
app/models/module_result.rb
@@ -23,4 +23,4 @@ class ModuleResult < KalibroGatekeeperClient::Entities::ModuleResult | @@ -23,4 +23,4 @@ class ModuleResult < KalibroGatekeeperClient::Entities::ModuleResult | ||
23 | def find_grade_by_metric_name(metric_results, name) | 23 | def find_grade_by_metric_name(metric_results, name) |
24 | metric_results.each { |metric_result| return metric_result.value if metric_result.metric_configuration_snapshot.metric.name == name } | 24 | metric_results.each { |metric_result| return metric_result.value if metric_result.metric_configuration_snapshot.metric.name == name } |
25 | end | 25 | end |
26 | -end | ||
27 | \ No newline at end of file | 26 | \ No newline at end of file |
27 | +end |
app/models/project.rb
@@ -3,7 +3,7 @@ require "validators/kalibro_uniqueness_validator.rb" | @@ -3,7 +3,7 @@ require "validators/kalibro_uniqueness_validator.rb" | ||
3 | class Project < KalibroGatekeeperClient::Entities::Project | 3 | class Project < KalibroGatekeeperClient::Entities::Project |
4 | include KalibroRecord | 4 | include KalibroRecord |
5 | 5 | ||
6 | - attr_accessor :name | 6 | + attr_accessor :name,:image_url |
7 | validates :name, presence: true, kalibro_uniqueness: true | 7 | validates :name, presence: true, kalibro_uniqueness: true |
8 | 8 | ||
9 | def repositories | 9 | def repositories |
app/views/projects/_form.html.erb
@@ -16,6 +16,15 @@ | @@ -16,6 +16,15 @@ | ||
16 | <%= f.text_area :description, class: 'text-area form-control' %> | 16 | <%= f.text_area :description, class: 'text-area form-control' %> |
17 | </div> | 17 | </div> |
18 | </div> | 18 | </div> |
19 | + | ||
20 | + <div class="form-row"> | ||
21 | + <div class="field-container"> | ||
22 | + <%= f.label "Image url", class: 'control-label' %><br> | ||
23 | + <%= f.text_field :image_url, class: 'text-area', value: @project_image %> | ||
24 | + </div> | ||
25 | + </div> | ||
26 | + | ||
27 | + | ||
19 | </div> | 28 | </div> |
20 | </div> | 29 | </div> |
21 | <div class="row margin-left-none" style="margin-top: 20px"> | 30 | <div class="row margin-left-none" style="margin-top: 20px"> |
app/views/projects/edit.html.erb
@@ -2,4 +2,12 @@ | @@ -2,4 +2,12 @@ | ||
2 | <h1>Edit Project</h1> | 2 | <h1>Edit Project</h1> |
3 | </div> | 3 | </div> |
4 | 4 | ||
5 | -<%= render 'form' %> | ||
6 | \ No newline at end of file | 5 | \ No newline at end of file |
6 | +<%= render 'form' %> | ||
7 | + | ||
8 | +<div class="page-header"> | ||
9 | + <div class="media"> | ||
10 | + <a class="pull-left"> | ||
11 | + <%= image_tag "#{@project_image}", size:"64x64" %> | ||
12 | + </a> | ||
13 | + </div> | ||
14 | +</div> |
app/views/projects/show.html.erb
1 | + | ||
1 | <div class="page-header"> | 2 | <div class="page-header"> |
2 | - <h1><%= @project.name %></h1> | 3 | + <div class="media"> |
4 | + <a class="pull-left"> | ||
5 | + <%= image_tag "#{@project_image}", size:"64x64" %> | ||
6 | + </a> | ||
7 | + <div class="media-body"> | ||
8 | + <h4 class="media-heading"> | ||
9 | + <h1 class="col-md-1"><%= @project.name %></h1> | ||
10 | + </h4> | ||
11 | + </div> | ||
12 | + </div> | ||
3 | </div> | 13 | </div> |
4 | 14 | ||
5 | <p> | 15 | <p> |
@@ -7,8 +17,6 @@ | @@ -7,8 +17,6 @@ | ||
7 | <%= @project.description %> | 17 | <%= @project.description %> |
8 | </p> | 18 | </p> |
9 | 19 | ||
10 | -<hr /> | ||
11 | - | ||
12 | <h2>Repositories</h2> | 20 | <h2>Repositories</h2> |
13 | 21 | ||
14 | <% if project_owner? @project.id %><%= link_to 'New Repository', new_project_repository_path(@project,), class: 'btn btn-primary' %><% end %> | 22 | <% if project_owner? @project.id %><%= link_to 'New Repository', new_project_repository_path(@project,), class: 'btn btn-primary' %><% end %> |
db/schema.rb
@@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
11 | # | 11 | # |
12 | # It's strongly recommended that you check this file into your version control system. | 12 | # It's strongly recommended that you check this file into your version control system. |
13 | 13 | ||
14 | -ActiveRecord::Schema.define(version: 20140124124835) do | 14 | +ActiveRecord::Schema.define(version: 20141009000324) do |
15 | 15 | ||
16 | create_table "mezuro_configuration_ownerships", force: true do |t| | 16 | create_table "mezuro_configuration_ownerships", force: true do |t| |
17 | t.integer "user_id" | 17 | t.integer "user_id" |
@@ -20,6 +20,13 @@ ActiveRecord::Schema.define(version: 20140124124835) do | @@ -20,6 +20,13 @@ ActiveRecord::Schema.define(version: 20140124124835) do | ||
20 | t.datetime "updated_at" | 20 | t.datetime "updated_at" |
21 | end | 21 | end |
22 | 22 | ||
23 | + create_table "project_images", force: true do |t| | ||
24 | + t.integer "project_id" | ||
25 | + t.string "image_url" | ||
26 | + t.datetime "created_at" | ||
27 | + t.datetime "updated_at" | ||
28 | + end | ||
29 | + | ||
23 | create_table "project_ownerships", force: true do |t| | 30 | create_table "project_ownerships", force: true do |t| |
24 | t.integer "user_id" | 31 | t.integer "user_id" |
25 | t.integer "project_id" | 32 | t.integer "project_id" |
@@ -27,6 +34,10 @@ ActiveRecord::Schema.define(version: 20140124124835) do | @@ -27,6 +34,10 @@ ActiveRecord::Schema.define(version: 20140124124835) do | ||
27 | t.datetime "updated_at" | 34 | t.datetime "updated_at" |
28 | end | 35 | end |
29 | 36 | ||
37 | + create_table "projects", force: true do |t| | ||
38 | + t.string "image_url" | ||
39 | + end | ||
40 | + | ||
30 | create_table "reading_group_ownerships", force: true do |t| | 41 | create_table "reading_group_ownerships", force: true do |t| |
31 | t.integer "user_id" | 42 | t.integer "user_id" |
32 | t.integer "reading_group_id" | 43 | t.integer "reading_group_id" |