Commit a9a6f5b9 authored by Ozzieisaacs's avatar Ozzieisaacs

Renamed restrict -> deny

parent 8b1444eb
This diff is collapsed.
......@@ -74,10 +74,10 @@ class _Settings(_Base):
config_default_show = Column(SmallInteger, default=6143)
config_columns_to_ignore = Column(String)
config_restricted_tags = Column(String, default="")
config_denied_tags = Column(String, default="")
config_allowed_tags = Column(String, default="")
config_restricted_column = Column(SmallInteger, default=0)
config_restricted_column_value = Column(String, default="")
config_denied_column_value = Column(String, default="")
config_allowed_column_value = Column(String, default="")
config_use_google_drive = Column(Boolean, default=False)
......@@ -186,16 +186,16 @@ class _ConfigSQL(object):
def show_detail_random(self):
return self.show_element_new_user(constants.DETAIL_RANDOM)
def list_restricted_tags(self):
mct = self.config_restricted_tags.split(",")
def list_denied_tags(self):
mct = self.config_denied_tags.split(",")
return [t.strip() for t in mct]
def list_allowed_tags(self):
mct = self.config_allowed_tags.split(",")
return [t.strip() for t in mct]
def list_restricted_column_values(self):
mct = self.config_restricted_column_value.split(",")
def list_denied_column_values(self):
mct = self.config_denied_column_value.split(",")
return [t.strip() for t in mct]
def list_allowed_column_values(self):
......@@ -341,8 +341,8 @@ def load_configuration(session):
session.commit()
conf = _ConfigSQL(session)
# Migrate from global restrictions to user based restrictions
if bool(conf.config_default_show & constants.MATURE_CONTENT) and conf.config_restricted_tags == "":
conf.config_restricted_tags = conf.config_mature_content_tags
if bool(conf.config_default_show & constants.MATURE_CONTENT) and conf.config_denied_tags == "":
conf.config_denied_tags = conf.config_mature_content_tags
conf.save()
session.query(ub.User).filter(ub.User.mature_content != True). \
update({"restricted_tags": conf.config_mature_content_tags}, synchronize_session=False)
......
......@@ -688,20 +688,17 @@ def common_filters():
lang_filter = db.Books.languages.any(db.Languages.lang_code == current_user.filter_language())
else:
lang_filter = true()
negtags_list = current_user.list_restricted_tags()
negtags_list = current_user.list_denied_tags()
postags_list = current_user.list_allowed_tags()
neg_content_tags_filter = false() if negtags_list == [''] else db.Books.tags.any(db.Tags.name.in_(negtags_list))
pos_content_tags_filter = true() if postags_list == [''] else db.Books.tags.any(db.Tags.name.in_(postags_list))
# db.session.query(db.Books).filter(db.Books.custom_column_5.any(db.cc_classes[5].value == 'nikto')).first()
# db.session.query(db.Books).filter(
# getattr(db.Books, 'custom_column_' + str(5)).any(db.cc_classes[5].value == 'nikto').first())
if config.config_restricted_column:
pos_cc_list = current_user.allowed_column_value.split(',')
pos_content_cc_filter = true() if pos_cc_list == [''] else \
getattr(db.Books, 'custom_column_' + str(config.config_restricted_column)).\
any(db.cc_classes[config.config_restricted_column].value.in_(pos_cc_list))
neg_cc_list = current_user.restricted_column_value.split(',')
neg_content_cc_filter = true() if neg_cc_list == [''] else \
neg_cc_list = current_user.denied_column_value.split(',')
neg_content_cc_filter = false() if neg_cc_list == [''] else \
getattr(db.Books, 'custom_column_' + str(config.config_restricted_column)).\
any(db.cc_classes[config.config_restricted_column].value.in_(neg_cc_list))
else:
......@@ -712,7 +709,7 @@ def common_filters():
def tags_filters():
negtags_list = current_user.list_restricted_tags()
negtags_list = current_user.list_denied_tags()
postags_list = current_user.list_allowed_tags()
neg_content_tags_filter = false() if negtags_list == [''] else db.Tags.name.in_(negtags_list)
pos_content_tags_filter = true() if postags_list == [''] else db.Tags.name.in_(postags_list)
......
......@@ -3,10 +3,10 @@
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title hidden" id="h1">{{_('Select allowed/restricted Tags')}}</h4>
<h4 class="modal-title hidden" id="h2">{{_('Select allowed/restricted Custom Column values')}}</h4>
<h4 class="modal-title hidden" id="h3">{{_('Select allowed/restricted Tags of user')}}</h4>
<h4 class="modal-title hidden" id="h4">{{_('Select allowed/restricted Custom Column values of user')}}</h4>
<h4 class="modal-title hidden" id="h1">{{_('Select allowed/denied Tags')}}</h4>
<h4 class="modal-title hidden" id="h2">{{_('Select allowed/denied Custom Column values')}}</h4>
<h4 class="modal-title hidden" id="h3">{{_('Select allowed/denied Tags of user')}}</h4>
<h4 class="modal-title hidden" id="h4">{{_('Select allowed/denied Custom Column values of user')}}</h4>
</div>
<div class="modal-body">
<table class="table table-no-bordered" id="restrict-elements-table" data-id-field="id" data-show-header="false" data-editable-mode="inline">
......@@ -21,7 +21,7 @@
</table>
<form id="add_restriction" action="" method="POST">
<div class="form-group required">
<label for="add_element">{{_('Add Tag')}}</label>
<label for="add_element">{{_('Add View Restriction')}}</label>
<input type="text" class="form-control" name="add_element" id="add_element" >
</div>
<div class="form-group required">
......
......@@ -157,16 +157,16 @@ class UserBase:
def show_detail_random(self):
return self.check_visibility(constants.DETAIL_RANDOM)
def list_restricted_tags(self):
mct = self.restricted_tags.split(",")
def list_denied_tags(self):
mct = self.denied_tags.split(",")
return [t.strip() for t in mct]
def list_allowed_tags(self):
mct = self.allowed_tags.split(",")
return [t.strip() for t in mct]
def list_restricted_column_values(self):
mct = self.restricted_column_value.split(",")
def list_denied_column_values(self):
mct = self.denied_column_value.split(",")
return [t.strip() for t in mct]
def list_allowed_column_values(self):
......@@ -195,9 +195,9 @@ class User(UserBase, Base):
sidebar_view = Column(Integer, default=1)
default_language = Column(String(3), default="all")
mature_content = Column(Boolean, default=True)
restricted_tags = Column(String, default="")
denied_tags = Column(String, default="")
allowed_tags = Column(String, default="")
restricted_column_value = Column(String, default="")
denied_column_value = Column(String, default="")
allowed_column_value = Column(String, default="")
remote_auth_token = relationship('RemoteAuthToken', backref='user', lazy='dynamic')
......@@ -235,9 +235,9 @@ class Anonymous(AnonymousUserMixin, UserBase):
self.locale = data.locale
self.mature_content = data.mature_content
self.kindle_mail = data.kindle_mail
self.restricted_tags = data.restricted_tags
self.denied_tags = data.denied_tags
self.allowed_tags = data.allowed_tags
self.restricted_column_value = data.restricted_column_value
self.denied_column_value = data.denied_column_value
self.allowed_column_value = data.allowed_column_value
def role_admin(self):
......@@ -417,12 +417,12 @@ def migrate_Database(session):
conn = engine.connect()
conn.execute("ALTER TABLE user ADD column `mature_content` INTEGER DEFAULT 1")'''
try:
session.query(exists().where(User.restricted_tags)).scalar()
session.query(exists().where(User.denied_tags)).scalar()
except exc.OperationalError: # Database is not compatible, some columns are missing
conn = engine.connect()
conn.execute("ALTER TABLE user ADD column `restricted_tags` String DEFAULT ''")
conn.execute("ALTER TABLE user ADD column `denied_tags` String DEFAULT ''")
conn.execute("ALTER TABLE user ADD column `allowed_tags` String DEFAULT ''")
conn.execute("ALTER TABLE user ADD column `restricted_column_value` DEFAULT ''")
conn.execute("ALTER TABLE user ADD column `denied_column_value` DEFAULT ''")
conn.execute("ALTER TABLE user ADD column `allowed_column_value` DEFAULT ''")
if session.query(User).filter(User.role.op('&')(constants.ROLE_ANONYMOUS) == constants.ROLE_ANONYMOUS).first() is None:
create_anonymous_user(session)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment