diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 768f399..3a64c46 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -229,7 +229,11 @@ module ApplicationHelper
doc = Nokogiri::HTML(file, nil, "UTF-8")
file.close
controller = "#{params[:target_controller].capitalize}_controller".classify.constantize.new
- data = controller.send("#{params[:target_action]}") rescue nil
+ begin
+ data = controller.send("#{params[:target_action]}")# rescue nil
+ rescue Exception => e
+ write_debug_file(e,params[:target_controller],params[:target_action]) if Site::DEBUG
+ end
if !data.nil?
wrap_elements = doc.css("*[data-list][data-level='0']")
htmls = parsing_repeats_again(wrap_elements,data,1)
@@ -261,7 +265,11 @@ module ApplicationHelper
doc = Nokogiri::HTML(file, nil, "UTF-8")
file.close
controller = "#{params[:target_controller].capitalize}_controller".classify.constantize.new
- data = controller.send("#{params[:target_action]}") rescue nil
+ begin
+ data = controller.send("#{params[:target_action]}")# rescue nil
+ rescue Exception => e
+ write_debug_file(e,params[:target_controller],params[:target_action]) if Site::DEBUG
+ end
if data.nil?
return "
No content to show.
".html_safe
end
@@ -496,4 +504,43 @@ module ApplicationHelper
target
end
+ def write_debug_file(e,controller_name,action_name)
+ directory_name = "tmp/debug"
+ Dir.mkdir(directory_name) unless File.exists?(directory_name)
+ fn = "#{directory_name}/#{controller_name}_#{action_name}.html"
+ error_trace_spans = ""
+ e.backtrace.each do |bt|
+ error_trace_spans = error_trace_spans + "#{bt}
"
+ end
+ con = "#{controller_name.capitalize}_controller".classify.constantize
+ File.open(fn, "w"){ |file|
+ file.puts "
+
+ Debug result
+
+
+ Error Message
+
+
#{e.message}
+
+ Request Details
+
+ Url : #{request.url}
+ Controller : #{con.to_s}
+ Action : #{action_name.capitalize}
+
+ Error Trace
+
+ #{error_trace_spans}
+
+ Params
+
+ #{OrbitHelper.params}
+
+
+ "
+
+ }
+ end
+
end
diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb
index 4d451ae..f7376fc 100644
--- a/app/helpers/pages_helper.rb
+++ b/app/helpers/pages_helper.rb
@@ -71,7 +71,11 @@ module PagesHelper
wrap_elements = doc.css("*[data-repeat]")
controller = "#{controller_name.capitalize.pluralize}_controller".classify.constantize.new
OrbitHelper.set_current_widget_module controller_name
- data = controller.send("#{widget_method}") rescue nil
+ begin
+ data = controller.send("#{widget_method}") #rescue nil
+ rescue Exception => e
+ write_widget_debug_file(e,controller_name,widget_method,subpart_id)
+ end
if !data.nil?
wrap_elements = doc.css("*[data-list][data-level='0']")
htmls = widget_parsing_repeats_again(wrap_elements,data,1)
@@ -91,5 +95,45 @@ module PagesHelper
end
end
+ def write_widget_debug_file(e,controller_name,action_name,sub_part)
+ directory_name = "tmp/debug"
+ Dir.mkdir(directory_name) unless File.exists?(directory_name)
+ fn = "#{directory_name}/#{controller_name}_#{action_name}_#{(sub_part if !sub_part.nil?)}.html"
+ error_trace_spans = ""
+ e.backtrace.each do |bt|
+ error_trace_spans = error_trace_spans + "#{bt}
"
+ end
+ con = "#{controller_name.capitalize.pluralize}_controller".classify.constantize
+ File.open(fn, "w"){ |file|
+ file.puts "
+
+ Debug result
+
+
+ Error Message
+
+
#{e.message}
+
+ Request Details
+
+ Url : #{request.url}
+ Controller : #{con.to_s}
+ Action : #{action_name.capitalize}
+ SubPart Id : #{sub_part}
+
+ Error Trace
+
+ #{error_trace_spans}
+
+ Params
+
+ #{OrbitHelper.params}
+
+
+ "
+
+ }
+ end
+
end
diff --git a/app/models/site.rb b/app/models/site.rb
index eda2909..ed4f3c7 100644
--- a/app/models/site.rb
+++ b/app/models/site.rb
@@ -3,6 +3,8 @@ class Site
include Mongoid::Timestamps
include Slug
+ DEBUG = false
+
field :title, as: :slug_title, type: String, localize: true
field :school, type: String
field :department, type: String