Misc cleanups, PEP8, conding conventions, spaces, unused imports, False/True comparisons

This commit is contained in:
Roberto Rosario
2014-05-23 03:06:26 -04:00
parent cdb93e46ae
commit 935845719f
44 changed files with 188 additions and 223 deletions

View File

@@ -1,17 +1,14 @@
from __future__ import absolute_import from __future__ import absolute_import
import logging import logging
import imp
import sys
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _
from django.utils.importlib import import_module from django.utils.importlib import import_module
from bootstrap.classes import BootstrapModel, Cleanup
from navigation.api import register_top_menu
from project_setup.api import register_setup from project_setup.api import register_setup
from project_tools.api import register_tool from project_tools.api import register_tool
from navigation.api import register_top_menu
from bootstrap.classes import Cleanup, BootstrapModel
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -33,7 +30,7 @@ class App(object):
else: else:
if not getattr(registration, 'disabled', False): if not getattr(registration, 'disabled', False):
app = App() app = App()
app.name=app_name app.name = app_name
# If there are not error go ahead with the stored app instance # If there are not error go ahead with the stored app instance
app.label = getattr(registration, 'label', app_name) app.label = getattr(registration, 'label', app_name)
app.description = getattr(registration, 'description', u'') app.description = getattr(registration, 'description', u'')

View File

@@ -2,23 +2,21 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from acls.api import class_permissions
from documents.models import Document
from history.api import register_history_type
from navigation.api import (register_links, register_top_menu, from navigation.api import (register_links, register_top_menu,
register_multi_item_links, register_sidebar_template) register_multi_item_links, register_sidebar_template)
from scheduler.api import register_interval_job from scheduler.api import register_interval_job
from documents.models import Document from .events import (HISTORY_DOCUMENT_CHECKED_OUT, HISTORY_DOCUMENT_CHECKED_IN,
from documents.permissions import PERMISSION_DOCUMENT_VIEW HISTORY_DOCUMENT_AUTO_CHECKED_IN, HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
from acls.api import class_permissions from .links import checkout_list, checkout_document, checkout_info, checkin_document
from history.api import register_history_type from .models import DocumentCheckout
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, from .permissions import (PERMISSION_DOCUMENT_CHECKOUT,
PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE, PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE,
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE) PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE)
from .links import checkout_list, checkout_document, checkout_info, checkin_document
from .models import DocumentCheckout
from .tasks import task_check_expired_check_outs from .tasks import task_check_expired_check_outs
from .events import (HISTORY_DOCUMENT_CHECKED_OUT, HISTORY_DOCUMENT_CHECKED_IN,
HISTORY_DOCUMENT_AUTO_CHECKED_IN, HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
def initialize_document_checkout_extra_methods(): def initialize_document_checkout_extra_methods():
@@ -39,7 +37,7 @@ class_permissions(Document, [
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE
]) ])
CHECK_EXPIRED_CHECK_OUTS_INTERVAL=60 # Lowest check out expiration allowed CHECK_EXPIRED_CHECK_OUTS_INTERVAL = 60 # Lowest check out expiration allowed
register_interval_job('task_check_expired_check_outs', _(u'Check expired check out documents and checks them in.'), task_check_expired_check_outs, seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL) register_interval_job('task_check_expired_check_outs', _(u'Check expired check out documents and checks them in.'), task_check_expired_check_outs, seconds=CHECK_EXPIRED_CHECK_OUTS_INTERVAL)
initialize_document_checkout_extra_methods() initialize_document_checkout_extra_methods()
register_history_type(HISTORY_DOCUMENT_CHECKED_OUT) register_history_type(HISTORY_DOCUMENT_CHECKED_OUT)

View File

@@ -4,6 +4,7 @@ class DocumentNotCheckedOut(Exception):
""" """
pass pass
class DocumentAlreadyCheckedOut(Exception): class DocumentAlreadyCheckedOut(Exception):
""" """
Raised when trying to checkout an already checkedout document Raised when trying to checkout an already checkedout document

View File

@@ -1,10 +1,9 @@
from __future__ import absolute_import from __future__ import absolute_import
from django import forms from django import forms
from django.utils.translation import ugettext_lazy as _
from .models import DocumentCheckout
from .exceptions import DocumentAlreadyCheckedOut from .exceptions import DocumentAlreadyCheckedOut
from .models import DocumentCheckout
from .widgets import SplitTimeDeltaField from .widgets import SplitTimeDeltaField

View File

@@ -2,8 +2,6 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE) from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN, PERMISSION_DOCUMENT_CHECKIN_OVERRIDE)

View File

@@ -6,18 +6,17 @@ import logging
from django.db import models from django.db import models
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from acls.models import AccessEntry
from documents.models import Document from documents.models import Document
from history.api import create_history from history.api import create_history
from permissions.models import Permission from permissions.models import Permission
from acls.models import AccessEntry
from .exceptions import DocumentNotCheckedOut
from .literals import STATE_CHECKED_OUT, STATE_CHECKED_IN
from .events import (HISTORY_DOCUMENT_CHECKED_IN, HISTORY_DOCUMENT_AUTO_CHECKED_IN, from .events import (HISTORY_DOCUMENT_CHECKED_IN, HISTORY_DOCUMENT_AUTO_CHECKED_IN,
HISTORY_DOCUMENT_FORCEFUL_CHECK_IN) HISTORY_DOCUMENT_FORCEFUL_CHECK_IN)
from .exceptions import DocumentNotCheckedOut
from .literals import STATE_CHECKED_OUT, STATE_CHECKED_IN
from .permissions import PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE from .permissions import PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE
from history.api import create_history
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -98,4 +97,3 @@ class DocumentCheckoutManager(models.Manager):
return True return True
else: else:
return True return True

View File

@@ -1,19 +1,18 @@
from __future__ import absolute_import from __future__ import absolute_import
import logging
import datetime import datetime
import logging
from django.db import models, IntegrityError
from django.utils.translation import ugettext_lazy as _
from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import generic from django.contrib.contenttypes import generic
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.translation import ugettext_lazy as _
from documents.models import Document from documents.models import Document
from history.api import create_history from history.api import create_history
from .managers import DocumentCheckoutManager
from .exceptions import DocumentAlreadyCheckedOut
from .events import HISTORY_DOCUMENT_CHECKED_OUT from .events import HISTORY_DOCUMENT_CHECKED_OUT
from .managers import DocumentCheckoutManager
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -31,9 +30,9 @@ class DocumentCheckout(models.Model):
block_new_version = models.BooleanField(default=True, verbose_name=_(u'block new version upload'), help_text=_(u'Do not allow new version of this document to be uploaded.')) block_new_version = models.BooleanField(default=True, verbose_name=_(u'block new version upload'), help_text=_(u'Do not allow new version of this document to be uploaded.'))
#block_metadata # block_metadata
#block_editing # block_editing
#block tag add/remove # block tag add/remove
objects = DocumentCheckoutManager() objects = DocumentCheckoutManager()

