Commit a1b0868d authored by Łukasz Nowak's avatar Łukasz Nowak

Support date based on property.

parent 0594e893
......@@ -73,7 +73,7 @@ def requireHeader(header_dict):
return wrapperRequireHeader
return outer
def supportModifiedSince(document_url_id=None):
def supportModifiedSince(document_url_id=None, modified_property_id=None):
def outer(fn):
def wrapperSupportModifiedSince(self, *args, **kwargs):
modified_since = self.REQUEST.getHeader('If-Modified-Since')
......@@ -89,12 +89,16 @@ def supportModifiedSince(document_url_id=None):
# client send date before current time, shall continue and
# compare with second precision, as client by default shall set
# If-Modified-Since to last known Last-Modified value
if document_url_id is None:
document = None
if document_url_id is None and modified_property_id is None:
document = self
else:
elif document_url_id is not None:
document = self.restrictedTraverse(getattr(self, document_url_id))
document_date = document.getModificationDate() or \
self.bobobase_modification_time()
else:
document_date = getattr(self, modified_property_id)
if document is not None:
document_date = document.getModificationDate() or \
self.bobobase_modification_time()
if int(document_date.timeTime()) <= int(modified_since.timeTime()):
# document was not modified since
self.REQUEST.response.setStatus(304)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment