Fixed error and some warning returned by pylint
This commit is contained in:
@@ -2,4 +2,5 @@ import tempfile
|
||||
|
||||
from common.conf import settings as common_settings
|
||||
|
||||
TEMPORARY_DIRECTORY = common_settings.TEMPORARY_DIRECTORY if common_settings.TEMPORARY_DIRECTORY else tempfile.mkdtemp()
|
||||
TEMPORARY_DIRECTORY = common_settings.TEMPORARY_DIRECTORY \
|
||||
if common_settings.TEMPORARY_DIRECTORY else tempfile.mkdtemp()
|
||||
|
||||
@@ -2,8 +2,6 @@ from django import forms
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
from django.template.defaultfilters import capfirst
|
||||
|
||||
from common.utils import return_attrib
|
||||
|
||||
@@ -14,26 +12,32 @@ class DetailSelectMultiple(forms.widgets.SelectMultiple):
|
||||
super(DetailSelectMultiple, self).__init__(*args, **kwargs)
|
||||
|
||||
def render(self, name, value, attrs=None, choices=()):
|
||||
if value is None: value = ''
|
||||
if value is None:
|
||||
value = ''
|
||||
final_attrs = self.build_attrs(attrs, name=name)
|
||||
css_class = final_attrs.get('class', 'list')
|
||||
output = u'<ul class="%s">' % css_class
|
||||
options = None
|
||||
if value:
|
||||
if getattr(value, '__iter__', None):
|
||||
options = [(index, string) for index, string in self.choices if index in value]
|
||||
options = [(index, string) for index, string in \
|
||||
self.choices if index in value]
|
||||
else:
|
||||
options = [(index, string) for index, string in self.choices if index == value]
|
||||
options = [(index, string) for index, string in \
|
||||
self.choices if index == value]
|
||||
else:
|
||||
if self.choices:
|
||||
if self.choices[0] != (u'', u'---------') and value != []:
|
||||
options = [(index, string) for index, string in self.choices]
|
||||
options = [(index, string) for index, string in \
|
||||
self.choices]
|
||||
|
||||
if options:
|
||||
for index, string in options:
|
||||
if self.queryset:
|
||||
try:
|
||||
output += u'<li><a href="%s">%s</a></li>' % (self.queryset.get(pk=index).get_absolute_url(), string)
|
||||
output += u'<li><a href="%s">%s</a></li>' % (
|
||||
self.queryset.get(pk=index).get_absolute_url(),
|
||||
string)
|
||||
except AttributeError:
|
||||
output += u'<li>%s</li>' % (string)
|
||||
else:
|
||||
@@ -57,12 +61,14 @@ class DetailForm(forms.ModelForm):
|
||||
label = 'label' in extra_field and extra_field['label'] or None
|
||||
#TODO: Add others result types <=> Field types
|
||||
if isinstance(result, models.query.QuerySet):
|
||||
self.fields[extra_field['field']]=forms.ModelMultipleChoiceField(queryset=result, label=label)
|
||||
self.fields[extra_field['field']] = \
|
||||
forms.ModelMultipleChoiceField(
|
||||
queryset=result, label=label)
|
||||
else:
|
||||
self.fields[extra_field['field']] = forms.CharField(
|
||||
label=extra_field['label'],
|
||||
#initial=getattr(self.instance, extra_field['field'], None),
|
||||
initial=return_attrib(self.instance, extra_field['field'], None),
|
||||
initial=return_attrib(self.instance,
|
||||
extra_field['field'], None),
|
||||
widget=PlainWidget)
|
||||
|
||||
for field_name, field in self.fields.items():
|
||||
@@ -83,25 +89,33 @@ class DetailForm(forms.ModelForm):
|
||||
|
||||
|
||||
class GenericConfirmForm(forms.Form):
|
||||
def __init__(self, *args, **kwargs):
|
||||
pass
|
||||
|
||||
|
||||
class GenericAssignRemoveForm(forms.Form):
|
||||
left_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
||||
right_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
||||
def __init__(self, left_list_qryset=None, right_list_qryset=None, left_filter=None, *args, **kwargs):
|
||||
def __init__(self, *args, **kwargs):
|
||||
left_list_qryset = kwargs.pop('left_list_qryset', None)
|
||||
right_list_qryset = kwargs.pop('right_list_qryset', None)
|
||||
left_filter = kwargs.pop('left_filter', None)
|
||||
super(GenericAssignRemoveForm, self).__init__(*args, **kwargs)
|
||||
if left_filter:
|
||||
self.fields['left_list'].queryset = left_list_qryset.filter(*left_filter)
|
||||
self.fields['left_list'].queryset = left_list_qryset.filter(
|
||||
*left_filter)
|
||||
else:
|
||||
self.fields['left_list'].queryset = left_list_qryset
|
||||
|
||||
self.fields['right_list'].queryset = right_list_qryset
|
||||
|
||||
left_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
||||
right_list = forms.ModelMultipleChoiceField(required=False, queryset=None)
|
||||
|
||||
|
||||
class FilterForm(forms.Form):
|
||||
def __init__(self, list_filters, *args, **kwargs):
|
||||
super(FilterForm, self).__init__(*args, **kwargs)
|
||||
for list_filter in list_filters:
|
||||
label = list_filter.get('title', list_filter['name'])
|
||||
self.fields[list_filter['name']] = forms.ModelChoiceField(queryset=list_filter['queryset'], label=label[0].upper() + label[1:], required=False)
|
||||
self.fields[list_filter['name']] = forms.ModelChoiceField(
|
||||
queryset=list_filter['queryset'],
|
||||
label=label[0].upper() + label[1:], required=False)
|
||||
|
||||
@@ -16,6 +16,7 @@ class LoginRequiredMiddleware:
|
||||
Requires authentication middleware and template context processors to be
|
||||
loaded. You'll get an error if they aren't.
|
||||
"""
|
||||
|
||||
def process_request(self, request):
|
||||
assert hasattr(request, 'user'), "The Login Required middleware\
|
||||
requires authentication middleware to be installed. Edit your\
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.template.defaultfilters import stringfilter
|
||||
from django.template import Library, Node, Variable, VariableDoesNotExist
|
||||
from django.template import Library
|
||||
|
||||
from common.utils import return_attrib
|
||||
from navigation.api import model_list_columns
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
from django.template import TemplateSyntaxError, Library, VariableDoesNotExist
|
||||
from django.template import Library
|
||||
from django.conf import settings
|
||||
|
||||
register = Library()
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import re
|
||||
|
||||
from django.template import Node, Variable
|
||||
from django.template import TemplateSyntaxError, Library, VariableDoesNotExist
|
||||
from django.template.defaultfilters import stringfilter
|
||||
from django.template.defaultfilters import date as datefilter
|
||||
from django.template import Node
|
||||
from django.template import TemplateSyntaxError, Library
|
||||
from django.conf import settings
|
||||
|
||||
register = Library()
|
||||
|
||||
@@ -34,7 +34,8 @@ def urlquote(link=None, get={}):
|
||||
link = ''
|
||||
assert isinstance(get, dict), 'wrong type "%s", dict required' % type(get)
|
||||
#assert not (link.startswith('http://') or link.startswith('https://')), \
|
||||
# 'This method should only quote the url path. It should not start with http(s):// (%s)' % (
|
||||
# 'This method should only quote the url path.
|
||||
# It should not start with http(s):// (%s)' % (
|
||||
# link)
|
||||
if get:
|
||||
# http://code.djangoproject.com/ticket/9089
|
||||
@@ -98,9 +99,24 @@ def exists_with_famfam(path):
|
||||
# 2006-03-16
|
||||
# Thanks to David Kern <kernd@reasonspace.com> for fixing some bugs.
|
||||
|
||||
suffixes = [u"II", u"(II)", u"III", u"(III)", u"IV", u"(IV)", u"VI", u"(VI)",
|
||||
#class Name(str):
|
||||
# """A Class (based on the string type) that properly capitalizes a name."""
|
||||
#
|
||||
# def __new__(cls, value=''):
|
||||
# original = value
|
||||
# proper = Capitalize(value)
|
||||
# obj = str.__new__(cls, proper)
|
||||
# obj.original = original
|
||||
# return obj
|
||||
|
||||
def proper_name(name):
|
||||
"""Does the work of capitalizing a name (can be a full name)."""
|
||||
|
||||
suffixes = [
|
||||
u"II", u"(II)", u"III", u"(III)", u"IV", u"(IV)", u"VI", u"(VI)",
|
||||
u"VII", u"(VII)", u"2nd", u"(2nd)", u"3rd", u"(3rd)", u"4th", u"(4th)",
|
||||
u"5th", u"(5th)"]
|
||||
u"5th", u"(5th)"
|
||||
]
|
||||
|
||||
# The names listed here are included by permission from John Cardinal's TMG Utility.
|
||||
# http://www.johncardinal.com/tmgutil/index.htm
|
||||
@@ -218,20 +234,9 @@ surnames = [
|
||||
u"vonFreymann", u"vonHeimburg", u"VonHuben", u"vonKramer",
|
||||
u"vonKruchenburg", u"vonPostel", u"VonRohr", u"VonRohrbach",
|
||||
u"VonSass", u"VonSasse", u"vonSchlotte", u"VonSchneider", u"VonSeldern",
|
||||
u"VonSpringer", u"VonVeyelmann", u"VonZweidorff"]
|
||||
u"VonSpringer", u"VonVeyelmann", u"VonZweidorff"
|
||||
]
|
||||
|
||||
#class Name(str):
|
||||
# """A Class (based on the string type) that properly capitalizes a name."""
|
||||
#
|
||||
# def __new__(cls, value=''):
|
||||
# original = value
|
||||
# proper = Capitalize(value)
|
||||
# obj = str.__new__(cls, proper)
|
||||
# obj.original = original
|
||||
# return obj
|
||||
|
||||
def proper_name(name):
|
||||
"""Does the work of capitalizing a name (can be a full name)."""
|
||||
hyphen_indexes = []
|
||||
while name.find('-') > -1:
|
||||
index = name.find('-')
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
from django.shortcuts import redirect
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.contrib import messages
|
||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
||||
from django.http import HttpResponseRedirect
|
||||
|
||||
|
||||
def password_change_done(request):
|
||||
'''View called when the new user password has been accepted'''
|
||||
|
||||
messages.success(request, _(u'Your password has been successfully changed.'))
|
||||
return redirect('home')
|
||||
|
||||
|
||||
def multi_object_action_view(request):
|
||||
'''Proxy view called first when usuing a multi object action, which
|
||||
then redirects to the appropiate specialized view'''
|
||||
|
||||
action = request.GET.get('action', None)
|
||||
id_list = u','.join([key[3:] for key in request.GET.keys() if key.startswith('pk_')])
|
||||
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
import os
|
||||
import shlex
|
||||
import subprocess
|
||||
import tempfile
|
||||
import shutil
|
||||
|
||||
from django.utils.importlib import import_module
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
from django.template.defaultfilters import slugify
|
||||
|
||||
@@ -17,8 +13,7 @@ from converter.conf.settings import LOW_QUALITY_OPTIONS
|
||||
from converter.conf.settings import HIGH_QUALITY_OPTIONS
|
||||
from converter.conf.settings import GRAPHICS_BACKEND
|
||||
|
||||
from exceptions import ConvertError, UnknownFormat, UnpaperError, \
|
||||
IdentifyError, UnkownConvertError
|
||||
from exceptions import UnpaperError
|
||||
|
||||
#from converter.conf.settings import UNOCONV_PATH
|
||||
from common import TEMPORARY_DIRECTORY
|
||||
@@ -164,17 +159,9 @@ def convert_document_for_ocr(document, page=0, format='tif'):
|
||||
#Catch invalid or non existing pages
|
||||
document_page = document.documentpage_set.get(document=document, page_number=page+1)
|
||||
for page_transformation in document_page.documentpagetransformation_set.all():
|
||||
try:
|
||||
if page_transformation.transformation in TRANFORMATION_CHOICES:
|
||||
output = TRANFORMATION_CHOICES[page_transformation.transformation] % eval(page_transformation.arguments)
|
||||
transformation_list.append(output)
|
||||
except Exception, e:
|
||||
if request.user.is_staff:
|
||||
messages.warning(request, _(u'Error for transformation %(transformation)s:, %(error)s') %
|
||||
{'transformation':page_transformation.get_transformation_display(),
|
||||
'error':e})
|
||||
else:
|
||||
pass
|
||||
except ObjectDoesNotExist:
|
||||
pass
|
||||
|
||||
|
||||
@@ -3,8 +3,7 @@ import subprocess
|
||||
|
||||
from converter.conf.settings import GM_PATH
|
||||
from converter.api import QUALITY_DEFAULT, QUALITY_SETTINGS
|
||||
from converter.exceptions import ConvertError, UnknownFormat, UnpaperError, \
|
||||
IdentifyError, UnkownConvertError
|
||||
from converter.exceptions import ConvertError, UnknownFormat, IdentifyError
|
||||
|
||||
CONVERTER_ERROR_STRING_NO_DECODER = 'No decode delegate for this image format'
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ import subprocess
|
||||
from converter.conf.settings import IM_IDENTIFY_PATH
|
||||
from converter.conf.settings import IM_CONVERT_PATH
|
||||
from converter.api import QUALITY_DEFAULT, QUALITY_SETTINGS
|
||||
from converter.exceptions import ConvertError, UnknownFormat, UnpaperError, \
|
||||
IdentifyError, UnkownConvertError
|
||||
from converter.exceptions import ConvertError, UnknownFormat, \
|
||||
IdentifyError
|
||||
|
||||
CONVERTER_ERROR_STRING_NO_DECODER = 'no decode delegate for this image format'
|
||||
|
||||
|
||||
@@ -1,18 +1,29 @@
|
||||
class ConvertError(Exception):
|
||||
'''Base exception for all coverter app exceptions
|
||||
'''
|
||||
pass
|
||||
|
||||
|
||||
class UnknownFormat(ConvertError):
|
||||
'''Raised when the converter backend can't understand or there
|
||||
isn't an appropiate driver available'''
|
||||
pass
|
||||
|
||||
|
||||
class UnpaperError(ConvertError):
|
||||
'''Raised by upaper
|
||||
'''
|
||||
pass
|
||||
|
||||
|
||||
class IdentifyError(ConvertError):
|
||||
'''Raised by identify
|
||||
'''
|
||||
pass
|
||||
|
||||
|
||||
class UnkownConvertError(ConvertError):
|
||||
'''Raised when an error is found but there is no disernible way to
|
||||
identify the kind of error
|
||||
'''
|
||||
pass
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
from common import TEMPORARY_DIRECTORY
|
||||
|
||||
#http://stackoverflow.com/questions/123198/how-do-i-copy-a-file-in-python
|
||||
def copyfile(source, dest, buffer_size=1024*1024):
|
||||
"""
|
||||
|
||||
@@ -73,7 +73,6 @@ class ImageWidget(forms.widgets.Widget):
|
||||
if not self.attrs.get('hide_detail_link', False):
|
||||
for document_page in value.documentpage_set.all():
|
||||
output.append('<br/><a href="%(url)s"><span class="famfam active famfam-page_white"></span>%(text)s</a>' % {
|
||||
'page_number': document_page.page_number,
|
||||
'url':reverse('document_page_view', args=[document_page.id]),
|
||||
'text':ugettext(u'Page %s details') % document_page.page_number})
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ class Document(models.Model):
|
||||
total_pages = get_page_count(filepath)
|
||||
|
||||
for page_number in range(total_pages):
|
||||
document_page, created = DocumentPage.objects.get_or_create(
|
||||
DocumentPage.objects.get_or_create(
|
||||
document=self, page_number=page_number+1)
|
||||
|
||||
os.close(handle)
|
||||
|
||||
@@ -2,10 +2,8 @@ import errno
|
||||
import os
|
||||
import hashlib
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.core.files.uploadedfile import InMemoryUploadedFile, \
|
||||
SimpleUploadedFile
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
from django.utils.translation import ugettext
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from common.utils import pretty_size, pretty_size_10
|
||||
from permissions.api import check_permissions
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
|
||||
from common import TEMPORARY_DIRECTORY
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import zipfile
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
||||
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
||||
from django.http import HttpResponse, HttpResponseRedirect
|
||||
from django.shortcuts import render_to_response, get_object_or_404
|
||||
from django.template import RequestContext
|
||||
from django.contrib import messages
|
||||
from django.views.generic.list_detail import object_detail, object_list
|
||||
@@ -11,7 +11,6 @@ from django.views.generic.create_update import create_object, delete_object, upd
|
||||
from django.core.files.base import File
|
||||
from django.conf import settings
|
||||
from django.utils.http import urlencode
|
||||
from django.template.defaultfilters import slugify
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.core.files.uploadedfile import SimpleUploadedFile
|
||||
|
||||
@@ -30,7 +29,6 @@ from documents.conf.settings import USE_STAGING_DIRECTORY
|
||||
from documents.conf.settings import STAGING_FILES_PREVIEW_SIZE
|
||||
from documents.conf.settings import PREVIEW_SIZE
|
||||
from documents.conf.settings import THUMBNAIL_SIZE
|
||||
from documents.conf.settings import TRANFORMATION_PREVIEW_SIZE
|
||||
from documents.conf.settings import GROUP_MAX_RESULTS
|
||||
from documents.conf.settings import GROUP_SHOW_EMPTY
|
||||
from documents.conf.settings import GROUP_SHOW_THUMBNAIL
|
||||
@@ -51,7 +49,7 @@ from forms import DocumentTypeSelectForm, DocumentCreateWizard, \
|
||||
MetadataFormSet, DocumentPageForm, DocumentPageTransformationForm, \
|
||||
DocumentContentForm
|
||||
|
||||
from metadata import save_metadata, save_metadata_list, \
|
||||
from metadata import save_metadata_list, \
|
||||
decode_metadata_from_url, metadata_repr_as_list
|
||||
from models import Document, DocumentMetadata, DocumentType, MetadataType, \
|
||||
DocumentPage, DocumentPageTransformation
|
||||
@@ -708,17 +706,13 @@ def document_page_transformation_edit(request, document_page_transformation_id):
|
||||
object_id=document_page_transformation_id,
|
||||
post_save_redirect=reverse('document_page_view', args=[document_page_transformation.document_page_id]),
|
||||
extra_context={
|
||||
'object_name':_(u'transformation')}
|
||||
)
|
||||
|
||||
return render_to_response('generic_form.html', {
|
||||
'form':form,
|
||||
'object':document_page_transformation.document_page,
|
||||
'object_name':_(u'transformation'),
|
||||
'title':_(u'Edit transformation "%(transformation)s" for page: %(page)s of document: %(document)s') % {
|
||||
'transformation':document_page_transformation.get_transformation_display(),
|
||||
'page':document_page_transformation.document_page.page_number,
|
||||
'document':document_page_transformation.document_page.document},
|
||||
}, context_instance=RequestContext(request))
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def document_page_transformation_delete(request, document_page_transformation_id):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.shortcuts import render_to_response
|
||||
from django.template import RequestContext
|
||||
from django.contrib import messages
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import re
|
||||
|
||||
from django.template import Node, Variable
|
||||
from django.template import TemplateSyntaxError, Library, VariableDoesNotExist
|
||||
from django.template.defaultfilters import stringfilter
|
||||
from django.template.defaultfilters import date as datefilter
|
||||
from django.template import Node
|
||||
from django.template import TemplateSyntaxError, Library
|
||||
from main.conf import settings
|
||||
|
||||
register = Library()
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import copy
|
||||
|
||||
from django.db.utils import DatabaseError
|
||||
|
||||
|
||||
object_navigation = {}
|
||||
multi_object_navigation = {}
|
||||
menu_links = []
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
import types
|
||||
import copy
|
||||
import re
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||
from django.core.urlresolvers import RegexURLResolver, RegexURLPattern, Resolver404, get_resolver
|
||||
from django.template import TemplateSyntaxError, Library, \
|
||||
@@ -246,7 +244,6 @@ def object_navigation_template(context):
|
||||
'horizontal':True,
|
||||
'object_navigation_links':_get_object_navigation_links(context)
|
||||
}
|
||||
return new_context
|
||||
|
||||
|
||||
@register.tag
|
||||
|
||||
@@ -6,12 +6,8 @@ import subprocess
|
||||
import tempfile
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.contrib import messages
|
||||
|
||||
from common import TEMPORARY_DIRECTORY
|
||||
|
||||
from documents.models import Document
|
||||
|
||||
from converter.api import convert_document_for_ocr
|
||||
|
||||
from ocr.conf.settings import TESSERACT_PATH
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
from datetime import date, timedelta, datetime
|
||||
from datetime import timedelta, datetime
|
||||
import platform
|
||||
import time
|
||||
import random
|
||||
|
||||
from django.db.models import Q
|
||||
|
||||
from celery.task import Task, PeriodicTask
|
||||
from celery.task import PeriodicTask
|
||||
from celery.decorators import task
|
||||
|
||||
from documents import Document
|
||||
|
||||
from ocr.api import do_document_ocr
|
||||
from literals import QUEUEDOCUMENT_STATE_PENDING, \
|
||||
QUEUEDOCUMENT_STATE_PROCESSING, DOCUMENTQUEUE_STATE_ACTIVE, \
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
import datetime
|
||||
|
||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
||||
from django.template import RequestContext
|
||||
from django.contrib import messages
|
||||
from django.views.generic.list_detail import object_detail, object_list
|
||||
from django.views.generic.list_detail import object_list
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.views.generic.create_update import create_object, delete_object, update_object
|
||||
from django.conf import settings
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from permissions.api import check_permissions
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from models import Permission, PermissionHolder, Role, RoleMember
|
||||
from django.contrib.contenttypes import generic
|
||||
|
||||
|
||||
class PermissionHolderInline(admin.StackedInline):
|
||||
model = PermissionHolder
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
from django.http import Http404
|
||||
from django.contrib.auth.models import User
|
||||
from django.contrib.auth.models import Group
|
||||
from django.db.utils import DatabaseError
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.template import TemplateSyntaxError, Library, \
|
||||
VariableDoesNotExist, Node, Variable
|
||||
Node, Variable
|
||||
|
||||
from permissions.api import check_permissions as check_permission_function
|
||||
|
||||
@@ -32,7 +32,7 @@ def check_permissions(parser, token):
|
||||
# Splitting by None == splitting by spaces.
|
||||
tag_name, args = token.contents.split(None, 1)
|
||||
except ValueError:
|
||||
raise template.TemplateSyntaxError, "%r tag requires arguments" % token.contents.split()[0]
|
||||
raise TemplateSyntaxError, "%r tag requires arguments" % token.contents.split()[0]
|
||||
|
||||
return CheckPermissionsNode(*args.split())
|
||||
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
from django.utils.translation import ugettext as _
|
||||
from django.http import HttpResponse, HttpResponseRedirect, Http404
|
||||
from django.shortcuts import render_to_response, get_object_or_404, redirect
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.shortcuts import render_to_response, get_object_or_404
|
||||
from django.template import RequestContext
|
||||
from django.contrib import messages
|
||||
from django.views.generic.list_detail import object_detail, object_list
|
||||
from django.views.generic.list_detail import object_list
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.views.generic.create_update import create_object, delete_object, update_object
|
||||
from django.conf import settings
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
|
||||
@@ -55,7 +54,7 @@ def role_permissions(request, role_id):
|
||||
role = get_object_or_404(Role, pk=role_id)
|
||||
form = RoleForm_view(instance=role)
|
||||
|
||||
role_permissions = Permission.objects.get_for_holder(role)
|
||||
role_permissions_list = Permission.objects.get_for_holder(role)
|
||||
subtemplates_dict = [
|
||||
{
|
||||
'name':'generic_list_subtemplate.html',
|
||||
@@ -64,7 +63,7 @@ def role_permissions(request, role_id):
|
||||
'extra_columns':[
|
||||
{'name':_(u'namespace'), 'attribute':'namespace'},
|
||||
{'name':_(u'name'), 'attribute':'label'},
|
||||
{'name':_(u'state'), 'attribute':lambda x: _role_permission_link(role, x, role_permissions)}
|
||||
{'name':_(u'state'), 'attribute':lambda x: _role_permission_link(role, x, role_permissions_list)}
|
||||
],
|
||||
'hide_link':True,
|
||||
'hide_object':True,
|
||||
|
||||
Reference in New Issue
Block a user