コード例 #1
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
def add_worm(request):
    if request.method == 'POST':
        form = WormForm(request.POST)
        if form.is_valid():
            worm = form.save(commit=False)
            if request.user.is_authenticated():
                worm.user = request.user
            fake = Faker()
            while True:
                slink = fake.password(length=7, special_chars=False)
                if len(Worm.objects.filter(slink=slink)) == 0:
                    worm.slink = slink
                    break
                continue
            worm.timestamp = make_aware(datetime.now())
            worm.save()
            messages.add_message(request,
                                 messages.SUCCESS,
                                 'You successfully got that worm!')
        else:
            messages.add_message(request,
                                 messages.ERROR,
                                 'Form data invalid, all fields required')
    else:
        messages.add_message(request,
                             messages.ERROR,
                             'Stop trying to hack this site!')
    return redirect(request.GET['next'])
コード例 #2
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
 def get_queryset(self):
     self.form = WormForm()
     self.user = get_object_or_404(User, pk=self.kwargs['pk'])
     last30 = datetime.now() - timedelta(days=30)
     thirtybird = self.user.worm_set.all().filter(timestamp__gt=last30)
     return thirtybird.order_by('-numclicks') \
         .prefetch_related('user')
コード例 #3
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
def edit_worm(request, worm_id):
    worm = get_object_or_404(Worm, pk=worm_id)
    if request.method == 'GET':
        form = WormForm(instance=worm)
    elif request.method == 'POST':
        form = WormForm(instance=worm, data=request.POST)
        if form.is_valid():
            worm = form.save(commit=False)
            worm.timestamp = datetime.now()
            worm.save()
            messages.add_message(request, messages.SUCCESS,
                                 'Updated worm')
            return redirect('click_list', pk=worm_id)
        messages.add_message(request,
                             messages.ERROR,
                             'Form data invalid'
                             'by field')
    return render(request,
                  'bookmarks/edit_worm.html', {'worm_id': worm_id,
                                               'worm': worm,
                                               'form': form})
コード例 #4
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
 def get_queryset(self):
     self.form = WormForm()
     self.user = get_object_or_404(User, pk=self.kwargs['pk'])
     return self.user.worm_set.all().order_by('-timestamp') \
         .prefetch_related('user')
コード例 #5
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
 def get_queryset(self):
     self.form = WormForm()
     return User.objects.annotate(bird_clicks=Count('click')).order_by('-bird_clicks')
コード例 #6
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
 def get_queryset(self):
     self.form = WormForm()
     last30 = datetime.now() - timedelta(days=30)
     thirtyworms = Worm.objects.filter(timestamp__gt=last30)
     return thirtyworms.order_by('-numclicks')
コード例 #7
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
 def get_queryset(self):
     self.form = WormForm()
     return Worm.objects.order_by('-numclicks')
コード例 #8
0
ファイル: views.py プロジェクト: TylerKotkin/urly-bird
 def get_queryset(self):
     self.form = WormForm()
     return Worm.objects.all().order_by('-timestamp') \
         .prefetch_related('user')