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

« back to all changes in this revision

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

  • Committer: William Grant
  • Date: 2009-04-07 03:48:23 UTC
  • mfrom: (1165.1.46 submissions)
  • Revision ID: grantw@unimelb.edu.au-20090407034823-snd6wa5p6otzq073
Allow students to submit projects from personal or group repositories.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
/* Creates a group */
26
26
function create_new_group(projectsetid)
27
27
{
28
 
    groupnm = window.prompt('Please enter a name for the group','');
29
 
 
30
 
    /* If the provided name is empty, or the prompt is cancelled, stop. */
31
 
    if (groupnm)
32
 
    {
33
 
        args = {
34
 
            'projectsetid': projectsetid,
35
 
            'groupnm':groupnm,
36
 
            'nick': groupnm
37
 
        };
38
 
        response = ajax_call(null, serviceapp, 'create_group', args, 'POST');
39
 
        if (response.status == 200)
40
 
        {
41
 
            /* pass */
42
 
        }
43
 
        else if (response.status == 400)
44
 
        {
45
 
            alert("Could not create group: " + response.getResponseHeader('X-IVLE-Error'));
46
 
        }
47
 
        else
48
 
        {
49
 
            alert("Error: Could not add group. Does it already exist?");
50
 
        }
51
 
        /* Reload the display */
52
 
        window.location.href = window.location.href;
53
 
    }
 
28
    groupnm = window.prompt('Please enter a name for the group');
 
29
    args = {'projectsetid': projectsetid, 'groupnm':groupnm, 'nick': groupnm};
 
30
    response = ajax_call(null, serviceapp, 'create_group', args, 'POST');
 
31
    if (response.status == 200)
 
32
    {
 
33
        /* pass */
 
34
    }
 
35
    else
 
36
    {
 
37
        alert("Error: Could not add group. Does it already exist?");
 
38
    }
 
39
    /* Reload the display */
 
40
    window.location.href = window.location.href;
54
41
}
55
42
 
56
43
function manage_group(offeringid, groupid, namespace)
57
44
{
 
45
    var elem = document.getElementById(namespace);
58
46
    var button = document.getElementById(namespace+"_button");
59
47
    var manage_div = document.createElement("div")
60
48
    manage_div.id = namespace + "_contents";
61
 
 
62
 
    /* Get the td which is button's parent (the 'actions' column) */
63
 
    button_td = button.parentNode;
64
 
    button_td.appendChild(manage_div);
65
 
 
 
49
    elem.insertBefore(manage_div, button);
 
50
    
66
51
    /* Refresh contents */
67
52
    list_projectgroup_contents(offeringid, groupid, manage_div.id);
68
53
 
69
54
    /* Remove the button element */
70
 
    button_td.removeChild(button);
 
55
    elem.removeChild(button);
71
56
}
72
57
 
73
58
/* Lists the information about a particular project group identified by groupid 
88
73
        var ul = document.createElement("ul");
89
74
        for (var i=0; i<groupmembers.length; i++)
90
75
        {
91
 
            var member = groupmembers[i];
92
 
 
93
 
            var li = dom_make_text_elem("li", member.fullname + " (" +
94
 
                                              member.login + ") ");
95
 
            var rmbutton = document.createElement("input");
96
 
            rmbutton.value = "Remove";
97
 
            rmbutton.type = "image";
98
 
            /* XXX: There must be a better way to do this! */
99
 
            rmbutton.src = "/+media/ivle.webapp.core/images/interface/delete.png";
100
 
 
101
 
            $(rmbutton).click(function(offeringid, login, groupid, elemnm)
102
 
            {
103
 
                return function() {
104
 
                    if (!confirm("Are you sure want to revoke this user's membership?"))
105
 
                        return;
106
 
                    this.disabled = true;
107
 
                    var args = {'login': login, 'groupid': groupid};
108
 
                    ajax_call(null, serviceapp, 'unassign_group', args, 'POST');
109
 
                    list_projectgroup_contents(offeringid, groupid, elemnm);
110
 
                };
111
 
            }(offeringid, member.login, groupid, elemnm));
112
 
 
113
 
            li.appendChild(rmbutton);
 
76
            var li = dom_make_text_elem("li", groupmembers[i].fullname + " (" +
 
77
                                              groupmembers[i].login + ")");
114
78
            ul.appendChild(li);
115
79
        }
116
80