# Tuesday, December 12, 2017¶

## Release @ Avanti¶

I made an upgrade of Lino Avanti production site. I realized that for most users in Lino Avanti we do not want to have the new SiteSearch feature. So I added a new user role lino.modlib.about.SiteSearcher.

• There are still some candidate courses for which a series of unused calendar entries has been generated. But because the course series “Candidates” no longer has a calendar entry type, Lino did not delete them.

• A checkdata problem whose owner is None means that the owner has been deleted. It means that we can safely delete the problem as well. AttributeError: ‘NoneType’ object has no attribute ‘has_conflicting_events’

• their checkdata often reports that phonetic words aren’t up-to-date. I tried to understand why. I added a get_simple_paraneters() to PhoneticWord because I would like to verify on their data that there are no phonetic words at all for these cases.

yield ‘owner_id’ yield ‘owner_type’

That’s how I discovered another bug: cannot use GenericForeignKey as a filter parameter.

## Setting the value of a combobox in ExtJS 6¶

In lino.core.store.ComboStoreField we need to change how a combobox field is represented in a JSON response:

def value2dict(self, ar, v, d, row):
value, text = self.get_value_text(ar, v, row)
d[str(self.name)] = text
d[str(self.name + constants.CHOICES_HIDDEN_SUFFIX)] = value


into this:

def value2dict(self, ar, v, d, row):
value, text = self.get_value_text(ar, v, row)
d[str(self.name)] = [{'text': text, 'value': value}]
d[str(self.name + constants.CHOICES_DISPLAY_SUFFIX)] = text
d[str(self.name + constants.CHOICES_HIDDEN_SUFFIX)] = value


and then define CHOICES_DISPLAY_SUFFIX as 'Display'. And then we need to set displayField and valueField