Module: EffectiveLoggingHelper
- Defined in:
- app/helpers/effective_logging_helper.rb
Constant Summary collapse
- ALLOWED_TAGS =
[ "a", "abbr", "acronym", "address", "b", "big", "blockquote", "br", "cite", "code", "dd", "del", "dfn", "div", "dl", "dt", "em", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "ins", "kbd", "li", "ol", "p", "pre", "samp", "small", "span", "strong", "sub", "sup", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "tt", "ul", "var" ]
- ALLOWED_ATTRIBUTES =
[ "abbr", "alt", "cite", "class", "colspan", "datetime", "height", "href", "name", "rowspan", "src", "title", "width", "xml:lang" ]
Instance Method Summary collapse
- #bootstrap_class_for_status(status) ⇒ Object
-
#effective_logging_object_link_to(obj, action = :show) ⇒ Object
This is called on the Logs#show Admin page, and is intended for override by the application.
- #format_log_details_resource_value(value) ⇒ Object
-
#format_log_details_value(log, key) ⇒ Object
tabelize_hash and format_resource_value are from effective_resources.
- #parents_of_log(log) ⇒ Object
- #render_log(log) ⇒ Object
Instance Method Details
#bootstrap_class_for_status(status) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'app/helpers/effective_logging_helper.rb', line 12 def bootstrap_class_for_status(status) case status when 'success' ; 'success' when 'info' ; 'info' when 'warning' ; 'warning' when 'error' ; 'danger' when 'change' ; 'info' else 'primary' end end |
#effective_logging_object_link_to(obj, action = :show) ⇒ Object
This is called on the Logs#show Admin page, and is intended for override by the application
34 35 36 37 38 39 40 41 42 |
# File 'app/helpers/effective_logging_helper.rb', line 34 def effective_logging_object_link_to(obj, action = :show) if obj.kind_of?(User) if action == :show && defined?(admin_user_path) link_to('View', admin_user_path(obj)) elsif action == :edit && defined?(edit_admin_user_path) link_to('Edit', edit_admin_user_path(obj)) end end end |
#format_log_details_resource_value(value) ⇒ Object
70 71 72 |
# File 'app/helpers/effective_logging_helper.rb', line 70 def format_log_details_resource_value(value) simple_format(sanitize(value.to_s, tags: ALLOWED_TAGS, attributes: ALLOWED_ATTRIBUTES), {}, sanitize: false) end |
#format_log_details_value(log, key) ⇒ Object
tabelize_hash and format_resource_value are from effective_resources
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/helpers/effective_logging_helper.rb', line 45 def format_log_details_value(log, key) value = log.details[key] return tableize_hash(value) unless value.kind_of?(String) open = value.index('<!DOCTYPE html') || value.index('<html') close = value.rindex('</html>') if open.present? return format_log_details_resource_value(value) unless (open.present? && close.present?) before = value[0...open] after = value[(close+7)..-1] divide = before.sub!('<hr>', '').present? [ h(before).gsub("\n", '<br>'), (content_tag(:hr) if divide), content_tag(:iframe, '', src: effective_logging.html_part_log_path(log, key: key), style: 'frameborder: 0; border: 0; width: 100%; height: 100%;', onload: "this.style.height=(this.contentDocument.body.scrollHeight + 30) + 'px';", scrolling: 'no'), h(after).gsub("\n", '<br>') ].compact.join.html_safe end |
#parents_of_log(log) ⇒ Object
27 28 29 30 31 |
# File 'app/helpers/effective_logging_helper.rb', line 27 def parents_of_log(log) parents = [log.parent] parents << parents.last.parent while(parents.last.try(:parent_id).present?) parents.compact.reverse end |
#render_log(log) ⇒ Object
23 24 25 |
# File 'app/helpers/effective_logging_helper.rb', line 23 def render_log(log) render(partial: 'effective/logs/log', locals: { log: log }) end |