def _updateGroup(request, conn, gid):
    # update group
    controller = BaseGroup(conn, gid)
    name_check = conn.checkGroupName(request.REQUEST.get('name'), controller.group.name)
    form = GroupForm(initial={'experimenters':controller.experimenters}, data=request.POST.copy(), name_check=name_check)
    if form.is_valid():
        name = form.cleaned_data['name']
        description = form.cleaned_data['description']
        owners = form.cleaned_data['owners']
        permissions = form.cleaned_data['permissions']
        readonly = toBoolean(form.cleaned_data['readonly'])
        controller.updateGroup(name, owners, permissions, readonly, description)
    else:
        raise Exception(form.errors.as_text())