コード例 #1
0
ファイル: views.py プロジェクト: noobiept-other/init_django
def password_changed(request):
    """
        Inform that the password has been changed, and redirect to home.
    """
    utilities.add_message(request, 'Password changed!')

    return HttpResponseRedirect(reverse('home'))
コード例 #2
0
ファイル: views.py プロジェクト: noobiept-other/init_django
def message_send(request, username):
    """
        Send a private message to another user.
    """
    userModel = get_user_model()

    try:
        user = userModel.objects.get(username=username)

    except userModel.DoesNotExist:
        raise Http404('Invalid username.')

    if request.method == 'POST':
        form = PrivateMessageForm(request.POST)

        if form.is_valid():

            title = form.cleaned_data['title']
            content = form.cleaned_data['content']
            message = PrivateMessage(receiver=user,
                                     sender=request.user,
                                     title=title,
                                     content=content)
            message.save()

            utilities.add_message(request, 'Message sent to {}!'.format(user))

            return HttpResponseRedirect(user.get_url())

    else:
        form = PrivateMessageForm()

    context = {'form': form, 'receiver': user}

    return render(request, 'accounts/send_message.html', context)
コード例 #3
0
ファイル: views.py プロジェクト: noobiept-other/init_django
def message_remove(request, messageId):
    """
        Remove a private message.
    """
    try:
        message = request.user.privatemessage_set.get(id=messageId)

    except PrivateMessage.DoesNotExist:
        raise Http404("Message doesn't exist.")

    message.delete()
    utilities.add_message(request, 'Message removed!')

    return HttpResponseRedirect(reverse('accounts:message_all'))
コード例 #4
0
ファイル: views.py プロジェクト: noobiept-other/init_django
def remove_user(request, username):
    """
        Remove an user account (also removes everything associated with it).
    """
    userModel = get_user_model()

    try:
        user = userModel.objects.get(username=username)

    except userModel.DoesNotExist:
        raise Http404("User doesn't exist.")

    else:
        utilities.add_message(request, "'{}' user removed!".format(user))
        user.delete()

        return HttpResponseRedirect(reverse('home'))
コード例 #5
0
ファイル: views.py プロジェクト: noobiept-other/init_django
def disable_user(request, username):
    """
        Enable/disable an user account.
        If the account is disabled, the user won't be able to login.
    """
    userModel = get_user_model()

    try:
        user = userModel.objects.get(username=username)

    except userModel.DoesNotExist:
        raise Http404("User doesn't exist.")

    else:
        value = not user.is_active

        # only other staff users can enable/disable staff users
        if user.is_staff:
            if request.user.is_staff:
                user.is_active = value
                user.save(update_fields=['is_active'])

            else:
                return HttpResponseForbidden("Can't disable a staff member.")

        else:
            user.is_active = value
            user.save(update_fields=['is_active'])

        if value:
            message = "'{}' account is now active.".format(user)

        else:
            message = "'{}' account is now disabled.".format(user)

        utilities.add_message(request, message)

        return HttpResponseRedirect(user.get_url())
コード例 #6
0
ファイル: views.py プロジェクト: noobiept-other/init_django
def new_account(request):
    """
        Create a new user account.
    """
    if request.method == 'POST':

        form = MyUserCreationForm(request.POST)

        if form.is_valid():

            form.save()
            utilities.add_message(
                request,
                "User '{}' created!".format(form.cleaned_data['username']))

            return HttpResponseRedirect(reverse('accounts:login'))

    else:
        form = MyUserCreationForm()

    context = {'form': form}

    return render(request, 'accounts/new_account.html', context)
コード例 #7
0
ファイル: views.py プロジェクト: noobiept-other/init_django
def set_moderator(request, username):
    """
        Give/remove moderator rights from an account.
    """
    userModel = get_user_model()

    try:
        user = userModel.objects.get(username=username)

    except userModel.DoesNotExist:
        raise Http404("User doesn't exist.")

    user.is_moderator = not user.is_moderator
    user.save(update_fields=['is_moderator'])

    if user.is_moderator:
        message = "'{}' is now a moderator.".format(user)

    else:
        message = "'{}' is not a moderator anymore.".format(user)

    utilities.add_message(request, message)

    return HttpResponseRedirect(user.get_url())