from . import iuse
from . import location
from . import mirrors
-from . import newsletter
from . import nopaste
from . import people
from . import ui_modules
# People
"AccountsList" : people.AccountsListModule,
+ "Agent" : people.AgentModule,
"CDR" : people.CDRModule,
"Channels" : people.ChannelsModule,
"MOS" : people.MOSModule,
+ "NewAccounts" : people.NewAccountsModule,
"Password" : people.PasswordModule,
"Registrations" : people.RegistrationsModule,
"SIPStatus" : people.SIPStatusModule,
: fireinfo.DeviceAndGroupsTableModule,
# Wiki
+ "WikiDiff" : wiki.WikiDiffModule,
"WikiNavbar" : wiki.WikiNavbarModule,
"WikiList" : wiki.WikiListModule,
# Misc
+ "ChristmasBanner" : ui_modules.ChristmasBannerModule,
+ "Markdown" : ui_modules.MarkdownModule,
"Map" : ui_modules.MapModule,
"ProgressBar" : ui_modules.ProgressBarModule,
},
(r"/donate/error", donate.ErrorHandler),
(r"/donation", tornado.web.RedirectHandler, { "url" : "/donate" }),
- # Newsletter
- (r"/newsletter/subscribe", newsletter.SubscribeHandler),
-
# RSS feed
(r"/news.rss", tornado.web.RedirectHandler, { "url" : "https://blog.ipfire.org/feed.xml" }),
(r"/news/(.*)", handlers.NewsHandler),
# Static Pages
- (r"/chat", StaticHandler, { "template" : "chat.html" }),
(r"/features", StaticHandler, { "template" : "features.html" }),
(r"/legal", StaticHandler, { "template" : "legal.html" }),
(r"/support", StaticHandler, { "template" : "support.html" }),
self.add_handlers(r"fireinfo(\.dev)?\.ipfire\.org", [
(r"/", fireinfo.IndexHandler),
+ # Admin
+ (r"/admin", fireinfo.AdminIndexHandler),
+
# Vendors
(r"/vendors", fireinfo.VendorsHandler),
(r"/vendors/(pci|usb)/([0-9a-f]{4})", fireinfo.VendorHandler),
# Send profiles
(r"/send/([a-z0-9]+)", fireinfo.ProfileSendHandler),
- ])
+ ] + authentication_handlers)
# i-use.ipfire.org
self.add_handlers(r"i-use(\.dev)?\.ipfire\.org", [
# location.ipfire.org
self.add_handlers(r"location(\.dev)?\.ipfire\.org", [
(r"/", location.IndexHandler),
+ (r"/how\-to\-use", StaticHandler, { "template" : "../location/how-to-use.html" }),
(r"/lookup/(.+)/blacklists", location.BlacklistsHandler),
(r"/lookup/(.+)", location.LookupHandler),
])
# people.ipfire.org
self.add_handlers(r"people(\.dev)?\.ipfire\.org", [
(r"/", people.IndexHandler),
+ (r"/activate/([a-z_][a-z0-9_-]{0,31})/(\w+)", auth.ActivateHandler),
(r"/conferences", people.ConferencesHandler),
+ (r"/groups", people.GroupsHandler),
+ (r"/groups/([a-z_][a-z0-9_-]{0,31})", people.GroupHandler),
+ (r"/register", auth.RegisterHandler),
(r"/search", people.SearchHandler),
(r"/users", people.UsersHandler),
- (r"/users/(\w+)", people.UserHandler),
- (r"/users/(\w+)\.jpg", people.AvatarHandler),
- (r"/users/(\w+)/calls/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})", people.CallHandler),
- (r"/users/(\w+)/calls(?:/(\d{4}-\d{2}-\d{2}))?", people.CallsHandler),
- (r"/users/(\w+)/edit", people.UserEditHandler),
- (r"/users/(\w+)/passwd", people.UserPasswdHandler),
- (r"/users/(\w+)/ssh-keys", people.SSHKeysIndexHandler),
- (r"/users/(\w+)/ssh-keys/(SHA256\:.*)/delete", people.SSHKeysDeleteHandler),
- (r"/users/(\w+)/ssh-keys/(SHA256\:.*)", people.SSHKeysDownloadHandler),
- (r"/users/(\w+)/ssh-keys/upload", people.SSHKeysUploadHandler),
- (r"/users/(\w+)/sip", people.SIPHandler),
+ (r"/users/([a-z_][a-z0-9_-]{0,31})", people.UserHandler),
+ (r"/users/([a-z_][a-z0-9_-]{0,31})\.jpg", people.AvatarHandler),
+ (r"/users/([a-z_][a-z0-9_-]{0,31})/calls/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})", people.CallHandler),
+ (r"/users/([a-z_][a-z0-9_-]{0,31})/calls(?:/(\d{4}-\d{2}-\d{2}))?", people.CallsHandler),
+ (r"/users/([a-z_][a-z0-9_-]{0,31})/edit", people.UserEditHandler),
+ (r"/users/([a-z_][a-z0-9_-]{0,31})/passwd", people.UserPasswdHandler),
+ (r"/users/([a-z_][a-z0-9_-]{0,31})/sip", people.SIPHandler),
+
+ # Promotional Consent Stuff
+ (r"/subscribe", people.SubscribeHandler),
+ (r"/unsubscribe", people.UnsubscribeHandler),
+
+ # Single-Sign-On for Discourse
+ (r"/sso/discourse", people.SSODiscourse),
+
+ # Password Reset
+ (r"/password\-reset", auth.PasswordResetInitiationHandler),
+ (r"/password\-reset/([a-z_][a-z0-9_-]{0,31})/(\w+)", auth.PasswordResetHandler),
+
+ # Stats
+ (r"/stats", people.StatsHandler),
+
+ # API
+ (r"/api/check/email", auth.APICheckEmail),
+ (r"/api/check/uid", auth.APICheckUID),
] + authentication_handlers)
# wiki.ipfire.org
self.add_handlers(r"wiki(\.dev)?\.ipfire\.org",
authentication_handlers + [
+ # Actions
+ (r"((?:[A-Za-z0-9\-_\/]+)?(?:.*)\.(?:\w+))/_delete", wiki.ActionDeleteHandler),
+ (r"([A-Za-z0-9\-_\/]+)?/_edit", wiki.ActionEditHandler),
+ (r"([A-Za-z0-9\-_\/]+)?/_render", wiki.ActionRenderHandler),
+ (r"([A-Za-z0-9\-_\/]+)?/_(watch|unwatch)", wiki.ActionWatchHandler),
+ (r"/actions/restore", wiki.ActionRestoreHandler),
+ (r"/actions/upload", wiki.ActionUploadHandler),
+
# Handlers
(r"/recent\-changes", wiki.RecentChangesHandler),
(r"/search", wiki.SearchHandler),
+ (r"/watchlist", wiki.WatchlistHandler),
+
+ # Media
+ (r"([A-Za-z0-9\-_\/]+)?/_files", wiki.FilesHandler),
+ (r"((?!/static)(?:[A-Za-z0-9\-_\/]+)?(?:.*)\.(?:\w+))$", wiki.FileHandler),
# Render pages
(r"([A-Za-z0-9\-_\/]+)?", wiki.PageHandler),