Ejemplo n.º 1
0
 def delete(self, request, *args, **kwargs):
     try:
         user = self.get_object()
         flag = None
         message = None
         if user.date_disabled is None:
             user.disable_account()
             flag = USER_REMOVED
             message = 'User account {} disabled'.format(user.pk)
         else:
             user.date_disabled = None
             subscribe_on_confirm(user)
             flag = USER_RESTORED
             message = 'User account {} reenabled'.format(user.pk)
         user.save()
         if flag is not None:
             update_admin_log(
                 user_id=self.request.user.id,
                 object_id=user.pk,
                 object_repr='User',
                 message=message,
                 action_flag=flag
             )
     except AttributeError:
         return page_not_found(
             request,
             AttributeError(
                 '{} with id "{}" not found.'.format(
                     self.context_object_name.title(),
                     self.kwargs.get('guid')
                 )
             )
         )
     return redirect(reverse_user(self.kwargs.get('guid')))
Ejemplo n.º 2
0
    def delete(self, request, *args, **kwargs):
        try:
            user = self.get_object()
            if user.date_disabled is None or kwargs.get('is_spam'):
                user.disable_account()
                user.is_registered = False
                if 'spam_flagged' in user.system_tags or 'ham_confirmed' in user.system_tags:
                    if 'spam_flagged' in user.system_tags:
                        t = Tag.all_tags.get(name='spam_flagged', system=True)
                        # TODO: removing system tags this way does not currently work -- https://openscience.atlassian.net/browse/OSF-7760
                        user.tags.remove(t)
                    if 'ham_confirmed' in user.system_tags:
                        t = Tag.all_tags.get(name='ham_confirmed', system=True)
                        user.tags.remove(t)

                if kwargs.get('is_spam') and 'spam_confirmed' not in user.system_tags:
                    user.add_system_tag('spam_confirmed')
                flag = USER_REMOVED
                message = 'User account {} disabled'.format(user.pk)
            else:
                user.date_disabled = None
                subscribe_on_confirm(user)
                user.is_registered = True
                if 'spam_flagged' in user.system_tags or 'spam_confirmed' in user.system_tags:
                    if 'spam_flagged' in user.system_tags:
                        t = Tag.all_tags.get(name='spam_flagged', system=True)
                        user.tags.remove(t)
                    if 'spam_confirmed' in user.system_tags:
                        t = Tag.all_tags.get(name='spam_confirmed', system=True)
                        user.tags.remove(t)
                    if 'ham_confirmed' not in user.system_tags:
                        user.add_system_tag('ham_confirmed')
                flag = USER_RESTORED
                message = 'User account {} reenabled'.format(user.pk)
            user.save()
        except AttributeError:
            raise Http404(
                '{} with id "{}" not found.'.format(
                    self.context_object_name.title(),
                    self.kwargs.get('guid')
                ))
        update_admin_log(
            user_id=self.request.user.id,
            object_id=user.pk,
            object_repr='User',
            message=message,
            action_flag=flag
        )
        return redirect(reverse_user(self.kwargs.get('guid')))
Ejemplo n.º 3
0
    def delete(self, request, *args, **kwargs):
        try:
            user = self.get_object()
            if user.date_disabled is None or kwargs.get('is_spam'):
                user.disable_account()
                user.is_registered = False
                if 'spam_flagged' in user.system_tags or 'ham_confirmed' in user.system_tags:
                    if 'spam_flagged' in user.system_tags:
                        t = Tag.all_tags.get(name='spam_flagged', system=True)
                        # TODO: removing system tags this way does not currently work -- https://openscience.atlassian.net/browse/OSF-7760
                        user.tags.remove(t)
                    if 'ham_confirmed' in user.system_tags:
                        t = Tag.all_tags.get(name='ham_confirmed', system=True)
                        user.tags.remove(t)

                if kwargs.get('is_spam'
                              ) and 'spam_confirmed' not in user.system_tags:
                    user.add_system_tag('spam_confirmed')
                flag = USER_REMOVED
                message = 'User account {} disabled'.format(user.pk)
            else:
                user.date_disabled = None
                subscribe_on_confirm(user)
                user.is_registered = True
                if 'spam_flagged' in user.system_tags or 'spam_confirmed' in user.system_tags:
                    if 'spam_flagged' in user.system_tags:
                        t = Tag.all_tags.get(name='spam_flagged', system=True)
                        user.tags.remove(t)
                    if 'spam_confirmed' in user.system_tags:
                        t = Tag.all_tags.get(name='spam_confirmed',
                                             system=True)
                        user.tags.remove(t)
                    if 'ham_confirmed' not in user.system_tags:
                        user.add_system_tag('ham_confirmed')
                flag = USER_RESTORED
                message = 'User account {} reenabled'.format(user.pk)
            user.save()
        except AttributeError:
            raise Http404('{} with id "{}" not found.'.format(
                self.context_object_name.title(), self.kwargs.get('guid')))
        update_admin_log(user_id=self.request.user.id,
                         object_id=user.pk,
                         object_repr='User',
                         message=message,
                         action_flag=flag)
        return redirect(reverse_user(self.kwargs.get('guid')))
