summaryrefslogtreecommitdiff
path: root/ishtar_common/admin.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-06-01 19:45:55 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-06-01 19:45:55 +0200
commit9564fef30591d71f5a38a58d79ef99cc7c632430 (patch)
treeb9072837a0887fac1f6f2315d21372bd60c99ba2 /ishtar_common/admin.py
parent9b773927aaf6549ff52c697cce8009f55b042be8 (diff)
downloadIshtar-9564fef30591d71f5a38a58d79ef99cc7c632430.tar.bz2
Ishtar-9564fef30591d71f5a38a58d79ef99cc7c632430.zip
Add the ability to scheduled administration task inside Django admin
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r--ishtar_common/admin.py28
1 files changed, 27 insertions, 1 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index cdff25439..adf006502 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2010-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2010-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -312,6 +312,32 @@ class ItemKeyAdmin(admin.ModelAdmin):
admin.site.register(models.ItemKey, ItemKeyAdmin)
+class AdministrationScriptAdmin(admin.ModelAdmin):
+ list_display = ['name', 'path']
+
+ def get_readonly_fields(self, request, obj=None):
+ if obj:
+ return ('path',)
+ return []
+
+admin.site.register(models.AdministrationScript, AdministrationScriptAdmin)
+
+
+class AdministrationTaskAdmin(admin.ModelAdmin):
+ readonly_fields = ('state', 'creation_date', 'launch_date',
+ 'finished_date', "result", )
+ list_display = ['script', 'state', 'creation_date', 'launch_date',
+ 'finished_date', "result"]
+ list_filter = ['script', 'state']
+
+ def get_readonly_fields(self, request, obj=None):
+ if obj:
+ return ("script", ) + self.readonly_fields
+ return self.readonly_fields
+
+admin.site.register(models.AdministrationTask, AdministrationTaskAdmin)
+
+
basic_models = [models.DocumentTemplate]
if settings.COUNTRY == 'fr':
basic_models += [models.Arrondissement, models.Canton]