jbe/bsw@0: function ui_deprecated.multiselect(args)
jbe/bsw@0:   local record = assert(slot.get_state_table(), "ui_deprecated.multiselect was not called within a form.").form_record
jbe/bsw@0:   local name = args.name
jbe/bsw@0:   local relationship = args.relationship
jbe/bsw@0: 
jbe/bsw@0:   local foreign_records = relationship.foreign_records
jbe/bsw@0: 	
jbe/bsw@0:   local selector = relationship.connected_by_model:new_selector()
jbe/bsw@0:   selector:add_where{ relationship.connected_by_my_id .. ' = ?', record[relationship.my_id] }
jbe/bsw@0:   local connected_by_records = selector:exec()
jbe/bsw@0: 	
jbe/bsw@0:   local connections = {}
jbe/bsw@0:   for i, connected_by_record in ipairs(connected_by_records) do
jbe/bsw@0:     connections[connected_by_record[relationship.connected_by_foreign_id]] = connected_by_record
jbe/bsw@0:   end
jbe/bsw@0: 
jbe/bsw@0:   local html = {}
jbe/bsw@0: 
jbe/bsw@0:   if args.type == "checkboxes" then
jbe/bsw@0:     for i, foreign_record in ipairs(foreign_records) do
jbe/bsw@0:       local selected = ''
jbe/bsw@0:       if connections[foreign_record[relationship.foreign_id]] then
jbe/bsw@0:         selected = ' checked="1"'
jbe/bsw@0:       end
jbe/bsw@0:       html[#html + 1] = ' ' .. convert.to_human(foreign_record[relationship.foreign_name], "string") .. '
\n'
jbe/bsw@0:     end
jbe/bsw@0:  
jbe/bsw@0:   else
jbe/bsw@0:     html[#html + 1] = ''
jbe/bsw@0: 
jbe/bsw@0:   end
jbe/bsw@0:   	
jbe/bsw@0:   slot.put('