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 form_valid(self, form):
     osf_id = form.cleaned_data.get('osf_id')
     osf_user = User.load(osf_id)
     try:
         osf_user.system_tags.append(PREREG_ADMIN_TAG)
     except AttributeError:
         raise Http404(('OSF user with id "{}" not found.'
                        ' Please double check.').format(osf_id))
     new_user = MyUser.objects.create_user(
         email=form.cleaned_data.get('email'),
         password=form.cleaned_data.get('password1'))
     new_user.first_name = form.cleaned_data.get('first_name')
     new_user.last_name = form.cleaned_data.get('last_name')
     new_user.osf_id = osf_id
     for group in form.cleaned_data.get('group_perms'):
         new_user.groups.add(group)
     new_user.save()
     reset_form = PasswordRecoveryForm(
         data={'username_or_email': new_user.email})
     if reset_form.is_valid():
         send = Recover()
         send.request = self.request
         send.form_valid(reset_form)
     messages.success(self.request, 'Registration successful!')
     return super(RegisterUser, self).form_valid(form)
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 serialize_simple_user(user_info):
    user = User.load(user_info[0])
    return {
        'id': user._id,
        'name': user.fullname,
        'permission': reduce_permissions(user_info[1]) if user_info[1] else None,
    }
Esempio n. 5
0
 def form_valid(self, form):
     osf_id = form.cleaned_data.get('osf_id')
     osf_user = User.load(osf_id)
     try:
         osf_user.system_tags.append(PREREG_ADMIN_TAG)
     except AttributeError:
         raise Http404(('OSF user with id "{}" not found.'
                        ' Please double check.').format(osf_id))
     new_user = MyUser.objects.create_user(
         email=form.cleaned_data.get('email'),
         password=form.cleaned_data.get('password1')
     )
     new_user.first_name = form.cleaned_data.get('first_name')
     new_user.last_name = form.cleaned_data.get('last_name')
     new_user.osf_id = osf_id
     for group in form.cleaned_data.get('group_perms'):
         new_user.groups.add(group)
     new_user.save()
     reset_form = PasswordRecoveryForm(
         data={'username_or_email': new_user.email}
     )
     if reset_form.is_valid():
         send = Recover()
         send.request = self.request
         send.form_valid(reset_form)
     messages.success(self.request, 'Registration successful!')
     return super(RegisterUser, self).form_valid(form)
Esempio n. 6
0
 def get_object(self, queryset=None):
     customer_id = self.kwargs.get('user_id', None)
     customer = User.load(customer_id)
     email = customer.emails[0]
     desk = DeskClient(self.request.user)
     params = {'email': email}
     customer = desk.find_customer(params)
     return customer
Esempio n. 7
0
def serialize_simple_user(user_info):
    user = User.load(user_info[0])
    return {
        'id': user._id,
        'name': user.fullname,
        'permission':
        reduce_permissions(user_info[1]) if user_info[1] else None,
    }
Esempio n. 8
0
 def get_context_data(self, **kwargs):
     user = User.load(self.kwargs.get('guid'))
     try:
         self.initial.setdefault('emails', [(r, r) for r in user.emails])
     except AttributeError:
         raise
     kwargs.setdefault('guid', user.pk)
     return super(ResetPasswordView, self).get_context_data(**kwargs)
 def get_context_data(self, **kwargs):
     user = User.load(self.kwargs.get('guid'))
     try:
         self.initial.setdefault('emails', [(r, r) for r in user.emails])
     except AttributeError:
         raise Http404('{} with id "{}" not found.'.format(
             self.context_object_name.title(), self.kwargs.get('guid')))
     kwargs.setdefault('guid', user.pk)
     return super(ResetPasswordView, self).get_context_data(**kwargs)
Esempio n. 10
0
 def get_context_data(self, **kwargs):
     self.guid = self.kwargs.get('guid', None)
     try:
         user = User.load(self.guid)
     except AttributeError:
         raise
     self.initial.setdefault('emails', [(r, r) for r in user.emails])
     kwargs.setdefault('guid', self.guid)
     kwargs.setdefault('form', self.get_form())  # TODO: 1.9 xx
     return super(ResetPasswordView, self).get_context_data(**kwargs)
Esempio n. 11
0
 def get_queryset(self):
     customer_id = self.kwargs.get('user_id', None)
     customer = User.load(customer_id)
     email = customer.emails[0]
     desk = DeskClient(self.request.user)
     params = {
         'email': email,
     }
     queryset = desk.cases(params)
     return queryset
Esempio n. 12
0
 def get_context_data(self, **kwargs):
     self.guid = self.kwargs.get('guid', None)
     try:
         user = User.load(self.guid)
     except AttributeError:
         raise
     self.initial.setdefault('emails', [(r, r) for r in user.emails])
     kwargs.setdefault('guid', self.guid)
     kwargs.setdefault('form', self.get_form())  # TODO: 1.9 xx
     return super(ResetPasswordView, self).get_context_data(**kwargs)
