/transifex/urls/common.py

https://github.com/tymofij/adofex · Python · 112 lines · 88 code · 21 blank · 3 comment · 7 complexity · e50ab29623af973a4c853b1fcf7e770f MD5 · raw file

  1. from django.conf import settings
  2. from django.conf.urls.defaults import *
  3. from django.contrib import admin
  4. from django.contrib.auth.decorators import login_required
  5. from django.views.generic.simple import redirect_to
  6. import authority
  7. from userena import views as userena_views
  8. from txcommon.forms import EditProfileForm, CustomContactForm
  9. from txcommon.feeds import UserFeed
  10. from txcommon.views import profile_edit as txcommon_profile_edit
  11. # Overriding 500 error handler
  12. handler500 = 'views.server_error'
  13. admin.autodiscover()
  14. authority.autodiscover()
  15. panel_url = getattr(settings,'DJANGO_ADMIN_PANEL_URL', 'admin')
  16. urlpatterns = patterns('',)
  17. if settings.ENABLE_ADDONS:
  18. urlpatterns += patterns('', (r'', include('django_addons.urls')))
  19. PROJECTS_URL = '^projects/'
  20. urlpatterns += patterns('',
  21. url(r'^$', 'txcommon.views.index', name='transifex.home'),
  22. url(PROJECTS_URL, include('projects.urls')),
  23. url(r'^search/$', 'txcommon.views.search', name='search'),
  24. url(r'^%s/doc/' % panel_url, include('django.contrib.admindocs.urls')),
  25. url(r'^%s/' % panel_url, include(admin.site.urls)),
  26. url(r'^languages/', include('languages.urls')),
  27. url(r'^i18n/', include('django.conf.urls.i18n')),
  28. url(r'^ajax/', include('ajax_select.urls')),
  29. url(r'^ajax/', include('projects.urls.ajax')),
  30. url(r'^ajax/', include('resources.urls.ajax')),
  31. url(r'^api/', include('api.urls')),
  32. url(r'^tagging_autocomplete/', include('tagging_autocomplete.urls')),
  33. url(r'^contact/$', 'contact_form.views.contact_form',
  34. {'form_class': CustomContactForm}, name='contact_form'),
  35. )
  36. if settings.ENABLE_CONTACT_FORM:
  37. urlpatterns += patterns('',
  38. url(r'^contact/', include('contact_form.urls'), name='contact'),
  39. )
  40. urlpatterns += patterns('',
  41. url(r'^accounts/profile/(?P<username>.+)/feed/$', UserFeed(), name='user_feed')
  42. )
  43. if settings.ENABLE_SIMPLEAUTH:
  44. urlpatterns += patterns('',
  45. url(r'^accounts/', include('simpleauth.urls')),)
  46. else:
  47. urlpatterns += patterns('',
  48. # Custom EditProfileForm
  49. url(regex = r'^accounts/(?P<username>(?!signout|signup|signin)[\.\w]+)/$',
  50. view = login_required(txcommon_profile_edit),
  51. kwargs = {'edit_profile_form': EditProfileForm},
  52. name = 'userena_profile_edit'),
  53. url(regex = r'^accounts/(?P<username>[\.\w]+)/password/$',
  54. view = 'txcommon.views.password_change_custom',
  55. name = 'password_change_redirect'),
  56. url(regex = r'^accounts/(?P<username>[\.\w]+)/email/$',
  57. view = login_required(userena_views.email_change),
  58. name = 'userena_email_change'),
  59. url(regex = r'^accounts/(?P<username>[\.\w]+)/password/$',
  60. view = login_required(userena_views.password_change),
  61. name = 'userena_password_change'),
  62. url(regex = r'^accounts/(?P<username>[\.\w]+)/edit/$',
  63. view = login_required(userena_views.profile_edit),
  64. name = 'userena_profile_edit'),
  65. url(regex = r'^accounts/',
  66. view = include('userena.urls')),
  67. url(regex = r'^accounts/profile/(?P<username>.+)/$',
  68. view = 'txcommon.views.profile_public',
  69. name = 'profile_public'),
  70. )
  71. if settings.USE_SOCIAL_LOGIN:
  72. urlpatterns += patterns('',
  73. url(r'^accounts/', include('social_auth.urls')),
  74. url(r'^accounts/(?P<username>(?!signout|signup|signin)[\.\w]+)/social/$',
  75. view='txcommon.views.profile_social_settings', name='profile_social_settings'),
  76. # Ugly, see comments in view
  77. url(r'^profile/social/$', 'txcommon.views.profile_social_settings_redirect',
  78. name='profile-social-redirect'),
  79. )
  80. if settings.ENABLE_NOTICES:
  81. urlpatterns += patterns('',
  82. url(r'^notices/feed/$', 'txcommon.views.feed_for_user', name="notification_feed_for_user"),
  83. (r'^notices/', include('notification.urls')),
  84. )
  85. if settings.SERVE_MEDIA:
  86. urlpatterns += patterns('',
  87. url(r'^site_media/media/(?P<path>.*)$', 'django.views.static.serve', {
  88. 'document_root': settings.MEDIA_ROOT,
  89. }),
  90. url(r'^', include('staticfiles.urls'))
  91. )