diff --git a/cps/templates/config_edit.html b/cps/templates/config_edit.html
index 7824ddd0..0f6a88ee 100644
--- a/cps/templates/config_edit.html
+++ b/cps/templates/config_edit.html
@@ -23,7 +23,10 @@
-
+
+
+
+
diff --git a/cps/ub.py b/cps/ub.py
index 653454ce..1b09ce95 100644
--- a/cps/ub.py
+++ b/cps/ub.py
@@ -253,6 +253,7 @@ class Settings(Base):
config_anonbrowse = Column(SmallInteger, default=0)
config_public_reg = Column(SmallInteger, default=0)
config_default_role = Column(SmallInteger, default=0)
+ config_columns_to_ignore = Column(String)
def __repr__(self):
pass
@@ -279,6 +280,7 @@ class Config:
self.config_anonbrowse = data.config_anonbrowse
self.config_public_reg = data.config_public_reg
self.config_default_role = data.config_default_role
+ self.config_columns_to_ignore = data.config_columns_to_ignore
if self.config_calibre_dir is not None:
self.db_configured = True
else:
@@ -360,6 +362,12 @@ def migrate_Database():
conn.execute("ALTER TABLE Settings ADD column `config_anonbrowse` SmallInteger DEFAULT 0")
conn.execute("ALTER TABLE Settings ADD column `config_public_reg` SmallInteger DEFAULT 0")
session.commit()
+ try:
+ session.query(exists().where(Settings.config_columns_to_ignore)).scalar()
+ except exc.OperationalError:
+ conn = engine.connect()
+ conn.execute("ALTER TABLE Settings ADD column `config_columns_to_ignore` String DEFAULT ''")
+ session.commit()
try:
session.query(exists().where(Settings.config_default_role)).scalar()
session.commit()
diff --git a/cps/web.py b/cps/web.py
index 1777a77f..06ff8db3 100755
--- a/cps/web.py
+++ b/cps/web.py
@@ -1006,7 +1006,16 @@ def show_book(id):
except:
entries.languages[index].language_name = _(
isoLanguages.get(part3=entries.languages[index].lang_code).name)
- cc = db.session.query(db.Custom_Columns).filter(db.Custom_Columns.datatype.notin_(db.cc_exceptions)).all()
+ tmpcc = db.session.query(db.Custom_Columns).filter(db.Custom_Columns.datatype.notin_(db.cc_exceptions)).all()
+
+ if config.config_columns_to_ignore:
+ cc=[]
+ for col in tmpcc:
+ r= re.compile(config.config_columns_to_ignore)
+ if r.match(col.label):
+ c.append(col)
+ else:
+ cc=tmpcc
book_in_shelfs = []
shelfs = ub.session.query(ub.BookShelf).filter(ub.BookShelf.book_id == id).all()
for entry in shelfs:
@@ -1654,6 +1663,8 @@ def configuration_helper(origin):
reboot_required = True
if "config_calibre_web_title" in to_save:
content.config_calibre_web_title = to_save["config_calibre_web_title"]
+ if "config_columns_to_ignore" in to_save:
+ content.config_columns_to_ignore = to_save["config_columns_to_ignore"]
if "config_title_regex" in to_save:
if content.config_title_regex != to_save["config_title_regex"]:
content.config_title_regex = to_save["config_title_regex"]