server: allow empty fields
This commit is contained in:
parent
47292d659f
commit
a013e0fc22
20
server.rb
20
server.rb
|
@ -250,20 +250,23 @@ def add_part(part)
|
||||||
# update family
|
# update family
|
||||||
family = nil
|
family = nil
|
||||||
field = "family"
|
field = "family"
|
||||||
part[field] = nil if part[field] and 0 == part[field].length
|
|
||||||
if part[field] then
|
if part[field] then
|
||||||
statement = @db.prepare("SELECT id FROM part WHERE name = ?")
|
if part[field].empty? then
|
||||||
family = statement.execute(part[field]).to_a
|
update = @db.prepare("UPDATE part SET #{field} = NULL WHERE id = ?")
|
||||||
raise StandardError.new("family not existing") if family.empty?
|
update.execute(part["id"])
|
||||||
update = @db.prepare("UPDATE part SET #{field} = ? WHERE id = ?")
|
else
|
||||||
update.execute(family[0]["id"], part["id"])
|
statement = @db.prepare("SELECT id FROM part WHERE name = ?")
|
||||||
family = get_part_by_id(family[0]["id"])
|
family = statement.execute(part[field]).to_a
|
||||||
|
raise StandardError.new("family not existing") if family.empty?
|
||||||
|
update = @db.prepare("UPDATE part SET #{field} = ? WHERE id = ?")
|
||||||
|
update.execute(family[0]["id"], part["id"])
|
||||||
|
family = get_part_by_id(family[0]["id"])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
# update fields
|
# update fields
|
||||||
fields_txt = ["name", "description", "details", "mpn", "package", "datasheet", "page"];
|
fields_txt = ["name", "description", "details", "mpn", "package", "datasheet", "page"];
|
||||||
fields_txt.each do |field|
|
fields_txt.each do |field|
|
||||||
next unless part[field]
|
next unless part[field]
|
||||||
part[field] = nil if part[field].kind_of?(String) and 0 == part[field].length
|
|
||||||
next if family and family[field] == part[field]
|
next if family and family[field] == part[field]
|
||||||
update = @db.prepare("UPDATE part SET #{field} = ? WHERE id = ?")
|
update = @db.prepare("UPDATE part SET #{field} = ? WHERE id = ?")
|
||||||
update.execute(part[field], part["id"])
|
update.execute(part[field], part["id"])
|
||||||
|
@ -271,7 +274,6 @@ def add_part(part)
|
||||||
# update manufacturer and package
|
# update manufacturer and package
|
||||||
field_ref = ["manufacturer"]
|
field_ref = ["manufacturer"]
|
||||||
field_ref.each do |field|
|
field_ref.each do |field|
|
||||||
part[field] = nil if part[field] and 0 == part[field].length
|
|
||||||
next if family and family[field] == part[field]
|
next if family and family[field] == part[field]
|
||||||
if part[field] then
|
if part[field] then
|
||||||
statement = @db.prepare("SELECT id FROM #{field} WHERE LOWER(name) = ?")
|
statement = @db.prepare("SELECT id FROM #{field} WHERE LOWER(name) = ?")
|
||||||
|
|
Loading…
Reference in New Issue