mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
@@ -156,6 +156,12 @@ class GeneralParametersForm(parameters.AdminParametersForm):
|
||||
|
||||
sep3 = SeparatorField(label=ugettext_lazy("Miscellaneous"))
|
||||
|
||||
log_maximum_age = forms.IntegerField(
|
||||
label=ugettext_lazy("Maximum log record age"),
|
||||
initial=365,
|
||||
help_text=ugettext_lazy("The maximum age in days of a log record")
|
||||
)
|
||||
|
||||
items_per_page = forms.IntegerField(
|
||||
label=ugettext_lazy("Items per page"),
|
||||
initial=30,
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env python
|
||||
# coding: utf-8
|
||||
|
||||
import datetime
|
||||
from optparse import make_option
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.utils import timezone
|
||||
from modoboa.lib import parameters
|
||||
from modoboa.lib.models import Log
|
||||
from modoboa.admin import AdminConsole
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
args = ''
|
||||
help = 'Log table cleanup'
|
||||
|
||||
option_list = BaseCommand.option_list + (
|
||||
make_option('--debug',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='Activate debug output'),
|
||||
make_option('--verbose',
|
||||
action='store_true',
|
||||
default=False,
|
||||
help='Display informational messages')
|
||||
)
|
||||
|
||||
def __vprint(self, msg):
|
||||
if not self.verbose:
|
||||
return
|
||||
print msg
|
||||
|
||||
def handle(self, *args, **options):
|
||||
if options["debug"]:
|
||||
import logging
|
||||
l = logging.getLogger("django.db.backends")
|
||||
l.setLevel(logging.DEBUG)
|
||||
l.addHandler(logging.StreamHandler())
|
||||
self.verbose = options["verbose"]
|
||||
|
||||
AdminConsole().load()
|
||||
log_maximum_age = int(parameters.get_admin("LOG_MAXIMUM_AGE", app="admin"))
|
||||
self.__vprint("Deleting logs older than %d days..." % log_maximum_age)
|
||||
limit = timezone.now() - datetime.timedelta(log_maximum_age)
|
||||
Log.objects.filter(date_created__lt=limit).delete()
|
||||
self.__vprint("Done.")
|
||||
Reference in New Issue
Block a user