Index: appengine/monorail/framework/urls.py |
diff --git a/appengine/monorail/framework/urls.py b/appengine/monorail/framework/urls.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9502669427a7cf60b12cd2001d987d23177f857c |
--- /dev/null |
+++ b/appengine/monorail/framework/urls.py |
@@ -0,0 +1,123 @@ |
+# Copyright 2016 The Chromium Authors. All rights reserved. |
+# Use of this source code is govered by a BSD-style |
+# license that can be found in the LICENSE file or at |
+# https://developers.google.com/open-source/licenses/bsd |
+ |
+"""Constants that define the Monorail URL space.""" |
+ |
+# URLs of site-wide Monorail pages |
+HOSTING_HOME = '/hosting/' # the big search box w/ popular labels |
+PROJECT_CREATE = '/hosting/createProject' |
+USER_SETTINGS = '/hosting/settings' |
+PROJECT_MOVED = '/hosting/moved' |
+CHECK_PROJECT_NAME_JSON = '/hosting/createProject/checkProjectName' |
+GROUP_LIST = '/g/' |
+GROUP_CREATE = '/hosting/createGroup' |
+GROUP_DELETE = '/hosting/deleteGroup' |
+ |
+# URLs of project pages |
+SUMMARY = '/' # Now just a redirect to /issues/list |
+UPDATES_LIST = '/updates/list' |
+PEOPLE_LIST = '/people/list' |
+PEOPLE_DETAIL = '/people/detail' |
+PEOPLE_DETAIL_PREFS_JSON = '/people/detailPrefs' |
+ADMIN_META = '/admin' |
+ADMIN_ADVANCED = '/adminAdvanced' |
+ |
+# URLs for stars |
+STARS_JSON = '/hosting/stars' |
+ |
+# URLs for cue cards (dismissible on-page help) |
+CUES_JSON = '/hosting/cues' |
+ |
+# URLs of user pages, relative to either /u/userid or /u/username |
+# TODO(jrobbins): Add /u/userid as the canonical URL in metadata. |
+USER_PROFILE = '/' |
+ |
+# URLs for User Updates pages |
+USER_UPDATES_PROJECTS = '/updates/projects' |
+USER_UPDATES_DEVELOPERS = '/updates/developers' |
+USER_UPDATES_MINE = '/updates' |
+ |
+# URLs of user group pages, relative to /g/groupname. |
+GROUP_DETAIL = '/' |
+GROUP_ADMIN = '/groupadmin' |
+ |
+# URL of JSON feed for the "My projects" menu |
+USER_PROJECTS_JSON = '/hosting/projects' |
+ |
+# URLs of issue tracker backend request handlers. Called from the frontends. |
+BACKEND_SEARCH = '/_backend/search' |
+BACKEND_NONVIEWABLE = '/_backend/nonviewable' |
+ |
+# URLs of task queue request handlers. Called asynchronously from frontends. |
+RECOMPUTE_DERIVED_FIELDS_TASK = '/_task/recomputeDerivedFields' |
+NOTIFY_ISSUE_CHANGE_TASK = '/_task/notifyIssueChange' |
+NOTIFY_BLOCKING_CHANGE_TASK = '/_task/notifyBlockingChange' |
+NOTIFY_BULK_CHANGE_TASK = '/_task/notifyBulkEdit' |
+OUTBOUND_EMAIL_TASK = '/_task/outboundEmail' |
+SPAM_DATA_EXPORT_TASK = '/_task/spamDataExport' |
+ |
+# URLs of cron job request handlers. Called from GAE via cron.yaml. |
+REINDEX_QUEUE_CRON = '/_cron/reindexQueue' |
+RAMCACHE_CONSOLIDATE_CRON = '/_cron/ramCacheConsolidate' |
+REAP_CRON = '/_cron/reap' |
+SPAM_DATA_EXPORT_CRON = '/_cron/spamDataExport' |
+ |
+# URLs of User pages |
+SAVED_QUERIES = '/queries' |
+DASHBOARD = '/dashboard' |
+ |
+# URLs of issue tracker project pages |
+ISSUE_LIST = '/issues/list' |
+ISSUE_DETAIL = '/issues/detail' |
+ISSUE_PEEK = '/issues/peek' # not served, only used in issuepeek.py |
+ISSUE_COMMENT_DELETION_JSON = '/issues/delComment' |
+ISSUE_ATTACHMENT_DELETION_JSON = '/issues/delAttachment' |
+ISSUE_FLAGSPAM_JSON = '/issues/flagspam' |
+ISSUE_SETSTAR_JSON = '/issues/setstar' |
+ISSUE_DELETE_JSON = '/issues/delete' |
+ISSUE_ENTRY = '/issues/entry' |
+ISSUE_OPTIONS_JSON = '/feeds/issueOptions' |
+ISSUE_BULK_EDIT = '/issues/bulkedit' |
+ISSUE_ADVSEARCH = '/issues/advsearch' |
+ISSUE_TIPS = '/issues/searchtips' |
+ISSUE_ATTACHMENT = '/issues/attachment' |
+ISSUE_ATTACHMENT_TEXT = '/issues/attachmentText' |
+ISSUE_LIST_CSV = '/issues/csv' |
+COMPONENT_CHECKNAME_JSON = '/components/checkName' |
+COMPONENT_CREATE = '/components/create' |
+COMPONENT_DETAIL = '/components/detail' |
+FIELD_CHECKNAME_JSON = '/fields/checkName' |
+FIELD_CREATE = '/fields/create' |
+FIELD_DETAIL = '/fields/detail' |
+WIKI_LIST = '/w/list' # Wiki urls are just redirects to project.docs_url |
+WIKI_PAGE = '/wiki/<wiki_page:.*>' |
+ADMIN_INTRO = '/adminIntro' |
+# TODO(jrbbins): move some editing from /admin to /adminIntro. |
+ADMIN_COMPONENTS = '/adminComponents' |
+ADMIN_LABELS = '/adminLabels' |
+ADMIN_RULES = '/adminRules' |
+ADMIN_TEMPLATES = '/adminTemplates' |
+ADMIN_STATUSES = '/adminStatuses' |
+ADMIN_VIEWS = '/adminViews' |
+ADMIN_EXPORT = '/projectExport' |
+ADMIN_EXPORT_JSON = '/projectExport/json' |
+ISSUE_ORIGINAL = '/issues/original' |
+ISSUE_REINDEX = '/issues/reindex' |
+ISSUE_EXPORT = '/issues/export' |
+ISSUE_EXPORT_JSON = '/issues/export/json' |
+ISSUE_IMPORT = '/issues/import' |
+ |
+# URLs of site-wide pages referenced from the framework directory. |
+CAPTCHA_QUESTION = '/hosting/captcha' |
+EXCESSIVE_ACTIVITY = '/hosting/excessiveActivity' |
+BANNED = '/hosting/noAccess' |
+NONPROJECT_COLLISION = '/hosting/collision' |
+# This is for collisions that happen within a project, based at /p/projectname |
+ARTIFACT_COLLISION = '/collision' |
+ |
+CSP_REPORT = '/csp' |
+TOKEN_REFRESH = '/hosting/tokenRefresh' |
+ |
+SPAM_MODERATION_QUEUE = '/spamqueue' |