Ejemplo n.º 4
0
 def delete(self, request, *args, **kwargs):
     try:
         user = self.get_object()
         if user.date_disabled is None or kwargs.get('is_spam'):
             user.disable_account()
             user.is_registered = False
             if 'spam_flagged' in user.system_tags or 'ham_confirmed' in user.system_tags:
                 if 'spam_flagged' in user.system_tags:
                     user.system_tags.remove('spam_flagged')
                 if 'ham_confirmed' in user.system_tags:
                     user.system_tags.remove('ham_confirmed')
                 if 'spam_confirmed' not in user.system_tags:
                     user.system_tags.append('spam_confirmed')
             flag = USER_REMOVED
             message = 'User account {} disabled'.format(user.pk)
         else:
             user.date_disabled = None
             subscribe_on_confirm(user)
             user.is_registered = True
             if 'spam_flagged' in user.system_tags or 'spam_confirmed' in user.system_tags:
                 if 'spam_flagged' in user.system_tags:
                     user.system_tags.remove('spam_flagged')
                 if 'spam_confirmed' in user.system_tags:
                     user.system_tags.remove('spam_confirmed')
                 if 'ham_confirmed' not in user.system_tags:
                     user.system_tags.append('ham_confirmed')
             flag = USER_RESTORED
             message = 'User account {} reenabled'.format(user.pk)
         user.save()
     except AttributeError:
         raise Http404(
             '{} with id "{}" not found.'.format(
                 self.context_object_name.title(),
                 self.kwargs.get('guid')
             ))
     update_admin_log(
         user_id=self.request.user.id,
         object_id=user.pk,
         object_repr='User',
         message=message,
         action_flag=flag
     )
     return redirect(reverse_user(self.kwargs.get('guid')))
Ejemplo n.º 5
0
    def delete(self, request, *args, **kwargs):
        try:
            user = self.get_object()
            if user.date_disabled is None or kwargs.get('is_spam'):
                user.disable_account()
                user.is_registered = False
                if 'spam_flagged' in user.system_tags:
                    user.tags.through.objects.filter(
                        tag__name='spam_flagged').delete()
                if 'ham_confirmed' in user.system_tags:
                    user.tags.through.objects.filter(
                        tag__name='ham_confirmed').delete()

                if kwargs.get('is_spam'
                              ) and 'spam_confirmed' not in user.system_tags:
                    user.add_system_tag('spam_confirmed')
                flag = USER_REMOVED
                message = 'User account {} disabled'.format(user.pk)
            else:
                user.requested_deactivation = False
                user.date_disabled = None
                subscribe_on_confirm(user)
                user.is_registered = True
                user.tags.through.objects.filter(
                    tag__name__in=['spam_flagged', 'spam_confirmed'],
                    tag__system=True).delete()
                if 'ham_confirmed' not in user.system_tags:
                    user.add_system_tag('ham_confirmed')
                flag = USER_RESTORED
                message = 'User account {} reenabled'.format(user.pk)
            user.save()
        except AttributeError:
            raise Http404('{} with id "{}" not found.'.format(
                self.context_object_name.title(), self.kwargs.get('guid')))
        update_admin_log(user_id=self.request.user.id,
                         object_id=user.pk,
                         object_repr='User',
                         message=message,
                         action_flag=flag)
        return redirect(reverse_user(self.kwargs.get('guid')))
 def delete(self, request, *args, **kwargs):
     try:
         user = self.get_object()
         if user.date_disabled is None:
             user.disable_account()
             user.is_registered = False
             flag = USER_REMOVED
             message = 'User account {} disabled'.format(user.pk)
         else:
             user.date_disabled = None
             subscribe_on_confirm(user)
             user.is_registered = True
             flag = USER_RESTORED
             message = 'User account {} reenabled'.format(user.pk)
         user.save()
     except AttributeError:
         raise Http404('{} with id "{}" not found.'.format(
             self.context_object_name.title(), self.kwargs.get('guid')))
     update_admin_log(user_id=self.request.user.id,
                      object_id=user.pk,
                      object_repr='User',
                      message=message,
                      action_flag=flag)
     return redirect(reverse_user(self.kwargs.get('guid')))
Ejemplo n.º 7
0
def reactivate_user(request, guid):
    user = User.load(guid)
    user.date_disabled = None
    subscribe_on_confirm(user)
    user.save()
    return redirect(reverse_user(guid))
Ejemplo n.º 8
0
def reactivate_user(request, guid):
    user = User.load(guid)
    user.date_disabled = None
    subscribe_on_confirm(user)
    user.save()
    return redirect(reverse_user(guid))