summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/views.py')
-rw-r--r--ishtar/furnitures/views.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index 8dea8cb2f..107d9f3ea 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -289,7 +289,7 @@ def show_item(model, name):
datetime.datetime.now().strftime('%M%s'))
if date:
try:
- date = datetime.datetime.strptime(date, '%Y-%m-%d %H:%M:%S.%f')
+ date = datetime.datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%f')
item = item.get_previous(date=date)
assert item != None
except (ValueError, AssertionError):
@@ -369,8 +369,21 @@ def show_item(model, name):
return HttpResponse(content, content_type="application/xhtml")
return func
+def revert_item(model):
+ def func(request, pk, date, **dct):
+ try:
+ item = model.objects.get(pk=pk)
+ date = datetime.datetime.strptime(date, '%Y-%m-%dT%H:%M:%S.%f')
+ item.rollback(date)
+ except (ObjectDoesNotExist, ValueError, HistoryError):
+ return HttpResponse(None, mimetype='text/plain')
+ return HttpResponse("True", mimetype='text/plain')
+ return func
+
+
get_file = get_item(models.File, 'get_file', 'file')
show_file = show_item(models.File, 'file')
+revert_file = revert_item(models.File)
def autocomplete_operation(request, non_closed=True):
if not request.user.has_perm('furnitures.view_operation', models.Operation)\
@@ -399,6 +412,7 @@ def autocomplete_operation(request, non_closed=True):
get_operation = get_item(models.Operation, 'get_operation', 'operation')
show_operation = show_item(models.Operation, 'operation')
+revert_operation = revert_item(models.Operation)
get_administrativeactfile = get_item(models.AdministrativeAct,
'get_administrativeactfile', 'administrativeactfile',