def _validate_reports(value, *args, **kwargs):
    for key, val in value.iteritems():
        if not User.load(key):
            raise ValidationValueError('Keys must be user IDs')
        if not isinstance(val, dict):
            raise ValidationTypeError('Values must be dictionaries')
        if ('category' not in val or 'text' not in val or 'date' not in val
                or 'retracted' not in val):
            raise ValidationValueError(
                ('Values must include `date`, `category`, ',
                 '`text`, `retracted` keys'))
Esempio n. 14
0
def _validate_reports(value, *args, **kwargs):
    for key, val in value.iteritems():
        if not User.load(key):
            raise ValidationValueError('Keys must be user IDs')
        if not isinstance(val, dict):
            raise ValidationTypeError('Values must be dictionaries')
        if ('category' not in val or 'text' not in val or 'date' not in val or 'retracted' not in val):
            raise ValidationValueError(
                ('Values must include `date`, `category`, ',
                 '`text`, `retracted` keys')
            )
Esempio n. 15
0
 def get_context_data(self, **kwargs):
     user = User.load(self.kwargs.get('guid'))
     try:
         self.initial.setdefault('emails', [(r, r) for r in user.emails])
     except AttributeError:
         raise Http404(
             '{} with id "{}" not found.'.format(
                 self.context_object_name.title(),
                 self.kwargs.get('guid')
             ))
     kwargs.setdefault('guid', user.pk)
     return super(ResetPasswordView, self).get_context_data(**kwargs)
Esempio n. 16
0
 def delete(self, request, *args, **kwargs):
     user_ids = [
         uid for uid in request.POST.keys() if uid != 'csrfmiddlewaretoken'
     ]
     for uid in user_ids:
         user = User.load(uid)
         if 'spam_flagged' in user.system_tags:
             user.system_tags.remove('spam_flagged')
         user.system_tags.append('spam_confirmed')
         user.save()
         update_admin_log(user_id=self.request.user.id,
                          object_id=uid,
                          object_repr='User',
                          message='Confirmed SPAM: {}'.format(uid),
                          action_flag=CONFIRM_SPAM)
     return redirect('users:flagged-spam')
Esempio n. 17
0
 def delete(self, request, *args, **kwargs):
     user_ids = [
         uid for uid in request.POST.keys()
         if uid != 'csrfmiddlewaretoken'
     ]
     for uid in user_ids:
         user = User.load(uid)
         if 'spam_flagged' in user.system_tags:
             user.system_tags.remove('spam_flagged')
         user.system_tags.append('spam_confirmed')
         user.save()
         update_admin_log(
             user_id=self.request.user.id,
             object_id=uid,
             object_repr='User',
             message='Confirmed SPAM: {}'.format(uid),
             action_flag=CONFIRM_SPAM
         )
     return redirect('users:flagged-spam')
Esempio n. 18
0
def serialize_comment(comment, full=False):
    reports = serialize_reports(comment.reports)
    author_abs_url = furl(OSF_DOMAIN)
    author_abs_url.path.add(comment.user.url)

    return {
        'id': comment._id,
        'author': User.load(comment.user._id),
        'author_path': author_abs_url.url,
        'date_created': comment.date_created,
        'date_modified': comment.date_modified,
        'content': comment.content,
        'has_children': bool(getattr(comment, 'commented', [])),
        'modified': comment.modified,
        'is_deleted': comment.is_deleted,
        'reports': reports,
        'node': comment.node,
        'category': reports[0]['category'],
    }
Esempio n. 19
0
def serialize_comment(comment):
    reports = [
        serialize_report(user, report)
        for user, report in comment.reports.iteritems()
    ]
    author_abs_url = furl(OSF_DOMAIN)
    author_abs_url.path.add(comment.user.url)

    return {
        'id': comment._id,
        'author': User.load(comment.user._id),
        'author_id': comment.user._id,
        'author_path': author_abs_url.url,
        'date_created': comment.date_created,
        'date_modified': comment.date_modified,
        'content': comment.content,
        'has_children': bool(getattr(comment, 'commented', [])),
        'modified': comment.modified,
        'is_deleted': comment.is_deleted,
        'spam_status': comment.spam_status,
        'reports': reports,
        'node': comment.node,
        'category': reports[0]['category'],
    }
Esempio n. 20
0
 def get_object(self, queryset=None):
     return User.load(self.kwargs.get('guid'))
Esempio n. 21
0
 def get_object(self, queryset=None):
     return serialize_user(User.load(self.kwargs.get('guid')))
 def get_object(self, queryset=None):
     return User.load(self.kwargs.get('guid'))
Esempio n. 23
0
def disable_user(request, guid):
    user = User.load(guid)
    user.disable_account()
    user.save()
    return redirect(reverse_user(guid))
 def get_object(self, queryset=None):
     return serialize_user(User.load(self.kwargs.get('guid')))
Esempio n. 25
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. 26
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. 27
0
def disable_user(request, guid):
    user = User.load(guid)
    user.disable_account()
    user.save()
    return redirect(reverse_user(guid))
Esempio n. 28
0
def serialize_report(user, report):
    return {
        'reporter': User.load(user),
        'category': report.get('category', None),
        'reason': report.get('text', None),
    }