<!-- $Id$ -->

<configure
   xmlns:zope="http://namespaces.zope.org/zope"
   xmlns:browser="http://namespaces.zope.org/browser"
   i18n_domain="loops">

  <zope:adapter
      name="personal_info.html"
      for="loops.interfaces.IConcept
           zope.publisher.interfaces.browser.IBrowserRequest"
      provides="zope.interface.Interface"
      factory="loops.organize.browser.member.PersonalInfo"
      permission="zope.View" />

  <zope:view
      type="zope.publisher.interfaces.browser.IBrowserRequest"
      for="cybertools.organize.interfaces.SimpleList
           zope.schema.interfaces.ITextLine"
      provides="zope.app.form.interfaces.IDisplayWidget"
      factory="cybertools.browser.widget.SimpleListDisplayWidget"
      permission="zope.Public" />

  <browser:page
      for="loops.interfaces.INode"
      name="register_user.html"
      class="loops.organize.browser.member.MemberRegistration"
      permission="zope.View" />

  <browser:page
      for="loops.interfaces.INode"
      name="selfservice_registration.html"
      class="loops.organize.browser.member.SecureMemberRegistration"
      permission="zope.View" />

  <browser:page
      for="loops.interfaces.INode"
      name="selfservice_confirmation.html"
      class="loops.organize.browser.member.ConfirmMemberRegistration"
      permission="zope.View" />

  <browser:page
      for="loops.interfaces.INode"
      name="change_password.html"
      class="loops.organize.browser.member.PasswordChange"
      permission="zope.View" />

  <browser:page
      for="loops.interfaces.INode"
      name="reset_password.html"
      class="loops.organize.browser.member.PasswordReset"
      permission="zope.View" />

  <zope:adapter
      name="task.html"
      for="loops.interfaces.IConcept
           zope.publisher.interfaces.browser.IBrowserRequest"
      provides="zope.interface.Interface"
      factory="loops.organize.browser.task.TaskView"
      permission="zope.View" />

  <zope:adapter
      name="list_events.html"
      for="loops.interfaces.IConcept
           zope.publisher.interfaces.browser.IBrowserRequest"
      provides="zope.interface.Interface"
      factory="loops.organize.browser.event.Events"
      permission="zope.View" />

  <zope:adapter
      for="cybertools.tracking.interfaces.ITrack
           zope.publisher.interfaces.browser.IBrowserRequest"
      provides="zope.interface.Interface"
      factory="cybertools.tracking.browser.TrackView"
      permission="zope.View" />

  <browser:page
      name="object_send_email.html"
      for="loops.interfaces.INode"
      class="loops.organize.browser.party.SendEmailForm"
      permission="zope.View" />

  <zope:adapter
      name="send_email"
      for="loops.browser.node.NodeView
           zope.publisher.interfaces.browser.IBrowserRequest"
      factory="loops.organize.browser.party.SendEmail"
      permission="zope.View" />

  <browser:page
      name="calendar_info"
      for="loops.interfaces.ILoopsObject"
      class="loops.organize.browser.event.CalendarInfo"
      permission="zope.View" />

  <!-- specialized forms -->

  <browser:page
      name="create_person.html"
      for="loops.interfaces.INode"
      class="loops.organize.browser.party.CreatePersonForm"
      permission="zope.View" />

  <browser:page
      name="edit_person.html"
      for="loops.interfaces.INode"
      class="loops.organize.browser.party.EditPersonForm"
      permission="zope.View" />

  <browser:page
        name="create_followup_event.html"
        for="loops.interfaces.INode"
        class="loops.organize.browser.event.CreateFollowUpEventForm"
        permission="zope.View" />

  <zope:adapter
      name="create_followup_event"
      for="loops.browser.node.NodeView
           zope.publisher.interfaces.browser.IBrowserRequest"
      factory="loops.organize.browser.event.CreateFollowUpEvent"
      permission="zope.View" />

  <browser:page
        name="edit_followup_event.html"
        for="loops.interfaces.INode"
        class="loops.organize.browser.event.EditFollowUpEventForm"
        permission="zope.View" />

  <zope:adapter
      name="edit_followup_event"
      for="loops.browser.node.NodeView
           zope.publisher.interfaces.browser.IBrowserRequest"
      factory="loops.organize.browser.event.EditFollowUpEvent"
      permission="zope.View" />

  <!-- authentication -->

  <browser:addform
      schema="loops.organize.auth.IPersonBasedAuthenticator"
      label="Add Person-based Authenticator"
      content_factory="loops.organize.auth.PersonBasedAuthenticator"
      keyword_arguments="prefix"
      name="AddPersonBasedAuthenticator.html"
      permission="zope.ManageServices" />

  <browser:addMenuItem
      title="Person-based Authenticator"
      description="An authentication plugin for loops Persons"
      class="loops.organize.auth.PersonBasedAuthenticator"
      permission="zope.ManageServices"
      view="AddPersonBasedAuthenticator.html" />

  <browser:schemadisplay
      schema="loops.organize.auth.IPersonBasedAuthenticator"
      label="Authenticator Prefix"
      name="prefix.html"
      fields="prefix"
      permission="zope.ManageServices"
      menu="zmi_views" title="Prefix" />

  <!-- utilities -->

  <browser:page
      for="loops.interfaces.ILoops"
      name="fix_person_roles"
      class="loops.organize.browser.member.FixPersonRoles"
      permission="zope.ManageServices" />

</configure>
