diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index 36d9c4c..f6c6a8c 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -23,7 +23,7 @@ class ProjectsController < ApplicationController @project = Project.new(project_params) respond_to do |format| create_and_redir(format) - add_image_url(project_params[:image_url], @project.id) + ProjectImage.create(image_url: project_params[:image_url],project_id: @project.id ) end end @@ -39,12 +39,18 @@ class ProjectsController < ApplicationController # GET /projects/1/edit.json def edit set_project - check_no_image(@project.id) + @project_image = ProjectImage.find_by_project_id(@project.id) + if !@project_image.nil? + @project_image.check_no_image + end end def update set_project - update_image_url(project_params[:image_url], @project.id) + @project_image = ProjectImage.find_by_project_id(@project.id) + if !@project_image.nil? + @project_image.update(project_params[:image_url]) + end if @project.update(project_params) redirect_to(project_path(@project.id)) else @@ -79,7 +85,6 @@ class ProjectsController < ApplicationController def create_and_redir(format) if @project.save current_user.project_ownerships.create project_id: @project.id - format.html { redirect_to project_path(@project.id), notice: 'Project was successfully created.' } format.json { render action: 'show', status: :created, location: @project } else @@ -87,32 +92,4 @@ class ProjectsController < ApplicationController format.json { render json: @project.errors, status: :unprocessable_entity } end end - - def add_image_url url,project_id - if url.blank? - url = "no-image-available.png" - end - ProjectImage.create(image_url: url,project_id: project_id ) - end - - def update_image_url url,project_id - if url.blank? - url = "no-image-available.png" - end - @project_image = ProjectImage.find_by_project_id(project_id) - if !@project_image.blank? - @project_image.update(image_url: url) - end - end - - def check_no_image project_id - @project_image = ProjectImage.find_by_project_id(project_id) - - if !@project_image.blank? - if @project_image.image_url == "no-image-available.png" - @project_image.image_url = "" - end - end - end - end diff --git a/app/models/project.rb b/app/models/project.rb index f7cb716..a9b6d12 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -13,4 +13,5 @@ class Project < KalibroGatekeeperClient::Entities::Project def self.latest(count = 1) all.sort { |a,b| b.id <=> a.id }.first(count) end + end diff --git a/app/models/project_image.rb b/app/models/project_image.rb index 42d7c94..ff83267 100644 --- a/app/models/project_image.rb +++ b/app/models/project_image.rb @@ -1,5 +1,21 @@ class ProjectImage < ActiveRecord::Base belongs_to :project + before_save :check_url + + def check_no_image + if !self.blank? + if self.image_url == "no-image-available.png" + self.image_url = "" + end + end + end + + def check_url + if self.image_url.blank? + self.image_url = "no-image-available.png" + end + end + end -- libgit2 0.21.2