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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/* IVLE - Informatics Virtual Learning Environment
 * Copyright (C) 2007-2009 The University of Melbourne
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * Author: Nick Chadwick
 */

/* Called when a form upload comes back (from an iframe).
 * Refreshes the page.
 */
 
//XXX: Make this actually move the element, not just reload the page
function move_up(worksheet)
{
    var ws_row = document.getElementById(worksheet);
    var ws_row_index = ws_row.rowIndex;
    
    if (ws_row_index == 1) {
        alert('Item already at top of list.');
        return;
    }
    
    var callback = function(xhr)
    {
        var testresponse;
        try
        {
            testresponse = JSON.parse(xhr.responseText);
            window.location.reload();
        }
        catch(ex)
        {
            alert('There was an error updating the worksheets list.');
            return;
        }
    }
    
    update_path = "api/subjects/" + subject + "/" + year + "/" + 
                   semester + "/+worksheets";
    var args = {'ivle.op': 'move_up', 'worksheetid': worksheet}
    
    ajax_call(callback, update_path, "", args, 'POST');
}

//XXX: Make this actually move the element, not just reload the page
function move_down(worksheet)
{
    var ws_table = document.getElementById('worksheets_table');
    var ws_row = document.getElementById(worksheet);
    var ws_row_index = ws_row.rowIndex;
    
    if (ws_row_index == (ws_table.rows.length - 1)) {
        alert('Item already at bottom of list.');
        return;
    }
    
    var callback = function(xhr)
    {
        var testresponse;
        try
        {
            testresponse = JSON.parse(xhr.responseText);
            window.location.reload();
        }
        catch(ex)
        {
            alert('There was an error updating the worksheets list.');
            return;
        }
    }
    
    update_path = "api/subjects/" + subject + "/" + year + "/" + 
                   semester + "/+worksheets";
    var args = {'ivle.op': 'move_down', 'worksheetid': worksheet}
    
    ajax_call(callback, update_path, "", args, 'POST');
}

function editworksheet()
{
    /* Get the worksheet code the admin is submitting */
    var namearea = document.getElementById("worksheet_name");
    var check_box = document.getElementById("worksheet_asses");
    var sheet_area = document.getElementById("worksheet_data");
    var format_opt = document.getElementById("worksheet_format");
    
    var worksheetname = namearea.value;
    var assessable = check_box.checked;
    var data = sheet_area.value;
    var format = format_opt.value;

    var args = {'ivle.op': 'save', 'data': data, 'assessable': assessable,
                'name': worksheetname, 'format': format};

    /* Send the form as multipart/form-data, since we are sending a whole lump
     * of Python code, it should be treated like a file upload. */
    /* AJAX callback function */
    var callback = function(xhr)
        {
            var testresponse;
            try
            {
                testresponse = JSON.parse(xhr.responseText);
                alert("Worksheet successfully updated.");
            }
            catch (ex)
            {
                alert("There was an error submitting your worksheet. "
                    + "Please notify the administrators of this.");
                return;
            }
        }
    //XXX: This shouldn't be generated here
    save_path = "api/subjects/" + subject + "/" + year + "/" + semester + 
        "/+worksheets/" + worksheet;
    ajax_call(callback, save_path, "", args, "POST");
}

function addworksheet()
{
    /* Get the worksheet code the admin is submitting */
    var idarea = document.getElementById("worksheet_identifier");
    var namearea = document.getElementById("worksheet_name");
    var check_box = document.getElementById("worksheet_asses");
    var sheet_area = document.getElementById("worksheet_data");
    var format_opt = document.getElementById("worksheet_format");
    
    var worksheet_identifier = idarea.value;
    var worksheetname = namearea.value;
    var assessable = check_box.checked;
    var data = sheet_area.value;
    var format = format_opt.value;

    var args = {'ivle.op': 'add_worksheet', 'data': data, 'assessable': 
        assessable, 'name': worksheetname, 'identifier': worksheet_identifier,
        'format': format};

    /* Send the form as multipart/form-data, since we are sending a whole lump
     * of Python code, it should be treated like a file upload. */
    /* AJAX callback function */
    var callback = function(xhr)
        {
            var testresponse;
            try
            {
                testresponse = JSON.parse(xhr.responseText);
                alert("Worksheet successfully saved.");
                window.location = "./";
            }
            catch (ex)
            {
                alert("There was an error submitting your worksheet. "
                    + "Please notify the administrators of this.");
                return;
            }
        }
    //XXX: This shouldn't be generated here
    save_path = "api/subjects/" + subject + "/" + year + "/" + semester +
                "/+worksheets";
    ajax_call(callback, save_path, "", args, "POST");
}