Пример #1
0
def _updateGroup(request, conn, gid):
    # update group
    experimenters = list(conn.getObjects("Experimenter"))
    group = conn.getObject("ExperimenterGroup", gid)
    name_check = conn.checkGroupName(request.REQUEST.get('name'), group.name)
    form = GroupForm(initial={'experimenters': 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']
        members = form.cleaned_data['members']

        listOfOwners = getSelectedExperimenters(conn, owners)
        if permissions != int(permissions):
            perm = setActualPermissions(permissions)
        else:
            perm = None
        conn.updateGroup(group, name, perm, listOfOwners, description)

        new_members = getSelectedExperimenters(conn,
                                               mergeLists(members, owners))
        conn.setMembersOfGroup(group, new_members)
    else:
        raise Exception(form.errors.as_text())