Fixed error deleting a workshop

This commit is contained in:
Godwin
2016-08-22 11:17:55 -07:00
parent 3940a0b0cc
commit 15483c13df
6 changed files with 303 additions and 31 deletions
+91 -7
View File
@@ -1536,6 +1536,18 @@ module ApplicationHelper
end
end
def html_table(excel_data, options = {})
options[:html] = true
attributes = { class: options[:class], id: options[:id] }
attributes[:data] = { 'update-url' => options[:editable] } if options[:editable].present?
content_tag(:table, attributes) do
(content_tag(:thead) do
content_tag(:tr, excel_header_columns(excel_data))
end) +
content_tag(:tbody, excel_rows(excel_data, {}, options))
end
end
def excel_table(excel_data)
format_xls 'table' do
workbook use_autowidth: true
@@ -1562,7 +1574,6 @@ module ApplicationHelper
data[:columns].each do |column|
unless data[:column_types].present? && data[:column_types][column] == :table
# columns += content_tag(:th, _(data[:keys][column].present? ? data[:keys][column] : "#{key}.#{column.to_s}"), class: class_name)
columns += content_tag(:th, data[:keys][column].present? ? _(data[:keys][column]) : '', class: class_name)
end
end
@@ -1597,7 +1608,7 @@ module ApplicationHelper
(left + columns + right).html_safe
end
def excel_columns(row, data, padding = {})
def excel_columns(row, data, padding = {}, options = {})
columns = ''
data[:columns].each do |column|
@@ -1613,13 +1624,73 @@ module ApplicationHelper
end
end
columns += content_tag(:td, value, { class: class_name }) unless is_sub_table
unless is_sub_table
attributes = { class: [class_name] }
if options[:html] && row[:html_values].present? && row[:html_values][column].present?
value = row[:html_values][column]
end
if options[:editable]
attributes[:data] = { 'column-id' => column }
end
if (options[:column_names] || []).include? column
attributes[:tabindex] = 0
end
columns += content_tag(:td, value, attributes)
end
end
pad_columns(columns, padding)
end
def excel_sub_tables(row, data, padding = {})
def editor_columns(row, data, padding = {}, options = {})
columns = ''
data[:columns].each do |column|
value = row[column].present? ? (_!row[column].to_s) : ''
class_name = nil
is_sub_table = false
if data[:column_types].present? && data[:column_types][column].present?
if data[:column_types][column] == :table
is_sub_table = true
else
class_name = data[:column_types][column]
end
end
unless is_sub_table
attributes = { class: [class_name] }
if options[:editable]
attributes[:data] = { 'column-id' => column }
end
if (options[:column_names] || []).include? column
attributes[:class] << 'has-editor'
raw_value = value
if options[:html] && row[:html_values].present? && row[:html_values][column].present?
value = row[:html_values][column]
end
# create the control but add the original value to set the width and height
if (options[:column_options] || {})[column].present?
value = (value + select_tag(column, options_for_select(options[:column_options][column], row[:raw_values][column] || raw_value), class: 'cell-editor')).html_safe
else
value = (value + content_tag(:textarea, raw_value, name: column, class: 'cell-editor')).html_safe
end
end
columns += content_tag(:td, value, attributes)
end
end
pad_columns(columns, padding)
end
def excel_sub_tables(row, data, padding = {}, options = {})
rows = ''
# shift the table right
@@ -1630,7 +1701,6 @@ module ApplicationHelper
data[:columns].each do |column|
if data[:column_types].present? && data[:column_types][column] == :table
puts row[column].to_json.to_s
rows += content_tag(:tr, excel_header_columns(row[column], new_padding, 'sub-table'))
rows += excel_rows(row[column], new_padding)
rows += excel_empty_row(row[column], new_padding)
@@ -1641,11 +1711,25 @@ module ApplicationHelper
rows.html_safe
end
def excel_rows(data, padding = {})
def excel_rows(data, padding = {}, options = {})
rows = ''
data[:data].each do |row|
rows += content_tag(:tr, excel_columns(row, data, padding)) +
attributes = {}
if options[:primary_key].present?
attributes[:data] = { key: row[options[:primary_key]] }
end
attributes[:class] = []
if options[:editable]
attributes[:class] << :editable
# attributes[:tabindex] = 0
end
rows += content_tag(:tr, excel_columns(row, data, padding, options), attributes) +
excel_sub_tables(row, data, padding)
rows += content_tag(:tr, editor_columns(row, data, padding, options), class: :editor) if options[:editable]
end
rows.html_safe
end