Beispiel #1
0
def my_account(request, action=None, conn=None, **kwargs):
    template = "webadmin/myaccount.html"

    experimenter, defaultGroup, otherGroups, isLdapUser, hasAvatar = prepare_experimenter(
        conn)
    try:
        defaultGroupId = defaultGroup.id
    except:
        defaultGroupId = None

    ownedGroups = ownedGroupsInitial(conn)

    password_form = ChangePassword()

    form = None
    if action == "save":
        if request.method != 'POST':
            return HttpResponseRedirect(
                reverse(viewname="wamyaccount", args=["edit"]))
        else:
            email_check = conn.checkEmail(request.REQUEST.get('email'),
                                          experimenter.email)
            form = MyAccountForm(data=request.POST.copy(),
                                 initial={'groups': otherGroups},
                                 email_check=email_check)
            if form.is_valid():
                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']
                defaultGroupId = form.cleaned_data['default_group']
                conn.updateMyAccount(experimenter, firstName, lastName, email,
                                     defaultGroupId, middleName, institution)
                return HttpResponseRedirect(reverse("wamyaccount"))

    else:
        form = MyAccountForm(
            initial={
                'omename': experimenter.omeName,
                'first_name': experimenter.firstName,
                'middle_name': experimenter.middleName,
                'last_name': experimenter.lastName,
                'email': experimenter.email,
                'institution': experimenter.institution,
                'default_group': defaultGroupId,
                'groups': otherGroups
            })

    photo_size = conn.getExperimenterPhotoSize()

    context = {
        'form': form,
        'ldapAuth': isLdapUser,
        'experimenter': experimenter,
        'ownedGroups': ownedGroups,
        'password_form': password_form
    }
    context['template'] = template
    return context