~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: 2010-02-11 11:33:33 UTC
  • Revision ID: grantw@unimelb.edu.au-20100211113333-0j040ct188bfpjl5
Add subject creation/editing UI. Not linked just yet.

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
 
    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;
 
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
 
44
        {
 
45
            alert("Error: Could not add group. Does it already exist?");
 
46
        }
 
47
        /* Reload the display */
 
48
        window.location.href = window.location.href;
 
49
    }
41
50
}
42
51
 
43
52
function manage_group(offeringid, groupid, namespace)
73
82
        var ul = document.createElement("ul");
74
83
        for (var i=0; i<groupmembers.length; i++)
75
84
        {
76
 
            var li = dom_make_text_elem("li", groupmembers[i].fullname + " (" +
77
 
                                              groupmembers[i].login + ")");
 
85
            var member = groupmembers[i];
 
86
 
 
87
            var li = dom_make_text_elem("li", member.fullname + " (" +
 
88
                                              member.login + ")");
 
89
            var rmbutton = document.createElement("input");
 
90
            rmbutton.value = "Remove";
 
91
            rmbutton.type = "image";
 
92
            /* XXX: There must be a better way to do this! */
 
93
            rmbutton.src = "/+media/ivle.webapp.groups/cross.png";
 
94
 
 
95
            $(rmbutton).click(function(offeringid, login, groupid, elemnm)
 
96
            {
 
97
                return function() {
 
98
                    if (!confirm("Are you sure want to revoke this user's membership?"))
 
99
                        return;
 
100
                    this.disabled = true;
 
101
                    var args = {'login': login, 'groupid': groupid};
 
102
                    ajax_call(null, serviceapp, 'unassign_group', args, 'POST');
 
103
                    list_projectgroup_contents(offeringid, groupid, elemnm);
 
104
                };
 
105
            }(offeringid, member.login, groupid, elemnm));
 
106
 
 
107
            li.appendChild(rmbutton);
78
108
            ul.appendChild(li);
79
109
        }
80
110
 
90
120
        var button = document.createElement("input");
91
121
        button.value = "Add";
92
122
        button.type = 'button';
93
 
        button.addEventListener("click", function()
 
123
        $(button).click(function()
94
124
        {
95
125
            this.disabled = true;
96
126
            args = {'login': select.value, 'groupid': groupid};
97
127
            ajax_call(null, serviceapp, 'assign_group', args, 'POST');
98
128
            list_projectgroup_contents(offeringid, groupid, elemnm);
99
 
        }, false);
 
129
        });
100
130
        add_li.appendChild(select);
101
131
        add_li.appendChild(button);
102
132
        ul.appendChild(add_li);