fix: renaming mailng to modoboa

This commit is contained in:
tonio
2010-07-13 15:37:29 +02:00
parent 18b9edea57
commit 364254e071
49 changed files with 159 additions and 159 deletions
+44 -44
View File
@@ -13,10 +13,10 @@ How to install
Download Mailng's tarball and extract it::
# tar xzf mailng-<version>.tar.gz
# mv mailng-<version> mailng
# tar xzf modoboa-<version>.tar.gz
# mv modoboa-<version> modoboa
Then, enter the mailng directory, create a settings.py file (you can
Then, enter the modoboa directory, create a settings.py file (you can
use settings-sample.py as a model). Specify database relative
informations. You must choose between mysql and postgresql, other
types are not supported by major email projects like postfix or
@@ -55,13 +55,13 @@ INSTALLED_APPS variable and that it contains at least::
# Django's stuff before
'south',
'mailng',
'mailng.lib',
'mailng.admin',
'mailng.userprefs',
'modoboa',
'modoboa.lib',
'modoboa.admin',
'modoboa.userprefs',
)
Starting with 0.8, mailng.main doesn't exist anymore. You need to
Starting with 0.8, modoboa.main doesn't exist anymore. You need to
remove it from your INSTALLED_APPS.
NB: Before doing this migration, I recommend that you make a copy of your
@@ -111,11 +111,11 @@ Then create a vmail user::
# useradd -g vmail -d /var/vmail -m vmail
At last, the system user used to run mailng will need permissions to
At last, the system user used to run modoboa will need permissions to
manipulate directories in vmail's homedir. To do so, edit your /etc/sudoers
file and add the following inside::
<user_that_runs_mailng> ALL=(vmail) NOPASSWD: ALL
<user_that_runs_modoboa> ALL=(vmail) NOPASSWD: ALL
Testing installation
--------------------
@@ -126,7 +126,7 @@ server. Just run this command to start it::
# python manage.py runserver
You will be able to play with MailNG by looking at
http://<youraddress>:8000/mailng/admin/.
http://<youraddress>:8000/modoboa/admin/.
Tips to link Mailng with postfix
--------------------------------
@@ -185,20 +185,20 @@ Since version 0.6, mail users can define an auto-reply message with MailNG.
To activate the extension, edit your settings.py and add the following
line inside the INSTALLED_APPS variable::
'mailng.extensions.postfix_autoreply',
'modoboa.extensions.postfix_autoreply',
Run the following command to activate the component::
# export PYTHONPATH=<mailng_dir>/..
# DJANGO_SETTINGS_MODULE=mailng.settings \
<mailng_dir>/scripts/extension.py postfix-autoreply on
# export PYTHONPATH=<modoboa_dir>/..
# DJANGO_SETTINGS_MODULE=modoboa.settings \
<modoboa_dir>/scripts/extension.py postfix-autoreply on
Then run the following commands to update MailNG SQL schema and content::
# python manage.py syncdb
# python manage.py migrate postfix-autoreply
# export PYTHONPATH=$PWD/..
# DJANGO_SETTINGS_MODULE=mailng.settings ./scripts/postfix_autoreply/upgrade_autoreply.py
# DJANGO_SETTINGS_MODULE=modoboa.settings ./scripts/postfix_autoreply/upgrade_autoreply.py
The user that executes the autoreply script needs to access
settings.py. You must apply proper permissions on this file. For
@@ -216,7 +216,7 @@ files as follow::
# /etc/postfix/master.cf
autoreply unix - n n - - pipe
flags= user=vmail:<group> argv=<path_to_mailng>/scripts/postfix_autoreply/autoreply $sender $mailbox
flags= user=vmail:<group> argv=<path_to_modoboa>/scripts/postfix_autoreply/autoreply $sender $mailbox
Then, create new map files with the following content::
@@ -236,7 +236,7 @@ Then, create new map files with the following content::
Finally, edit the shell script 'autoreply' located inside the
'scripts' directory and change the value of BASEDIR. (just put absolute path
of the directory where mailng is installed)
of the directory where modoboa is installed)
NB: auto-reply messages are just sent one time per sender for a
pre-defined time period. By default, this period is equal to 1 day
@@ -344,10 +344,10 @@ following inside::
<Location "/">
SetHandler mod_python
PythonHandler django.core.handlers.modpython
PythonPath "['<path to directory that contains mailng dir>'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE mailng.settings
PythonPath "['<path to directory that contains modoboa dir>'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE modoboa.settings
</Location>
Alias "/static" "<path to mailng dir>/static"
Alias "/static" "<path to modoboa dir>/static"
<Location "/static/">
SetHandler None
</Location>
@@ -371,13 +371,13 @@ installed on your server::
To activate the extension, edit your settings.py and add the following
line inside the INSTALLED_APPS variable::
'mailng.extensions.amavis_quarantine',
'modoboa.extensions.amavis_quarantine',
Then run the following command to activate the component::
# export PYTHONPATH=<mailng_dir>/..
# DJANGO_SETTINGS_MODULE=mailng.settings \
<mailng_dir>/scripts/extension.py amavis-quarantine on
# export PYTHONPATH=<modoboa_dir>/..
# DJANGO_SETTINGS_MODULE=modoboa.settings \
<modoboa_dir>/scripts/extension.py amavis-quarantine on
Then, you need to specify where is the database that contains the
quarantine. Inside settings.py, add a new connection to the
@@ -398,7 +398,7 @@ When viewing messages, you can choose to display links (addresses,
images). In order to display images correctly, you need to create a
tmp directory under static/ for storing them. For example::
# mkdir <mailng_dir>/static/tmp
# mkdir <modoboa_dir>/static/tmp
To be able to release messages, first take a look at this page::
@@ -441,11 +441,11 @@ Last point, MailNG provides a simple script that periodically purge
the amavisd-new quarantine database. If you plan to use it, you can
add the following line inside root's crontab::
0 0 * * * PYTHONPATH=<mailng_dir/..> \
DJANGO_SETTINGS_MODULE=mailng.settings \
<mailng_dir>/extensions/amavis_quarantine/cleanup.py
0 0 * * * PYTHONPATH=<modoboa_dir/..> \
DJANGO_SETTINGS_MODULE=modoboa.settings \
<modoboa_dir>/extensions/amavis_quarantine/cleanup.py
Replace mailng_dir with the installation path of MailNG.
Replace modoboa_dir with the installation path of MailNG.
By default, messages older than 14 days are automatically purged. You
can modify this value by changing the MAX_MESSAGES_AGE parameter in the admin panel.
@@ -465,13 +465,13 @@ installed on your server::
To activate the extension, edit your settings.py and add the following
line inside the INSTALLED_APPS variable::
'mailng.extensions.stats',
'modoboa.extensions.stats',
Then run the following command to activate the component::
# export PYTHONPATH=<mailng_dir>/..
# DJANGO_SETTINGS_MODULE=mailng.settings \
<mailng_dir>/scripts/extension.py stats on
# export PYTHONPATH=<modoboa_dir>/..
# DJANGO_SETTINGS_MODULE=modoboa.settings \
<modoboa_dir>/scripts/extension.py stats on
Then, adapt the following parameters to your environnement::
@@ -479,25 +479,25 @@ Then, adapt the following parameters to your environnement::
LOGFILE = "/var/log/mail.log"
# Path to directory where rrd files are stored
RRD_ROOTDIR = "/tmp/mailng"
RRD_ROOTDIR = "/tmp/modoboa"
# Path to directory where png files are stored
IMG_ROOTDIR = "<mailng_dir>/static/graphs"
IMG_ROOTDIR = "<modoboa_dir>/static/graphs"
Make sure the directories that will contain those files exist. If not,
create them before going further. For example (according to previous
parameters)::
$ mkdir /tmp/mailng
$ mkdir <mailng_dir>/static/graphs
$ mkdir /tmp/modoboa
$ mkdir <modoboa_dir>/static/graphs
To finish, you need to collect information periodically in order to
feed rrd files. To do so, just add the following lines into root's
crontab::
*/5 * * * * PYTHONPATH=<mailng_dir/..> DJANGO_SETTINGS_MODULE=mailng.settings <mailng_dir>/scripts/stats/logparser.py
*/5 * * * * PYTHONPATH=<modoboa_dir/..> DJANGO_SETTINGS_MODULE=modoboa.settings <modoboa_dir>/scripts/stats/logparser.py
Replace mailng_dir with the installation path of MailNG.
Replace modoboa_dir with the installation path of MailNG.
Graphics are automatically created after each new parsing.
@@ -515,15 +515,15 @@ The following requirements are needed before going further::
Just run the following command to activate the component::
# export PYTHONPATH=<mailng_dir>/..
# DJANGO_SETTINGS_MODULE=mailng.settings \
<mailng_dir>/scripts/extension.py webmail on
# export PYTHONPATH=<modoboa_dir>/..
# DJANGO_SETTINGS_MODULE=modoboa.settings \
<modoboa_dir>/scripts/extension.py webmail on
Sometimes, inline images are integrated inside emails. To display
them, MailNG stores them inside a temporary folder. Make sure the
following path exists, otherwise create it::
# mkdir <path_to_mailng>/static/tmp
# mkdir <path_to_modoboa>/static/tmp
The user that is running MailNG will need the write permission inside
this folder.
+1 -1
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from mailng.lib import parameters
from modoboa.lib import parameters
from django.utils.translation import ugettext as _
parameters.register_admin("admin","STORAGE_PATH", type="string", deflt="/var/vmail",
+2 -2
View File
@@ -1,7 +1,7 @@
from django import forms
from mailng.admin.models import Domain, Mailbox, Alias
from modoboa.admin.models import Domain, Mailbox, Alias
from django.utils.translation import ugettext as _
from mailng.admin.templatetags.admin_extras import gender
from modoboa.admin.templatetags.admin_extras import gender
class DomainForm(forms.ModelForm):
class Meta:
+2 -2
View File
@@ -1,8 +1,8 @@
from django.db import models
from django.contrib.auth.models import User
from django.utils.translation import ugettext_lazy as _
from mailng.lib import parameters
from mailng.lib import exec_cmd, exec_as_vuser
from modoboa.lib import parameters
from modoboa.lib import exec_cmd, exec_as_vuser
import os
class Domain(models.Model):
+2 -2
View File
@@ -2,8 +2,8 @@ from django import template
from django.template.loader import render_to_string
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse
from mailng import admin
from mailng.lib import events
from modoboa import admin
from modoboa.lib import events
register = template.Library()
+1 -1
View File
@@ -1,6 +1,6 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('mailng.admin.views',
urlpatterns = patterns('modoboa.admin.views',
url(r'^$', 'domains', name="index"),
url(r'^domains/$', 'domains', name="domains"),
(r'^domains/new/', 'newdomain'),
+7 -7
View File
@@ -11,13 +11,13 @@ 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 mailng import admin, userprefs
from mailng.admin.models import Domain, Mailbox, Alias
from modoboa import admin, userprefs
from modoboa.admin.models import Domain, Mailbox, Alias
from forms import MailboxForm, DomainForm, AliasForm, PermissionForm
from mailng.lib.authbackends import crypt_password
from mailng.lib import _render, _ctx_ok, _ctx_ko
from mailng.lib import events, parameters
from mailng.lib.models import Parameter
from modoboa.lib.authbackends import crypt_password
from modoboa.lib import _render, _ctx_ok, _ctx_ko
from modoboa.lib import events, parameters
from modoboa.lib.models import Parameter
import string
import copy
import pwd
@@ -125,7 +125,7 @@ def deldomain(request, dom_id):
events.raiseEvent("DeleteDomain", dom=domain)
domain.delete_dir()
domain.delete()
return HttpResponseRedirect('/mailng/admin/')
return HttpResponseRedirect('/modoboa/admin/')
@login_required
@good_domain
+3 -3
View File
@@ -4,8 +4,8 @@ from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from mailng.lib import events
import mailng.admin
from modoboa.lib import events
import modoboa.admin
from forms import LoginForm
def dologin(request):
@@ -24,7 +24,7 @@ def dologin(request):
next = request.POST["next"]
if next == "None":
next = reverse(mailng.admin.views.domains)
next = reverse(modoboa.admin.views.domains)
return HttpResponseRedirect(next)
else:
error = _("Account is disabled.")
+1 -1
View File
@@ -20,4 +20,4 @@ def loadextensions():
return result
def isenabled(ext):
return "mailng.extensions.%s" % ext in settings.INSTALLED_APPS
return "modoboa.extensions.%s" % ext in settings.INSTALLED_APPS
+2 -2
View File
@@ -1,10 +1,10 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from mailng.lib import db, parameters
from modoboa.lib import db, parameters
if __name__ == "__main__":
from mailng.extensions.amavis_quarantine import main
from modoboa.extensions.amavis_quarantine import main
main.init()
conn = db.getconnection("amavis_quarantine")
+1 -1
View File
@@ -2,7 +2,7 @@ import socket
import re
import struct
import string
from mailng.lib import parameters
from modoboa.lib import parameters
class AMrelease(object):
def __init__(self):
+3 -3
View File
@@ -5,7 +5,7 @@
from django.conf.urls.defaults import *
from django.utils.translation import ugettext as _, ungettext
from django.core.urlresolvers import reverse
from mailng.lib import events, parameters
from modoboa.lib import events, parameters
def infos():
return {
@@ -38,8 +38,8 @@ def destroy():
parameters.unregister_app("amavis_quarantine")
def urls():
return (r'^mailng/quarantine/',
include('mailng.extensions.amavis_quarantine.urls'))
return (r'^modoboa/quarantine/',
include('modoboa.extensions.amavis_quarantine.urls'))
def menu(**kwargs):
import views
+2 -2
View File
@@ -2,8 +2,8 @@
from datetime import datetime
from django.utils.translation import ugettext as _
from mailng.lib import tables, db
from mailng.lib.email_listing import MBconnector, EmailListing, Email
from modoboa.lib import tables, db
from modoboa.lib.email_listing import MBconnector, EmailListing, Email
class Qtable(tables.Table):
tableid = "emails"
@@ -2,7 +2,7 @@ from django import template
from django.template.loader import render_to_string
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse
from mailng.extensions import amavis_quarantine
from modoboa.extensions import amavis_quarantine
register = template.Library()
+1 -1
View File
@@ -11,6 +11,6 @@ extpatterns = [
(r'^(?P<mail_id>[\w\-\+]+)/$', 'viewmail')
]
urlpatterns = patterns('mailng.extensions.amavis_quarantine.views',
urlpatterns = patterns('modoboa.extensions.amavis_quarantine.views',
*extpatterns
)
+4 -4
View File
@@ -12,12 +12,12 @@ from django.utils.translation import ugettext as _, ungettext
from django.core.urlresolvers import reverse
from django.contrib.auth.decorators \
import login_required
from mailng.lib import _render, _ctx_ok, _ctx_ko, decode, getctx
from mailng.lib import db
from mailng.admin.models import Mailbox
from modoboa.lib import _render, _ctx_ok, _ctx_ko, decode, getctx
from modoboa.lib import db
from modoboa.admin.models import Mailbox
from lib import AMrelease
from templatetags.amextras import *
from mailng.lib.email_listing import parse_search_parameters
from modoboa.lib.email_listing import parse_search_parameters
from sql_listing import *
def __get_current_url(request):
+3 -3
View File
@@ -10,7 +10,7 @@ functionality into Postfix.
from django.conf.urls.defaults import include
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from mailng.lib import events, parameters
from modoboa.lib import events, parameters
from models import *
def infos():
@@ -42,8 +42,8 @@ def destroy():
parameters.unregister_app("postfix_autoreply")
def urls():
return (r'^mailng/postfix_autoreply/',
include('mailng.extensions.postfix_autoreply.urls'))
return (r'^modoboa/postfix_autoreply/',
include('modoboa.extensions.postfix_autoreply.urls'))
def menu(**kwargs):
import views
+1 -1
View File
@@ -1,6 +1,6 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
from mailng.admin.models import Domain, Mailbox
from modoboa.admin.models import Domain, Mailbox
class Transport(models.Model):
domain = models.CharField(max_length=300)
@@ -7,5 +7,5 @@ BASEDIR=/var/www
EGG_CACHE=""
PYTHON_EGG_CACHE=$EGG_CACHE PYTHONPATH=$BASEDIR \
DJANGO_SETTINGS_MODULE=mailng.settings $PYTHON \
$BASEDIR/mailng/scripts/postfix_autoreply/autoreply.py $1 $2
DJANGO_SETTINGS_MODULE=modoboa.settings $PYTHON \
$BASEDIR/modoboa/scripts/postfix_autoreply/autoreply.py $1 $2
@@ -5,10 +5,10 @@ import sys
import smtplib
from email.mime.text import MIMEText
import datetime
from mailng.lib import parameters
from mailng.admin.models import Mailbox
from mailng.extensions.postfix_autoreply import main
from mailng.extensions.postfix_autoreply.models import ARmessage, ARhistoric
from modoboa.lib import parameters
from modoboa.admin.models import Mailbox
from modoboa.extensions.postfix_autoreply import main
from modoboa.extensions.postfix_autoreply.models import ARmessage, ARhistoric
if __name__ == "__main__":
if len(sys.argv) != 3:
@@ -3,15 +3,15 @@
import sys
from django.conf import settings
from mailng.admin.models import Domain, Mailbox
from modoboa.admin.models import Domain, Mailbox
if __name__ == "__main__":
if not "mailng.extensions.postfix_autoreply" in settings.INSTALLED_APPS:
if not "modoboa.extensions.postfix_autoreply" in settings.INSTALLED_APPS:
print "Postfix autoreply extension is not activated"
sys.exit(1)
import mailng.extensions.postfix_autoreply.main as par
from mailng.extensions.postfix_autoreply.models import Transport, Alias
import modoboa.extensions.postfix_autoreply.main as par
from modoboa.extensions.postfix_autoreply.models import Transport, Alias
par.init()
doms = Domain.objects.all()
+1 -1
View File
@@ -1,5 +1,5 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('mailng.extensions.postfix_autoreply.views',
urlpatterns = patterns('modoboa.extensions.postfix_autoreply.views',
url(r'^$', 'autoreply'),
)
+2 -2
View File
@@ -6,7 +6,7 @@ from django.contrib.auth.decorators \
import login_required
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from mailng.lib import _render, _ctx_ok, _ctx_ko, is_not_localadmin
from modoboa.lib import _render, _ctx_ok, _ctx_ko, is_not_localadmin
from forms import *
from models import *
@@ -25,7 +25,7 @@ def autoreply(request):
form = ARmessageForm(request.POST)
error = None
if form.is_valid():
from mailng import userprefs
from modoboa import userprefs
arm = form.save(commit=False)
arm.mbox = mb
+1 -1
View File
@@ -5,7 +5,7 @@ import time
import datetime
import rrdtool
from django.utils.translation import ugettext as _
from mailng.lib import parameters
from modoboa.lib import parameters
traffic_avg_template = {
'name' : 'traffic',
+5 -5
View File
@@ -10,7 +10,7 @@ sent, received, bounced, rejected
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from django.conf.urls.defaults import *
from mailng.lib import events, parameters
from modoboa.lib import events, parameters
def infos():
return {
@@ -25,18 +25,18 @@ def init():
deflt="/var/log/mail.log",
help=_("Path to log file used to collect statistics"))
parameters.register_admin("stats", "RRD_ROOTDIR", type="string",
deflt="/tmp/mailng",
deflt="/tmp/modoboa",
help=_("Path to directory where RRD files are stored"))
parameters.register_admin("stats", "IMG_ROOTDIR", type="string",
deflt="/tmp/mailng",
deflt="/tmp/modoboa",
help=_("Path to directory where PNG files are stored"))
def destroy():
events.unregister("AdminMenuDisplay", menu)
def urls():
return (r'^mailng/stats/',
include('mailng.extensions.stats.urls'))
return (r'^modoboa/stats/',
include('modoboa.extensions.stats.urls'))
def menu(**kwargs):
if kwargs["target"] == "admin_menu_bar":
+4 -4
View File
@@ -7,9 +7,9 @@ import re
import rrdtool
import string, pdb
from optparse import OptionParser
from mailng.lib import parameters
from mailng.admin.models import Domain
import mailng.extensions.stats.grapher as grapher
from modoboa.lib import parameters
from modoboa.admin.models import Domain
import modoboa.extensions.stats.grapher as grapher
"""
Postfix log parser.
@@ -257,7 +257,7 @@ class LogParser(object):
G.make_defaults(dom, tpl=grapher.size_avg_template)
if __name__ == "__main__":
from mailng.extensions.stats import main
from modoboa.extensions.stats import main
main.init()
+1 -1
View File
@@ -1,6 +1,6 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('mailng.extensions.stats.views',
urlpatterns = patterns('modoboa.extensions.stats.views',
url(r'^$', 'adminindex', name='fullindex'),
url(r'^(?P<dom_id>\d+)/$', 'index', name='domindex'),
url(r'^graph/$', "getgraph", name="getgraph_root"),
+3 -3
View File
@@ -5,9 +5,9 @@ from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from django.utils import simplejson
from django.template.loader import render_to_string
from mailng.lib import parameters, _render, getctx
from mailng.admin.views import good_domain
from mailng.admin.models import Domain, Mailbox
from modoboa.lib import parameters, _render, getctx
from modoboa.admin.views import good_domain
from modoboa.admin.models import Domain, Mailbox
from django.contrib.auth.decorators \
import login_required, user_passes_test, permission_required
from extensions.stats.grapher import *
+3 -3
View File
@@ -12,9 +12,9 @@ from datetime import datetime, timedelta
from email.header import decode_header
import email.utils
from django.utils.translation import ugettext as _
from mailng.lib import decode, tables, imap_utf7, Singleton
from mailng.lib.email_listing import MBconnector, EmailListing, Email
from mailng.lib import tables, imap_utf7, parameters
from modoboa.lib import decode, tables, imap_utf7, Singleton
from modoboa.lib.email_listing import MBconnector, EmailListing, Email
from modoboa.lib import tables, imap_utf7, parameters
class WMtable(tables.Table):
+3 -3
View File
@@ -2,7 +2,7 @@
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse
from django.conf.urls.defaults import include
from mailng.lib import events, parameters
from modoboa.lib import events, parameters
def init():
events.register("UserMenuDisplay", menu)
@@ -50,8 +50,8 @@ def infos():
}
def urls():
return (r'^mailng/webmail/',
include('mailng.extensions.webmail.urls'))
return (r'^modoboa/webmail/',
include('modoboa.extensions.webmail.urls'))
def menu(**kwargs):
import views
+3 -3
View File
@@ -2,9 +2,9 @@ from django import template
from django.template.loader import render_to_string
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse
from mailng.extensions import webmail
from mailng.extensions.webmail.lib import IMAPheader
from mailng.lib import parameters
from modoboa.extensions import webmail
from modoboa.extensions.webmail.lib import IMAPheader
from modoboa.lib import parameters
register = template.Library()
+1 -1
View File
@@ -1,6 +1,6 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('mailng.extensions.webmail.views',
urlpatterns = patterns('modoboa.extensions.webmail.views',
(r'^$', "index"),
(r'^compose/$', "compose"),
(r'^move/$', "move"),
+3 -3
View File
@@ -8,9 +8,9 @@ from django.utils import simplejson
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse
from django.contrib.auth.decorators import login_required
from mailng.admin.models import Mailbox
from mailng.lib import parameters, _render, _render_error, getctx, is_not_localadmin
from mailng.lib.email_listing import parse_search_parameters
from modoboa.admin.models import Mailbox
from modoboa.lib import parameters, _render, _render_error, getctx, is_not_localadmin
from modoboa.lib.email_listing import parse_search_parameters
from lib import *
from forms import *
from templatetags.webextras import *
+1 -1
View File
@@ -6,7 +6,7 @@ from django.template import RequestContext
from django.shortcuts import render_to_response
from django.template.loader import render_to_string
from django.utils.translation import ugettext as _
from mailng.lib import parameters
from modoboa.lib import parameters
def exec_cmd(cmd, **kwargs):
import subprocess
+2 -2
View File
@@ -1,10 +1,10 @@
from django.contrib.auth.models import User
from mailng.admin.models import Mailbox
from modoboa.admin.models import Mailbox
import hashlib
import crypt
import string
from random import Random
from mailng.lib import parameters
from modoboa.lib import parameters
class SimpleBackend:
def authenticate(self, username=None, password=None):
+1 -1
View File
@@ -10,7 +10,7 @@ from lxml import etree
from django.template.loader import render_to_string
from django.template import Template, Context
from django.utils.translation import ugettext as _
from mailng.lib import _render, decode
from modoboa.lib import _render, decode
attached_map = {}
+1 -1
View File
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import string
from mailng.lib.models import *
from modoboa.lib.models import *
"""
This interface provides a simple way to declare and store parameters
+1 -1
View File
@@ -1,7 +1,7 @@
import os
from django.conf import settings
from django import template
from mailng.lib import exec_cmd
from modoboa.lib import exec_cmd
register = template.Library()
+1 -1
View File
@@ -36,7 +36,7 @@ if __name__ == "__main__":
if not os.path.isdir(extdir):
print "Extension not found"
sys.exit(1)
extname = "mailng.extensions.%s" % sys.argv[1]
extname = "modoboa.extensions.%s" % sys.argv[1]
update_extension(sys.argv[1], extdir, sys.argv[2])
if sys.argv[2] == "on":
print "Make sure you have added '%s' to INSTALLED_APPS (inside settings.py)" % extname
+10 -10
View File
@@ -1,4 +1,4 @@
# Django settings for mailng project.
# Django settings for modoboa project.
import os.path
DEBUG = False
@@ -11,7 +11,7 @@ ADMINS = (
MANAGERS = ADMINS
DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'mailng' # Or path to database file if using sqlite3.
DATABASE_NAME = 'modoboa' # Or path to database file if using sqlite3.
DATABASE_USER = '' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
@@ -34,7 +34,7 @@ SITE_ID = 1
# to load the internationalization machinery.
USE_I18N = True
LOGIN_REDIRECT_URL = '/mailng/admin/'
LOGIN_REDIRECT_URL = '/modoboa/admin/'
# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
@@ -66,7 +66,7 @@ MIDDLEWARE_CLASSES = (
'django.contrib.auth.middleware.AuthenticationMiddleware',
)
ROOT_URLCONF = 'mailng.urls'
ROOT_URLCONF = 'modoboa.urls'
MAILNG_DIR = os.path.dirname(__file__)
STATIC_ROOTDIR = os.path.join(MAILNG_DIR, 'static')
@@ -83,18 +83,18 @@ INSTALLED_APPS = (
'django.contrib.sessions',
'django.contrib.sites',
'south',
'mailng',
'mailng.lib',
'mailng.admin',
'mailng.userprefs',
'modoboa',
'modoboa.lib',
'modoboa.admin',
'modoboa.userprefs',
# MailNG extensions here.
# 'mailng.extensions.postfix_autoreply'
# 'modoboa.extensions.postfix_autoreply'
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'mailng.lib.authbackends.SimpleBackend'
'modoboa.lib.authbackends.SimpleBackend'
)
# Amavis quarantine

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

+2 -2
View File
@@ -250,7 +250,7 @@ confirmation = function(question, action, callback) {
}
}
});
SqueezeBox.open("/mailng/userprefs/confirm/?question=" + question);
SqueezeBox.open("/modoboa/userprefs/confirm/?question=" + question);
}
setDivHeight = function(id, extrah, modulo) {
@@ -331,4 +331,4 @@ gethref = function(obj) {
var baseurl = "http://" + location.host + location.pathname;
return url.replace(baseurl, "");
}
}
+2 -2
View File
@@ -62,7 +62,7 @@
</li>
<li>
{% url mailng.auth.views.dologout as logout_url %}
{% url modoboa.auth.views.dologout as logout_url %}
<a href="{{ logout_url }}">
<img src="/static/pics/logout.png" border="0" />{% trans "Logout" %}</a>
</li>
@@ -71,7 +71,7 @@
</div>
<div id="page">
<div id="header">
<img class="logo" src="/static/css/mailng.png" />
<img class="logo" src="/static/css/modoboa.png" />
<h1>{% block middletitle %}{% endblock %}</h1>
<div id="menubar" class="menubar">
{% block menu %}{% endblock %}
+1 -1
View File
@@ -18,7 +18,7 @@
<body>
<div id="loginbox">
<div id="logo">
<img src="/static/css/mailng.png" />
<img src="/static/css/modoboa.png" />
{% if error %}
<div class="error"><p>{{ error }}</p></div>
{% endif %}
+8 -8
View File
@@ -5,12 +5,12 @@ from django.conf import settings
# from django.contrib import admin
# admin.autodiscover()
from mailng.extensions import *
from mailng.lib import parameters
from modoboa.extensions import *
from modoboa.lib import parameters
urlpatterns = patterns('',
# Example:
# (r'^mailng/', include('mailng.foo.urls')),
# (r'^modoboa/', include('modoboa.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
@@ -19,12 +19,12 @@ urlpatterns = patterns('',
# Uncomment the next line to enable the admin:
# (r'^admin/(.*)', admin.site.root),
(r'^mailng/admin/', include('mailng.admin.urls')),
(r'^mailng/userprefs/', include('mailng.userprefs.urls')),
(r'^accounts/login/$', 'mailng.auth.views.dologin'),
(r'^accounts/logout/$', 'mailng.auth.views.dologout'),
(r'^modoboa/admin/', include('modoboa.admin.urls')),
(r'^modoboa/userprefs/', include('modoboa.userprefs.urls')),
(r'^accounts/login/$', 'modoboa.auth.views.dologin'),
(r'^accounts/logout/$', 'modoboa.auth.views.dologout'),
(r'^jsi18n/$', 'django.views.i18n.javascript_catalog',
{'packages': ('mailng',),}),
{'packages': ('modoboa',),}),
*loadextensions()
)
+2 -2
View File
@@ -1,6 +1,6 @@
from django import forms
from mailng.admin.models import Mailbox
from mailng.lib.authbackends import _check_password
from modoboa.admin.models import Mailbox
from modoboa.lib.authbackends import _check_password
from django.contrib.auth.models import check_password
from django.utils.translation import ugettext as _
+2 -2
View File
@@ -2,8 +2,8 @@ from django import template
from django.template.loader import render_to_string
from django.utils.translation import ugettext as _
from django.core.urlresolvers import reverse
from mailng import userprefs
from mailng.lib import events
from modoboa import userprefs
from modoboa.lib import events
register = template.Library()
+1 -1
View File
@@ -1,6 +1,6 @@
from django.conf.urls.defaults import *
urlpatterns = patterns('mailng.userprefs.views',
urlpatterns = patterns('modoboa.userprefs.views',
url(r'^$', 'index'),
(r'^preferences/$', 'preferences'),
(r'^preferences/save/$', 'savepreferences'),
+3 -3
View File
@@ -8,10 +8,10 @@ from django.contrib.auth.decorators \
import login_required
from django.utils import simplejson
from django.utils.translation import ugettext as _
from mailng.lib import _render, _ctx_ok, _ctx_ko, parameters
from mailng.lib.authbackends import crypt_password
from modoboa.lib import _render, _ctx_ok, _ctx_ko, parameters
from modoboa.lib.authbackends import crypt_password
from forms import ChangePasswordForm
from mailng.admin.models import Mailbox
from modoboa.admin.models import Mailbox
@login_required
def index(request):