~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/dispatch/html.py

  • Committer: drtomc
  • Date: 2008-02-25 02:23:18 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:561
app: improve the error message when an app fails to load.

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
""" % (cgi.escape(titlepart), cgi.escape(req.content_type)))
53
53
    # Write inline JavaScript which gives the client code access to certain
54
54
    # server-side variables.
55
 
    if req.username:
56
 
        username = repr(req.username)
 
55
    if req.user:
 
56
        username = repr(req.user.login)
57
57
    else:
58
58
        username = "null"
59
59
    req.write("""  <script type="text/javascript">
61
61
    username = %s;
62
62
  </script>
63
63
""" % (repr(conf.root_dir), username))
64
 
    iconurl = get_icon_url(req.app)
 
64
    iconurl = get_icon_url(req.app, small=True)
65
65
    if iconurl:
66
66
        req.write("""  <link rel="shortcut icon" href="%s" />
67
67
""" % cgi.escape(iconurl))
86
86
  <h2>Informatics Virtual Learning Environment</h2>
87
87
""")
88
88
 
89
 
    if req.username:
 
89
    if req.user:
90
90
        # Get the user's nickname from the request session
91
 
        nickname = req.get_session()['nick']
 
91
        nickname = req.user.nick
92
92
        req.write('  <p class="userhello">%s (<span '
93
93
            'class="username">%s</span>) |\n'
 
94
            '    <a href="%s">Settings</a> |\n'
94
95
            '    <a href="%s">Help</a> |\n'
95
 
            '    <a href="%s">Logout</a>\n'
 
96
            '    <a href="%s">Sign out</a>\n'
96
97
            '  </p>\n' %
97
 
            (cgi.escape(nickname), cgi.escape(req.username),
 
98
            (cgi.escape(nickname), cgi.escape(req.user.login),
 
99
             cgi.escape(util.make_path('settings')),
98
100
             cgi.escape(get_help_url(req)),
99
101
             cgi.escape(util.make_path('logout'))))
100
102
    else:
113
115
    # If req has a "no_agreement" attribute, then it is because the user has
114
116
    # not signed the agreement; therefore we are displaying the TOS page.
115
117
    # Do not show apps (see dispatch.login).
116
 
    if req.username and not hasattr(req, 'no_agreement'):
 
118
    if req.user and not req.user.state == 'no_agreement':
117
119
        # Only print app tabs if logged in
118
120
        print_apps_list(req, req.app)
119
121
    req.write('</div>\n<div id="ivlebody">\n')
143
145
    """Given an app's url name, gets the URL of the icon image for this app,
144
146
    relative to the site root. Returns None if the app has no icon."""
145
147
    if appurl is None: return None
146
 
    app = conf.apps.app_url[appurl]
 
148
    try:
 
149
        app = conf.apps.app_url[appurl]
 
150
    except KeyError:
 
151
        # Due to navigating to a bad app
 
152
        return None
147
153
    if small:
148
154
        icon_dir = conf.apps.app_icon_dir_small
149
155
    else: