Merge branch 'master' into auths

This commit is contained in:
Guillaume Ayoub 2011-08-29 10:02:01 +02:00
commit ae5a68fa6a
7 changed files with 35 additions and 30 deletions

View File

@ -32,7 +32,10 @@ load-plugins=
# Disable the message, report, category or checker with the given id(s). You # Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifier separated by comma (,) or put this option # can either give multiple identifier separated by comma (,) or put this option
# multiple time. # multiple time.
disable=W0404 # Remove warning removal warning
# Remove stupid warning on ** magic
# Remove stupid reimport warning
disable=I0011,W0142,W0404
[REPORTS] [REPORTS]
@ -72,7 +75,7 @@ ignore-mixin-members=yes
# List of classes names for which member attributes should not be checked # List of classes names for which member attributes should not be checked
# (useful for classes with attributes dynamically set). # (useful for classes with attributes dynamically set).
ignored-classes=ParseResult ignored-classes=ParseResult,radicale.config
# When zope mode is activated, add a predefined set of Zope acquired attributes # When zope mode is activated, add a predefined set of Zope acquired attributes
# to generated-members. # to generated-members.

View File

@ -1 +1 @@
include COPYING NEWS TODO config logging radicale.fcgi radicale.wsgi include COPYING NEWS.rst TODO.rst README.rst config logging radicale.fcgi radicale.wsgi

View File

@ -1,10 +1,15 @@
========================== ======
Radicale - CalDAV Server News
========================== ======
0.6.1 - Growing Up
==================
* Example files included in the tarball
* htpasswd support fixed
* Redirection loop bug fixed
* Testing message on GET requests
------
NEWS
------
0.6 - Sapling 0.6 - Sapling
============= =============

12
README
View File

@ -1,12 +1,4 @@
==========================
Radicale - CalDAV Server
==========================
--------
README
--------
The Radicale Project is a free and open-source CalDAV calendar server. The Radicale Project is a free and open-source CalDAV calendar server.
For complete documentation, please visit the `Radicale online documentation For complete documentation, please visit the Radicale online documentation
<http://www.radicale.org/documentation>`_ (http://www.radicale.org/documentation).

8
README.rst Normal file
View File

@ -0,0 +1,8 @@
=========
Read Me
=========
The Radicale Project is a free and open-source CalDAV calendar server.
For complete documentation, please visit the `Radicale online documentation
<http://www.radicale.org/documentation>`_

View File

@ -1,10 +1,6 @@
========================== ============
Radicale - CalDAV Server To-Do List
========================== ============
------
TODO
------
0.7 0.7
=== ===

View File

@ -192,7 +192,7 @@ class Application(object):
else: else:
user = password = None user = password = None
last_allowed = False last_allowed = None
calendars = [] calendars = []
for calendar in items: for calendar in items:
if not isinstance(calendar, ical.Calendar): if not isinstance(calendar, ical.Calendar):
@ -219,17 +219,18 @@ class Application(object):
last_allowed = False last_allowed = False
if calendars: if calendars:
# Calendars found
status, headers, answer = function( status, headers, answer = function(
environ, calendars, content, user) environ, calendars, content, user)
elif user and self.acl.has_right(user, user, password): elif user and last_allowed is None:
# Check if the user/password couple matches, # Good user and no calendars found, redirect user to home
# redirect user to his principal home in this case
location = "/%s/" % str(quote(user)) location = "/%s/" % str(quote(user))
log.LOGGER.info("redirecting to %s" % location) log.LOGGER.info("redirecting to %s" % location)
status = client.FOUND status = client.FOUND
headers = {"Location": location} headers = {"Location": location}
answer = "Redirecting to %s" % location answer = "Redirecting to %s" % location
else: else:
# Unknown or unauthorized user
status = client.UNAUTHORIZED status = client.UNAUTHORIZED
headers = { headers = {
"WWW-Authenticate": "WWW-Authenticate":