Commit 658b672a authored by Fabrício Ceschin's avatar Fabrício Ceschin
Browse files

Check if CPF is being used by a profissional or cidadao

parent 23f9caa4
......@@ -17,9 +17,8 @@ class Cidadaos::RegistrationsController < Devise::RegistrationsController
end
if params[:cidadao][:cpf]
p = Profissional.where(:cpf => params[:cidadao][:cpf])
logger.info p.inspect
if p.size > 0
return redirect_to :back, alert: "Você já está registrado como profissional."
return redirect_to :back, alert: "Este CPF já está registrado como profissional."
end
end
super
......
......@@ -48,6 +48,12 @@ class Profissionais::CadastrosController < ApplicationController
return redirect_to :back, alert: "CEP inválido."
end
end
if params[:cidadao][:cpf]
p = Profissional.where(:cpf => params[:cidadao][:cpf])
if p.size > 0
return redirect_to :back, alert: "Este CPF já está registrado como profissional."
end
end
@cidadao = Cidadao.find(params[:id])
respond_to do |format|
......@@ -87,6 +93,12 @@ class Profissionais::CadastrosController < ApplicationController
return redirect_to :back, alert: "CEP inválido."
end
end
if params[:cidadao][:cpf]
p = Profissional.where(:cpf => params[:cidadao][:cpf])
if p.size > 0
return redirect_to :back, alert: "Este CPF já está registrado como profissional."
end
end
@cidadao = Cidadao.new(cidadao_params)
#@cidadao.password = ([*('a'..'z'),*('A'..'Z'),*('0'..'9')]-%w(0 1 I O)).sample(20).join #Essa senha nunca será vista
tmp=@cidadao.data_nascimento.to_s.split('/')
......
......@@ -80,6 +80,13 @@ class ProfissionaisController < ApplicationController
return redirect_to :back, alert: "CEP inválido."
end
end
if params[:profissional][:cpf]
if Cidadao.where(:cpf => params[:profissional][:cpf]).size > 0
return redirect_to :back, alert: "Já existe um cidadão cadastrado com este CPF!"
end
end
@orgao = Orgao.ativo.order('nome')
@profissional = Profissional.new(profissional_params)
respond_to do |format|
......@@ -103,26 +110,12 @@ class ProfissionaisController < ApplicationController
@orgao = Orgao.ativo.order('nome')
@profissional = Profissional.find(params[:id])
unless params[:profissional][:foto].nil?
uploaded_io = params[:profissional][:foto]
if %w(image/png image/jpeg image/jpg image/gif image/bmp).include?(uploaded_io.content_type.to_s)
# Salva no profissional apenas o nome do arquivo, a imagem vai estar em
# public/assets/
File.open(Rails.root.join('app','assets','images', uploaded_io.original_filename),
'wb+') do |file|
file.write(uploaded_io.read)
File.rename(file, "app/assets/images/fotoprof_" + @profissional.id.to_s + File.extname(file))
params[:profissional][:foto] = "fotoprof_" + @profissional.id.to_s + File.extname(file)
file.close
end
else
# Se o arquivo do upload não for uma imagem salva null
params[:profissional][:foto] = nil
if params[:profissional][:cpf]
if Cidadao.where(:cpf => params[:profissional][:cpf]).size > 0
return redirect_to :back, alert: "Já existe um cidadão cadastrado com este CPF!"
end
end
if params[:profissional][:cep]
if !valida_cep(params[:profissional][:cep])
return redirect_to :back, alert: "CEP inválido."
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment