def delete(request, extra_context={}, next_override=None): avatars = Avatar.objects.filter(user=request.user).order_by('-primary') if avatars.count() > 0: avatar = avatars[0] else: avatar = None delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() break Avatar.objects.filter(id__in=ids).delete() messages.success(request, message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', extra_context, context_instance = RequestContext( request, { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } ) )
def delete(request, extra_context={}, next_override=None): avatars = Avatar.objects.filter(user=request.user).order_by('-primary') if avatars.count() > 0: avatar = avatars[0] else: avatar = None delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() break Avatar.objects.filter(id__in=ids).delete() messages.success(request, message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) context = { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } context.update(extra_context) return render(request, 'avatar/confirm_delete.html', context)
def delete(request, extra_context=None, next_override=None, *args, **kwargs): if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(request.user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() if notification: _notification_updated(request, a) break Avatar.objects.filter(id__in=ids).delete() request.user.message_set.create( message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) data = { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), 'view_user': request.user, 'page_class': 'avatar-page', } if extra_context: data.update(extra_context) return render_into_skin('avatar/confirm_delete.html', data, request)
def delete(request, extra_context={}, next_override=None): avatars = Avatar.objects.filter(user=request.user).order_by('-primary') if avatars.count() > 0: avatar = avatars[0] else: avatar = None delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] Avatar.objects.filter(id__in=ids).delete() request.user.message_set.create( message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', extra_context, context_instance = RequestContext( request, { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } ) )
def delete(request, extra_context=None, next_override=None, *args, **kwargs): if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(request.user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if six.text_type(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if six.text_type(a.id) not in ids: a.primary = True a.save() avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() messages.success(request, _("Successfully deleted the requested avatars.")) # return redirect(next_override or _get_next(request)) return redirect(reverse('profile_edit')) context = { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } context.update(extra_context) return render(request, 'avatar/confirm_delete.html', context)
def delete(request, extra_context=None, next_override=None, *args, **kwargs): if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(request.user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if six.text_type(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if six.text_type(a.id) not in ids: a.primary = True a.save() avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() messages.success(request, _("Successfully deleted the requested avatars.")) return redirect(next_override or _get_next(request)) context = { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } context.update(extra_context) template_name = settings.AVATAR_DELETE_TEMPLATE or 'avatar/confirm_delete.html' return render(request, template_name, context)
def delete_avatar_for_user(request, for_user=None, extra_context=None, next_override=None, *args, **kwargs): target_user = get_object_or_404(User, username=for_user, is_active=True) if not AVATAR_ADMIN_TEST(request, target_user): raise PermissionDenied if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(target_user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=target_user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() avatar_updated.send(sender=Avatar, user=target_user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() messages.add_message(request, messages.INFO, _("Successfully deleted the requested avatars")) return redirect(next_override or _get_next(request)) context = { 'avatar': avatar, 'avatars': avatars, 'target_user': target_user, 'upload_avatar_form': upload_avatar_form, 'next': next_override or _get_next(request), } context.update(extra_context) return render(request, 'avatar/add_for_user.html', context)
def delete(request, extra_context=None, next_override=None, *args, **kwargs): if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(request.user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() request.user.message_set.create( message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', extra_context, context_instance = RequestContext( request, { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } ) )
def delete(request, extra_context={}, next_override=None): avatars = Avatar.objects.filter(user=request.user).order_by('-primary') if avatars.count() > 0: avatar = avatars[0] else: avatar = None delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() notification.send([request.user], "avatar_updated", {"user": request.user, "avatar": a}) if friends: notification.send((x['friend'] for x in Friendship.objects.friends_for_user(request.user)), "avatar_friend_updated", {"user": request.user, "avatar": a}) break Avatar.objects.filter(id__in=ids).delete() request.user.message_set.create( message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', extra_context, context_instance = RequestContext( request, { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } ) )
def delete(request, extra_context={}, next_override=None): avatars = Avatar.objects.filter( target=request.user.get_ref()).order_by('-primary') if avatars.count() > 0: avatar = avatars[0] else: avatar = None delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] Avatar.objects.filter(id__in=ids).delete() request.user.message_set.create( message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', extra_context, context_instance=RequestContext( request, { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), }))
def delete(request, extra_context=None, next_override=None, *args, **kwargs): if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(request.user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user, avatars=avatars) if request.method == "POST": if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data["choices"] if unicode(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() messages.add_message(request, messages.INFO, _("Successfully deleted the requested avatars")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( "avatar/confirm_delete.html", extra_context, context_instance=RequestContext( request, { "avatar": avatar, "avatars": avatars, "delete_avatar_form": delete_avatar_form, "next": next_override or _get_next(request), }, ), )
def delete(request, extra_context=None, next_override=None, *args, **kwargs): if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(request.user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choice'] if six.text_type(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if six.text_type(a.id) not in ids: a.primary = True a.save() avatar_updated.send(sender=Avatar, user=request.user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() messages.success(request, render_to_string('avatar/_deleted.txt')) return redirect(next_override or _get_next(request)) context = { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } context.update(extra_context) template_name = settings.AVATAR_DELETE_TEMPLATE or 'avatar/confirm_delete.html' return render(request, template_name, context)
def delete(request, extra_context={}, next_override='/'): avatars = Avatar.objects.filter(user=request.user).order_by('-primary') if avatars.count() > 0: avatar = avatars[0] else: avatar = None delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() notification.send([request.user], "avatar_updated", { "user": request.user, "avatar": a }) if friends: notification.send( (x['friend'] for x in Friendship.objects.friends_for_user( request.user)), "avatar_friend_updated", { "user": request.user, "avatar": a }) break Avatar.objects.filter(id__in=ids).delete() request.user.message_set.create( message=_("Successfully deleted the requested avatars.")) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', extra_context, context_instance=RequestContext( request, { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), }))
def delete_avatar_for_user(request, for_user=None, extra_context=None, next_override=None, *args, **kwargs): target_user = get_object_or_404(User, username=for_user, is_active=True) if not AVATAR_ADMIN_TEST(request, target_user): raise PermissionDenied if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(target_user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=target_user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() avatar_updated.send(sender=Avatar, user=target_user, avatar=avatar) break Avatar.objects.filter(id__in=ids).delete() messages.add_message( request, messages.INFO, _("Successfully deleted the requested avatars")) return redirect(next_override or _get_next(request)) context = { 'avatar': avatar, 'avatars': avatars, 'target_user': target_user, 'upload_avatar_form': upload_avatar_form, 'next': next_override or _get_next(request), } context.update(extra_context) return render(request, 'avatar/add_for_user.html', context)
def delete(request, extra_context=None, next_override=None, *args, **kwargs): if extra_context is None: extra_context = {} avatar, avatars = _get_avatars(request.user) delete_avatar_form = DeleteAvatarForm(request.POST or None, user=request.user, avatars=avatars) if request.method == 'POST': if delete_avatar_form.is_valid(): ids = delete_avatar_form.cleaned_data['choices'] if unicode(avatar.id) in ids and avatars.count() > len(ids): # Find the next best avatar, and set it as the new primary for a in avatars: if unicode(a.id) not in ids: a.primary = True a.save() if notification: _notification_updated(request, a) break Avatar.objects.filter(id__in=ids).delete() # Invalidate the cache to prevent wrong avatar appearing # when only one's left invalidate_cache(request.user) messages.success(request, _("Successfully deleted the requested avatars.") ) return HttpResponseRedirect(next_override or _get_next(request)) return render_to_response( 'avatar/confirm_delete.html', extra_context, context_instance = RequestContext( request, { 'avatar': avatar, 'avatars': avatars, 'delete_avatar_form': delete_avatar_form, 'next': next_override or _get_next(request), } ) )