Skip to content

Commit

Permalink
bug 1104718/1104719: kill and rip out the old balrog ui. r=nthomas
Browse files Browse the repository at this point in the history
  • Loading branch information
bhearsum committed Mar 5, 2015
1 parent 1075f5f commit 8630728
Show file tree
Hide file tree
Showing 91 changed files with 177 additions and 13,177 deletions.
15 changes: 14 additions & 1 deletion admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,15 @@
thirdparty.extendsyspath()


class APIMiddleware(object):
def __init__(self, wrap_app):
self.wrap_app = wrap_app

def __call__(self, environ, start_response):
environ["PATH_INFO"] = environ["PATH_INFO"].lstrip("/api")
return self.wrap_app(environ, start_response)


if __name__ == '__main__':
from optparse import OptionParser
parser = OptionParser()
Expand Down Expand Up @@ -61,5 +70,9 @@
app.config['PAGE_TITLE'] = options.pageTitle
def auth(environ, username, password):
return username == password
app.wsgi_app = AuthBasicHandler(app.wsgi_app, "Balrog standalone auth", auth)
# The Angular app always makes requests to "/api". The WSGI app that runs
# the API doesn't know about this prefix though, so we need to strip it
# away before the request reaches the app. In production (and the Vagrant
# environment) this is done by setting up the WSGI app with WSGIScriptAlias.
app.wsgi_app = APIMiddleware(AuthBasicHandler(app.wsgi_app, "Balrog standalone auth", auth))
app.run(port=options.port, host=options.host)
70 changes: 23 additions & 47 deletions auslib/admin/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,13 @@

from auslib.admin.views.csrf import CSRFView
from auslib.admin.views.permissions import UsersView, PermissionsView, \
SpecificPermissionView, PermissionsPageView, UserPermissionsPageView
from auslib.admin.views.releases import SingleLocaleView, SingleBlobView, \
SingleReleaseView, ReleasesPageView, ReleaseHistoryView, \
SpecificPermissionView
from auslib.admin.views.releases import SingleLocaleView, \
SingleReleaseView, ReleaseHistoryView, \
ReleasesAPIView
from auslib.admin.views.rules import RulesPageView, RulesAPIView, \
SingleRuleView, RuleHistoryView, RuleHistoryAPIView
from auslib.admin.views.rules import RulesAPIView, \
SingleRuleView, RuleHistoryAPIView
from auslib.admin.views.history import DiffView, FieldView
from auslib.admin.views.index import IndexPageView, RecentChangesTableView

@app.errorhandler(500)
def isa(error):
Expand All @@ -41,45 +40,22 @@ def add_security_headers(response):
Compress(app)

# Endpoints required for the Balrog 2.0 UI.
app.add_url_rule("/api/csrf_token", view_func=CSRFView.as_view("api_csrf"))
app.add_url_rule("/api/users", view_func=UsersView.as_view("api_users"))
app.add_url_rule("/api/users/<username>/permissions", view_func=PermissionsView.as_view("api_user_permissions"))
app.add_url_rule("/api/users/<username>/permissions/<path:permission>", view_func=SpecificPermissionView.as_view("api_specific_permission"))
# In the Mozilla deployments of Balrog, both the the admin API (these endpoints)
# and the static admin UI are hosted on the same domain. This API wsgi app is
# hosted at "/api", which is stripped away by the web server before we see
# these requests.
app.add_url_rule("/csrf_token", view_func=CSRFView.as_view("csrf"))
app.add_url_rule("/users", view_func=UsersView.as_view("users"))
app.add_url_rule("/users/<username>/permissions", view_func=PermissionsView.as_view("user_permissions"))
app.add_url_rule("/users/<username>/permissions/<path:permission>", view_func=SpecificPermissionView.as_view("specific_permission"))
# Some permissions may start with a slash, and the <path> converter won"t match them, so we need an extra rule to cope.
app.add_url_rule("/api/users/<username>/permissions//<path:permission>", view_func=SpecificPermissionView.as_view("api_specific_permission2"))
app.add_url_rule("/api/rules", view_func=RulesAPIView.as_view("api_rules"))
app.add_url_rule("/api/rules/<rule_id>", view_func=SingleRuleView.as_view("api_rule"))
app.add_url_rule("/api/rules/<rule_id>/revisions", view_func=RuleHistoryAPIView.as_view("api_rules_revisions"))
app.add_url_rule("/api/releases", view_func=ReleasesAPIView.as_view("api_releases"))
app.add_url_rule("/api/releases/<release>", view_func=SingleReleaseView.as_view("api_releases_revision"))
app.add_url_rule("/api/releases/<release>/builds/<platform>/<locale>", view_func=SingleLocaleView.as_view("api_single_locale"))
app.add_url_rule("/api/releases/<release>/revisions", view_func=ReleaseHistoryView.as_view("api_release_revisions"))
app.add_url_rule("/api/history/diff/<type_>/<change_id>/<field>", view_func=DiffView.as_view("api_diff"))
app.add_url_rule("/api/history/view/<type_>/<change_id>/<field>", view_func=FieldView.as_view("api_field"))