View File

@@ -10,4 +10,3 @@ PERMISSION_DOCUMENT_CHECKOUT = Permission.objects.register(namespace, 'checkout_
PERMISSION_DOCUMENT_CHECKIN = Permission.objects.register(namespace, 'checkin_document', _(u'Check in documents')) PERMISSION_DOCUMENT_CHECKIN = Permission.objects.register(namespace, 'checkin_document', _(u'Check in documents'))
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE = Permission.objects.register(namespace, 'checkin_document_override', _(u'Forcefully check in documents')) PERMISSION_DOCUMENT_CHECKIN_OVERRIDE = Permission.objects.register(namespace, 'checkin_document_override', _(u'Forcefully check in documents'))
PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE = Permission.objects.register(namespace, 'checkout_restrictions_override', _(u'Allow overriding check out restrictions')) PERMISSION_DOCUMENT_RESTRICTIONS_OVERRIDE = Permission.objects.register(namespace, 'checkout_restrictions_override', _(u'Allow overriding check out restrictions'))

View File

@@ -1,27 +1,26 @@
from __future__ import absolute_import from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _ from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404 from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from django.contrib import messages from django.utils.translation import ugettext_lazy as _
from django.core.urlresolvers import reverse
from django.core.exceptions import PermissionDenied
from documents.views import document_list
from documents.models import Document from documents.models import Document
from documents.views import document_list
from permissions.models import Permission
from acls.models import AccessEntry from acls.models import AccessEntry
from common.utils import get_object_name from common.utils import get_object_name
from common.utils import encapsulate from common.utils import encapsulate
from permissions.models import Permission
from .exceptions import DocumentAlreadyCheckedOut, DocumentNotCheckedOut
from .forms import DocumentCheckoutForm
from .models import DocumentCheckout from .models import DocumentCheckout
from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN, from .permissions import (PERMISSION_DOCUMENT_CHECKOUT, PERMISSION_DOCUMENT_CHECKIN,
PERMISSION_DOCUMENT_CHECKIN_OVERRIDE) PERMISSION_DOCUMENT_CHECKIN_OVERRIDE)
from .forms import DocumentCheckoutForm
from .exceptions import DocumentAlreadyCheckedOut, DocumentNotCheckedOut
from .literals import STATE_CHECKED_OUT, STATE_CHECKED_IN, STATE_ICONS, STATE_LABELS
from .widgets import checkout_widget from .widgets import checkout_widget

View File

@@ -3,12 +3,12 @@ from __future__ import absolute_import
import datetime import datetime
from django import forms from django import forms
from django.utils.translation import ugettext_lazy as _
from django.utils.safestring import mark_safe
from django.conf import settings from django.conf import settings
from django.core import validators from django.core import validators
from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _
from .literals import STATE_CHECKED_OUT, STATE_CHECKED_IN, STATE_ICONS, STATE_LABELS from .literals import STATE_ICONS, STATE_LABELS
def checkout_widget(document): def checkout_widget(document):
@@ -27,9 +27,9 @@ class SplitDeltaWidget(forms.widgets.MultiWidget):
""" """
def __init__(self, attrs=None): def __init__(self, attrs=None):
widgets = ( widgets = (
forms.widgets.TextInput(attrs={'maxlength': 3, 'style':'width: 5em;', 'placeholder': _(u'Days')}), forms.widgets.TextInput(attrs={'maxlength': 3, 'style': 'width: 5em;', 'placeholder': _(u'Days')}),
forms.widgets.TextInput(attrs={'maxlength': 4, 'style':'width: 5em;', 'placeholder': _(u'Hours')}), forms.widgets.TextInput(attrs={'maxlength': 4, 'style': 'width: 5em;', 'placeholder': _(u'Hours')}),
forms.widgets.TextInput(attrs={'maxlength': 5, 'style':'width: 5em;', 'placeholder': _(u'Minutes')}), forms.widgets.TextInput(attrs={'maxlength': 5, 'style': 'width: 5em;', 'placeholder': _(u'Minutes')}),
) )
super(SplitDeltaWidget, self).__init__(widgets, attrs) super(SplitDeltaWidget, self).__init__(widgets, attrs)

View File

