diff options
Diffstat (limited to 'ishtar/furnitures/views.py')
-rw-r--r-- | ishtar/furnitures/views.py | 16 |
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', |