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

« back to all changes in this revision

Viewing changes to ivle/webapp/base/ivle-headings.html

Modified the database so that exercises are now stored in the database, rather
than in flat files.

This also necessitated adding new tables and storm classes for test suites
and test cases.

Note that this commit merely changes the database and adds a script to
upload exercises. The code for actually reading exercises has yet
to be changed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
 
11
11
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
12
12
 
13
 
      <script py:if="not publicmode and write_javascript_settings" type="text/javascript">
 
13
      <script py:if="write_javascript_settings" type="text/javascript">
14
14
        root_dir = "${root_dir}";
15
15
        public_host = "${public_host}";
16
 
        svn_base = "${svn_base}";
17
16
        username = "${login}";
18
17
      </script>
19
18
 
20
19
      <link py:if="favicon" rel="shortcut icon" href="${favicon}" />
21
20
 
22
 
      <py:for each="style in styles">
23
 
      <link rel="stylesheet" type="text/css" href="${style}" />
 
21
      <link rel="stylesheet" type="text/css" href="/media/common/ivle.css" />
 
22
 
 
23
      <script type="text/javascript" src="/media/common/util.js"></script>
 
24
      <script type="text/javascript" src="/media/common/json2.js"></script>
 
25
      <script type="text/javascript" src="/media/common/md5.js"></script>
 
26
      <script type="text/javascript" src="/media/common/tos.js"></script>
 
27
 
 
28
      <!-- Plugin style sheets and JavaScript -->
 
29
      <py:for each="style in app_styles">
 
30
        <link rel="stylesheet" type="text/css" href="${style}" />
24
31
      </py:for>
25
32
 
26
33
      <py:for each="script in scripts">
27
 
      <script type="text/javascript" src="${script}"></script>
 
34
        <script type="text/javascript" src="${script}"></script>
28
35
      </py:for>
29
36
 
30
37
      <!-- Plugin JavaScript to be run on page load -->
31
38
      <script type="text/javascript">
32
39
        <py:for each="init_script in scripts_init">
33
 
          $(document).ready(${init_script});
 
40
          window.addEventListener("load", ${init_script}, false);
34
41
        </py:for>
35
42
      </script>
36
43
      ${select('*[local-name()!="title"]')}
38
45
  </py:match>    
39
46
  <py:match path="body[@status!='done']" once="true">
40
47
    <body>
41
 
      <div id="ivleheader">
42
 
        <ul id="ivle_breadcrumbs">
43
 
          <li py:attrs="{'class': 'breadcrumb crumbmenu' if logged_in else 'breadcrumb'}">
44
 
            <a href="/">
45
 
              <img src="${title_img}" alt="Informatics Virtual Learning Environment" />
46
 
            </a>
47
 
            <ul py:if="logged_in">
48
 
              <li py:for="app in apps_in_tabs">
49
 
                <a py:attrs="{'style': 'background: url(%s) no-repeat; padding-left: 30px' % app['icon_url']} if app['has_icon'] else {}" href="${app['path']}" title="${app['desc']}">${app['name']}</a>
50
 
              </li>
51
 
            </ul>
52
 
          </li>
53
 
          <li py:for="thiscrumb in breadcrumbs"
54
 
              py:if="thiscrumb"
55
 
              py:attrs="{True:{'class':'crumbmenu'}, False: None}[hasattr(thiscrumb, 'menu')]">
56
 
            <py:choose test="getattr(thiscrumb, 'url', None)">
57
 
              <py:when test="None">
58
 
                <span>${thiscrumb.text}</span>
59
 
              </py:when>
60
 
              <py:otherwise>
61
 
                <a href="${thiscrumb.url}">
62
 
                  ${thiscrumb.text}
63
 
                </a>
64
 
              </py:otherwise>
65
 
            </py:choose>
66
 
            <ul py:if="hasattr(thiscrumb, 'menu')">
67
 
              <li py:for="item in thiscrumb.menu"><a href="${thiscrumb.menu[item]}">${item}</a></li>
68
 
            </ul>
69
 
          </li>
 
48
      <div id="ivleheader"></div>
 
49
      <div id="ivleheader_text">
 
50
        <h1>IVLE</h1>
 
51
        <h2>Informatics Virtual Learning Environment</h2>
 
52
        <py:choose>
 
53
          <p py:when="publicmode" class="userhello">Running in public mode.</p>
 
54
          <p py:when="logged_in" class="userhello">
 
55
            <span id="usernick">${nick}</span>
 
56
            (<span class="username">${login}</span>) |
 
57
            <a href="/~${login}/+settings">Settings</a> |
 
58
            <py:choose>
 
59
              <a py:when="defined('help_path')" href="/+help/${help_path}">Help</a>
 
60
              <a py:otherwise="" href="/+help/">Help</a>
 
61
            |</py:choose>
 
62
            <a href="/logout">Sign out</a>
 
63
          </p>
 
64
          <p py:otherwise="" class="userhello">Not logged in.</p>
 
65
        </py:choose>
 
66
      </div>
 
67
      <div id="ivleheader_tabs">
 
68
        <ul id="apptabs">
 
69
          <py:for each="app in apps_in_tabs">
 
70
            <li py:if="app['this_app']" class="thisapp"><py:if test="app['has_icon']"><img src="${app['icon_url']}" alt="" /> </py:if><a href="${app['path']}" title="${app['desc']}">${app['name']}</a></li>
 
71
            <li py:if="not app['this_app']"><py:if test="app['has_icon']"><img src="${app['icon_url']}" alt="" /> </py:if><a href="${app['path']}" title="${app['desc']}">${app['name']}</a></li>
 
72
          </py:for>
70
73
        </ul>
71
 
        <div id="ivleheader_text">
72
 
          <py:choose>
73
 
            <p py:when="publicmode" class="userhello">Public access mode</p>
74
 
            <p py:when="logged_in" class="userhello">
75
 
              <span id="usernick">${nick}</span>
76
 
              (<span class="username">${login}</span>) |
77
 
              <a href="/~${login}">Settings</a> |
78
 
              <py:choose>
79
 
                <a py:when="defined('help_path')" href="/+help/${help_path}">Help</a>
80
 
                <a py:otherwise="" href="/+help/">Help</a>
81
 
              |</py:choose>
82
 
              <a href="/+logout">Log out</a>
83
 
            </p>
84
 
            <p py:otherwise="" class="userhello">Not logged in.</p>
85
 
          </py:choose>
86
 
        </div>
87
74
      </div>
88
75
      <div id="ivlebody">
89
76
        <div id="ivleview">