示例#1
0
def EditUser(request, ID):
    user = get_user_model().objects.get(id=ID)
    print user

    if request.method == 'POST':
        form = EditUserForm(request.POST, instance=user)
        if form.is_valid():
            form.save()
            userid = User.objects.get(username=request.user)
            username = User.objects.get(username=user)
            Message.objects.create(username=userid,
                                   type=u'信息修改',
                                   action=u'修改用户信息',
                                   action_ip=UserIP(request),
                                   content='修改%s用户信息' % username)
            return HttpResponseRedirect(reverse('listuserurl'))
    else:
        form = EditUserForm(instance=user)

    kwvars = {
        'ID': ID,
        'form': form,
        'request': request,
    }

    return render_to_response('users/user.edit.html', kwvars,
                              RequestContext(request))
示例#2
0
def user_profile(request):
    person = get_object_or_404(Person, user__id=request.user.id)
    success_message = None
    error_message = None
    if request.method == 'POST':
        form = EditPersonForm(request.POST, instance=person)
        email_form = EditUserForm(request.POST, instance=request.user)
        if form.is_valid() or email_form.is_valid(
        ):  # or user_form.is_valid():
            try:
                form.save(commit=True)
                email_form.save(commit=True)
                success_message = 'Данные успешно сохранены'
            except:
                error_message = 'Ошибка при сохранении данных'
        else:
            error_message = '<br>'.join([item for key, value in form.errors.items() for item in value]) + '<br>' +\
                            '<br>'.join([item for key, value in email_form.errors.items() for item in value])# + '<br>' +\
            #'<br>'.join([value for key, value in user_form.errors.items()])
    else:
        form = EditPersonForm(instance=person)
        email_form = EditUserForm(instance=request.user)
    user_form = CustomPasswordChangeForm(user=request.user)
    return render(
        request, 'users/profile.html', {
            'form': form,
            'email_form': email_form,
            'pwd_form': user_form,
            'success_message': success_message,
            'error_message': error_message
        })
示例#3
0
def edit_profile(request):
    activate(request.user.extended.language)

    if request.method == 'POST':
        user_form = EditUserForm(data=request.POST,
                                 request=request,
                                 instance=request.user)
        profile_form = UserExtendedForm(data=request.POST,
                                        instance=request.user.extended)
        user_tz = request.POST.get('timezone')
        if user_form.is_valid() and profile_form.is_valid():
            user = user_form.save(commit=False)
            new_pass = request.POST.get('new_password')
            do_redirect = False
            if len(new_pass) > 0:
                user.set_password(new_pass)
                do_redirect = True
            user.save()
            profile = profile_form.save(commit=False)
            profile.user = user
            if user_tz:
                profile.timezone = user_tz
            profile.save()
            if 'sch_login' in request.POST and 'sch_password' in request.POST:
                if len(request.POST['sch_login']) > 0 and len(
                        request.POST['sch_password']) > 0:
                    from service.models import SchedulerUser
                    try:
                        sch_user = SchedulerUser.objects.get(user=request.user)
                    except ObjectDoesNotExist:
                        sch_user = SchedulerUser()
                        sch_user.user = request.user
                    sch_user.login = request.POST['sch_login']
                    sch_user.password = request.POST['sch_password']
                    sch_user.save()
                elif len(request.POST['sch_login']) == 0:
                    try:
                        request.user.scheduleruser.delete()
                    except ObjectDoesNotExist:
                        pass

            if do_redirect:
                return HttpResponseRedirect(reverse('users:login'))
            else:
                return HttpResponseRedirect(reverse('users:edit_profile'))
    else:
        user_form = EditUserForm(instance=request.user)
        profile_form = UserExtendedForm(instance=request.user.extended)

    from users.notifications import NotifyData
    return render(
        request, 'users/edit-profile.html', {
            'user_form': user_form,
            'tdata': NotifyData(request.user),
            'profile_form': profile_form,
            'profile_errors': profile_form.errors,
            'user_errors': user_form.errors,
            'timezones': pytz.common_timezones,
            'LANGUAGES': LANGUAGES
        })
示例#4
0
def edit_user(request, username):
    user = get_object_or_404(User, username=username)
    member = user.member_set.get()
    team = member.team
    coaches = True if request.user.member.coaches(member) else False
    c = {}
    c.update(csrf(request))
    if request.method == 'POST':  # If the form has been submitted...
        if request.POST.get('delete'):
            member.delete()
            messages.add_message(request, messages.SUCCESS, 'Member Deleted!')
            return HttpResponseRedirect(
                reverse('team_details', args=(team.id, )))
        form = EditUserForm(request.POST)  # A form bound to the POST data
        if form.is_valid():  # All validation rules pass
            user.username = form.cleaned_data['username']
            user.email = form.cleaned_data['email']
            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            member.number = form.cleaned_data['number']
            member.position = form.cleaned_data['position']
            member.city = form.cleaned_data['city']
            member.state = form.cleaned_data['state']
            member.phone = form.cleaned_data['phone']
            member.country = form.cleaned_data['country']
            member.year = form.cleaned_data['year']
            member.kind = form.cleaned_data['user_type']
            user.save()
            member.save()
            messages.add_message(request, messages.SUCCESS,
                                 'User details updated!')
            return HttpResponseRedirect(
                reverse('user_details', args=(user.username, )))
        messages.add_message(
            request, messages.ERROR,
            'Sorry, something bad happend updatting a new user!')
    else:
        form = EditUserForm({
            'username': user.username,
            'first_name': user.first_name,
            'last_name': user.last_name,
            'email': user.email,
            'user_type': member.kind,
            'position': member.position,
            'number': member.number,
            'city': member.city,
            'phone': member.phone,
            'state': member.state,
            'year': member.year,
            'country': member.country,
        })  # An unbound form
    return render_to_response("users/edit.html", {
        'coach_editing': coaches,
        'form': form,
        'c': c,
        'edit_user': user
    },
                              context_instance=RequestContext(request))
