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')))
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')))
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')))
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')))
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')))
def reactivate_user(request, guid): user = User.load(guid) user.date_disabled = None subscribe_on_confirm(user) user.save() return redirect(reverse_user(guid))