124 lines
4.6 KiB
Python
124 lines
4.6 KiB
Python
from __future__ import absolute_import
|
|
|
|
from django.contrib import messages
|
|
from django.core.urlresolvers import reverse
|
|
from django.http import HttpResponseRedirect
|
|
from django.shortcuts import render_to_response, get_object_or_404
|
|
from django.template import RequestContext
|
|
from django.utils.translation import ugettext_lazy as _
|
|
|
|
#from permissions.models import Permission
|
|
#from common.utils import encapsulate
|
|
|
|
#from .permissions import PERMISSION_VIEW_SCHEDULER_LIST, PERMISSION_VIEW_JOB_LIST
|
|
|
|
from .models import TrashCan, TrashCanItem
|
|
|
|
|
|
def trash_can_list(request):
|
|
#Permission.objects.check_permissions(request.user, [PERMISSION_VIEW_JOB_LIST])
|
|
|
|
context = {
|
|
'object_list': TrashCan.objects.all(),
|
|
'list_object_variable_name': 'trash_can',
|
|
'title': _(u'trash cans'),
|
|
'extra_columns': [
|
|
{
|
|
'name': _(u'label'),
|
|
'attribute': 'label'
|
|
},
|
|
{
|
|
'name': _(u'items'),
|
|
'attribute': 'items.count'
|
|
},
|
|
],
|
|
'hide_object': True,
|
|
}
|
|
|
|
return render_to_response('generic_list.html', context,
|
|
context_instance=RequestContext(request))
|
|
|
|
|
|
def trash_can_items(request, trash_can_pk):
|
|
#Permission.objects.check_permissions(request.user, [PERMISSION_VIEW_JOB_LIST])
|
|
|
|
trash_can = get_object_or_404(TrashCan, pk=trash_can_pk)
|
|
|
|
context = {
|
|
'object_list': trash_can.items.all(),
|
|
'trash_can': trash_can,
|
|
'list_object_variable_name': 'trash_can_item',
|
|
'navigation_object_name': 'trash_can',
|
|
'title': _(u'items in trash can: %s') % trash_can,
|
|
'extra_columns': [
|
|
{
|
|
'name': _(u'date time'),
|
|
'attribute': 'trashed_at'
|
|
},
|
|
],
|
|
'hide_link': True,
|
|
}
|
|
|
|
return render_to_response('generic_list.html', context,
|
|
context_instance=RequestContext(request))
|
|
|
|
|
|
def trash_can_item_restore(request, trash_can_item_pk):
|
|
#Permission.objects.check_permissions(request.user, [PERMISSION_OCR_QUEUE_ENABLE_DISABLE])
|
|
|
|
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None)))
|
|
|
|
trash_can_item = get_object_or_404(TrashCanItem, pk=trash_can_item_pk)
|
|
|
|
if request.method == 'POST':
|
|
try:
|
|
trash_can_item.restore()
|
|
except Exception, exc:
|
|
messages.warning(request, _(u'Error restoring trash can item; %s') % exc)
|
|
return HttpResponseRedirect(previous)
|
|
else:
|
|
messages.success(request, _(u'Trash can item "%s" restored successfully.') % trash_can_item)
|
|
return HttpResponseRedirect(reverse('trash_can_items', args=[trash_can_item.trash_can.pk]))
|
|
|
|
return render_to_response('generic_confirm.html', {
|
|
'trash_can': trash_can_item.trash_can,
|
|
'trash_can_item': trash_can_item,
|
|
'navigation_object_list': [
|
|
{'object': 'trash_can', 'name': _(u'trash can')},
|
|
{'object': 'trash_can_item', 'name': _(u'trash can item')},
|
|
],
|
|
'title': _(u'Are you sure you wish to restore trash can item: %s?') % trash_can_item,
|
|
'previous': previous,
|
|
'form_icon': 'bin_empty.png',
|
|
}, context_instance=RequestContext(request))
|
|
|
|
|
|
def trash_can_item_delete(request, trash_can_item_pk):
|
|
#Permission.objects.check_permissions(request.user, [PERMISSION_OCR_QUEUE_ENABLE_DISABLE])
|
|
|
|
previous = request.POST.get('previous', request.GET.get('previous', request.META.get('HTTP_REFERER', None)))
|
|
|
|
trash_can_item = get_object_or_404(TrashCanItem, pk=trash_can_item_pk)
|
|
|
|
if request.method == 'POST':
|
|
try:
|
|
trash_can_item.purge()
|
|
except Exception, exc:
|
|
messages.warning(request, _(u'Error deleting trash can item; %s') % exc)
|
|
return HttpResponseRedirect(previous)
|
|
else:
|
|
messages.success(request, _(u'Trash can item deleted successfully.') % trash_can_item)
|
|
return HttpResponseRedirect(reverse('trash_can_items', args=[trash_can_item.trash_can.pk]))
|
|
|
|
return render_to_response('generic_confirm.html', {
|
|
'trash_can': trash_can_item.trash_can,
|
|
'trash_can_item': trash_can_item,
|
|
'navigation_object_list': [
|
|
{'object': 'trash_can', 'name': _(u'trash can')},
|
|
{'object': 'trash_can_item', 'name': _(u'trash can item')},
|
|
],
|
|
'title': _(u'Are you sure you wish to delete trash can item: %s?') % trash_can_item,
|
|
'previous': previous,
|
|
'form_icon': 'delete.png',
|
|
}, context_instance=RequestContext(request))
|