示例#5
0
文件: views.py 项目: binu456m/billing
def edit_user(request, pk):
    instance = get_object_or_404(
        Profile.objects.filter(pk=pk, is_deleted=False))

    if request.method == 'POST':
        form = EditUserForm(request.POST, instance=instance.user)
        profile = ProfileForm(request.POST, instance=instance)

        if form.is_valid() and profile.is_valid():

            #save auth user
            user_data = form.save(commit=False)
            user_data.save()

            #save profile
            profile_data = profile.save(commit=False)
            profile_data.updater = request.user
            profile_data.date_updated = datetime.datetime.now()
            profile_data.save()
            profile.save_m2m()

            request.session['message'] = 'User Successfully Edited'
            return HttpResponseRedirect(
                reverse('users:view_user', kwargs={'pk': instance.pk}))

        else:
            errors = generate_form_errors(form, formset=False)
            errors += generate_form_errors(profile, formset=False)
            context = {
                'message': 'Form Validation Error',
                'title': 'Edit Form',
                'form': form,
                'profile': profile,
                "errors": errors,
                "users_active": "active",
                'url': reverse('users:edit_user', kwargs={'pk': instance.pk}),
            }
            return render(request, 'users/entry_user.html', context)

    else:

        form = EditUserForm(instance=instance.user)
        profile = ProfileForm(instance=instance)

        context = {
            'title': 'Edit User' + instance.user.username,
            'form': form,
            'profile': profile,
            'instance': instance,
            'url': reverse('users:edit_user', kwargs={'pk': instance.pk}),
            "users_active": "active"
        }
        return render(request, 'users/entry_user.html', context)
示例#6
0
def change_password(request):
    person = get_object_or_404(Person, user__id=request.user.id)
    success_message = None
    error_message = None
    if request.method == 'POST':
        pwd_form = CustomPasswordChangeForm(data=request.POST,
                                            user=request.user)
        if pwd_form.is_valid():
            try:
                pwd_form.save(commit=True)
                success_message = 'Ваш пароль успешно изменен!'
                update_session_auth_hash(request, pwd_form.user)
            except:
                error_message = 'Ошибка при сохранении данных'
    else:
        pwd_form = CustomPasswordChangeForm(user=request.user)
    form = EditPersonForm(instance=person)
    email_form = EditUserForm(instance=request.user)
    return render(
        request, 'users/profile.html', {
            'form': form,
            'email_form': email_form,
            'pwd_form': pwd_form,
            'success_message': success_message,
            'error_message': error_message
        })
def edit_profile(request):
    if request.method == 'POST':
        form_user = EditUserForm(data=request.POST, instance=request.user)
        form_profile = EditProfileForm(data=request.POST, files=request.FILES, instance=request.user.profile)
    else:
        form_user = EditUserForm(instance=request.user)
        form_profile = EditProfileForm(instance=request.user.profile)
    context = dict(
        form_user=form_user,
        form_profile=form_profile,
    )

    if request.method == 'POST' and form_user.is_valid() and form_profile.is_valid():
        form_user.save()
        form_profile.save()
        return redirect(reverse('users.profile'))
    return render(request, 'users/profile_edit.html', context)
示例#8
0
 def post(self, request):
     user_form = EditUserForm(request.POST, instance=request.user)
     profile_form = EditProfileForm(request.POST, request.FILES, instance=request.user.profile)
     
     if user_form.is_valid() and profile_form.is_valid():
         user_form.save()
         profile_form.save()
         return redirect('users:view_profile')
     return HttpResponse("Something went wrong")
示例#9
0
def editUser(request, pk):

    # Query appropriate user based on pk returned in url
    user = User.objects.get(pk=pk)

    # Get the EditUserForm and add the user as instance
    edit_user_form = EditUserForm(instance=user)

    if request.method == 'POST':

        # Bind data to the form class, and add the user as instance
        edit_user_form = EditUserForm(request.POST,
                                      error_class=DivErrorList,
                                      instance=user)

        old_user_instance = User.objects.get(pk=pk)

        # Validate form inputs
        if edit_user_form.is_valid():

            # Save edits
            edit_user_form.save()

            # Log change
            ChangeLog.change_message(request.user, User, old_user_instance)

            # Give the user successful feedback and redirect
            messages.success(request, successMessage('Redigering', 'bruker'))
            return redirect('user', pk)

        else:
            # If form inputs is invalid, give user feedback
            messages.error(
                request,
                'Det skjedde en feil ved redigering av bruker. Se detaljer nedenfor.'
            )

    context = {
        'user': user,
        'edit_user_form': edit_user_form,
    }

    # Render request, template and context
    return render(request, 'users/backend/user/user_edit.html', context)
def edit_user(request, id):

    form = EditUserForm()
    user = User.objects.get(id=id)

    if request.method == 'POST':
        form = EditUserForm(request.POST, instance=user)

        if form.is_valid():

            user_form = form.save()
            custom_form = user.save(False)
            custom_form = user_form
            custom_form.save()
            return redirect('users')

    context = {
        'form': form,
    }
    return render(request, 'users/edit.html', context)
示例#11
0
 def get(self, request):
     user_form = EditUserForm(instance=request.user)
     profile_form = EditProfileForm(instance=request.user.profile)
     args = {'user_form': user_form, 'profile_form': profile_form}
     return render(request, 'users/edit_profile.html', args)