1220 |
1220 |
1221 return |
1221 return |
1222 |
1222 |
1223 @allowSidebar |
1223 @allowSidebar |
1224 @allowDeveloper |
1224 @allowDeveloper |
1225 def checkIsDocumentReadable(self, django_args): |
1225 def checkIsDocumentReadable(self, django_args, key_name_field=None): |
1226 """Checks whether a document is readable. |
1226 """Checks whether a document is readable. |
1227 |
1227 |
1228 Args: |
1228 Args: |
1229 django_args: a dictionary with django's arguments |
1229 django_args: a dictionary with django's arguments |
1230 """ |
1230 """ |
1231 |
1231 |
1232 document = document_logic.getFromKeyFieldsOr404(django_args) |
1232 if key_name_field: |
|
1233 key_name = django_args[key_name_field] |
|
1234 document = document_logic.getFromKeyName(key_name) |
|
1235 else: |
|
1236 document = document_logic.getFromKeyFieldsOr404(django_args) |
1233 |
1237 |
1234 self.checkMembership('read', document.prefix, |
1238 self.checkMembership('read', document.prefix, |
1235 document.read_access, django_args) |
1239 document.read_access, django_args) |
1236 |
1240 |
1237 @denySidebar |
1241 @denySidebar |
1238 @allowDeveloper |
1242 @allowDeveloper |
1239 def checkIsDocumentWritable(self, django_args): |
1243 def checkIsDocumentWritable(self, django_args, key_name_field=None): |
1240 """Checks whether a document is writable. |
1244 """Checks whether a document is writable. |
1241 |
1245 |
1242 Args: |
1246 Args: |
1243 django_args: a dictionary with django's arguments |
1247 django_args: a dictionary with django's arguments |
1244 """ |
1248 """ |
1245 |
1249 |
1246 document = document_logic.getFromKeyFieldsOr404(django_args) |
1250 if key_name_field: |
|
1251 key_name = django_args[key_name_field] |
|
1252 document = document_logic.getFromKeyName(key_name) |
|
1253 else: |
|
1254 document = document_logic.getFromKeyFieldsOr404(django_args) |
1247 |
1255 |
1248 self.checkMembership('write', document.prefix, |
1256 self.checkMembership('write', document.prefix, |
1249 document.write_access, django_args) |
1257 document.write_access, django_args) |
1250 |
1258 |
1251 @allowDeveloper |
1259 @allowDeveloper |