mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-04 00:20:07 +00:00
Merge pull request #1212 from haiwen/enhancement/constance
Add setting to enable/disable constance(web settings)
This commit is contained in:
@@ -8,6 +8,6 @@ django-compressor==1.4
|
|||||||
django-post-office==2.0.3
|
django-post-office==2.0.3
|
||||||
django-statici18n==1.1.2
|
django-statici18n==1.1.2
|
||||||
djangorestframework==3.3.1
|
djangorestframework==3.3.1
|
||||||
git+git://github.com/haiwen/django-constance.git@bde7f7cdfd0ed1631a6817fd4cd76f37bf54fe35#egg=django-constance[database]
|
git+git://github.com/haiwen/django-constance.git@751f7f8b60651a2828e4a535a47fc05b907883da#egg=django-constance[database]
|
||||||
openpyxl==2.3.0
|
openpyxl==2.3.0
|
||||||
pytz==2015.7
|
pytz==2015.7
|
||||||
|
@@ -89,4 +89,5 @@ def base(request):
|
|||||||
'multi_institution': getattr(dj_settings, 'MULTI_INSTITUTION', False),
|
'multi_institution': getattr(dj_settings, 'MULTI_INSTITUTION', False),
|
||||||
'search_repo_id': search_repo_id,
|
'search_repo_id': search_repo_id,
|
||||||
'SITE_ROOT': SITE_ROOT,
|
'SITE_ROOT': SITE_ROOT,
|
||||||
|
'constance_enabled': dj_settings.CONSTANCE_ENABLED,
|
||||||
}
|
}
|
||||||
|
@@ -212,6 +212,8 @@ INSTALLED_APPS = (
|
|||||||
'seahub.password_session',
|
'seahub.password_session',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Enabled or disable constance(web settings).
|
||||||
|
ENABLE_SETTINGS_VIA_WEB = True
|
||||||
CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'
|
CONSTANCE_BACKEND = 'constance.backends.database.DatabaseBackend'
|
||||||
CONSTANCE_DATABASE_CACHE_BACKEND = 'default'
|
CONSTANCE_DATABASE_CACHE_BACKEND = 'default'
|
||||||
|
|
||||||
@@ -622,8 +624,10 @@ if 'win32' in sys.platform:
|
|||||||
fp.write("%d\n" % os.getpid())
|
fp.write("%d\n" % os.getpid())
|
||||||
fp.close()
|
fp.close()
|
||||||
|
|
||||||
|
# Following settings are private, can not be overwrite.
|
||||||
INNER_FILE_SERVER_ROOT = 'http://127.0.0.1:' + FILE_SERVER_PORT
|
INNER_FILE_SERVER_ROOT = 'http://127.0.0.1:' + FILE_SERVER_PORT
|
||||||
|
|
||||||
|
CONSTANCE_ENABLED = ENABLE_SETTINGS_VIA_WEB
|
||||||
CONSTANCE_CONFIG = {
|
CONSTANCE_CONFIG = {
|
||||||
'SERVICE_URL': (SERVICE_URL,''),
|
'SERVICE_URL': (SERVICE_URL,''),
|
||||||
'FILE_SERVER_ROOT': (FILE_SERVER_ROOT,''),
|
'FILE_SERVER_ROOT': (FILE_SERVER_ROOT,''),
|
||||||
|
@@ -8,9 +8,11 @@
|
|||||||
</li>
|
</li>
|
||||||
<li class="tab <% if (cur_tab == 'devices') { %> tab-cur<% } %>"> <a href="{{ SITE_ROOT }}sysadmin/#desktop-devices/"><span class="sf2-icon-monitor"></span>{% trans "Devices" %}</a>
|
<li class="tab <% if (cur_tab == 'devices') { %> tab-cur<% } %>"> <a href="{{ SITE_ROOT }}sysadmin/#desktop-devices/"><span class="sf2-icon-monitor"></span>{% trans "Devices" %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
{% if constance_enabled %}
|
||||||
<li class="tab">
|
<li class="tab">
|
||||||
<a href="{% url "sys_settings" %}"><span class="sf2-icon-cog2"></span>{% trans "Settings" %}</a>
|
<a href="{% url "sys_settings" %}"><span class="sf2-icon-cog2"></span>{% trans "Settings" %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
{% endif %}
|
||||||
<li class="tab">
|
<li class="tab">
|
||||||
<a href="{{ SITE_ROOT }}sys/seafadmin/"><span class="sf2-icon-library"></span>{% trans "Libraries" %}</a>
|
<a href="{{ SITE_ROOT }}sys/seafadmin/"><span class="sf2-icon-library"></span>{% trans "Libraries" %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
@@ -11,9 +11,11 @@
|
|||||||
<li class="tab {% block cur_devices %}{% endblock %}">
|
<li class="tab {% block cur_devices %}{% endblock %}">
|
||||||
<a href="{{ SITE_ROOT }}sysadmin/#desktop-devices/"><span class="sf2-icon-monitor"></span>{% trans "Devices" %}</a>
|
<a href="{{ SITE_ROOT }}sysadmin/#desktop-devices/"><span class="sf2-icon-monitor"></span>{% trans "Devices" %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
{% if constance_enabled %}
|
||||||
<li class="tab {% block cur_settings %}{% endblock %}">
|
<li class="tab {% block cur_settings %}{% endblock %}">
|
||||||
<a href="{% url "sys_settings" %}"><span class="sf2-icon-cog2"></span>{% trans "Settings" %}</a>
|
<a href="{% url "sys_settings" %}"><span class="sf2-icon-cog2"></span>{% trans "Settings" %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
{% endif %}
|
||||||
<li class="tab {% block cur_repo %}{% endblock %}">
|
<li class="tab {% block cur_repo %}{% endblock %}">
|
||||||
<a href="{{ SITE_ROOT }}sys/seafadmin/"><span class="sf2-icon-library"></span>{% trans "Libraries" %}</a>
|
<a href="{{ SITE_ROOT }}sys/seafadmin/"><span class="sf2-icon-library"></span>{% trans "Libraries" %}</a>
|
||||||
</li>
|
</li>
|
||||||
|
@@ -11,6 +11,7 @@ import csv, chardet, StringIO
|
|||||||
import time
|
import time
|
||||||
from constance import config
|
from constance import config
|
||||||
|
|
||||||
|
from django.conf import settings as dj_settings
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.http import HttpResponse, Http404, HttpResponseRedirect, HttpResponseNotAllowed
|
from django.http import HttpResponse, Http404, HttpResponseRedirect, HttpResponseNotAllowed
|
||||||
@@ -2181,6 +2182,8 @@ def sys_sudo_mode(request):
|
|||||||
def sys_settings(request):
|
def sys_settings(request):
|
||||||
"""List and change seahub settings in admin panel.
|
"""List and change seahub settings in admin panel.
|
||||||
"""
|
"""
|
||||||
|
if not dj_settings.ENABLE_SETTINGS_VIA_WEB:
|
||||||
|
raise Http404
|
||||||
|
|
||||||
DIGIT_WEB_SETTINGS = (
|
DIGIT_WEB_SETTINGS = (
|
||||||
'DISABLE_SYNC_WITH_ANY_FOLDER', 'ENABLE_SIGNUP',
|
'DISABLE_SYNC_WITH_ANY_FOLDER', 'ENABLE_SIGNUP',
|
||||||
|
18
tests/seahub/views/sysadmin/test_sys_settings.py
Normal file
18
tests/seahub/views/sysadmin/test_sys_settings.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
from django.core.urlresolvers import reverse
|
||||||
|
|
||||||
|
from seahub.test_utils import BaseTestCase
|
||||||
|
|
||||||
|
|
||||||
|
class SysSettingsTest(BaseTestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.url = reverse('sys_settings')
|
||||||
|
self.login_as(self.admin)
|
||||||
|
|
||||||
|
def test_can_render(self):
|
||||||
|
resp = self.client.get(self.url)
|
||||||
|
self.assertEqual(200, resp.status_code)
|
||||||
|
|
||||||
|
def test_can_not_render_if_setting_disabled(self):
|
||||||
|
with self.settings(ENABLE_SETTINGS_VIA_WEB=False):
|
||||||
|
resp = self.client.get(self.url)
|
||||||
|
self.assertEqual(404, resp.status_code)
|
Reference in New Issue
Block a user