commit
c953211175
@ -264,9 +264,6 @@ class Application(object):
|
||||
|
||||
path = environ["PATH_INFO"]
|
||||
|
||||
# Find collection(s)
|
||||
items = ical.Collection.from_path(path, environ.get("HTTP_DEPTH", "0"))
|
||||
|
||||
# Get function corresponding to method
|
||||
function = getattr(self, environ["REQUEST_METHOD"].lower())
|
||||
|
||||
@ -280,17 +277,21 @@ class Application(object):
|
||||
else:
|
||||
user = password = None
|
||||
|
||||
is_authenticated = auth.is_authenticated(user, password)
|
||||
is_valid_user = is_authenticated or not user
|
||||
|
||||
if is_valid_user:
|
||||
items = ical.Collection.from_path(path,
|
||||
environ.get("HTTP_DEPTH", "0"))
|
||||
read_allowed_items, write_allowed_items = \
|
||||
self.collect_allowed_items(items, user)
|
||||
else:
|
||||
read_allowed_items, write_allowed_items = None, None
|
||||
|
||||
is_authenticated = auth.is_authenticated(user, password)
|
||||
|
||||
if ((read_allowed_items or write_allowed_items)
|
||||
and (not user or is_authenticated)) or \
|
||||
(is_authenticated and function == self.propfind) or \
|
||||
function == self.options or not items:
|
||||
# Collections found, or authenticated PROPFIND request,
|
||||
# or OPTIONS request, or no items at all
|
||||
if is_valid_user and (
|
||||
(read_allowed_items or write_allowed_items) or
|
||||
(is_authenticated and function == self.propfind) or
|
||||
function == self.options):
|
||||
status, headers, answer = function(
|
||||
environ, read_allowed_items, write_allowed_items, content,
|
||||
user)
|
||||
|
Loading…
Reference in New Issue
Block a user