PEP8 cleanups

This commit is contained in:
Roberto Rosario
2014-10-08 18:14:05 -04:00
parent 35f9adbefc
commit 97dcf507ab
30 changed files with 139 additions and 169 deletions

View File

@@ -2,31 +2,27 @@ from __future__ import absolute_import
from django.dispatch import receiver
from south.signals import post_migrate
from navigation.api import register_links, register_multi_item_links
from project_setup.api import register_setup
from south.signals import post_migrate
from .classes import (AccessHolder, AccessObjectClass, ClassAccessHolder,
AccessObject)
from .links import (acl_detail, acl_grant, acl_revoke, acl_holder_new,
acl_setup_valid_classes, acl_class_list, acl_class_acl_list,
acl_class_acl_detail, acl_class_new_holder_for, acl_class_grant,
acl_class_revoke)
from .classes import (AccessHolder, AccessObject, AccessObjectClass,
ClassAccessHolder)
from .links import (acl_class_acl_detail, acl_class_acl_list, acl_class_grant,
acl_class_list, acl_class_new_holder_for,
acl_class_revoke, acl_detail, acl_grant, acl_holder_new,
acl_revoke, acl_setup_valid_classes)
from .models import CreatorSingleton
register_links(AccessHolder, [acl_detail])
register_multi_item_links(['acls:acl_detail'], [acl_grant, acl_revoke])
register_links([AccessObject], [acl_holder_new], menu_name='sidebar')
register_setup(acl_setup_valid_classes)
register_links(['acls:acl_setup_valid_classes', 'acls:acl_class_acl_list', 'acls:acl_class_new_holder_for', 'acls:acl_class_acl_detail', 'acls:acl_class_multiple_grant', 'acls:acl_class_multiple_revoke'], [acl_class_list], menu_name='secondary_menu')
register_links(ClassAccessHolder, [acl_class_acl_detail])
register_links(AccessObjectClass, [acl_class_acl_list, acl_class_new_holder_for])
register_links(AccessHolder, [acl_detail])
register_links(['acls:acl_setup_valid_classes', 'acls:acl_class_acl_list', 'acls:acl_class_new_holder_for', 'acls:acl_class_acl_detail', 'acls:acl_class_multiple_grant', 'acls:acl_class_multiple_revoke'], [acl_class_list], menu_name='secondary_menu')
register_links(ClassAccessHolder, [acl_class_acl_detail])
register_multi_item_links(['acls:acl_detail'], [acl_grant, acl_revoke])
register_multi_item_links(['acls:acl_class_acl_detail'], [acl_class_grant, acl_class_revoke])
register_setup(acl_setup_valid_classes)
@receiver(post_migrate, dispatch_uid='create_creator_user')

View File

@@ -1,7 +1,7 @@
from django.utils.translation import ugettext_lazy as _
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL)
from .permissions import (ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL,
ACLS_EDIT_ACL, ACLS_VIEW_ACL)
acl_list = {'text': _(u'ACLs'), 'view': 'acls:acl_list', 'famfam': 'lock', 'permissions': [ACLS_VIEW_ACL]}
acl_detail = {'text': _(u'Details'), 'view': 'acls:acl_detail', 'args': ['access_object.gid', 'object.gid'], 'famfam': 'key_go', 'permissions': [ACLS_VIEW_ACL]}

View File

@@ -1,14 +1,13 @@
import logging
from django.core.exceptions import PermissionDenied
from django.template import (TemplateSyntaxError, Library,
Node, Variable, VariableDoesNotExist)
from django.template import (Library, Node, TemplateSyntaxError, Variable,
VariableDoesNotExist)
from acls.models import AccessEntry
register = Library()
logger = logging.getLogger(__name__)
register = Library()
class CheckAccessNode(Node):

View File

