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

« back to all changes in this revision

Viewing changes to www/media/common/tos.js

  • Committer: matt.giuca
  • Date: 2009-01-12 01:03:59 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:1077
Reverted revisions 1059 and 1069 - renaming the DB user from 'postgres' to
    'ivleuser'.
    Heart was in the right place, but currently doesn't work because postgres
    owns the relations and we've no way to correct that yet (since we manually
    run the .sql script as postgres).

    This will be reverted back again once that's solved.

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 = window.location.href;
 
106
    }
 
107
}
 
108
 
 
109
function decline_license()
 
110
{
 
111
    /* Redirect to the logout page */
 
112
    window.location.href = app_path("logout");
 
113
}