@@ -1,10 +1,11 @@
from __future__ import absolute_import from __future__ import absolute_import
from hkp import Key as KeyServerKey
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from navigation.api import register_links from navigation.api import register_links
from project_setup.api import register_setup from project_setup.api import register_setup
from hkp import Key as KeyServerKey
from .api import Key from .api import Key
from .permissions import (PERMISSION_KEY_VIEW, PERMISSION_KEY_DELETE, from .permissions import (PERMISSION_KEY_VIEW, PERMISSION_KEY_DELETE,
@@ -18,7 +19,7 @@ key_query = {'text': _(u'query keyservers'), 'view': 'key_query', 'famfam': 'zoo
key_receive = {'text': _(u'import'), 'view': 'key_receive', 'args': 'object.keyid', 'famfam': 'key_add', 'keep_query': True, 'permissions': [PERMISSION_KEY_RECEIVE]} key_receive = {'text': _(u'import'), 'view': 'key_receive', 'args': 'object.keyid', 'famfam': 'key_add', 'keep_query': True, 'permissions': [PERMISSION_KEY_RECEIVE]}
key_setup = {'text': _(u'key management'), 'view': 'key_public_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW], 'children_view_regex': [r'^key_']} key_setup = {'text': _(u'key management'), 'view': 'key_public_list', 'args': 'object.pk', 'famfam': 'key', 'icon': 'key.png', 'permissions': [PERMISSION_KEY_VIEW], 'children_view_regex': [r'^key_']}
#register_links(['key_delete', 'key_private_list', 'key_public_list', 'key_query'], [private_keys, public_keys, key_query], menu_name='sidebar') # register_links(['key_delete', 'key_private_list', 'key_public_list', 'key_query'], [private_keys, public_keys, key_query], menu_name='sidebar')
register_links(['key_delete', 'key_public_list', 'key_query'], [public_keys, key_query], menu_name='sidebar') register_links(['key_delete', 'key_public_list', 'key_query'], [public_keys, key_query], menu_name='sidebar')
register_links(Key, [key_delete]) register_links(Key, [key_delete])

View File

@@ -1,19 +1,19 @@
from __future__ import absolute_import from __future__ import absolute_import
import logging import logging
import tempfile
import os import os
import tempfile
try: try:
from cStringIO import StringIO from cStringIO import StringIO
except ImportError: except ImportError:
from StringIO import StringIO from StringIO import StringIO
from django.utils.translation import ugettext_lazy as _
from hkp import KeyServer from hkp import KeyServer
import gnupg import gnupg
from django.utils.translation import ugettext_lazy as _
from .exceptions import (GPGVerificationError, GPGSigningError, from .exceptions import (GPGVerificationError, GPGSigningError,
GPGDecryptionError, KeyDeleteError, KeyGenerationError, GPGDecryptionError, KeyDeleteError, KeyGenerationError,
KeyFetchingError, KeyDoesNotExist, KeyImportError) KeyFetchingError, KeyDoesNotExist, KeyImportError)
@@ -110,7 +110,7 @@ class Key(object):
keys = gpg.gpg.list_keys(secret=secret) keys = gpg.gpg.list_keys(secret=secret)
key = next((key for key in keys if key['keyid'] == key_id), None) key = next((key for key in keys if key['keyid'] == key_id), None)
if not key: if not key:
if search_keyservers and secret == False: if search_keyservers and secret is False:
try: try:
gpg.receive_key(key_id) gpg.receive_key(key_id)
return Key(gpg, key_id) return Key(gpg, key_id)

View File

@@ -2,21 +2,21 @@ from __future__ import absolute_import
import logging import logging
from django.utils.translation import ugettext_lazy as _ from django.contrib import messages
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response from django.shortcuts import render_to_response
from django.template import RequestContext from django.template import RequestContext
from django.contrib import messages from django.utils.translation import ugettext_lazy as _
from permissions.models import Permission
from common.utils import encapsulate from common.utils import encapsulate
from permissions.models import Permission
from .api import Key from .api import Key
from .runtime import gpg from .exceptions import KeyImportError
from .exceptions import KeyFetchingError, KeyImportError
from .forms import KeySearchForm from .forms import KeySearchForm
from .permissions import (PERMISSION_KEY_VIEW, PERMISSION_KEY_DELETE, from .permissions import (PERMISSION_KEY_VIEW, PERMISSION_KEY_DELETE,
PERMISSION_KEYSERVER_QUERY, PERMISSION_KEY_RECEIVE) PERMISSION_KEYSERVER_QUERY, PERMISSION_KEY_RECEIVE)
from .runtime import gpg
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -87,7 +87,7 @@ def cascade_eval(eval_dict, document, template_node, parent_index_instance=None)
else: else:
if result: if result:
index_instance, created = IndexInstanceNode.objects.get_or_create(index_template_node=template_node, value=result, parent=parent_index_instance) index_instance, created = IndexInstanceNode.objects.get_or_create(index_template_node=template_node, value=result, parent=parent_index_instance)
#if created: # if created:
try: try:
fs_create_index_directory(index_instance) fs_create_index_directory(index_instance)
except Exception, exc: except Exception, exc:

View File

@@ -9,8 +9,7 @@ from .permissions import (PERMISSION_DOCUMENT_INDEXING_VIEW,
PERMISSION_DOCUMENT_INDEXING_SETUP, PERMISSION_DOCUMENT_INDEXING_SETUP,
PERMISSION_DOCUMENT_INDEXING_CREATE, PERMISSION_DOCUMENT_INDEXING_CREATE,
PERMISSION_DOCUMENT_INDEXING_EDIT, PERMISSION_DOCUMENT_INDEXING_EDIT,
PERMISSION_DOCUMENT_INDEXING_DELETE PERMISSION_DOCUMENT_INDEXING_DELETE)
)
def is_not_root_node(context): def is_not_root_node(context):
@@ -38,6 +37,6 @@ index_list = {'text': _(u'index list'), 'view': 'index_list', 'famfam': 'tab', '
index_parent = {'text': _(u'go up one level'), 'view': 'index_instance_node_view', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True, 'condition': is_not_instance_root_node} index_parent = {'text': _(u'go up one level'), 'view': 'index_instance_node_view', 'args': 'object.parent.pk', 'famfam': 'arrow_up', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW], 'dont_mark_active': True, 'condition': is_not_instance_root_node}
document_index_list = {'text': _(u'indexes'), 'view': 'document_index_list', 'args': 'object.pk', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW, PERMISSION_DOCUMENT_VIEW]} document_index_list = {'text': _(u'indexes'), 'view': 'document_index_list', 'args': 'object.pk', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_VIEW, PERMISSION_DOCUMENT_VIEW]}
document_index_main_menu_link={'text': _('indexes'), 'famfam': 'tab', 'view': 'index_list', 'children_view_regex': [r'^index_[i,l]']} document_index_main_menu_link = {'text': _('indexes'), 'famfam': 'tab', 'view': 'index_list', 'children_view_regex': [r'^index_[i,l]']}
rebuild_index_instances = {'text': _('rebuild indexes'), 'view': 'rebuild_index_instances', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _(u'Deletes and creates from scratch all the document indexes.')} rebuild_index_instances = {'text': _('rebuild indexes'), 'view': 'rebuild_index_instances', 'famfam': 'folder_page', 'permissions': [PERMISSION_DOCUMENT_INDEXING_REBUILD_INDEXES], 'description': _(u'Deletes and creates from scratch all the document indexes.')}

View File

@@ -3,8 +3,8 @@ from __future__ import absolute_import
from django.db import models from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from mptt.models import MPTTModel
from mptt.fields import TreeForeignKey from mptt.fields import TreeForeignKey
from mptt.models import MPTTModel
from documents.models import Document, DocumentType from documents.models import Document, DocumentType

View File

@@ -1,24 +1,24 @@
from __future__ import absolute_import from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _ from django.conf import settings
from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404 from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.core.exceptions import PermissionDenied
from django.utils.html import mark_safe from django.utils.html import mark_safe
from django.conf import settings from django.utils.translation import ugettext_lazy as _
from permissions.models import Permission from acls.models import AccessEntry
from acls.utils import apply_default_acls
from documents.permissions import PERMISSION_DOCUMENT_VIEW from documents.permissions import PERMISSION_DOCUMENT_VIEW
from documents.models import Document from documents.models import Document
from documents.views import document_list from documents.views import document_list
from common.utils import encapsulate, generate_choices_w_labels from common.utils import encapsulate, generate_choices_w_labels
from common.views import assign_remove from common.views import assign_remove
from common.widgets import two_state_template from common.widgets import two_state_template
from acls.utils import apply_default_acls from permissions.models import Permission
from acls.models import AccessEntry
from .forms import IndexForm, IndexTemplateNodeForm from .forms import IndexForm, IndexTemplateNodeForm
from .models import (Index, IndexTemplateNode, IndexInstanceNode) from .models import (Index, IndexTemplateNode, IndexInstanceNode)

View File

@@ -54,7 +54,7 @@ def get_breadcrumbs(index_instance, simple=False, single_link=False, include_cou
# Return the entire breadcrumb path as a single HTML anchor # Return the entire breadcrumb path as a single HTML anchor
simple = True simple = True
#result.append(get_instance_link(index_instance.get_root(), simple=simple)) # result.append(get_instance_link(index_instance.get_root(), simple=simple))
for instance in index_instance.get_ancestors(): for instance in index_instance.get_ancestors():
result.append(get_instance_link(instance, simple=simple)) result.append(get_instance_link(instance, simple=simple))

View File

@@ -7,9 +7,8 @@ try:
except ImportError: except ImportError:
from StringIO import StringIO from StringIO import StringIO
from django.utils.translation import ugettext_lazy as _ # from django.db.models.signals import post_save
#from django.db.models.signals import post_save # from django.dispatch import receiver
#from django.dispatch import receiver
from acls.api import class_permissions from acls.api import class_permissions
from documents.models import Document, DocumentVersion from documents.models import Document, DocumentVersion
@@ -48,17 +47,17 @@ def document_pre_open_hook(descriptor, instance):
# Doing this single DB lookup avoids trying to decrypt non signed # Doing this single DB lookup avoids trying to decrypt non signed
# files always, which could result in slow down for big non signed # files always, which could result in slow down for big non signed
# files # files
#descriptor.seek(0) # descriptor.seek(0)
return descriptor return descriptor
#try: # try:
# result = gpg.decrypt_file(descriptor, close_descriptor=False) # result = gpg.decrypt_file(descriptor, close_descriptor=False)
# # gpg return a string, turn it into a file like object # # gpg return a string, turn it into a file like object
#except GPGDecryptionError: # except GPGDecryptionError:
# # At least return the original raw content # # At least return the original raw content
# descriptor.seek(0) # descriptor.seek(0)
# return descriptor # return descriptor
#else: # else:
# descriptor.close() # descriptor.close()
# return StringIO(result.data) # return StringIO(result.data)
@@ -68,10 +67,10 @@ def document_post_save_hook(instance):
document_signature, created = DocumentVersionSignature.objects.get_or_create( document_signature, created = DocumentVersionSignature.objects.get_or_create(
document_version=instance.latest_version, document_version=instance.latest_version,
) )
#DocumentVersionSignature.objects.update_signed_state(instance.document) # DocumentVersionSignature.objects.update_signed_state(instance.document)
#@receiver(post_save, dispatch_uid='check_document_signature_state', sender=DocumentVersion) # @receiver(post_save, dispatch_uid='check_document_signature_state', sender=DocumentVersion)
#def check_document_signature_state(sender, instance, **kwargs): # def check_document_signature_state(sender, instance, **kwargs):
# if kwargs.get('created', False): # if kwargs.get('created', False):
# DocumentVersionSignature.objects.signature_state(instance.document) # DocumentVersionSignature.objects.signature_state(instance.document)

View File

@@ -1,9 +1,5 @@
from django import forms from django import forms
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
#from django.utils.translation import ugettext
#from django.core.urlresolvers import reverse
#from django.utils.safestring import mark_safe
#from django.conf import settings
class DetachedSignatureForm(forms.Form): class DetachedSignatureForm(forms.Form):

View File

@@ -16,7 +16,7 @@ def has_embedded_signature(context):
def doesnt_have_detached_signature(context): def doesnt_have_detached_signature(context):
return DocumentVersionSignature.objects.has_detached_signature(context['object']) == False return DocumentVersionSignature.objects.has_detached_signature(context['object']) is False
document_signature_delete = {'text': _(u'delete signature'), 'view': 'document_signature_delete', 'args': 'object.pk', 'famfam': 'pencil_delete', 'permissions': [PERMISSION_SIGNATURE_DELETE], 'conditional_disable': doesnt_have_detached_signature} document_signature_delete = {'text': _(u'delete signature'), 'view': 'document_signature_delete', 'args': 'object.pk', 'famfam': 'pencil_delete', 'permissions': [PERMISSION_SIGNATURE_DELETE], 'conditional_disable': doesnt_have_detached_signature}

View File

@@ -8,9 +8,7 @@ from django.utils.safestring import mark_safe
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ugettext from django.utils.translation import ugettext
from common.conf.settings import DEFAULT_PAPER_SIZE, DEFAULT_PAGE_ORIENTATION
from common.forms import DetailForm from common.forms import DetailForm
from common.literals import PAGE_SIZE_CHOICES, PAGE_ORIENTATION_CHOICES
from common.widgets import TextAreaDiv from common.widgets import TextAreaDiv
from .models import (Document, DocumentType, from .models import (Document, DocumentType,

View File

@@ -41,7 +41,7 @@ class DocumentTestCase(unittest.TestCase):
self.failUnlessEqual(self.document.page_count, 47) self.failUnlessEqual(self.document.page_count, 47)
self.failUnlessEqual(self.document.latest_version.get_formated_version(), '1.0') self.failUnlessEqual(self.document.latest_version.get_formated_version(), '1.0')
#self.failUnlessEqual(self.document.has_detached_signature(), False) # self.failUnlessEqual(self.document.has_detached_signature(), False)
file_object = open(os.path.join(settings.PROJECT_ROOT, 'contrib', 'mayan_11_1.pdf.gpg')) file_object = open(os.path.join(settings.PROJECT_ROOT, 'contrib', 'mayan_11_1.pdf.gpg'))
new_version_data = { new_version_data = {
@@ -55,9 +55,9 @@ class DocumentTestCase(unittest.TestCase):
file_object.close() file_object.close()
self.failUnlessEqual(self.document.latest_version.get_formated_version(), '2.0') self.failUnlessEqual(self.document.latest_version.get_formated_version(), '2.0')
#self.failUnlessEqual(self.document.has_detached_signature(), False) # self.failUnlessEqual(self.document.has_detached_signature(), False)
#self.failUnlessEqual(self.document.verify_signature().status, SIGNATURE_STATE_VALID) # self.failUnlessEqual(self.document.verify_signature().status, SIGNATURE_STATE_VALID)
new_version_data = { new_version_data = {
'comment': 'test comment 2', 'comment': 'test comment 2',

View File

@@ -35,8 +35,7 @@ from permissions.models import Permission
from .events import HISTORY_DOCUMENT_EDITED from .events import HISTORY_DOCUMENT_EDITED
from .conf.settings import (PREVIEW_SIZE, STORAGE_BACKEND, ZOOM_PERCENT_STEP, from .conf.settings import (PREVIEW_SIZE, STORAGE_BACKEND, ZOOM_PERCENT_STEP,
ZOOM_MAX_LEVEL, ZOOM_MIN_LEVEL, ROTATION_STEP, PRINT_SIZE, ZOOM_MAX_LEVEL, ZOOM_MIN_LEVEL, ROTATION_STEP, RECENT_COUNT)
RECENT_COUNT)
from .forms import (DocumentForm_edit, DocumentPropertiesForm, from .forms import (DocumentForm_edit, DocumentPropertiesForm,
DocumentPreviewForm, DocumentPageForm, DocumentPreviewForm, DocumentPageForm,
DocumentPageTransformationForm, DocumentContentForm, DocumentPageTransformationForm, DocumentContentForm,

View File

@@ -1,11 +1,8 @@
from __future__ import absolute_import from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from acls import ACLS_EDIT_ACL, ACLS_VIEW_ACL from acls import ACLS_EDIT_ACL, ACLS_VIEW_ACL
from acls.api import class_permissions from acls.api import class_permissions
from documents.models import Document from documents.models import Document
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from navigation.api import register_links, register_sidebar_template from navigation.api import register_links, register_sidebar_template
from project_setup.api import register_setup from project_setup.api import register_setup
@@ -15,8 +12,7 @@ from .links import (smart_link_instance_view_link, smart_link_instances_for_docu
smart_link_condition_edit, smart_link_condition_delete, smart_link_acl_list) smart_link_condition_edit, smart_link_condition_delete, smart_link_acl_list)
from .models import SmartLink, SmartLinkCondition from .models import SmartLink, SmartLinkCondition
from .permissions import (PERMISSION_SMART_LINK_VIEW, from .permissions import (PERMISSION_SMART_LINK_VIEW,
PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_DELETE, PERMISSION_SMART_LINK_DELETE, PERMISSION_SMART_LINK_EDIT)
PERMISSION_SMART_LINK_EDIT)
register_links(Document, [smart_link_instances_for_document], menu_name='form_header') register_links(Document, [smart_link_instances_for_document], menu_name='form_header')

View File

@@ -2,12 +2,11 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from acls import ACLS_EDIT_ACL, ACLS_VIEW_ACL from acls import ACLS_VIEW_ACL
from documents.permissions import PERMISSION_DOCUMENT_VIEW from documents.permissions import PERMISSION_DOCUMENT_VIEW
from .permissions import (PERMISSION_SMART_LINK_VIEW, from .permissions import (PERMISSION_SMART_LINK_CREATE,
PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_DELETE, PERMISSION_SMART_LINK_DELETE, PERMISSION_SMART_LINK_EDIT)
PERMISSION_SMART_LINK_EDIT)
smart_link_instance_view_link = {'text': _(u'smart links actions'), 'view': 'smart_link_instance_view', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]} smart_link_instance_view_link = {'text': _(u'smart links actions'), 'view': 'smart_link_instance_view', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]}
smart_link_instances_for_document = {'text': _(u'smart links'), 'view': 'smart_link_instances_for_document', 'args': 'object.pk', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]} smart_link_instances_for_document = {'text': _(u'smart links'), 'view': 'smart_link_instances_for_document', 'args': 'object.pk', 'famfam': 'page_link', 'permissions': [PERMISSION_DOCUMENT_VIEW]}

View File

@@ -2,29 +2,29 @@ from __future__ import absolute_import
import logging import logging
from django.utils.translation import ugettext_lazy as _
from django.contrib import messages from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render_to_response from django.shortcuts import get_object_or_404, render_to_response
from django.core.urlresolvers import reverse
from django.template import RequestContext from django.template import RequestContext
from django.core.exceptions import PermissionDenied from django.utils.translation import ugettext_lazy as _
from acls.views import acl_list_for
from acls.models import AccessEntry
from acls.utils import apply_default_acls
from common.utils import encapsulate from common.utils import encapsulate
from common.widgets import two_state_template from common.widgets import two_state_template
from documents.models import Document from documents.models import Document
from documents.views import document_list from documents.views import document_list
from documents.permissions import PERMISSION_DOCUMENT_VIEW from documents.permissions import PERMISSION_DOCUMENT_VIEW
from permissions.models import Permission from permissions.models import Permission
from acls.views import acl_list_for
from acls.models import AccessEntry
from acls.utils import apply_default_acls
from .models import SmartLink, SmartLinkCondition from . import smart_link_instance_view_link
from .conf.settings import SHOW_EMPTY_SMART_LINKS from .conf.settings import SHOW_EMPTY_SMART_LINKS
from .forms import (SmartLinkInstanceForm, SmartLinkForm, from .forms import (SmartLinkInstanceForm, SmartLinkForm,
SmartLinkConditionForm) SmartLinkConditionForm)
from . import smart_link_instance_view_link from .models import SmartLink, SmartLinkCondition
from .permissions import (PERMISSION_SMART_LINK_VIEW, from .permissions import (PERMISSION_SMART_LINK_VIEW,
PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_DELETE, PERMISSION_SMART_LINK_CREATE, PERMISSION_SMART_LINK_DELETE,
PERMISSION_SMART_LINK_EDIT) PERMISSION_SMART_LINK_EDIT)
@@ -33,7 +33,7 @@ logger = logging.getLogger(__name__)
def smart_link_action(request): def smart_link_action(request):
#Permission.objects.check_permissions(request.user, [PERMISSION_SMART_LINK_VIEW]) # Permission.objects.check_permissions(request.user, [PERMISSION_SMART_LINK_VIEW])
action = request.GET.get('action', None) action = request.GET.get('action', None)
@@ -76,8 +76,8 @@ def smart_link_instances_for_document(request, document_id):
messages.warning(request, _(u'Smart link query error: %s' % error)) messages.warning(request, _(u'Smart link query error: %s' % error))
if not SHOW_EMPTY_SMART_LINKS: if not SHOW_EMPTY_SMART_LINKS:
#If SHOW_EMPTY_SMART_LINKS is False, remove empty groups from # If SHOW_EMPTY_SMART_LINKS is False, remove empty groups from
#dictionary # dictionary
smart_link_instances = dict([(group, data) for group, data in smart_link_instances.items() if data['documents']]) smart_link_instances = dict([(group, data) for group, data in smart_link_instances.items() if data['documents']])
try: try:
@@ -178,7 +178,7 @@ def smart_link_edit(request, smart_link_pk):
form = SmartLinkForm(instance=smart_link) form = SmartLinkForm(instance=smart_link)
return render_to_response('generic_form.html', { return render_to_response('generic_form.html', {
#'navigation_object_name': 'smart_link', # 'navigation_object_name': 'smart_link',
'object': smart_link, 'object': smart_link,
'form': form, 'form': form,
'title': _(u'Edit smart link: %s') % smart_link 'title': _(u'Edit smart link: %s') % smart_link

View File

@@ -5,7 +5,6 @@ from django.utils.translation import ugettext_lazy as _
from acls.api import class_permissions from acls.api import class_permissions
from common.utils import encapsulate from common.utils import encapsulate
from documents.models import Document, DocumentType from documents.models import Document, DocumentType
from documents.permissions import PERMISSION_DOCUMENT_TYPE_EDIT
from navigation.api import (register_links, register_multi_item_links, from navigation.api import (register_links, register_multi_item_links,
register_sidebar_template, register_model_list_columns) register_sidebar_template, register_model_list_columns)
from project_setup.api import register_setup from project_setup.api import register_setup
@@ -20,11 +19,7 @@ from .links import (metadata_edit, metadata_view, metadata_multiple_edit,
from .models import MetadataType, MetadataSet from .models import MetadataType, MetadataSet
from .permissions import (PERMISSION_METADATA_DOCUMENT_EDIT, from .permissions import (PERMISSION_METADATA_DOCUMENT_EDIT,
PERMISSION_METADATA_DOCUMENT_ADD, PERMISSION_METADATA_DOCUMENT_REMOVE, PERMISSION_METADATA_DOCUMENT_ADD, PERMISSION_METADATA_DOCUMENT_REMOVE,
PERMISSION_METADATA_DOCUMENT_VIEW, PERMISSION_METADATA_TYPE_EDIT, PERMISSION_METADATA_DOCUMENT_VIEW)
PERMISSION_METADATA_TYPE_CREATE, PERMISSION_METADATA_TYPE_DELETE,
PERMISSION_METADATA_TYPE_VIEW, PERMISSION_METADATA_SET_EDIT,
PERMISSION_METADATA_SET_CREATE, PERMISSION_METADATA_SET_DELETE,
PERMISSION_METADATA_SET_VIEW)
register_links(['metadata_add', 'metadata_edit', 'metadata_remove', 'metadata_view'], [metadata_add, metadata_edit, metadata_remove], menu_name='sidebar') register_links(['metadata_add', 'metadata_edit', 'metadata_remove', 'metadata_view'], [metadata_add, metadata_edit, metadata_remove], menu_name='sidebar')
register_links(Document, [metadata_view], menu_name='form_header') register_links(Document, [metadata_view], menu_name='form_header')
@@ -52,7 +47,7 @@ class_permissions(Document, [
]) ])
register_model_list_columns(Document, [ register_model_list_columns(Document, [
{'name':_(u'metadata'), 'attribute': {'name': _(u'metadata'), 'attribute':
encapsulate(lambda x: get_metadata_string(x)) encapsulate(lambda x: get_metadata_string(x))
}, },
]) ])

View File

@@ -17,13 +17,13 @@ def decode_metadata_from_url(url_dict):
'value': {} 'value': {}
} }
metadata_list = [] metadata_list = []
#Match out of order metadata_type ids with metadata values from request # Match out of order metadata_type ids with metadata values from request
for key, value in url_dict.items(): for key, value in url_dict.items():
if 'metadata' in key: if 'metadata' in key:
index, element = key[8:].split('_') index, element = key[8:].split('_')
metadata_dict[element][index] = value metadata_dict[element][index] = value
#Convert the nested dictionary into a list of id+values dictionaries # Convert the nested dictionary into a list of id+values dictionaries
for order, identifier in metadata_dict['id'].items(): for order, identifier in metadata_dict['id'].items():
if order in metadata_dict['value'].keys(): if order in metadata_dict['value'].keys():
metadata_list.append({ metadata_list.append({
@@ -74,7 +74,7 @@ def save_metadata(metadata_dict, document, create=False):
# unquote_plus handles utf-8?!? # unquote_plus handles utf-8?!?
# http://stackoverflow.com/questions/4382875/handling-iri-in-django # http://stackoverflow.com/questions/4382875/handling-iri-in-django
#.decode('utf-8') # .decode('utf-8')
if document_metadata: if document_metadata:
document_metadata.value = unquote_plus(metadata_dict['value']) document_metadata.value = unquote_plus(metadata_dict['value'])
document_metadata.save() document_metadata.save()

View File

@@ -14,20 +14,20 @@ class MetadataForm(forms.Form):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super(MetadataForm, self).__init__(*args, **kwargs) super(MetadataForm, self).__init__(*args, **kwargs)
#Set form fields initial values # Set form fields initial values
if 'initial' in kwargs: if 'initial' in kwargs:
self.metadata_type = kwargs['initial'].pop('metadata_type', None) self.metadata_type = kwargs['initial'].pop('metadata_type', None)
#self.document_type = kwargs['initial'].pop('document_type', None) # self.document_type = kwargs['initial'].pop('document_type', None)
# FIXME: # FIXME:
#required = self.document_type.documenttypemetadatatype_set.get(metadata_type=self.metadata_type).required # required = self.document_type.documenttypemetadatatype_set.get(metadata_type=self.metadata_type).required
required = False required = False
required_string = u'' required_string = u''
if required: if required:
self.fields['value'].required = True self.fields['value'].required = True
required_string = ' (%s)' % _(u'required') required_string = ' (%s)' % _(u'required')
else: else:
#TODO: FIXME: not working correctly # TODO: FIXME: not working correctly
self.fields['value'].required = False self.fields['value'].required = False
self.fields['name'].initial = '%s%s' % ((self.metadata_type.title if self.metadata_type.title else self.metadata_type.name), required_string) self.fields['name'].initial = '%s%s' % ((self.metadata_type.title if self.metadata_type.title else self.metadata_type.name), required_string)
@@ -71,7 +71,7 @@ class MetadataRemoveForm(MetadataForm):
class MetadataSelectionForm(forms.Form): class MetadataSelectionForm(forms.Form):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
#document_type = kwargs.pop('document_type', None) # document_type = kwargs.pop('document_type', None)
super(MetadataSelectionForm, self).__init__(*args, **kwargs) super(MetadataSelectionForm, self).__init__(*args, **kwargs)
document_type = getattr(self, 'initial', {}).get('document_type', None) document_type = getattr(self, 'initial', {}).get('document_type', None)
if document_type: if document_type:
@@ -86,7 +86,7 @@ class MetadataSelectionForm(forms.Form):
queryset=MetadataSet.objects.all(), queryset=MetadataSet.objects.all(),
label=_(u'Metadata sets'), label=_(u'Metadata sets'),
required=False, required=False,
#widget=forms.widgets.SelectMultiple(attrs={'size': 10, 'class': 'choice_form'}) # widget=forms.widgets.SelectMultiple(attrs={'size': 10, 'class': 'choice_form'})
widget=ScrollableCheckboxSelectMultiple(attrs={'size': 10, 'class': 'choice_form'}) widget=ScrollableCheckboxSelectMultiple(attrs={'size': 10, 'class': 'choice_form'})
) )
@@ -94,7 +94,7 @@ class MetadataSelectionForm(forms.Form):
queryset=MetadataType.objects.all(), queryset=MetadataType.objects.all(),
label=_(u'Metadata'), label=_(u'Metadata'),
required=False, required=False,
#widget=forms.widgets.SelectMultiple(attrs={'size': 10, 'class': 'choice_form'}) # widget=forms.widgets.SelectMultiple(attrs={'size': 10, 'class': 'choice_form'})
widget=ScrollableCheckboxSelectMultiple(attrs={'size': 10, 'class': 'choice_form'}) widget=ScrollableCheckboxSelectMultiple(attrs={'size': 10, 'class': 'choice_form'})
) )

View File

@@ -24,7 +24,7 @@ class MetadataType(models.Model):
lookup = models.TextField(blank=True, null=True, lookup = models.TextField(blank=True, null=True,
verbose_name=_(u'lookup'), verbose_name=_(u'lookup'),
help_text=_(u'Enter a string to be evaluated. Example: [user.get_full_name() for user in User.objects.all()].%s') % available_models_string) help_text=_(u'Enter a string to be evaluated. Example: [user.get_full_name() for user in User.objects.all()].%s') % available_models_string)
#TODO: datatype? # TODO: datatype?
objects = MetadataTypeManager() objects = MetadataTypeManager()
@@ -67,7 +67,7 @@ class MetadataSetItem(models.Model):
""" """
metadata_set = models.ForeignKey(MetadataSet, verbose_name=_(u'metadata set')) metadata_set = models.ForeignKey(MetadataSet, verbose_name=_(u'metadata set'))
metadata_type = models.ForeignKey(MetadataType, verbose_name=_(u'metadata type')) metadata_type = models.ForeignKey(MetadataType, verbose_name=_(u'metadata type'))
#required = models.BooleanField(default=True, verbose_name=_(u'required')) # required = models.BooleanField(default=True, verbose_name=_(u'required'))
def __unicode__(self): def __unicode__(self):
return unicode(self.metadata_type) return unicode(self.metadata_type)

View File

@@ -165,7 +165,7 @@ def metadata_add(request, document_id=None, document_id_list=None):
form = AddMetadataForm() form = AddMetadataForm()
context = { context = {
#'form_display_mode_table': True, # 'form_display_mode_table': True,
'form': form, 'form': form,
'next': next, 'next': next,
} }
@@ -309,7 +309,7 @@ def setup_metadata_type_edit(request, metadatatype_id):
if request.method == 'POST': if request.method == 'POST':
form = MetadataTypeForm(instance=metadata_type, data=request.POST) form = MetadataTypeForm(instance=metadata_type, data=request.POST)
if form.is_valid(): if form.is_valid():
#folder.title = form.cleaned_data['title'] # folder.title = form.cleaned_data['title']
try: try:
form.save() form.save()
messages.success(request, _(u'Metadata type edited successfully')) messages.success(request, _(u'Metadata type edited successfully'))
@@ -510,7 +510,6 @@ def setup_metadata_set_delete(request, metadata_set_id):
'metadata_set': metadata_set, 'error': e}) 'metadata_set': metadata_set, 'error': e})
return HttpResponseRedirect(previous) return HttpResponseRedirect(previous)
context = { context = {
'object_name': _(u'metadata set'), 'object_name': _(u'metadata set'),
'delete_view': True, 'delete_view': True,

View File

@@ -1,15 +1,16 @@
from __future__ import absolute_import from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from django.db import transaction, DatabaseError from django.db import transaction, DatabaseError
from navigation.api import register_links from django.utils.translation import ugettext_lazy as _
from common import about_view, license_view from common import about_view, license_view
from navigation.api import register_links
from .models import RegistrationSingleton from .models import RegistrationSingleton
def is_not_registered(context): def is_not_registered(context):
return RegistrationSingleton.registration_state() == False return RegistrationSingleton.registration_state() is False
form_view = {'text': _('Registration'), 'view': 'form_view', 'famfam': 'telephone', 'condition': is_not_registered} form_view = {'text': _('Registration'), 'view': 'form_view', 'famfam': 'telephone', 'condition': is_not_registered}

View File

@@ -1,8 +1,6 @@
from __future__ import absolute_import from __future__ import absolute_import
from django.core.urlresolvers import reverse, NoReverseMatch from django.template import Library
from django.template import (TemplateSyntaxError, Library,
VariableDoesNotExist, Node, Variable)
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from ..models import RegistrationSingleton from ..models import RegistrationSingleton

View File

@@ -4,12 +4,11 @@ import atexit
import logging import logging
import sys import sys
from .runtime import scheduler, lockdown
from project_tools.api import register_tool from project_tools.api import register_tool
from .links import job_list from .links import job_list
from .literals import SHUTDOWN_COMMANDS from .literals import SHUTDOWN_COMMANDS
from .runtime import scheduler, lockdown
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,7 +1,7 @@
from __future__ import absolute_import from __future__ import absolute_import
from .runtime import scheduler
from .exceptions import AlreadyScheduled from .exceptions import AlreadyScheduled
from .runtime import scheduler
registered_jobs = {} registered_jobs = {}

View File

@@ -3,13 +3,12 @@ from __future__ import absolute_import
from django.shortcuts import render_to_response from django.shortcuts import render_to_response
from django.template import RequestContext from django.template import RequestContext
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import PermissionDenied
from permissions.models import Permission
from common.utils import encapsulate from common.utils import encapsulate
from permissions.models import Permission
from .permissions import PERMISSION_VIEW_JOB_LIST
from .api import get_job_list from .api import get_job_list
from .permissions import PERMISSION_VIEW_JOB_LIST
def job_list(request): def job_list(request):

View File

@@ -2,22 +2,22 @@ from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from navigation.api import (register_links, register_top_menu, from acls.api import class_permissions
register_model_list_columns, register_multi_item_links)
from common.utils import encapsulate from common.utils import encapsulate
from documents.models import Document from documents.models import Document
from acls.api import class_permissions from navigation.api import (register_links, register_top_menu,
register_model_list_columns, register_multi_item_links)
from taggit.models import Tag
from taggit.managers import TaggableManager from taggit.managers import TaggableManager
from taggit.models import Tag
from .links import (tag_list, tag_create, tag_attach, from .links import (tag_list, tag_create, tag_attach,
tag_document_list, tag_delete, tag_edit, tag_tagged_item_list, tag_document_list, tag_delete, tag_edit, tag_tagged_item_list,
tag_multiple_delete, tag_acl_list, tag_multiple_attach, tag_multiple_delete, tag_acl_list, tag_multiple_attach,
single_document_multiple_tag_remove, multiple_documents_selection_tag_remove) single_document_multiple_tag_remove, multiple_documents_selection_tag_remove)
from .widgets import (get_tags_inline_widget_simple, single_tag_widget)
from .permissions import (PERMISSION_TAG_ATTACH, PERMISSION_TAG_REMOVE, from .permissions import (PERMISSION_TAG_ATTACH, PERMISSION_TAG_REMOVE,
PERMISSION_TAG_DELETE, PERMISSION_TAG_EDIT, PERMISSION_TAG_VIEW) PERMISSION_TAG_DELETE, PERMISSION_TAG_EDIT, PERMISSION_TAG_VIEW)
from .widgets import (get_tags_inline_widget_simple, single_tag_widget)
register_model_list_columns(Tag, [ register_model_list_columns(Tag, [
{ {
@@ -31,7 +31,7 @@ register_model_list_columns(Tag, [
]) ])
register_model_list_columns(Document, [ register_model_list_columns(Document, [
{'name':_(u'tags'), 'attribute': {'name': _(u'tags'), 'attribute':
encapsulate(lambda x: get_tags_inline_widget_simple(x)) encapsulate(lambda x: get_tags_inline_widget_simple(x))
}, },
]) ])

View File

@@ -3,8 +3,8 @@ from __future__ import absolute_import
import logging import logging
from django import forms from django import forms
from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.utils.translation import ugettext_lazy as _
from taggit.models import Tag from taggit.models import Tag

View File

@@ -5,8 +5,7 @@ from django.utils.translation import ugettext_lazy as _
from acls.permissions import ACLS_VIEW_ACL from acls.permissions import ACLS_VIEW_ACL
from .permissions import (PERMISSION_TAG_CREATE, PERMISSION_TAG_ATTACH, from .permissions import (PERMISSION_TAG_CREATE, PERMISSION_TAG_ATTACH,
PERMISSION_TAG_REMOVE, PERMISSION_TAG_DELETE, PERMISSION_TAG_EDIT, PERMISSION_TAG_REMOVE, PERMISSION_TAG_DELETE, PERMISSION_TAG_EDIT)
PERMISSION_TAG_VIEW)
tag_list = {'text': _(u'tag list'), 'view': 'tag_list', 'famfam': 'tag_blue'} tag_list = {'text': _(u'tag list'), 'view': 'tag_list', 'famfam': 'tag_blue'}
tag_create = {'text': _(u'create new tag'), 'view': 'tag_create', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_CREATE]} tag_create = {'text': _(u'create new tag'), 'view': 'tag_create', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_CREATE]}
@@ -14,7 +13,7 @@ tag_create = {'text': _(u'create new tag'), 'view': 'tag_create', 'famfam': 'tag
tag_attach = {'text': _(u'attach tag'), 'view': 'tag_attach', 'args': 'object.pk', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_ATTACH]} tag_attach = {'text': _(u'attach tag'), 'view': 'tag_attach', 'args': 'object.pk', 'famfam': 'tag_blue_add', 'permissions': [PERMISSION_TAG_ATTACH]}
tag_multiple_attach = {'text': _(u'attach tag'), 'view': 'tag_multiple_attach', 'famfam': 'tag_blue_add'} tag_multiple_attach = {'text': _(u'attach tag'), 'view': 'tag_multiple_attach', 'famfam': 'tag_blue_add'}
#tag_remove = {'text': _(u'remove tag'), 'view': 'tag_remove', 'args': 'object.pk', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]} # tag_remove = {'text': _(u'remove tag'), 'view': 'tag_remove', 'args': 'object.pk', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]}
multiple_documents_selection_tag_remove = {'text': _(u'remove tag'), 'view': 'multiple_documents_selection_tag_remove', 'famfam': 'tag_blue_delete'} multiple_documents_selection_tag_remove = {'text': _(u'remove tag'), 'view': 'multiple_documents_selection_tag_remove', 'famfam': 'tag_blue_delete'}
single_document_multiple_tag_remove = {'text': _(u'remove tags'), 'view': 'single_document_multiple_tag_remove', 'args': 'document.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]} single_document_multiple_tag_remove = {'text': _(u'remove tags'), 'view': 'single_document_multiple_tag_remove', 'args': 'document.id', 'famfam': 'tag_blue_delete', 'permissions': [PERMISSION_TAG_REMOVE]}

View File

@@ -2,22 +2,22 @@ from __future__ import absolute_import
import logging import logging
from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404 from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext from django.template import RequestContext
from django.contrib import messages
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from django.core.exceptions import PermissionDenied
from permissions import Permission
from taggit.models import Tag
from documents.models import Document
from documents.views import document_list
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from acls.models import AccessEntry from acls.models import AccessEntry
from acls.views import acl_list_for from acls.views import acl_list_for
from acls.utils import apply_default_acls from acls.utils import apply_default_acls
from documents.models import Document
from documents.views import document_list
from documents.permissions import PERMISSION_DOCUMENT_VIEW
from permissions import Permission
from taggit.models import Tag
from .forms import TagListForm, TagForm from .forms import TagListForm, TagForm
from .models import TagProperties from .models import TagProperties