moved hashtags location in xls

This commit is contained in:
rulingcom 2025-08-13 22:18:55 +08:00
parent 2691864954
commit 9dcafd268c
3 changed files with 32 additions and 30 deletions

View File

@ -10,6 +10,15 @@ wb.add_worksheet(name: "Structure") do |sheet|
row1 = ['uid']
row2 = ['Use to update existing entries. Leave blank to create new.']
# 加入 hashtags 與 related_entries 欄位
row << t("universal_table.hashtags")
row1 << "table_tags"
row2 << "Separate tags by ;"
row << t("universal_table.related_entries")
row1 << "related_entries"
row2 << "Separate UIDs with ;"
@table.table_columns.asc(:order).each do |column|
case column.type
when "text", "editor"
@ -48,7 +57,7 @@ wb.add_worksheet(name: "Structure") do |sheet|
row << "#{column.title}"
row1 << column.key
row2 << "Separate the files by ;"
@site_in_use_locales.sort.each do |locale|
# URL 欄位
row << "#{column.title} (註解) - #{t(locale.to_s)}"
@ -59,14 +68,6 @@ wb.add_worksheet(name: "Structure") do |sheet|
end # <-- 正確結束 case 區塊
end
# 加入 hashtags 與 related_entries 欄位
row << t("universal_table.hashtags")
row1 << "table_tags"
row2 << "Separate tags by ;"
row << t("universal_table.related_entries")
row1 << "related_entries"
row2 << "Separate UIDs with ;"
sheet.add_row row, style: heading
sheet.add_row row1

View File

@ -15,6 +15,14 @@ wb.add_worksheet(name: "Structure") do |sheet|
row1 << "uid"
row2 << "uid"
row << t("universal_table.hashtags")
row1 << "table_tags"
row2 << "Separate tags by ;"
row << t("universal_table.related_entries")
row1 << "related_entries"
row2 << "Separate UIDs with ;"
table.table_columns.asc(:order).each do |column|
case column.type
when "text", "editor"
@ -53,13 +61,6 @@ wb.add_worksheet(name: "Structure") do |sheet|
end
end
row << t("universal_table.hashtags")
row1 << "table_tags"
row2 << "Separate tags by ;"
row << t("universal_table.related_entries")
row1 << "related_entries"
row2 << "Separate UIDs with ;"
sheet.add_row row, style: heading
sheet.add_row row1
@ -68,6 +69,8 @@ wb.add_worksheet(name: "Structure") do |sheet|
table.table_entries.asc(:created_at).each do |entry|
row = []
row << entry.uid
row << entry.hashtags_for_export
row << entry.get_related_entries_uid
table.table_columns.asc(:order).each do |col|
column = entry.column_entries.where(table_column_id: col.id).first
@ -137,9 +140,6 @@ wb.add_worksheet(name: "Structure") do |sheet|
end
end
row << entry.hashtags_for_export
row << entry.get_related_entries_uid
sheet.add_row row, style: wrap
end
end

View File

@ -77,6 +77,8 @@ namespace :universal_table_tasks do
[i, tc]
end.to_h
sheet.each_with_index do |row, i|
if i >= 3 && row.cells.all? { |c| c.nil? || c.value.to_s.strip.blank? }
table.inc(current_xlsx_value: 1)
@ -85,11 +87,18 @@ namespace :universal_table_tasks do
next if i < 3
uid_val = row[0].value.to_s.strip rescue nil
te = uid_val.present? ? TableEntry.where(uid: uid_val, u_table_id: table.id).first_or_initialize : TableEntry.new
te.u_table = table
skip = 0
tc_idx = 0
skip = 3
tc_idx = 3
tags_text = row.cells[1].value.to_s rescue ""
module_app = ModuleApp.find_by_key("universal_table")
create_get_table_tags(te, tags_text.split(";"), module_app) if row.cells.count >= 2
related_uids = row.cells[2].value.to_s.split(";").map(&:strip) rescue []
related_ids = TableEntry.where(:uid.in => related_uids).pluck(:id)
te.related_entries = related_ids.join(",") if row.cells.count >= 1
row.cells.each_with_index do |cell, col_idx|
next if skip > 0 && (skip -= 1) >= 0
@ -156,14 +165,6 @@ namespace :universal_table_tasks do
te.column_entries << ce
end
tags_text = row.cells[-2].value.to_s rescue ""
module_app = ModuleApp.find_by_key("universal_table")
create_get_table_tags(te, tags_text.split(";"), module_app) if row.cells.count >= 2
related_uids = row.cells[-1].value.to_s.split(";").map(&:strip)
related_ids = TableEntry.where(:uid.in => related_uids).pluck(:id)
te.related_entries = related_ids.join(",") if row.cells.count >= 1
te.save!
te.fix_have_data
te.uid = uid_val if uid_val.present?