diff --git a/oml/settings.py b/oml/settings.py index bdc6c31..1d5d9ca 100644 --- a/oml/settings.py +++ b/oml/settings.py @@ -95,4 +95,4 @@ FULLTEXT_SUPPORT = fulltext.platform_supported() if not FULLTEXT_SUPPORT: config['itemKeys'] = [k for k in config['itemKeys'] if k['id'] != 'fulltext'] -DB_VERSION = 16 +DB_VERSION = 17 diff --git a/oml/update.py b/oml/update.py index 4177800..e51ed08 100644 --- a/oml/update.py +++ b/oml/update.py @@ -375,6 +375,8 @@ class Update(Thread): db_version = migrate_15() if db_version < 16: db_version = migrate_16() + if db_version < 17: + db_version = migrate_17() settings.server['db_version'] = db_version def run(self): @@ -658,3 +660,17 @@ def migrate_16(): 'CREATE INDEX IF NOT EXISTS ix_user_nickname ON user (nickname)' ]) return 16 + +def migrate_17(): + from user.models import List, User + from changelog import add_record + with db.session(): + l = List.get(':Public') + if not l: + add_record('removelist', 'Public') + lists = [] + for l in List.query.filter_by(user_id=settings.USER_ID).order_by('index_'): + if l.type == 'static' and l.name not in ('', 'Inbox'): + lists.append(l.name) + add_record('orderlists', lists) + return 17 diff --git a/oml/user/models.py b/oml/user/models.py index a7344f0..77ff81e 100644 --- a/oml/user/models.py +++ b/oml/user/models.py @@ -368,7 +368,7 @@ class List(db.Model): q = list_items.delete().where(list_items.columns['list_id'].is_(self.id)) state.db.session.execute(q) if not self._query: - if self.user_id == settings.USER_ID and self.name != '': + if self.user_id == settings.USER_ID and self.name not in ('', 'Inbox'): add_record('removelist', self.name) state.db.session.delete(self) if commit: