Esempio n. 1
0
def remove_2_factor(request, guid):
    user = User.load(guid)
    try:
        user.delete_addon('twofactor')
    except AttributeError:
        page_not_found(request)
    return redirect(reverse_user(guid))
Esempio n. 2
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')))
Esempio n. 3
0
def remove_2_factor(request, guid):
    user = User.load(guid)
    try:
        user.delete_addon('twofactor')
    except AttributeError:
        page_not_found(request)
    return redirect(reverse_user(guid))
Esempio n. 4
0
    def form_valid(self, form):
        user = self.get_object()
        guid_to_be_merged = form.cleaned_data['user_guid_to_be_merged']

        user_to_be_merged = OSFUser.objects.get(guids___id=guid_to_be_merged, guids___id__isnull=False)
        user.merge_user(user_to_be_merged)

        return redirect(reverse_user(user._id))
Esempio n. 5
0
    def form_valid(self, form):
        user = self.get_object()
        guid_to_be_merged = form.cleaned_data['user_guid_to_be_merged']

        user_to_be_merged = OSFUser.objects.get(guids___id=guid_to_be_merged)
        user.merge_user(user_to_be_merged)

        return redirect(reverse_user(user._id))
Esempio n. 6
0
 def delete(self, request, *args, **kwargs):
     user = self.get_object()
     search.search.update_user(user, async_update=False)
     update_admin_log(user_id=self.request.user.id,
                      object_id=user._id,
                      object_repr='User',
                      message='User Reindexed (Elastic): {}'.format(
                          user._id),
                      action_flag=REINDEX_ELASTIC)
     return redirect(reverse_user(self.kwargs.get('guid')))
Esempio n. 7
0
 def delete(self, request, *args, **kwargs):
     user = self.get_object()
     search.search.update_user(user, async_update=False)
     update_admin_log(
         user_id=self.request.user.id,
         object_id=user._id,
         object_repr='User',
         message='User Reindexed (Elastic): {}'.format(user._id),
         action_flag=REINDEX_ELASTIC
     )
     return redirect(reverse_user(self.kwargs.get('guid')))
Esempio n. 8
0
 def delete(self, request, *args, **kwargs):
     user = self.get_object()
     try:
         user.delete_addon('twofactor')
     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='Removed 2 factor auth for user {}'.format(
                          user.pk),
                      action_flag=USER_2_FACTOR)
     return redirect(reverse_user(self.kwargs.get('guid')))
Esempio n. 9
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')))
Esempio n. 10
0
    def delete(self, request, *args, **kwargs):
        try:
            user = self.get_object()
            user.gdpr_delete()
            user.save()
            message = 'User {} was successfully GDPR deleted'.format(user._id)
            messages.success(request, message)
            update_admin_log(user_id=self.request.user.id,
                             object_id=user.pk,
                             object_repr='User',
                             message=message,
                             action_flag=USER_GDPR_DELETED)
        except UserStateError as e:
            messages.warning(request, str(e))

        return redirect(reverse_user(self.kwargs.get('guid')))
Esempio n. 11
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')))
Esempio n. 12
0
 def delete(self, request, *args, **kwargs):
     user = self.get_object()
     try:
         user.delete_addon('twofactor')
     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='Removed 2 factor auth for user {}'.format(user.pk),
         action_flag=USER_2_FACTOR
     )
     return redirect(reverse_user(self.kwargs.get('guid')))
Esempio n. 13
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')))
Esempio n. 14
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')))
Esempio n. 16
0
 def success_url(self):
     return reverse_user(self.kwargs.get('guid'))
Esempio n. 17
0
def disable_user(request, guid):
    user = User.load(guid)
    user.disable_account()
    user.save()
    return redirect(reverse_user(guid))
Esempio n. 18
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))
Esempio n. 19
0
 def success_url(self):
     return reverse_user(self.kwargs.get('guid'))
Esempio n. 20
0
 def success_url(self):
     return reverse_user(self.guid)
Esempio n. 21
0
def disable_user(request, guid):
    user = User.load(guid)
    user.disable_account()
    user.save()
    return redirect(reverse_user(guid))
Esempio n. 22
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))
 def success_url(self):
     return reverse_user(self.guid)