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

« back to all changes in this revision

Viewing changes to ivle/webapp/tutorial/exercise.html

  • Committer: matt.giuca
  • Date: 2009-01-14 10:10:12 UTC
  • mto: This revision was merged to the branch mainline in revision 1090.
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:branches%2Fstorm:1132
The new ivle.database.User class is now used in Request and usrmgt, which
    means it is now almost universally used in favour of ivle.user.User (now
    deprecated).

Noticeable change: The minor bug where the change to a user object in the
    database is not reflected in the user's session (eg. changing nick doesn't
    update title until log out).

ivle.dispatch:
    Session now contains 'login' (username string) rather than 'user' (full
        ivle.user.User object). This is a unicode string now.

    req.user is now a ivle.database.User object rather than an ivle.user.User
        object. This makes for a whole lot of really subtle differences, but
        largely conforms to the same interface. Note that strings must now all
        be unicode.

    login: Removed use of ivle.db. Now uses User object.

    html: Now handles unicode login and config options.

ivle.db: Removed update_user. Now replaced with Storm model.

ivle.database: Renamed has_cap back to hasCap (saved for later). Fixed small
    unicode bug.

ivle.makeuser.make_svn_auth now takes a store object.

usrmgt-server: Use new User class.

userservice: Now uses User class internally.
    get_user action now returns ISO 8601 date format, rather than a
        time tuple. (Wasn't being used).
    get_user action no longer transmits local_password (small security risk;
        note that it wasn't possible to see this for any user other than
        yourself unless admin).

ivle.util - added function object_to_dict.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<html xmlns="http://www.w3.org/1999/xhtml"
2
 
      xmlns:py="http://genshi.edgewall.org/" py:strip="">
3
 
  <div class="exercise" id="exercise${exerciseid}">
4
 
    <p><b>Exercise:</b> ${exercisename}</p>
5
 
    <py:if test="exercisedesc is not None">
6
 
      <div>${exercisedesc}</div>
7
 
    </py:if>
8
 
    <input id="input_resettext_exercise${exerciseid}" type="hidden" value="${exercisepartial_backup}" />
9
 
    <textarea id="textarea_exercise${exerciseid}" class="exercisebox"
10
 
        onkeypress="return catch_textbox_input(&quot;exercise${exerciseid}&quot;, '${filename}',
11
 
        event.keyCode)"
12
 
        onchange="set_saved_status(&quot;exercise${exerciseid}&quot;, '${filename}',
13
 
        &quot;Save&quot;)"
14
 
        cols="80" rows="${rows}">${exercisepartial}</textarea>
15
 
    <div class="exercisebuttons">
16
 
      <input type="button" value="Saved" disabled="disabled" id="savebutton_exercise${exerciseid}"
17
 
          onclick="saveexercise(&quot;exercise${exerciseid}&quot;, '${filename}')"
18
 
          title="Save your solution to this exercise" />
19
 
      <input type="button" value="Reset" id="resetbutton_exercise${exerciseid}"
20
 
          onclick="resetexercise(&quot;exercise${exerciseid}&quot;, '${filename}')"
21
 
          title="Reload the original partial solution for this exercise" />
22
 
      <input type="button" value="Run"
23
 
          onclick="runexercise(&quot;exercise${exerciseid}&quot;, '${filename}')"
24
 
          title="Run this program in the console" />
25
 
      <input type="button" value="Submit"
26
 
              id="submitbutton_exercise${exerciseid}"
27
 
              onclick="submitexercise(&quot;exercise${exerciseid}&quot;, '${filename}')"
28
 
              title="Submit this solution for evaluation" />
29
 
    </div>
30
 
    <div class="testoutput">
31
 
    </div>
32
 
    <div class="problem_summary">
33
 
      <ul>
34
 
        <li id="summaryli_exercise${exerciseid}" class="${complete}">
35
 
          <b><span id="summarycomplete_exercise${exerciseid}">${complete}</span>.</b>
36
 
            Attempts: <span id="summaryattempts_exercise${exerciseid}">${attempts}</span>.
37
 
        </li>
38
 
      </ul>
39
 
    </div>
40
 
    <!-- This is filled in by javascript when the page loads -->
41
 
    <div class="attempthistory">
42
 
      <p>
43
 
        <a title="Click to view previous submissions you have made for this exercise" 
44
 
              onclick="open_previous(&quot;exercise${exerciseid}&quot;, '${filename}')">
45
 
          View previous attempts
46
 
        </a>
47
 
      </p>
48
 
    <div style="display: none">
49
 
      <h3>Previous attempts</h3>
50
 
        <p>
51
 
          <a title="Close the previous attempts" onclick="close_previous(&quot;exercise${exerciseid}&quot;)">
52
 
            Close attempts
53
 
          </a>
54
 
        </p>
55
 
        <p>
56
 
          <select title="Select an attempt's time stamp from the list">
57
 
            <option></option>
58
 
          </select>
59
 
          <input type="button" value="View"
60
 
              onclick="select_attempt(&quot;exercise${exerciseid}&quot;, '${filename}')" />
61
 
        </p>
62
 
        <p>
63
 
          <textarea readonly="readonly" class="exercisebox" cols="80" rows="${rows}"
64
 
              title="You submitted this code on a previous attempt">
65
 
          </textarea>
66
 
        </p>
67
 
      </div>
68
 
    </div>
69
 
  </div>
70
 
</html>