diff --git a/modoboa/admin/api.py b/modoboa/admin/api.py
index 08facd697..f7002bedb 100644
--- a/modoboa/admin/api.py
+++ b/modoboa/admin/api.py
@@ -17,7 +17,16 @@ from . import serializers
class DomainViewSet(viewsets.ModelViewSet):
- """ViewSet for Domain."""
+ """
+ retrieve:
+ Return the given domain.
+
+ list:
+ Return a list of all existing domains.
+
+ create:
+ Create a new domain instance.
+ """
permission_classes = [IsAuthenticated, DjangoModelPermissions, ]
serializer_class = serializers.DomainSerializer
diff --git a/modoboa/core/templates/core/user_index.html b/modoboa/core/templates/core/user_index.html
index bf38bfb46..7d4d1603a 100644
--- a/modoboa/core/templates/core/user_index.html
+++ b/modoboa/core/templates/core/user_index.html
@@ -11,16 +11,22 @@
+
{% endblock %}
diff --git a/modoboa/core/views/user.py b/modoboa/core/views/user.py
index 03abc3da0..feae310d0 100644
--- a/modoboa/core/views/user.py
+++ b/modoboa/core/views/user.py
@@ -76,7 +76,8 @@ def preferences(request):
"content": render_to_string("core/user_preferences.html", {
"forms": param_tools.registry.get_forms(
"user", user=request.user, first_app="general")
- }, request)
+ }, request),
+ "onload_cb": "preferencesCallback",
})
diff --git a/modoboa/static/js/editor_config.js b/modoboa/static/js/editor_config.js
deleted file mode 100644
index 45158ddba..000000000
--- a/modoboa/static/js/editor_config.js
+++ /dev/null
@@ -1,14 +0,0 @@
-CKEDITOR.editorConfig = function(config) {
- config.allowedContent = true;
- config.toolbar = "Modoboa";
- config.toolbar_Modoboa = [
- ['Bold','Italic','Underline'],
- ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
- ['NumberedList','BulletedList','-','Outdent','Indent'],
- ['Undo','Redo'],
- ['Link','Unlink','Anchor','-','Smiley'],
- ['TextColor','BGColor','-','Source'],
- ['Font','FontSize'],
- ['SpellChecker']
- ];
-};
diff --git a/modoboa/urls.py b/modoboa/urls.py
index 3879018e9..db9662484 100644
--- a/modoboa/urls.py
+++ b/modoboa/urls.py
@@ -2,13 +2,20 @@ from django.conf import settings
from django.conf.urls import include, url
from django.views.i18n import JavaScriptCatalog
+from django.contrib.auth.decorators import login_required
+
+from ckeditor_uploader import views as cku_views
+
from modoboa.admin.views.user import forward
from modoboa.core.extensions import exts_pool
from modoboa.core import signals as core_signals
-
urlpatterns = [
url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
+ url(r'^ckeditor/upload/', login_required(cku_views.upload),
+ name="ckeditor_upload"),
+ url(r'^ckeditor/browse/', login_required(cku_views.browse),
+ name="ckeditor_browse"),
url('', include('modoboa.core.urls', namespace="core")),
url('^user/forward/', forward, name="user_forward"),
url('admin/', include('modoboa.admin.urls', namespace="admin")),
@@ -30,11 +37,6 @@ urlpatterns += [
url("^docs/api/", include('rest_framework_swagger.urls')),
]
-if 'modoboa.demo' in settings.INSTALLED_APPS:
- urlpatterns += [
- url(r'^demo/', include('modoboa.demo.urls', namespace="demo"))
- ]
-
if settings.DEBUG:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf.urls.static import static
diff --git a/requirements.txt b/requirements.txt
index 8d2d118f4..378632a09 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,23 +1,27 @@
django>=1.10,<=1.10.99
-django-reversion==1.10.2
-dj-database-url
-pycrypto
-argparse
-passlib==1.6.5
-# bcrypt requires libffi-dev
-bcrypt==2.0.0
-django-versionfield2>=0.5.0
-requests
-django-xforwardedfor-middleware
+django-ckeditor==5.2.1
django-passwords==0.3.12
-rfc6266
-progressbar==2.3
+django-reversion==1.10.2
+django-subcommand2==0.1.1
+django-versionfield2>=0.5.0
+django-xforwardedfor-middleware
+
+dj-database-url
+
djangorestframework==3.5.3
django-rest-swagger==0.3.10
-django-subcommand2==0.1.1
+
+argparse
+# bcrypt requires libffi-dev
+bcrypt==2.0.0
+dnspython==1.12.0
+feedparser==5.2.1
gevent==1.2.1
ipaddress
-dnspython==1.12.0
jsonfield==1.0.3
+passlib==1.6.5
+progressbar==2.3
py-dateutil==2.2
-feedparser==5.2.1
+pycrypto
+requests
+rfc6266