diff --git a/app/controllers/cursos_controller.rb b/app/controllers/cursos_controller.rb index dca87d2..2536dee 100644 --- a/app/controllers/cursos_controller.rb +++ b/app/controllers/cursos_controller.rb @@ -65,6 +65,7 @@ def create def update @curso = Curso.find(params[:id]) + respond_to do |format| if @curso.update_attributes(params[:curso]) format.html { redirect_to @curso, notice: 'Curso was successfully updated.' } @@ -91,9 +92,6 @@ def destroy def ingresar_notas if params[:id] @curso = Curso.find(params[:id]) - puts "holaaa" +@curso.formula - #else - # @curso = Curso.find(1) end @cursos = Curso.all @@ -105,7 +103,6 @@ def ingresar_notas def resultado cursoFormula = params[:formula] - puts "FORMULA2 "+ cursoFormula elementos = cursoFormula.split('+') promedio = 0.0 faltante = 0 @@ -130,6 +127,7 @@ def resultado respond_to do |format| format.html # show.html.erb end + end @@ -140,4 +138,6 @@ def authenticate end end + + end diff --git a/app/models/curso.rb b/app/models/curso.rb index 5f743af..8f5cf23 100644 --- a/app/models/curso.rb +++ b/app/models/curso.rb @@ -1,7 +1,38 @@ class Curso < ActiveRecord::Base - validates_presence_of :nombre, :message => "Ingrese un nombre" - validates_presence_of :formula, :message => "Ingrese la formula" + validates_presence_of :nombre, :message => "no ha sido ingresado." + validates_presence_of :formula, :message => "no ha sido ingresada." + + after_validation :validateFormula + def validateFormula + acumulado = 0 + + formulaPlus = self[:formula].split("+") + + for i in 0..formulaPlus.length-1 + pesoXExam = formulaPlus[i].scan(/\d\d%[A-Z0-9]+/) + if pesoXExam.length == 0 + errors.add(:formula," es incorrecta.") + return false + end + end + + pesos = self[:formula].scan(/\d\d/) + for i in 0..pesos.length-1 + acumulado = acumulado + pesos[i].to_i + end + + if acumulado == 100 + + return true + else + errors.add(:formula," no llega al 100%.") + + # raise "ERROR PS MUY TARDE" + return false + end + + end end diff --git a/app/views/cursos/_form.html.erb b/app/views/cursos/_form.html.erb index 692bdf8..f9bf18f 100644 --- a/app/views/cursos/_form.html.erb +++ b/app/views/cursos/_form.html.erb @@ -1,7 +1,16 @@ <%= form_for(@curso) do |f| %> - <% if @curso.errors.any? %> + <% if @curso.errors.any? + cantidadErrores = @curso.errors.count + mensajeError="" + if cantidadErrores ==1 + mensajeError = "Se presentó " + cantidadErrores.to_s+ " error al grabar el curso." + else + mensajeError = "Se presentaron " + cantidadErrores.to_s+ " errrores al grabar el curso." + end + %> +
-

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

+

<%= mensajeError %>