@@ -7,8 +7,8 @@ from django.contrib import messages
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect, Http404
from django.shortcuts import render_to_response, get_object_or_404
from django.http import Http404, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext
from django.utils.http import urlencode
from django.utils.translation import ugettext_lazy as _
@@ -19,11 +19,11 @@ from permissions.models import Permission
from .api import get_class_permissions_for
from .classes import (AccessHolder, AccessObject, AccessObjectClass,
ClassAccessHolder)
from .forms import HolderSelectionForm, ClassHolderSelectionForm
ClassAccessHolder)
from .forms import ClassHolderSelectionForm, HolderSelectionForm
from .models import AccessEntry, DefaultAccessEntry
from .permissions import (ACLS_EDIT_ACL, ACLS_VIEW_ACL,
ACLS_CLASS_EDIT_ACL, ACLS_CLASS_VIEW_ACL)
from .permissions import (ACLS_EDIT_ACL, ACLS_CLASS_EDIT_ACL,
ACLS_CLASS_VIEW_ACL, ACLS_VIEW_ACL)
from .widgets import object_w_content_type_icon
logger = logging.getLogger(__name__)
@@ -61,7 +61,7 @@ def acl_list_for(request, obj, extra_context=None):
context.update(extra_context)
return render_to_response('main/generic_list.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_list(request, app_label, model_name, object_id):
@@ -128,11 +128,8 @@ def acl_detail_for(request, actor, obj):
],
}
return render_to_response(
'main/generic_detail.html',
context,
context_instance=RequestContext(request)
)
return render_to_response('main/generic_detail.html', context,
context_instance=RequestContext(request))
def acl_grant(request):
@@ -225,7 +222,7 @@ def acl_grant(request):
context['object'] = navigation_object.source_object
return render_to_response('main/generic_confirm.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_revoke(request):
@@ -318,7 +315,7 @@ def acl_revoke(request):
context['object'] = navigation_object.source_object
return render_to_response('main/generic_confirm.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_new_holder_for(request, obj, extra_context=None, navigation_object=None):
@@ -364,7 +361,7 @@ def acl_new_holder_for(request, obj, extra_context=None, navigation_object=None)
context.update(extra_context)
return render_to_response('main/generic_form.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_holder_new(request, access_object_gid):
@@ -390,7 +387,7 @@ def acl_setup_valid_classes(request):
}
return render_to_response('main/generic_list.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_class_acl_list(request, access_object_class_gid):
@@ -414,7 +411,7 @@ def acl_class_acl_list(request, access_object_class_gid):
}
return render_to_response('main/generic_list.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_class_acl_detail(request, access_object_class_gid, holder_object_gid):
@@ -432,10 +429,9 @@ def acl_class_acl_detail(request, access_object_class_gid, holder_object_gid):
'name': u'main/generic_list_subtemplate.html',
'context': {
'title': _(u'Permissions available to: %(actor)s for class %(class)s' % {
'actor': actor,
'class': access_object_class
}
),
'actor': actor,
'class': access_object_class
}),
'object_list': permission_list,
'extra_columns': [
{'name': _(u'Namespace'), 'attribute': 'namespace'},
@@ -487,7 +483,7 @@ def acl_class_new_holder_for(request, access_object_class_gid):
}
return render_to_response('main/generic_form.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_class_multiple_grant(request):
@@ -566,7 +562,7 @@ def acl_class_multiple_grant(request):
context['object'] = navigation_object
return render_to_response('main/generic_confirm.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def acl_class_multiple_revoke(request):
@@ -645,4 +641,4 @@ def acl_class_multiple_revoke(request):
context['object'] = navigation_object
return render_to_response('main/generic_confirm.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))

View File

@@ -2,22 +2,23 @@ from __future__ import absolute_import
from datetime import timedelta
from django.utils.translation import ugettext_lazy as _
from acls.api import class_permissions
from documents.models import Document
from mayan.celery import app
from history.api import register_history_type
from navigation.api import register_links, register_top_menu
from .events import (HISTORY_DOCUMENT_CHECKED_OUT, HISTORY_DOCUMENT_CHECKED_IN,
HISTORY_DOCUMENT_AUTO_CHECKED_IN, HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
from .links import checkout_list, checkout_document, checkout_info, checkin_document
from .events import (HISTORY_DOCUMENT_AUTO_CHECKED_IN,
HISTORY_DOCUMENT_CHECKED_OUT,
HISTORY_DOCUMENT_CHECKED_IN,
HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
from .links import (checkin_document, checkout_document, checkout_info,
checkout_list)
from .models import DocumentCheckout
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT,
PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE)
from .tasks import task_check_expired_check_outs
from .permissions import (PERMISSION_DOCUMENT_CHECKIN,
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
PERMISSION_DOCUMENT_CHECKOUT,
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE)
CHECK_EXPIRED_CHECK_OUTS_INTERVAL = 60 # Lowest check out expiration allowed
@@ -29,9 +30,14 @@ def initialize_document_checkout_extra_methods():
Document.add_to_class('checkout_state', lambda document: DocumentCheckout.objects.document_checkout_state(document))
Document.add_to_class('is_new_versions_allowed', lambda document, user=None: DocumentCheckout.objects.is_document_new_versions_allowed(document, user))
register_top_menu(name='checkouts', link=checkout_list)
register_links(Document, [checkout_info], menu_name='form_header')
register_links(['checkout_info', 'checkout_document', 'checkin_document'], [checkout_document, checkin_document], menu_name="sidebar")
app.conf.CELERYBEAT_SCHEDULE.update({
'check_expired_check_outs': {
'task': 'checkouts.tasks.task_check_expired_check_outs',
'schedule': timedelta(seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL),
'options': {'queue': 'checkouts'}
},
})
class_permissions(Document, [
PERMISSION_DOCUMENT_CHECKOUT,
@@ -46,10 +52,6 @@ register_history_type(HISTORY_DOCUMENT_CHECKED_IN)
register_history_type(HISTORY_DOCUMENT_AUTO_CHECKED_IN)
register_history_type(HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
app.conf.CELERYBEAT_SCHEDULE.update({
'check_expired_check_outs': {
'task': 'checkouts.tasks.task_check_expired_check_outs',
'schedule': timedelta(seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL),
'options': {'queue': 'checkouts'}
},
})
register_links(Document, [checkout_info], menu_name='form_header')
register_links(['checkout_info', 'checkout_document', 'checkin_document'], [checkout_document, checkin_document], menu_name="sidebar")
register_top_menu(name='checkouts', link=checkout_list)

View File

@@ -4,7 +4,7 @@ from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.shortcuts import get_object_or_404, render_to_response
from django.template import RequestContext
from django.utils.translation import ugettext_lazy as _
@@ -19,23 +19,23 @@ from permissions.models import Permission
from .exceptions import DocumentAlreadyCheckedOut, DocumentNotCheckedOut
from .forms import DocumentCheckoutForm
from .models import DocumentCheckout
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN,
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE)
from .permissions import (PERMISSION_DOCUMENT_CHECKIN,
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
PERMISSION_DOCUMENT_CHECKOUT)
from .widgets import checkout_widget
def checkout_list(request):
return document_list(
request,
object_list=DocumentCheckout.objects.checked_out_documents(),
title=_(u'checked out documents'),
extra_context={
'extra_columns': [
{'name': _(u'Checkout user'), 'attribute': encapsulate(lambda document: get_object_name(document.checkout_info().user_object, display_object_type=False))},
{'name': _(u'Checkout time and date'), 'attribute': encapsulate(lambda document: document.checkout_info().checkout_datetime)},
{'name': _(u'Checkout expiration'), 'attribute': encapsulate(lambda document: document.checkout_info().expiration_datetime)},
],
'extra_columns': [
{'name': _(u'Checkout user'), 'attribute': encapsulate(lambda document: get_object_name(document.checkout_info().user_object, display_object_type=False))},
{'name': _(u'Checkout time and date'), 'attribute': encapsulate(lambda document: document.checkout_info().checkout_datetime)},
{'name': _(u'Checkout expiration'), 'attribute': encapsulate(lambda document: document.checkout_info().expiration_datetime)},
],
}
)
@@ -143,4 +143,4 @@ def checkin_document(request, document_pk):
context['title'] = _(u'Are you sure you wish to check in document: %s?') % document
return render_to_response('main/generic_confirm.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))

View File

@@ -7,7 +7,6 @@ from django.contrib.auth import models as auth_models
from django.contrib.auth.models import User
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.utils.translation import ugettext_lazy as _
from south.signals import post_migrate

View File

@@ -5,14 +5,13 @@ import os
from django import forms
from django.conf import settings
from django.contrib.auth import authenticate
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth.models import User
from django.db import models
from django.utils.html import escape
from django.utils.translation import ugettext_lazy as _
from .utils import return_attrib
from .widgets import DetailSelectMultiple, PlainWidget, EmailInput
from .widgets import EmailInput, DetailSelectMultiple, PlainWidget
class DetailForm(forms.ModelForm):
@@ -165,7 +164,7 @@ class EmailAuthenticationForm(forms.Form):
def check_for_test_cookie(self):
warnings.warn('check_for_test_cookie is deprecated; ensure your login '
'view is CSRF-protected.', DeprecationWarning)
'view is CSRF-protected.', DeprecationWarning)
def get_user_id(self):
if self.user_cache:

View File

@@ -1,7 +1,7 @@
import re
from django.template import (Node, TemplateSyntaxError, Library,
Variable, Context)
from django.template import (Context, Library, Node, TemplateSyntaxError,
Variable)
from django.template.loader import get_template
register = Library()

View File

@@ -4,7 +4,6 @@ from __future__ import absolute_import
import logging
import os
import random
import re
import string
import tempfile
import types
@@ -268,7 +267,7 @@ def load_backend(backend_string):
try:
return getattr(import_module(module_name), klass)
except ImportError as exception:
logger.debug('error importing: %s' % backend_string)
logger.debug('error importing: %s; %s' % (backend_string, exception))
raise

View File

@@ -7,6 +7,7 @@ from django.contrib.auth.models import User
from django.contrib.auth.views import login, password_change
from django.contrib.contenttypes.models import ContentType
from django.conf import settings
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import redirect, render_to_response
@@ -71,8 +72,8 @@ def assign_remove(request, left_list, right_list, add_method, remove_method, lef
if request.method == 'POST':
if u'%s-submit' % left_list_name in request.POST.keys():
unselected_list = ChoiceForm(request.POST,
prefix=left_list_name,
choices=left_list())
prefix=left_list_name,
choices=left_list())
if unselected_list.is_valid():
for selection in unselected_list.cleaned_data['selection']:
if grouped:
@@ -100,8 +101,8 @@ def assign_remove(request, left_list, right_list, add_method, remove_method, lef
elif u'%s-submit' % right_list_name in request.POST.keys():
selected_list = ChoiceForm(request.POST,
prefix=right_list_name,
choices=right_list())
prefix=right_list_name,
choices=right_list())
if selected_list.is_valid():
for selection in selected_list.cleaned_data['selection']:
if grouped:
@@ -124,10 +125,8 @@ def assign_remove(request, left_list, right_list, add_method, remove_method, lef
else:
messages.error(request, _(u'Unable to add %(selection)s to %(right_list_title)s.') % {
'selection': label, 'right_list_title': right_list_title})
unselected_list = ChoiceForm(prefix=left_list_name,
choices=left_list())
selected_list = ChoiceForm(prefix=right_list_name,
choices=right_list())
unselected_list = ChoiceForm(prefix=left_list_name, choices=left_list())
selected_list = ChoiceForm(prefix=right_list_name, choices=right_list())
context = {
'subtemplates_list': [
@@ -159,7 +158,7 @@ def assign_remove(request, left_list, right_list, add_method, remove_method, lef
context.update(extra_context)
return render_to_response('main/generic_form.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def current_user_details(request):

View File

@@ -33,15 +33,15 @@ class DetailSelectMultiple(forms.widgets.SelectMultiple):
if value:
if getattr(value, '__iter__', None):
options = [(index, string) for index, string in
self.choices if index in value]
self.choices if index in value]
else:
options = [(index, string) for index, string in
self.choices if index == value]
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]
self.choices]
if options:
for index, string in options:

View File

@@ -121,7 +121,3 @@ def get_available_transformations_choices():
result.append((transformation, TRANSFORMATION_CHOICES[transformation]['label']))
return result
def get_format_list():
return [(format, FILE_FORMATS.get(format, u'')) for format in backend.get_format_list()]

View File

@@ -1,18 +1,17 @@
from __future__ import absolute_import
import subprocess
import re
from . import ConverterBase
from ..exceptions import ConvertError, UnknownFileFormat, IdentifyError
from ..exceptions import ConvertError, IdentifyError, UnknownFileFormat
from ..literals import (TRANSFORMATION_RESIZE,
TRANSFORMATION_ROTATE, TRANSFORMATION_ZOOM)
from ..literals import (DIMENSION_SEPARATOR, DEFAULT_PAGE_NUMBER,
DEFAULT_FILE_FORMAT)
TRANSFORMATION_ROTATE, TRANSFORMATION_ZOOM)
from ..literals import (DEFAULT_FILE_FORMAT, DEFAULT_PAGE_NUMBER,
DIMENSION_SEPARATOR)
from ..settings import GM_PATH, GM_SETTINGS
CONVERTER_ERROR_STRING_NO_DECODER = u'No decode delegate for this image format'
CONVERTER_ERROR_STARTS_WITH = u'starts with'
CONVERTER_ERROR_STRING_NO_DECODER = u'No decode delegate for this image format'
class GraphicsMagick(ConverterBase):

View File

@@ -1,13 +1,12 @@
from __future__ import absolute_import
import subprocess
import re
from . import ConverterBase
from ..exceptions import ConvertError, UnknownFileFormat, IdentifyError
from ..literals import (TRANSFORMATION_RESIZE, TRANSFORMATION_ROTATE,
TRANSFORMATION_ZOOM, DIMENSION_SEPARATOR, DEFAULT_PAGE_NUMBER,
DEFAULT_FILE_FORMAT)
from ..exceptions import ConvertError, IdentifyError, UnknownFileFormat
from ..literals import (DEFAULT_FILE_FORMAT, DEFAULT_PAGE_NUMBER,
DIMENSION_SEPARATOR, TRANSFORMATION_RESIZE,
TRANSFORMATION_ROTATE, TRANSFORMATION_ZOOM)
from ..settings import IM_CONVERT_PATH, IM_IDENTIFY_PATH
CONVERTER_ERROR_STRING_NO_DECODER = u'no decode delegate for this image format'

View File

@@ -17,8 +17,9 @@ from mimetype.api import get_mimetype
from . import ConverterBase
from ..exceptions import UnknownFileFormat
from ..literals import (TRANSFORMATION_RESIZE, TRANSFORMATION_ROTATE,
TRANSFORMATION_ZOOM, DEFAULT_PAGE_NUMBER, DEFAULT_FILE_FORMAT)
from ..literals import (DEFAULT_FILE_FORMAT, DEFAULT_PAGE_NUMBER,
TRANSFORMATION_RESIZE, TRANSFORMATION_ROTATE,
TRANSFORMATION_ZOOM)
Image.init()

View File

@@ -6,13 +6,10 @@ from navigation.api import register_links
from project_setup.api import register_setup
from .api import Key
from .links import (public_keys, key_delete, key_query, key_receive,
key_setup)
from .links import (key_delete, key_query, key_receive, key_setup,
public_keys)
# register_links(['key_delete', 'key_private_list', 'key_public_list', 'key_query'], [private_keys, public_keys, key_query], menu_name='sidebar')
register_links(['django_gpg:key_delete', 'django_gpg:key_public_list', 'django_gpg:key_query'], [public_keys, key_query], menu_name='sidebar')
register_links(Key, [key_delete])
register_links(KeyServerKey, [key_receive])
register_setup(key_setup)

View File

@@ -1,7 +1,7 @@
from django.utils.translation import ugettext_lazy as _
from .permissions import (PERMISSION_KEY_VIEW, PERMISSION_KEY_DELETE,
PERMISSION_KEYSERVER_QUERY, PERMISSION_KEY_RECEIVE)
from .permissions import (PERMISSION_KEY_DELETE, PERMISSION_KEY_RECEIVE,
PERMISSION_KEY_VIEW, PERMISSION_KEYSERVER_QUERY)
private_keys = {'text': _(u'Private keys'), 'view': 'django_gpg:key_private_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW]}
public_keys = {'text': _(u'Public keys'), 'view': 'django_gpg:key_public_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW]}

View File

@@ -14,8 +14,8 @@ from permissions.models import Permission
from .api import Key
from .exceptions import KeyImportError
from .forms import KeySearchForm
from .permissions import (PERMISSION_KEY_VIEW, PERMISSION_KEY_DELETE,
PERMISSION_KEYSERVER_QUERY, PERMISSION_KEY_RECEIVE)
from .permissions import (PERMISSION_KEY_DELETE, PERMISSION_KEY_RECEIVE,
PERMISSION_KEY_VIEW, PERMISSION_KEYSERVER_QUERY)
from .runtime import gpg
logger = logging.getLogger(__name__)

View File

@@ -1,6 +1,5 @@
from __future__ import absolute_import
from django.conf import settings
from django.contrib.comments.models import Comment
from django.contrib.contenttypes import generic
from django.utils.translation import ugettext_lazy as _
@@ -10,14 +9,23 @@ from common.utils import encapsulate
from documents.models import Document
from navigation.api import register_links, register_model_list_columns
from .links import (comment_delete, comment_add,
comments_for_document)
from .links import comment_add, comment_delete, comments_for_document
from .permissions import (PERMISSION_COMMENT_CREATE,
PERMISSION_COMMENT_DELETE, PERMISSION_COMMENT_VIEW)
PERMISSION_COMMENT_DELETE, PERMISSION_COMMENT_VIEW)
if 'django.contrib.comments' not in settings.INSTALLED_APPS:
raise Exception('This app depends on the django.contrib.comments app.')
Document.add_to_class(
'comments',
generic.GenericRelation(
Comment,
content_type_field='content_type',
object_id_field='object_pk'
)
)
class_permissions(Document, [PERMISSION_COMMENT_CREATE,
PERMISSION_COMMENT_DELETE,
PERMISSION_COMMENT_VIEW])
register_model_list_columns(Comment, [
{
@@ -37,18 +45,3 @@ register_model_list_columns(Comment, [
register_links(['comments:comments_for_document', 'comments:comment_add', 'comments:comment_delete', 'comments:comment_multiple_delete'], [comment_add], menu_name='sidebar')
register_links(Comment, [comment_delete])
register_links(Document, [comments_for_document], menu_name='form_header')
Document.add_to_class(
'comments',
generic.GenericRelation(
Comment,
content_type_field='content_type',
object_id_field='object_pk'
)
)
class_permissions(Document, [
PERMISSION_COMMENT_CREATE,
PERMISSION_COMMENT_DELETE,
PERMISSION_COMMENT_VIEW
])

View File

@@ -3,7 +3,7 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from .permissions import (PERMISSION_COMMENT_CREATE,
PERMISSION_COMMENT_DELETE, PERMISSION_COMMENT_VIEW)
PERMISSION_COMMENT_DELETE, PERMISSION_COMMENT_VIEW)
comment_delete = {'text': _('delete'), 'view': 'comments:comment_delete', 'args': 'object.pk', 'famfam': 'comment_delete', 'permissions': [PERMISSION_COMMENT_DELETE]}
comment_multiple_delete = {'text': _('delete'), 'view': 'comments:comment_multiple_delete', 'args': 'object.pk', 'famfam': 'comments_delete', 'permissions': [PERMISSION_COMMENT_DELETE]}

View File

@@ -64,7 +64,7 @@ def comment_delete(request, comment_id=None, comment_id_list=None):
context['title'] = _(u'Are you sure you wish to delete the comments: %s?') % ', '.join([unicode(d) for d in comments])
return render_to_response('main/generic_confirm.html', context,
context_instance=RequestContext(request))
context_instance=RequestContext(request))
def comment_multiple_delete(request):

View File

@@ -1,5 +1,4 @@
# encoding: utf-8
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models

View File

@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
from south.utils import datetime_utils as datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
@@ -11,12 +10,10 @@ class Migration(SchemaMigration):
# Adding index on 'DocumentVersion', fields ['timestamp']
db.create_index(u'documents_documentversion', ['timestamp'])
def backwards(self, orm):
# Removing index on 'DocumentVersion', fields ['timestamp']
db.delete_index(u'documents_documentversion', ['timestamp'])
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},

View File

@@ -11,12 +11,14 @@ from project_setup.api import register_setup
from rest_api.classes import APIEndPoint
from .api import get_metadata_string
from .links import (metadata_edit, metadata_view, metadata_multiple_edit,
metadata_add, metadata_multiple_add, metadata_remove, metadata_multiple_remove,
setup_metadata_type_list, setup_metadata_type_edit, setup_metadata_type_delete,
setup_metadata_type_create, setup_metadata_set_list, setup_metadata_set_edit,
setup_metadata_set_members, setup_metadata_set_delete, setup_metadata_set_create,
setup_document_type_metadata)
from .links import (metadata_add, metadata_edit, metadata_multiple_add,
metadata_multiple_edit, metadata_multiple_remove,
metadata_remove, metadata_view,
setup_document_type_metadata, setup_metadata_set_create,
setup_metadata_set_delete, setup_metadata_set_edit,
setup_metadata_set_list, setup_metadata_set_members,
setup_metadata_type_create, setup_metadata_type_delete,
setup_metadata_type_edit, setup_metadata_type_list)
from .models import MetadataSet, MetadataType
from .permissions import (PERMISSION_METADATA_DOCUMENT_ADD,
PERMISSION_METADATA_DOCUMENT_EDIT,
@@ -42,10 +44,10 @@ class_permissions(Document, [
])
register_model_list_columns(Document, [
{
'name': _(u'Metadata'), 'attribute': encapsulate(lambda x: get_metadata_string(x))
},
])
{
'name': _(u'Metadata'), 'attribute': encapsulate(lambda x: get_metadata_string(x))
},
])
endpoint = APIEndPoint('metadata')
endpoint.register_urls(api_urls)

View File

@@ -5,8 +5,8 @@ from django.shortcuts import get_object_or_404
from rest_framework import generics
from acls.models import AccessEntry
from documents.models import Document
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from permissions.models import Permission
from rest_api.filters import MayanObjectPermissionsFilter
from rest_api.permissions import MayanPermission

View File

@@ -1,7 +1,7 @@
from __future__ import absolute_import
from django import forms
from django.forms.formsets import formset_factory, BaseFormSet
from django.forms.formsets import formset_factory
from django.utils.translation import ugettext_lazy as _
from common.widgets import ScrollableCheckboxSelectMultiple
@@ -13,7 +13,7 @@ from .settings import AVAILABLE_FUNCTIONS, AVAILABLE_MODELS, AVAILABLE_VALIDATOR
class MetadataForm(forms.Form):
def clean_value(self):
value = self.cleaned_data['value']
value = self.cleaned_data['value']
metadata_id = self.cleaned_data['id']
metadata_type = MetadataType.objects.get(pk=metadata_id)
if ( metadata_type.lookup
@@ -22,7 +22,7 @@ class MetadataForm(forms.Form):
new_value = val_func(value)
if new_value:
value = new_value
return value
return value
def __init__(self, *args, **kwargs):
super(MetadataForm, self).__init__(*args, **kwargs)

View File

@@ -1,7 +1,5 @@
"""Configuration options for the metadata app"""
import datetime
from django.contrib.auth.models import User
from django.utils.timezone import now
@@ -26,6 +24,6 @@ register_settings(
# Definition
{'name': u'AVAILABLE_FUNCTIONS', 'global_name': u'METADATA_AVAILABLE_FUNCTIONS', 'default': default_available_functions},
{'name': u'AVAILABLE_MODELS', 'global_name': u'METADATA_AVAILABLE_MODELS', 'default': default_available_models},
{'name': u'AVAILABLE_VALIDATORS', 'global_name': u'METADATA_AVAILABLE_VALIDATORS', 'default': default_available_validators},
{'name': u'AVAILABLE_VALIDATORS', 'global_name': u'METADATA_AVAILABLE_VALIDATORS', 'default': default_available_validators},
]
)

View File

@@ -1,7 +1,6 @@
from __future__ import absolute_import
import os
import django
from celery import Celery
from django.conf import settings

View File

@@ -38,6 +38,7 @@ urlpatterns = patterns('',
url(r'^user_management/', include('user_management.urls', namespace='user_management')),
)
def handler500(request):
"""
500 error handler which includes ``request`` in the context.