mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-26 10:00:37 +00:00
settings for default role of new register user
This commit is contained in:
parent
df2eb82408
commit
bff86f02ca
@ -49,6 +49,26 @@
|
|||||||
<input type="checkbox" id="config_public_reg" name="config_public_reg" {% if content.config_public_reg %}checked{% endif %}>
|
<input type="checkbox" id="config_public_reg" name="config_public_reg" {% if content.config_public_reg %}checked{% endif %}>
|
||||||
<label for="config_public_reg">{{_('Enable public registration')}}</label>
|
<label for="config_public_reg">{{_('Enable public registration')}}</label>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="checkbox" name="admin_role" id="admin_role" {% if content.role_admin() %}checked{% endif %}>
|
||||||
|
<label for="admin_role">{{_('Admin user')}}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="checkbox" name="download_role" id="download_role" {% if content.role_download() %}checked{% endif %}>
|
||||||
|
<label for="download_role">{{_('Allow Downloads')}}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="checkbox" name="upload_role" id="upload_role" {% if content.role_upload() %}checked{% endif %}>
|
||||||
|
<label for="upload_role">{{_('Allow Uploads')}}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="checkbox" name="edit_role" id="edit_role" {% if content.role_edit() %}checked{% endif %}>
|
||||||
|
<label for="edit_role">{{_('Allow Edit')}}</label>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<input type="checkbox" name="passwd_role" id="passwd_role" {% if content.role_passwd() %}checked{% endif %}>
|
||||||
|
<label for="passwd_role">{{_('Allow Changing Password')}}</label>
|
||||||
|
</div>
|
||||||
<button type="submit" class="btn btn-default">{{_('Submit')}}</button>
|
<button type="submit" class="btn btn-default">{{_('Submit')}}</button>
|
||||||
{% if not origin %}
|
{% if not origin %}
|
||||||
<a href="{{ url_for('admin') }}" class="btn btn-default">{{_('Back')}}</a>
|
<a href="{{ url_for('admin') }}" class="btn btn-default">{{_('Back')}}</a>
|
||||||
|
33
cps/ub.py
33
cps/ub.py
@ -262,6 +262,7 @@ class Settings(Base):
|
|||||||
config_uploading = Column(SmallInteger, default=0)
|
config_uploading = Column(SmallInteger, default=0)
|
||||||
config_anonbrowse = Column(SmallInteger, default=0)
|
config_anonbrowse = Column(SmallInteger, default=0)
|
||||||
config_public_reg = Column(SmallInteger, default=0)
|
config_public_reg = Column(SmallInteger, default=0)
|
||||||
|
config_default_role = Column(SmallInteger, default=0)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
pass
|
pass
|
||||||
@ -287,6 +288,7 @@ class Config:
|
|||||||
self.config_uploading = data.config_uploading
|
self.config_uploading = data.config_uploading
|
||||||
self.config_anonbrowse = data.config_anonbrowse
|
self.config_anonbrowse = data.config_anonbrowse
|
||||||
self.config_public_reg = data.config_public_reg
|
self.config_public_reg = data.config_public_reg
|
||||||
|
self.config_default_role = data.config_default_role
|
||||||
if self.config_calibre_dir is not None: # and (self.db_configured is None or self.db_configured is True):
|
if self.config_calibre_dir is not None: # and (self.db_configured is None or self.db_configured is True):
|
||||||
self.db_configured = True
|
self.db_configured = True
|
||||||
else:
|
else:
|
||||||
@ -296,6 +298,36 @@ class Config:
|
|||||||
def get_main_dir(self):
|
def get_main_dir(self):
|
||||||
return self.config_main_dir
|
return self.config_main_dir
|
||||||
|
|
||||||
|
def role_admin(self):
|
||||||
|
if self.config_default_role is not None:
|
||||||
|
return True if self.config_default_role & ROLE_ADMIN == ROLE_ADMIN else False
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def role_download(self):
|
||||||
|
if self.config_default_role is not None:
|
||||||
|
return True if self.config_default_role & ROLE_DOWNLOAD == ROLE_DOWNLOAD else False
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def role_upload(self):
|
||||||
|
if self.config_default_role is not None:
|
||||||
|
return True if self.config_default_role & ROLE_UPLOAD == ROLE_UPLOAD else False
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def role_edit(self):
|
||||||
|
if self.config_default_role is not None:
|
||||||
|
return True if self.config_default_role & ROLE_EDIT == ROLE_EDIT else False
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def role_passwd(self):
|
||||||
|
if self.config_default_role is not None:
|
||||||
|
return True if self.config_default_role & ROLE_PASSWD == ROLE_PASSWD else False
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
def get_Log_Level(self):
|
def get_Log_Level(self):
|
||||||
ret_value=""
|
ret_value=""
|
||||||
if self.config_log_level == logging.INFO:
|
if self.config_log_level == logging.INFO:
|
||||||
@ -337,6 +369,7 @@ def migrate_Database():
|
|||||||
conn.execute("ALTER TABLE Settings ADD column `config_uploading` SmallInteger DEFAULT 0")
|
conn.execute("ALTER TABLE Settings ADD column `config_uploading` SmallInteger DEFAULT 0")
|
||||||
conn.execute("ALTER TABLE Settings ADD column `config_anonbrowse` SmallInteger DEFAULT 0")
|
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")
|
conn.execute("ALTER TABLE Settings ADD column `config_public_reg` SmallInteger DEFAULT 0")
|
||||||
|
conn.execute("ALTER TABLE Settings ADD column `config_default_role` SmallInteger DEFAULT 0")
|
||||||
session.commit()
|
session.commit()
|
||||||
try:
|
try:
|
||||||
session.query(exists().where(BookShelf.order)).scalar()
|
session.query(exists().where(BookShelf.order)).scalar()
|
||||||
|
14
cps/web.py
14
cps/web.py
@ -1271,7 +1271,7 @@ def register():
|
|||||||
content.password = generate_password_hash(to_save["password"])
|
content.password = generate_password_hash(to_save["password"])
|
||||||
content.nickname = to_save["nickname"]
|
content.nickname = to_save["nickname"]
|
||||||
content.email = to_save["email"]
|
content.email = to_save["email"]
|
||||||
content.role = 0
|
content.role = config.config_default_role
|
||||||
try:
|
try:
|
||||||
ub.session.add(content)
|
ub.session.add(content)
|
||||||
ub.session.commit()
|
ub.session.commit()
|
||||||
@ -1635,6 +1635,18 @@ def configuration_helper(origin):
|
|||||||
content.config_anonbrowse = 1
|
content.config_anonbrowse = 1
|
||||||
if "config_public_reg" in to_save and to_save["config_public_reg"] == "on":
|
if "config_public_reg" in to_save and to_save["config_public_reg"] == "on":
|
||||||
content.config_public_reg = 1
|
content.config_public_reg = 1
|
||||||
|
|
||||||
|
content.config_default_role = 0
|
||||||
|
if "admin_role" in to_save:
|
||||||
|
content.config_default_role = content.config_default_role + ub.ROLE_ADMIN
|
||||||
|
if "download_role" in to_save:
|
||||||
|
content.config_default_role = content.config_default_role + ub.ROLE_DOWNLOAD
|
||||||
|
if "upload_role" in to_save:
|
||||||
|
content.config_default_role = content.config_default_role + ub.ROLE_UPLOAD
|
||||||
|
if "edit_role" in to_save:
|
||||||
|
content.config_default_role = content.config_default_role + ub.ROLE_EDIT
|
||||||
|
if "passwd_role" in to_save:
|
||||||
|
content.config_default_role = content.config_default_role + ub.ROLE_PASSWD
|
||||||
try:
|
try:
|
||||||
if db_change:
|
if db_change:
|
||||||
if config.db_configured:
|
if config.db_configured:
|
||||||
|
Loading…
Reference in New Issue
Block a user