# HG changeset patch # User Sverre Rabbelier # Date 1235517050 0 # Node ID da531df1d92ed40f06b24718d3188f327e348e52 # Parent d0f803569406c3f858dff196f605221d259d8a06 Allow the document lookup to be done by key name This will be used by the commenting logic. Patch by: Sverre Rabbelier diff -r d0f803569406 -r da531df1d92e app/soc/views/helper/access.py --- a/app/soc/views/helper/access.py Tue Feb 24 22:15:50 2009 +0000 +++ b/app/soc/views/helper/access.py Tue Feb 24 23:10:50 2009 +0000 @@ -1222,28 +1222,36 @@ @allowSidebar @allowDeveloper - def checkIsDocumentReadable(self, django_args): + def checkIsDocumentReadable(self, django_args, key_name_field=None): """Checks whether a document is readable. Args: django_args: a dictionary with django's arguments """ - document = document_logic.getFromKeyFieldsOr404(django_args) + if key_name_field: + key_name = django_args[key_name_field] + document = document_logic.getFromKeyName(key_name) + else: + document = document_logic.getFromKeyFieldsOr404(django_args) self.checkMembership('read', document.prefix, document.read_access, django_args) @denySidebar @allowDeveloper - def checkIsDocumentWritable(self, django_args): + def checkIsDocumentWritable(self, django_args, key_name_field=None): """Checks whether a document is writable. Args: django_args: a dictionary with django's arguments """ - document = document_logic.getFromKeyFieldsOr404(django_args) + if key_name_field: + key_name = django_args[key_name_field] + document = document_logic.getFromKeyName(key_name) + else: + document = document_logic.getFromKeyFieldsOr404(django_args) self.checkMembership('write', document.prefix, document.write_access, django_args)