Exemple #1
0
    def handle_form(self, form, request, target):
        target.username = target.old_username
        if target.username != form.cleaned_data.get('username'):
            target.set_username(form.cleaned_data.get('username'),
                                changed_by=request.user)

        if form.cleaned_data.get('new_password'):
            target.set_password(form.cleaned_data['new_password'])

            if target.pk == request.user.pk:
                start_admin_session(request, target)
                update_session_auth_hash(request, target)

        if form.cleaned_data.get('email'):
            target.set_email(form.cleaned_data['email'])
            if target.pk == request.user.pk:
                start_admin_session(request, target)

        if form.cleaned_data.get('is_avatar_locked'):
            if not target.old_is_avatar_locked:
                set_dynamic_avatar(target)

        if 'is_staff' in form.fields and 'is_superuser' in form.fields:
            target.is_staff = form.cleaned_data.get('is_staff')
            target.is_superuser = form.cleaned_data.get('is_superuser')

        if 'is_active' in form.fields and 'is_active_staff_message' in form.fields:
            target.is_active = form.cleaned_data.get('is_active')
            target.is_active_staff_message = form.cleaned_data.get(
                'is_active_staff_message')

        target.rank = form.cleaned_data.get('rank')

        target.roles.clear()
        target.roles.add(*form.cleaned_data['roles'])

        set_user_signature(request, target, form.cleaned_data.get('signature'))

        profilefields.update_user_profile_fields(request, target, form)

        target.update_acl_key()
        target.save()

        messages.success(request,
                         self.message_submit % {'user': target.username})
    def handle_form(self, form, request, target):
        target.username = target.old_username
        if target.username != form.cleaned_data.get('username'):
            target.set_username(form.cleaned_data.get('username'), changed_by=request.user)

        if form.cleaned_data.get('new_password'):
            target.set_password(form.cleaned_data['new_password'])

            if target.pk == request.user.pk:
                start_admin_session(request, target)
                update_session_auth_hash(request, target)

        if form.cleaned_data.get('email'):
            target.set_email(form.cleaned_data['email'])
            if target.pk == request.user.pk:
                start_admin_session(request, target)

        if form.cleaned_data.get('is_avatar_locked'):
            if not target.old_is_avatar_locked:
                set_dynamic_avatar(target)

        if 'is_staff' in form.fields and 'is_superuser' in form.fields:
            target.is_staff = form.cleaned_data.get('is_staff')
            target.is_superuser = form.cleaned_data.get('is_superuser')

        if 'is_active' in form.fields and 'is_active_staff_message' in form.fields:
            target.is_active = form.cleaned_data.get('is_active')
            target.is_active_staff_message = form.cleaned_data.get('is_active_staff_message')

        target.rank = form.cleaned_data.get('rank')

        target.roles.clear()
        target.roles.add(*form.cleaned_data['roles'])

        set_user_signature(request, target, form.cleaned_data.get('signature'))

        profilefields.update_user_profile_fields(request, target, form)

        target.update_acl_key()
        target.save()

        messages.success(request, self.message_submit % {'user': target.username})
Exemple #3
0
def moderate_avatar(request, user):
    return_path = moderation_return_path(request, user)

    avatar_locked = user.is_avatar_locked
    form = ModerateAvatarForm(instance=user)

    if request.method == 'POST':
        form = ModerateAvatarForm(request.POST, instance=user)
        if form.is_valid():
            if not avatar_locked and form.cleaned_data['is_avatar_locked']:
                set_dynamic_avatar(user)

            user.save(update_fields=('is_avatar_locked',
                                     'avatar_lock_user_message',
                                     'avatar_lock_staff_message'))

            if avatar_locked != user.is_avatar_locked:
                if user.is_avatar_locked:
                    message = _("%(user)s has locked your avatar.")
                else:
                    message = _("%(user)s has unlocked your avatar.")

                notify_user(user,
                            message,
                            reverse('misago:usercp_change_avatar'),
                            "usercp_avatar_%s" % user.pk,
                            formats={'user': request.user.username},
                            sender=request.user)

            message = _("%(user)s's avatar has been moderated.")
            message = message % {'user': user.username}
            messages.success(request, message)

            if 'stay' not in request.POST:
                return redirect(return_path)

    return render(request, 'misago/modusers/avatar.html', {
        'profile': user,
        'form': form,
        'return_path': return_path
    })
