mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
wip: #65, more messages added. Ticket reported to a future release.
This commit is contained in:
+5
-2
@@ -11,6 +11,8 @@ from django.core.urlresolvers import reverse
|
||||
from django.contrib.auth.decorators \
|
||||
import login_required, permission_required, user_passes_test
|
||||
from django.contrib.auth.models import User, Group
|
||||
from django.contrib import messages
|
||||
|
||||
from modoboa import admin, userprefs
|
||||
from modoboa.admin.models import Domain, Mailbox, Alias
|
||||
from forms import MailboxForm, DomainForm, AliasForm, PermissionForm
|
||||
@@ -191,7 +193,8 @@ def newmailbox(request, dom_id=None):
|
||||
|
||||
events.raiseEvent("CreateMailbox", mbox=mb)
|
||||
|
||||
request.user.message_set.create(message=_("Mailbox created."))
|
||||
messages.info(request, _("Mailbox created."),
|
||||
fail_silently=True)
|
||||
ctx = _ctx_ok(reverse(admin.views.mailboxes, args=[domain.id]))
|
||||
return HttpResponse(simplejson.dumps(ctx),
|
||||
mimetype="application/json")
|
||||
@@ -398,7 +401,7 @@ def deletepermission(request, mbox_id, group):
|
||||
if group == "SuperAdmins":
|
||||
user = User.objects.get(pk=mbox_id)
|
||||
if user.username == "admin":
|
||||
request.user.message_set.create(message=_("admin is intouchable!!"))
|
||||
messages.error(request, _("admin is intouchable!!"), fail_silently=True)
|
||||
else:
|
||||
user.is_superuser = False
|
||||
user.save()
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
$("menubar").set("html", "");
|
||||
$("navbar").set("html", "");
|
||||
if (resp.status == "ok") {
|
||||
infobox.notice(resp.message);
|
||||
infobox.info(resp.message);
|
||||
} else {
|
||||
infobox.error(resp.message);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ from django.http import HttpResponse
|
||||
from django.utils import simplejson
|
||||
from django.contrib.auth.decorators \
|
||||
import login_required
|
||||
from django.contrib import messages
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext as _
|
||||
from modoboa.lib import _render, _ctx_ok, _ctx_ko, is_not_localadmin
|
||||
@@ -30,9 +31,8 @@ def autoreply(request):
|
||||
arm = form.save(commit=False)
|
||||
arm.mbox = mb
|
||||
arm.save()
|
||||
request.user.message_set.create(
|
||||
message=_("Auto reply message updated successfully.")
|
||||
)
|
||||
messages.info(request, _("Auto reply message updated successfully."),
|
||||
fail_silently=True)
|
||||
ctx = _ctx_ok(reverse(userprefs.views.index))
|
||||
else:
|
||||
ctx = _ctx_ko("postfix_autoreply/autoreply.html", {
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
new Request.JSON({url: query, noCache : true, onSuccess: function(resp) {
|
||||
callback = ($defined(resp.callback)) ? resp.callback : "default";
|
||||
callbacks[callback](resp);
|
||||
infobox.notice('{% trans "Done" %}');
|
||||
infobox.info('{% trans "Done" %}');
|
||||
infobox.hide(1);
|
||||
}}).get();
|
||||
}
|
||||
@@ -245,7 +245,7 @@
|
||||
new Request.JSON({url : url,
|
||||
onSuccess : function(response) {
|
||||
get_callback("folder")(response);
|
||||
infobox.notice(gettext("Done"));
|
||||
infobox.info(gettext("Done"));
|
||||
infobox.hide(1);
|
||||
}
|
||||
}).get(params);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import os
|
||||
from django.conf import settings
|
||||
from django import template
|
||||
from django.contrib import messages
|
||||
from modoboa.lib import exec_cmd
|
||||
|
||||
register = template.Library()
|
||||
@@ -26,3 +27,24 @@ def join(items, sep=','):
|
||||
res += sep
|
||||
res += "%s : '%s'" % (k, v)
|
||||
return res
|
||||
|
||||
|
||||
@register.simple_tag
|
||||
def display_messages(msgs):
|
||||
from django.contrib import messages
|
||||
|
||||
text = ""
|
||||
level = "info"
|
||||
for m in msgs:
|
||||
level = m.tags
|
||||
text += str(m) + "\\\n"
|
||||
|
||||
return """
|
||||
<script type="text/javascript">
|
||||
window.addEvent("domready", function() {
|
||||
infobox.%s("%s");
|
||||
infobox.hide(3);
|
||||
});
|
||||
</script>
|
||||
""" % (level, text)
|
||||
|
||||
|
||||
@@ -64,6 +64,7 @@ MIDDLEWARE_CLASSES = (
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
)
|
||||
|
||||
ROOT_URLCONF = 'modoboa.urls'
|
||||
@@ -77,11 +78,16 @@ TEMPLATE_DIRS = (
|
||||
os.path.join(os.path.dirname(__file__), 'templates'),
|
||||
)
|
||||
|
||||
TEMPLATE_CONTEXT_PROCESSORS = (
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
)
|
||||
|
||||
INSTALLED_APPS = (
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.sites',
|
||||
'django.contrib.messages',
|
||||
'south',
|
||||
'modoboa',
|
||||
'modoboa.lib',
|
||||
|
||||
+11
-7
@@ -40,7 +40,7 @@ check_anchor = function() {
|
||||
new Request.JSON({url: query, noCache : true, onSuccess: function(resp) {
|
||||
callback = ($defined(resp.callback)) ? resp.callback : "default";
|
||||
callbacks[callback](resp);
|
||||
infobox.notice(gettext("Done"));
|
||||
infobox.info(gettext("Done"));
|
||||
infobox.hide(1);
|
||||
}}).get();
|
||||
}
|
||||
@@ -345,13 +345,17 @@ searchbox_init = function() {
|
||||
|
||||
// The following code prevents a bug under IE7 because fullpath is
|
||||
// returned instead of a relative one. (even if mootools uses
|
||||
// getAttribute("href", 2), this is not working with AJAX
|
||||
// requests)
|
||||
// getAttribute("href", 2), this is not working for AJAX requests)
|
||||
gethref = function(obj) {
|
||||
var url = obj.get("href");
|
||||
var baseurl = "http://" + location.host + location.pathname;
|
||||
|
||||
return url.replace(baseurl, "");
|
||||
var re = new RegExp("^(https?):");
|
||||
var scheme = re.exec(url);
|
||||
|
||||
if (scheme != null) {
|
||||
var baseurl = scheme[0] + "://" + location.host + location.pathname;
|
||||
return url.replace(baseurl, "");
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
saveparams = function(id, message) {
|
||||
@@ -361,7 +365,7 @@ saveparams = function(id, message) {
|
||||
onSuccess: function(response) {
|
||||
var decode = JSON.decode(response);
|
||||
if (decode.status == "ok") {
|
||||
infobox.notice(message);
|
||||
infobox.info(message);
|
||||
infobox.hide(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ var InfoBox = new Class({
|
||||
});
|
||||
},
|
||||
|
||||
notice: function(message) {
|
||||
info: function(message) {
|
||||
this.show(message, {
|
||||
profile: "green"
|
||||
});
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
{% extends "nlayout.html" %}
|
||||
{% load i18n %}
|
||||
{% load i18n libextras %}
|
||||
{% block html_head %}
|
||||
<script src="/static/js/domains.js" type="text/javascript"></script>
|
||||
{% endblock %}
|
||||
{% block middletitle %}{% trans "Domain" %} {{ domain.name }}{% endblock %}
|
||||
{% block content %}
|
||||
{% if messages %}
|
||||
{% display_messages messages %}
|
||||
{% endif %}
|
||||
<div id="subcontent">
|
||||
{% block domcontent %}{% endblock %}
|
||||
</div>
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
{% extends "nlayout.html" %}
|
||||
{% load i18n %}
|
||||
{% load i18n libextras %}
|
||||
{% block html_head %}
|
||||
<script src="/static/js/settings.js" type="text/javascript"></script>
|
||||
{% endblock %}
|
||||
{% block middletitle %}{% trans "Settings" %}{% endblock %}
|
||||
{% block content %}
|
||||
{% if messages %}
|
||||
{% display_messages messages %}
|
||||
{% endif %}
|
||||
<div id="setcontent">
|
||||
{% block setcontent %}{% endblock %}
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
{% extends "nlayout.html" %}
|
||||
{% load i18n %}
|
||||
{% load uprefs_extras %}
|
||||
{% load i18n uprefs_extras libextras %}
|
||||
{% block html_head %}
|
||||
<script src="/static/js/preferences.js" type="text/javascript"></script>
|
||||
{% endblock %}
|
||||
{% block middletitle %}{% trans "Preferences" %}{% endblock %}
|
||||
{% block menu %}{% uprefs_menu user %}{% endblock %}
|
||||
{% block content %}
|
||||
{% if messages %}
|
||||
{% display_messages messages %}
|
||||
{% endif %}
|
||||
<form method="POST" action="{% url userprefs.views.savepreferences %}"
|
||||
id="uparams_form">
|
||||
{% include "common/parameters.html" %}
|
||||
|
||||
Reference in New Issue
Block a user