From 104c15f04629ca23f55f87a981fb5bfff95da3b6 Mon Sep 17 00:00:00 2001 From: Harry Bomrah Date: Fri, 20 Nov 2015 20:08:11 +0800 Subject: [PATCH] fix for frontent with no date --- app/controllers/actives_controller.rb | 26 +++++++++++++------------- app/models/act.rb | 2 +- app/views/admin/actives/_form.html.erb | 1 + 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/app/controllers/actives_controller.rb b/app/controllers/actives_controller.rb index 31ccaa7..a6995cf 100644 --- a/app/controllers/actives_controller.rb +++ b/app/controllers/actives_controller.rb @@ -12,11 +12,11 @@ class ActivesController < ApplicationController title = ('' + a.title + '').html_safe - if !a.sign_up.blank? and a.sign_start_date <= time_now and ( a.sign_end_date >= time_now or a.sign_end_date.nil? ) + if (!a.sign_up.blank? and a.sign_start_date <= time_now and ( a.sign_end_date >= time_now or a.sign_end_date.nil? ) rescue false) sign_up = ('' + t('act.sign_up') + '').html_safe elsif a.sign_up.blank? sign_up = t('act.sign_up_not_open') - elsif a.sign_start_date > time_now + elsif (a.sign_start_date > time_now rescue false) sign_up = t('act.sign_up_not_yet') else sign_up = t('act.sign_up_overdue') @@ -25,13 +25,13 @@ class ActivesController < ApplicationController { "title" => title, "category" => a.category.title, - "sign_start_date" => a.sign_start_date.strftime('%Y-%m-%d %H:%M'), - "sign_end_date" => (a.sign_end_date ? a.sign_end_date.strftime('%Y-%m-%d %H:%M') : t(:no_deadline)), - "act_start_date" => a.act_start_date.strftime('%Y-%m-%d %H:%M'), - "act_end_date" => (a.act_end_date ? a.act_end_date.strftime('%Y-%m-%d %H:%M') : t(:no_deadline)), - 'sign_up_time_range' => Act.time_range(a.sign_start_date, a.sign_end_date), - 'sign_up_time_range' => Act.time_range(a.sign_start_date, a.sign_end_date), - 'act_time_range' => Act.time_range(a.act_start_date, a.act_end_date), + "sign_start_date" => (a.sign_start_date.strftime('%Y-%m-%d %H:%M') rescue ""), + "sign_end_date" => ((a.sign_end_date ? a.sign_end_date.strftime('%Y-%m-%d %H:%M') : t(:no_deadline)) rescue ""), + "act_start_date" => (a.act_start_date.strftime('%Y-%m-%d %H:%M') rescue ""), + "act_end_date" => (a.act_end_date ? a.act_end_date.strftime('%Y-%m-%d %H:%M') : t(:no_deadline) rescue ""), + 'sign_up_time_range' => (Act.time_range(a.sign_start_date, a.sign_end_date) rescue ""), + 'sign_up_time_range' => (Act.time_range(a.sign_start_date, a.sign_end_date) rescue ""), + 'act_time_range' => (Act.time_range(a.act_start_date, a.act_end_date) rescue ""), 'sign_up' => sign_up } end @@ -73,11 +73,11 @@ class ActivesController < ApplicationController act = Act.find_by(uid: params[:uid]) - if !act.sign_up.blank? and act.sign_start_date <= time_now and ( act.sign_end_date >= time_now or act.sign_end_date.nil? ) + if (!act.sign_up.blank? and act.sign_start_date <= time_now and ( act.sign_end_date >= time_now or act.sign_end_date.nil? ) rescue false) sign_up = ('' + t('act.sign_up') + '').html_safe elsif act.sign_up.blank? sign_up = t('act.sign_up_not_open') - elsif act.sign_start_date > time_now + elsif (act.sign_start_date > time_now rescue false) sign_up = t('act.sign_up_not_yet') else sign_up = t('act.sign_up_overdue') @@ -87,8 +87,8 @@ class ActivesController < ApplicationController 'act' => act, 'sign_up' => sign_up, 'time_now' => time_now, - 'sign_up_time_range' => Act.time_range(act.sign_start_date, act.sign_end_date), - 'act_time_range' => Act.time_range(act.act_start_date, act.act_end_date) + 'sign_up_time_range' => (Act.time_range(act.sign_start_date, act.sign_end_date) rescue ""), + 'act_time_range' => (Act.time_range(act.act_start_date, act.act_end_date) rescue "") } end diff --git a/app/models/act.rb b/app/models/act.rb index 22e254e..0c85ca2 100644 --- a/app/models/act.rb +++ b/app/models/act.rb @@ -17,7 +17,7 @@ class Act field :act_end_date , :type => DateTime, :default => Time.now field :sign_start_date , :type => DateTime, :default => Time.now field :sign_end_date , :type => DateTime, :default => Time.now - field :sign_up, :type => Boolean, :default => true + field :sign_up, :type => Boolean, :default => false field :has_idno, :type => Boolean, :default => false field :note, localize: true diff --git a/app/views/admin/actives/_form.html.erb b/app/views/admin/actives/_form.html.erb index 9a2d3cb..476f743 100644 --- a/app/views/admin/actives/_form.html.erb +++ b/app/views/admin/actives/_form.html.erb @@ -9,6 +9,7 @@ <%= javascript_include_tag "lib/datetimepicker/datetimepicker.js" %> <%= javascript_include_tag "lib/file-type" %> <%= javascript_include_tag "lib/module-area" %> + <%= javascript_include_tag "validator" %> <% end %>