Пример #1
0
Файл: user.py Проект: qbig/wger
def api_key(request):
    '''
    Allows the user to generate an API key for the REST API
    '''

    context = {}
    context.update(csrf(request))

    try:
        key = ApiKey.objects.get(user=request.user)
    except ApiKey.DoesNotExist:
        key = False
    if request.GET.get('new_key'):
        if key:
            key.delete()

        key = ApiKey()
        key.user = request.user
        key.save()

        # Redirect to get rid of the GET parameter
        return HttpResponseRedirect(reverse('core:api-key'))

    context['key'] = key

    return render(request, 'user/api_key.html', context)
Пример #2
0
 def handle(self, *args, **options):
     from tastypie.models import ApiKey
     users = User.objects.all()
     for user in users:
         try:
             key = user.api_key
         except ApiKey.DoesNotExist:
             print('Creating API key for {}'.format(user.username))
             k = ApiKey()
             k.user = user
             k.save()
Пример #3
0
 def handle(self, *args, **options):
     from tastypie.models import ApiKey
     users = User.objects.all()
     for user in users:
         try:
             key = user.api_key
         except ApiKey.DoesNotExist:
             print('Creating API key for {}'.format(user.username))
             k = ApiKey()
             k.user = user
             k.save()
Пример #4
0
def vw_login_page(request):

    mesage = None
    error = None

    #redirect_to = request.REQUEST.get('next', '')
    redirect_to = ""

    if not redirect_to:
        redirect_to = 'homepage'

    if request.user.is_authenticated():

        print("is_authenticated")
        print(request.user)
        return HttpResponseRedirect(reverse('homepage'))

    else:
        if request.method == 'POST':

            print("NOT is_authenticated - POST")
            form = login_form(request.POST)

            if form.is_valid():
                f = form.cleaned_data

                try:
                    user = auth.authenticate(username=f['user'],
                                             password=f['password'])
                    print("user - POST ")
                except:
                    user = None
                    pass

                if user is not None and user.is_active:
                    print("log login")
                    #log
                    try:
                        lo = mdlLog()
                        lo.user = user
                        lo.content_type = ContentType.objects.get(model='user')
                        lo.object_id = user.id
                        lo.action = 'login'
                        lo.save()

                    except Exception as e:
                        logging.error(e)

                    #request.session.set_expiry(timedelta(days=settings.KEEP_LOGGED_DURATION))

                    try:
                        from tastypie.models import ApiKey

                        #we create an api key
                        api = ApiKey()
                        api.user = user
                        api.save()
                    except Exception as e:
                        logging.error(e)

                    if request.session.test_cookie_worked():
                        request.session.delete_test_cookie()

                    print("auth login")
                    auth.login(request, user)

                    request.session['welcome_msg'] = _(
                        'Welcome ') + user.username + '.'

                    return HttpResponseRedirect(reverse('homepage'))

                else:
                    error = _('User or password not in our systems')
                    return render(
                        request, 'login/login.html', {
                            'form': form,
                            'mesage': mesage,
                            'error': error,
                            'redirect_to': redirect_to,
                        })
            else:
                error = _('User or password not in our systems')
                return render(
                    request, 'login/login.html', {
                        'form': form,
                        'mesage': mesage,
                        'error': error,
                        'redirect_to': redirect_to,
                    })
        else:

            print("NOT is_authenticated - NOT POST")
            form = login_form()
            return render(
                request, 'login/login.html', {
                    'form': form,
                    'mesage': mesage,
                    'error': error,
                    'redirect_to': redirect_to,
                })