# Deprecated endpoints. These can be removed when the old UI is shut off _and_ submitter tools use the new "/api" endpoints.
app.add_url_rule('/csrf_token', view_func=CSRFView.as_view('csrf'))
app.add_url_rule('/users', view_func=UsersView.as_view('users'))
app.add_url_rule('/users/<username>/permissions', view_func=PermissionsView.as_view('permissions'))
app.add_url_rule('/users/<username>/permissions/<path:permission>', view_func=SpecificPermissionView.as_view('specific_permission'))
# Some permissions may start with a slash, and the <path> converter won't match them, so we need an extra rule to cope.
app.add_url_rule('/users/<username>/permissions//<path:permission>', view_func=SpecificPermissionView.as_view('specific_permission2'))
app.add_url_rule('/releases/<release>/builds/<platform>/<locale>', view_func=SingleLocaleView.as_view('single_locale'))
app.add_url_rule('/releases/<release>/data', view_func=SingleBlobView.as_view('release_data'))
app.add_url_rule('/releases/<release>/revisions/', view_func=ReleaseHistoryView.as_view('release_revisions'))
app.add_url_rule('/releases/<release>', view_func=SingleReleaseView.as_view('release'))
app.add_url_rule('/rules', view_func=RulesAPIView.as_view('rules'))
app.add_url_rule('/rules/<rule_id>', view_func=SingleRuleView.as_view('setrule'))
app.add_url_rule('/history/diff/<type_>/<change_id>/<field>', view_func=DiffView.as_view('diff'))
app.add_url_rule('/history/view/<type_>/<change_id>/<field>', view_func=FieldView.as_view('field'))


# TODO: Kill these endpoints + their classes when the old admin ui is shut off
app.add_url_rule('/permissions.html', view_func=PermissionsPageView.as_view('permissions.html'))
app.add_url_rule('/user_permissions.html', view_func=UserPermissionsPageView.as_view('user_permissions.html'))
app.add_url_rule('/releases.html', view_func=ReleasesPageView.as_view('releases.html'))
app.add_url_rule('/rules.html', view_func=RulesPageView.as_view('rules.html'))
app.add_url_rule('/recent_changes_table.html', view_func=RecentChangesTableView.as_view(''))
app.add_url_rule('/rules/<rule_id>/revisions/', view_func=RuleHistoryView.as_view('revisions.html'))
app.add_url_rule('/', view_func=IndexPageView.as_view('index.html'))
app.add_url_rule("/users/<username>/permissions//<path:permission>", view_func=SpecificPermissionView.as_view("specific_permission2"))
app.add_url_rule("/rules", view_func=RulesAPIView.as_view("rules"))
app.add_url_rule("/rules/<rule_id>", view_func=SingleRuleView.as_view("rule"))
app.add_url_rule("/rules/<rule_id>/revisions", view_func=RuleHistoryAPIView.as_view("rules_revisions"))
app.add_url_rule("/releases", view_func=ReleasesAPIView.as_view("releases"))
app.add_url_rule("/releases/<release>", view_func=SingleReleaseView.as_view("single_release"))
app.add_url_rule("/releases/<release>/builds/<platform>/<locale>", view_func=SingleLocaleView.as_view("single_locale"))
app.add_url_rule("/releases/<release>/revisions", view_func=ReleaseHistoryView.as_view("release_revisions"))
app.add_url_rule("/history/diff/<type_>/<change_id>/<field>", view_func=DiffView.as_view("diff"))
app.add_url_rule("/history/view/<type_>/<change_id>/<field>", view_func=FieldView.as_view("field"))
95 changes: 0 additions & 95 deletions auslib/admin/static/css/alertify.core.css

This file was deleted.

74 changes: 0 additions & 74 deletions auslib/admin/static/css/alertify.default.css

This file was deleted.

7 changes: 0 additions & 7 deletions auslib/admin/static/css/ausadmin.css

This file was deleted.

Loading

0 comments on commit 8630728

Please sign in to comment.