예제 #1
0
def update_invoices():
    one_week_ago = datetime.now() + timedelta(days=-7)
    businesses = Business.objects.filter(last_invoice_item__gt=one_week_ago)
    for business in businesses:
        uncharged_transactions = Transaction.objects.filter(business=business, invoiced_for=False, success=True)
        quantity = uncharged_transactions.count()
        payment.create_invoice_item(business, quantity)
        Transaction.objects.filter(business=business, invoiced_for=False, success=True).update(invoiced_for=True)
        business.update(last_invoice_item=datetime.now())
예제 #2
0
 def check_age(self, obj):
     business = self.context['request'].user
     required_min_age =  business.business.min_age
     today = date.today()
     dateofbirth = obj.dateofbirth
     age = today.year - dateofbirth.year - ((today.month, today.day) < (dateofbirth.month, dateofbirth.day))
     age_verified = age >= required_min_age
     new_transaction = Transaction(business=business.business,
                                   user=obj,
                                   success=age_verified,
                                   )
     if not obj.permission:
         new_transaction.reason="User banned"
     elif not age_verified:
         new_transaction.reason="User too young"
     new_transaction.save()
     if age_verified:
         payment.create_invoice_item(business.business)
     return age_verified and obj.permission