{"action":"created","issue":{"url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/issues/1273","labels_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/issues/1273/labels{/name}","comments_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/issues/1273/comments","events_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/issues/1273/events","html_url":"https://github.com/the-blue-alliance/the-blue-alliance/pull/1273","id":118302380,"number":1273,"title":"Suggestion approval with permissions","user":{"login":"gregmarra","id":57101,"avatar_url":"https://avatars.githubusercontent.com/u/57101?v=3","gravatar_id":"","url":"https://api.github.com/users/gregmarra","html_url":"https://github.com/gregmarra","followers_url":"https://api.github.com/users/gregmarra/followers","following_url":"https://api.github.com/users/gregmarra/following{/other_user}","gists_url":"https://api.github.com/users/gregmarra/gists{/gist_id}","starred_url":"https://api.github.com/users/gregmarra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregmarra/subscriptions","organizations_url":"https://api.github.com/users/gregmarra/orgs","repos_url":"https://api.github.com/users/gregmarra/repos","events_url":"https://api.github.com/users/gregmarra/events{/privacy}","received_events_url":"https://api.github.com/users/gregmarra/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/labels/in%20progress","name":"in progress","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-23T00:55:49Z","updated_at":"2015-11-23T00:56:51Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/pulls/1273","html_url":"https://github.com/the-blue-alliance/the-blue-alliance/pull/1273","diff_url":"https://github.com/the-blue-alliance/the-blue-alliance/pull/1273.diff","patch_url":"https://github.com/the-blue-alliance/the-blue-alliance/pull/1273.patch"},"body":"Builds on top of #1272 to start using permissions for reviewing suggestions."},"comment":{"url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/issues/comments/158823930","html_url":"https://github.com/the-blue-alliance/the-blue-alliance/pull/1273#issuecomment-158823930","issue_url":"https://api.github.com/repos/the-blue-alliance/the-blue-alliance/issues/1273","id":158823930,"user":{"login":"gregmarra","id":57101,"avatar_url":"https://avatars.githubusercontent.com/u/57101?v=3","gravatar_id":"","url":"https://api.github.com/users/gregmarra","html_url":"https://github.com/gregmarra","followers_url":"https://api.github.com/users/gregmarra/followers","following_url":"https://api.github.com/users/gregmarra/following{/other_user}","gists_url":"https://api.github.com/users/gregmarra/gists{/gist_id}","starred_url":"https://api.github.com/users/gregmarra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gregmarra/subscriptions","organizations_url":"https://api.github.com/users/gregmarra/orgs","repos_url":"https://api.github.com/users/gregmarra/repos","events_url":"https://api.github.com/users/gregmarra/events{/privacy}","received_events_url":"https://api.github.com/users/gregmarra/received_events","type":"User","site_admin":false},"created_at":"2015-11-23T00:56:51Z","updated_at":"2015-11-23T00:56:51Z","body":"I can't figure out this error in my test when I try to test if the user can see the page. \r\n\r\nIn `test_suggestions_review_permission_checks.py`, if the template gets rendered (because the user is logged in and has permission), appengine throws this exception about django templates. I can't find another case online.\r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"/Users/gregmarra/Documents/codez/the-blue-alliance/tests/test_suggestions_review_permission_checks.py\", line 60, in testLoggedOutUserDenied\r\n    response = self.testapp.get('/suggestions')\r\n  File \"/Library/Python/2.7/site-packages/WebTest-2.0.9-py2.7.egg/webtest/app.py\", line 206, in get\r\n    expect_errors=expect_errors)\r\n  File \"/Library/Python/2.7/site-packages/WebTest-2.0.9-py2.7.egg/webtest/app.py\", line 515, in do_request\r\n    self._check_status(status, res)\r\n  File \"/Library/Python/2.7/site-packages/WebTest-2.0.9-py2.7.egg/webtest/app.py\", line 544, in _check_status\r\n    res)\r\nAppError: Bad response: 500 Internal Server Error (not 200 OK or 3xx redirect for http://localhost/suggestions)\r\n<html>\r\n  <head>\r\n    <title>Internal Server Error</title>\r\n    <style>\r\n      body {\r\n        padding: 20px;\r\n        font-family: arial, sans-serif;\r\n        font-size: 14px;\r\n      }\r\n      pre {\r\n        background: #F2F2F2;\r\n        padding: 10px;\r\n      }\r\n    </style>\r\n  </head>\r\n  <body>\r\n    <h1>Internal Server Error</h1>\r\n    <p>The server has either erred or is incapable of performing\r\n    the requested operation.</p>\r\n    <pre>Traceback (most recent call last):\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py&quot;, line 1535, in __call__\r\n    rv = self.handle_exception(request, response, e)\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py&quot;, line 1529, in __call__\r\n    rv = self.router.dispatch(request, response)\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py&quot;, line 1278, in default_dispatcher\r\n    return route.handler_adapter(request, response)\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py&quot;, line 1102, in __call__\r\n    return handler.dispatch()\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py&quot;, line 572, in dispatch\r\n    return self.handle_exception(e, self.app.debug)\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webapp2-2.5.2/webapp2.py&quot;, line 570, in dispatch\r\n    return method(*args, **kwargs)\r\n  File &quot;/Users/gregmarra/Documents/codez/the-blue-alliance/controllers/admin/suggestions/admin_match_video_suggestions_review_controller.py&quot;, line 26, in get\r\n    self.response.out.write(template.render(path, self.template_values))\r\n  File &quot;/usr/local/google_appengine/google/appengine/ext/webapp/template.py&quot;, line 93, in render\r\n    t = _load_user_django(template_path, debug)\r\n  File &quot;/usr/local/google_appengine/google/appengine/ext/webapp/template.py&quot;, line 115, in _load_user_django\r\n    template = django.template.loader.get_template(file_name)\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django-1.4/django/template/loader.py&quot;, line 145, in get_template\r\n    template, origin = find_template(template_name)\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django-1.4/django/template/loader.py&quot;, line 128, in find_template\r\n    loader = find_template_loader(loader_name)\r\n  File &quot;/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/django-1.4/django/template/loader.py&quot;, line 101, in find_template_loader\r\n    raise ImproperlyConfigured('Error importing template source loader %s: &quot;%s&quot;' % (loader, e))\r\nImproperlyConfigured: Error importing template source loader django.template.loaders.filesystem.load_template_source: &quot;'module' object has no attribute 'load_template_source'&quot;\r\n</pre>\r\n  </body>\r\n</html>\r\n```"}}