Exemple #4
0
def moderate_avatar(request, user):
    return_path = moderation_return_path(request, user)

    avatar_locked = user.is_avatar_locked
    form = ModerateAvatarForm(instance=user)

    if request.method == 'POST':
        form = ModerateAvatarForm(request.POST, instance=user)
        if form.is_valid():
            if not avatar_locked and form.cleaned_data['is_avatar_locked']:
                set_dynamic_avatar(user)

            user.save(update_fields=(
                'is_avatar_locked',
                'avatar_lock_user_message',
                'avatar_lock_staff_message'
            ))

            if avatar_locked != user.is_avatar_locked:
                if user.is_avatar_locked:
                    message = _("%(user)s has locked your avatar.")
                else:
                    message = _("%(user)s has unlocked your avatar.")

                notify_user(user,
                    message,
                    reverse('misago:usercp_change_avatar'),
                    "usercp_avatar_%s" % user.pk,
                    formats={'user': request.user.username},
                    sender=request.user)

            message = _("%(user)s's avatar has been moderated.")
            message = message % {'user': user.username}
            messages.success(request, message)

            if 'stay' not in request.POST:
                return redirect(return_path)

    return render(request, 'misago/modusers/avatar.html',
                  {'profile': user, 'form': form, 'return_path': return_path})
Exemple #5
0
    def handle_form(self, form, request, target):
        target.username = target.old_username

        if target.username != form.cleaned_data.get('username'):
            target.set_username(form.cleaned_data.get('username'),
                                changed_by=request.user)

        if form.cleaned_data.get('new_password'):
            target.set_password(form.cleaned_data['new_password'])

            if target.pk == request.user.pk:
                start_admin_session(request, target)
                update_session_auth_hash(request, target)

        if form.cleaned_data.get('email'):
            target.set_email(form.cleaned_data['email'])
            if target.pk == request.user.pk:
                start_admin_session(request, target)

        if form.cleaned_data.get('is_avatar_locked'):
            if not target.old_is_avatar_locked:
                set_dynamic_avatar(target)

        if 'staff_level' in form.cleaned_data:
            target.staff_level = form.cleaned_data['staff_level']

        target.rank = form.cleaned_data.get('rank')
        if form.cleaned_data.get('roles'):
            target.roles.add(*form.cleaned_data['roles'])

        set_user_signature(target, form.cleaned_data.get('signature'))

        target.update_acl_key()
        target.save()

        messages.success(
            request, self.message_submit % {'user': target.username})
Exemple #6
0
    def handle_form(self, form, request, target):
        target.username = target.old_username

        if target.username != form.cleaned_data.get('username'):
            target.set_username(form.cleaned_data.get('username'),
                                changed_by=request.user)

        if form.cleaned_data.get('new_password'):
            target.set_password(form.cleaned_data['new_password'])

            if target.pk == request.user.pk:
                start_admin_session(request, target)
                update_session_auth_hash(request, target)

        if form.cleaned_data.get('email'):
            target.set_email(form.cleaned_data['email'])
            if target.pk == request.user.pk:
                start_admin_session(request, target)

        if form.cleaned_data.get('is_avatar_locked'):
            if not target.old_is_avatar_locked:
                set_dynamic_avatar(target)

        if 'staff_level' in form.cleaned_data:
            target.staff_level = form.cleaned_data['staff_level']

        target.rank = form.cleaned_data.get('rank')
        if form.cleaned_data.get('roles'):
            target.roles.add(*form.cleaned_data['roles'])

        set_user_signature(target, form.cleaned_data.get('signature'))

        target.update_acl_key()
        target.save()

        messages.success(request,
                         self.message_submit % {'user': target.username})