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

« back to all changes in this revision

Viewing changes to ivle/webapp/tos/media/tos.js

  • Committer: mattgiuca
  • Date: 2008-01-10 00:10:11 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:149
fileservice:
    * Both subversion and OS mode listings now output "." as one of the files.
        This is deliberate in order for the client to see (by the presence or
        absence of the "svnstatus" attribute) whether this directory is
        under version control.
    * Directories no longer display a "type" attribute (since this was always
        just the default type, it's meaningless).
    * Fixed bug where unversioned directories inside a versioned directory
        output an empty listing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* IVLE - Informatics Virtual Learning Environment
2
 
 * Copyright (C) 2007-2008 The University of Melbourne
3
 
 *
4
 
 * This program is free software; you can redistribute it and/or modify
5
 
 * it under the terms of the GNU General Public License as published by
6
 
 * the Free Software Foundation; either version 2 of the License, or
7
 
 * (at your option) any later version.
8
 
 *
9
 
 * This program is distributed in the hope that it will be useful,
10
 
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
 * GNU General Public License for more details.
13
 
 *
14
 
 * You should have received a copy of the GNU General Public License
15
 
 * along with this program; if not, write to the Free Software
16
 
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17
 
 *
18
 
 * Module: Terms of Service
19
 
 * Author: Matt Giuca
20
 
 * Date: 14/2/2008
21
 
 *
22
 
 * Client handler for the "Terms of Service" page.
23
 
 * (Accepts user's acceptance, and calls usermgt to create the user's jail and
24
 
 * activate their account).
25
 
 */
26
 
 
27
 
/* The user must send this declaration message to ensure they acknowledge the
28
 
 * TOS.
29
 
 * (This is the exact same string as in userservice).
30
 
 */
31
 
USER_DECLARATION = {"declaration":
32
 
                        "I accept the IVLE Terms of Service"};
33
 
 
34
 
/** Creates a "dot dot dot" animation to indicate the client is waiting for a
35
 
 * response from the server.
36
 
 * This will keep animating forever.
37
 
 * Returns a DOM element which will automatically have its contents changed on
38
 
 * intervals.
39
 
 */
40
 
function make_dots_anim()
41
 
{
42
 
    var p = document.createElement("p");
43
 
    anim_dots = document.createTextNode("");
44
 
    p.appendChild(anim_dots);
45
 
    setInterval("anim_dots.data = updateDots(anim_dots.data);", 500);
46
 
    return p;
47
 
}
48
 
function updateDots(text)
49
 
{
50
 
    if (text.length >= 4)
51
 
        return ".";
52
 
    else
53
 
        return text + ".";
54
 
}
55
 
 
56
 
function accept_license()
57
 
{
58
 
    /* The user has accepted the license.
59
 
     * We need to call usermgt to tell it the good news.
60
 
     * It will go away and make the user's jail and activate the account in
61
 
     * the DB, among other things.
62
 
     * This could take awhile (which is why we're using Ajax).
63
 
     * We need to wait on this page for the server's response.
64
 
     */
65
 
    /* Start by clearing away these buttons. */
66
 
    var tos_acceptbuttons = document.getElementById("tos_acceptbuttons");
67
 
    dom_removechildren(tos_acceptbuttons);
68
 
    /* Print a "please wait" message */
69
 
    tos_acceptbuttons.appendChild(dom_make_text_elem("p",
70
 
        "IVLE is now setting up your environment. Please wait..."));
71
 
    tos_acceptbuttons.appendChild(make_dots_anim());
72
 
    /* Make the Ajax request */
73
 
    ajax_call(handle_accept_response, "userservice", "activate_me",
74
 
        USER_DECLARATION, "POST")
75
 
}
76
 
 
77
 
function handle_accept_response(xhr)
78
 
{
79
 
    /* TEMP */
80
 
    var tos_acceptbuttons = document.getElementById("tos_acceptbuttons");
81
 
    dom_removechildren(tos_acceptbuttons);
82
 
 
83
 
    try
84
 
    {
85
 
        response = JSON.parse(xhr.responseText);
86
 
    }
87
 
    catch (e)
88
 
    {
89
 
        response = {'response': 'parse-failure'};
90
 
    }
91
 
 
92
 
    if (response.response == 'usrmgt-failure')
93
 
    {
94
 
    tos_acceptbuttons.appendChild(dom_make_text_elem("p",
95
 
        "Error connecting to User Management server. Please try again later.")); 
96
 
    }
97
 
    else if (response.response == 'parse-failure')
98
 
    {
99
 
    tos_acceptbuttons.appendChild(dom_make_text_elem("p",
100
 
        "Error connecting to server. Please try again later. "));
101
 
    }
102
 
    else
103
 
    {
104
 
        /* Refresh the page; as the user is now (apparently) logged in */
105
 
        window.location.href = parse_url(window.location.href).args["url"] || "/";
106
 
    }
107
 
}
108
 
 
109
 
function decline_license()
110
 
{
111
 
    /* Redirect to the logout page */
112
 
    window.location.href = app_path("+logout");
113
 
}