def _updateExperimenter(request, conn, eid):
    # update experimenter
    controller = BaseExperimenter(conn, eid)
    name_check = conn.checkOmeName(request.REQUEST.get('omename'), controller.experimenter.omeName)
    email_check = conn.checkEmail(request.REQUEST.get('email'), controller.experimenter.email)
    
    initial={'active':True}
    exclude = list()

    if len(request.REQUEST.getlist('other_groups')) > 0:
        others = controller.getSelectedGroups(request.REQUEST.getlist('other_groups'))   
        initial['others'] = others
        initial['default'] = [(g.id, g.name) for g in others]
        exclude.extend([g.id for g in others])

    available = controller.otherGroupsInitialList(exclude)
    initial['available'] = available

    form = ExperimenterForm(initial=initial, data=request.POST.copy(), name_check=name_check, email_check=email_check)

    if form.is_valid():
        omename = form.cleaned_data['omename']
        firstName = form.cleaned_data['first_name']
        middleName = form.cleaned_data['middle_name']
        lastName = form.cleaned_data['last_name']
        email = form.cleaned_data['email']
        institution = form.cleaned_data['institution']
        admin = toBoolean(form.cleaned_data['administrator'])
        active = toBoolean(form.cleaned_data['active'])
        defaultGroup = form.cleaned_data['default_group']
        otherGroups = form.cleaned_data['other_groups']
        controller.updateExperimenter(omename, firstName, lastName, email, admin, active, defaultGroup, otherGroups, middleName, institution)
    else:
        raise Exception(form.errors.as_text())
Esempio n. 2
0
def _updateExperimenter(request, conn, eid):
    groups = list(conn.getObjects("ExperimenterGroup"))
    groups.sort(key=lambda x: x.getName().lower())

    experimenter, defaultGroup, otherGroups, isLdapUser, hasAvatar = prepare_experimenter(
        conn, eid)

    name_check = conn.checkOmeName(request.REQUEST.get('omename'),
                                   experimenter.omeName)
    email_check = conn.checkEmail(request.REQUEST.get('email'),
                                  experimenter.email)
    initial = {'active': True, 'groups': otherGroupsInitialList(groups)}

    form = ExperimenterForm(initial=initial,
                            data=request.POST.copy(),
                            name_check=name_check,
                            email_check=email_check)

    if form.is_valid():
        omename = form.cleaned_data['omename']
        firstName = form.cleaned_data['first_name']
        middleName = form.cleaned_data['middle_name']
        lastName = form.cleaned_data['last_name']
        email = form.cleaned_data['email']
        institution = form.cleaned_data['institution']
        admin = toBoolean(form.cleaned_data['administrator'])
        active = toBoolean(form.cleaned_data['active'])
        defaultGroup = form.cleaned_data['default_group']
        otherGroups = form.cleaned_data['other_groups']

        # default group
        for g in groups:
            if long(defaultGroup) == g.id:
                dGroup = g
                break

        listOfOtherGroups = set()
        # rest of groups
        for g in groups:
            for og in otherGroups:
                # remove defaultGroup from otherGroups if contains
                if long(og) == long(dGroup.id):
                    pass
                elif long(og) == g.id:
                    listOfOtherGroups.add(g)

        conn.updateExperimenter(experimenter, omename, firstName, lastName,
                                email, admin, active, dGroup,
                                listOfOtherGroups, middleName, institution)
    else:
        raise Exception(form.errors.as_text())
Esempio n. 3
0
def _updateExperimenter(request, conn, eid):
    groups = list(conn.getObjects("ExperimenterGroup"))
    groups.sort(key=lambda x: x.getName().lower())
    
    experimenter, defaultGroup, otherGroups, isLdapUser, hasAvatar = prepare_experimenter(conn, eid)
    
    name_check = conn.checkOmeName(request.REQUEST.get('omename'), experimenter.omeName)
    email_check = conn.checkEmail(request.REQUEST.get('email'), experimenter.email)
    initial={'active':True, 'groups':otherGroupsInitialList(groups)}
    
    form = ExperimenterForm(initial=initial, data=request.POST.copy(), name_check=name_check, email_check=email_check)
       
    if form.is_valid():
        omename = form.cleaned_data['omename']
        firstName = form.cleaned_data['first_name']
        middleName = form.cleaned_data['middle_name']
        lastName = form.cleaned_data['last_name']
        email = form.cleaned_data['email']
        institution = form.cleaned_data['institution']
        admin = toBoolean(form.cleaned_data['administrator'])
        active = toBoolean(form.cleaned_data['active'])
        defaultGroup = form.cleaned_data['default_group']
        otherGroups = form.cleaned_data['other_groups']
        
        # default group
        for g in groups:
            if long(defaultGroup) == g.id:
                dGroup = g
                break

        listOfOtherGroups = set()
        # rest of groups
        for g in groups:
            for og in otherGroups:
                # remove defaultGroup from otherGroups if contains
                if long(og) == long(dGroup.id):
                    pass
                elif long(og) == g.id:
                    listOfOtherGroups.add(g)

        conn.updateExperimenter(experimenter, omename, firstName, lastName, email, admin, active, dGroup, listOfOtherGroups, middleName, institution)
    else:
        raise Exception(form.errors.as_text())