Apply im module selection in urls.
authorAntony Chazapis <chazapis@gmail.com>
Tue, 22 Nov 2011 09:38:33 +0000 (11:38 +0200)
committerAntony Chazapis <chazapis@gmail.com>
Tue, 22 Nov 2011 09:38:33 +0000 (11:38 +0200)
Refs #1584

README.upgrade
pithos/im/templates/index.html
pithos/im/urls.py
pithos/settings.py.dist

index 8cce135..90b7a3e 100644 (file)
@@ -3,7 +3,7 @@ UPGRADE
 
 0.7.9 -> 0.7.10
 ---------------
-* Update settings.py (BACKEND*, SERVICE_NAME, *_EMAIL, *_TARGET)
+* Update settings.py (BACKEND*, SERVICE_NAME, *_EMAIL, *_TARGET, IM_*)
 * Update 'attributes' table in mysql:
     
        mysql> update attributes set `key`='ETag' where `key`='hash';
index e72c192..8df09cd 100644 (file)
@@ -7,7 +7,7 @@
     
 {% block body%}
     <div class="row">
-        {% if "local" in standard_modules %}
+    {% if "local" in standard_modules %}
       <div class="span4">
         <h4>Local account</h4>
         <form action="{% url pithos.im.target.local.login %}" method="post" class="form-stacked">
@@ -38,8 +38,8 @@
           </div>
         </form>
       </div>
-  {% endif %}
-  {% if "invitation" in standard_modules %}
+    {% endif %}
+    {% if "invitation" in standard_modules %}
       <div class="span4">
         <h4>Invitation</h4>
         <form action="{% url pithos.im.target.invitation.login %}" class="form-stacked">
           </div>
         </form>
       </div>
-  {% endif %}
-  {% if other_modules %}
+    {% endif %}
+    {% if other_modules %}
       <div class="span8">
         <h4>Other provider</h4>
         {% for o in other_modules %}
             <a href="/im/login/{{ o }}{% ifnotequal next "" %}?next={{ next|urlencode }}{% endifnotequal %}" alt="{{ o|title }}"><img src="/im/static/{{ o }}.png" width="120" height="120"></a>
         {% endfor %}
       </div>
-  {% endif %}
+    {% endif %}
     </div>
 {% endblock body%}
index 107ff5f..62299dd 100644 (file)
@@ -45,22 +45,10 @@ urlpatterns = patterns('pithos.im.views',
     (r'^admin/users/(\d+)/?$', 'users_info'),
     (r'^admin/users/create$', 'users_create'),
     (r'^admin/users/(\d+)/modify/?$', 'users_modify'),
-    (r'^admin/users/(\d+)/delete/?$', 'users_delete'),
-    
-    (r'^invite/?$', 'invite'),
-    (r'^local/create/?$', 'local_create'),
-    (r'^local/reclaim/?$', 'reclaim_password'),
-    
+    (r'^admin/users/(\d+)/delete/?$', 'users_delete')
 )
 
 urlpatterns += patterns('pithos.im.target',
-    (r'^login/shibboleth/?$', 'shibboleth.login'),
-    (r'^login/twitter/?$', 'twitter.login'),
-    (r'^login/twitter/authenticated/?$', 'twitter.authenticated'),
-    (r'^login/invitation/?$', 'invitation.login'),
-    (r'^local/?$', 'local.login'),
-    (r'^local/activate/?$', 'local.activate'),
-    (r'^local/reset/?$', 'local.reset_password'),
     (r'^login/dummy/?$', 'dummy.login')
 )
 
@@ -68,3 +56,33 @@ urlpatterns += patterns('',
     (r'^static/(?P<path>.*)$', 'django.views.static.serve',
                                 {'document_root': settings.PROJECT_PATH + '/im/static'})
 )
+
+if 'local' in settings.IM_STANDARD_MODULES:
+    urlpatterns += patterns('pithos.im.views',
+        (r'^local/create/?$', 'local_create'),
+        (r'^local/reclaim/?$', 'reclaim_password')
+    )
+    urlpatterns += patterns('pithos.im.target',
+        (r'^local/?$', 'local.login'),
+        (r'^local/activate/?$', 'local.activate'),
+        (r'^local/reset/?$', 'local.reset_password')
+    )
+
+if 'invitation' in settings.IM_STANDARD_MODULES:
+    urlpatterns += patterns('pithos.im.views',
+        (r'^invite/?$', 'invite'),
+    )
+    urlpatterns += patterns('pithos.im.target',
+        (r'^login/invitation/?$', 'invitation.login')
+    )
+
+if 'shibboleth' in settings.IM_OTHER_MODULES:
+    urlpatterns += patterns('pithos.im.target',
+        (r'^login/shibboleth/?$', 'shibboleth.login')
+    )
+
+if 'twitter' in settings.IM_OTHER_MODULES:
+    urlpatterns += patterns('pithos.im.target',
+        (r'^login/twitter/?$', 'twitter.login'),
+        (r'^login/twitter/authenticated/?$', 'twitter.authenticated')
+    )
index 140401e..29f6d23 100644 (file)
@@ -74,7 +74,6 @@ BACKEND_DB_CONNECTION = 'sqlite:///' + os.path.join(PROJECT_PATH, 'backend.db')
 BACKEND_BLOCK_MODULE = 'pithos.backends.lib.hashfiler'
 BACKEND_BLOCK_PATH = os.path.join(PROJECT_PATH, 'data/')
 
-
 # Bypass authentication for user administration.
 BYPASS_ADMIN_AUTH = False
 
@@ -211,5 +210,5 @@ USE_X_FORWARDED_HOST = False
 LOGFILE = None
 
 # Identity Management enabled modules
-IM_STANDARD_MODULES = ['invitation']
+IM_STANDARD_MODULES = ['local', 'invitation']
 IM_OTHER_MODULES = ['twitter', 'shibboleth']