def pick_indications(parent=None, msg=None, right_column=None, picks=None): if parent is None: parent = wx.GetApp().GetTopWindow() if msg is None: msg = _('Pick the relevant indications.') if right_column is None: right_columns = ['This vaccine'] else: right_columns = [right_column] picker = gmListWidgets.cItemPickerDlg(parent, -1, msg = msg) picker.set_columns(columns = [_('Known indications')], columns_right = right_columns) inds = gmVaccination.get_indications(order_by = 'l10n_description') picker.set_choices ( choices = [ i['l10n_description'] for i in inds ], data = inds ) picker.set_picks ( picks = [ p['l10n_description'] for p in picks ], data = picks ) result = picker.ShowModal() if result == wx.ID_CANCEL: picker.Destroy() return None picks = picker.picks picker.Destroy() return picks
def refresh(lctrl): inds = gmVaccination.get_indications(order_by = 'l10n_description') items = [ [ i['l10n_description'], gmTools.coalesce ( i['atcs_single_indication'], u'', u'%s' ), gmTools.coalesce ( i['atcs_combi_indication'], u'', u'%s' ), u'%s' % i['id'] ] for i in inds ] lctrl.set_string_items(items) lctrl.set_data(inds)