Add inactive state for counters

This commit is contained in:
guillaume-renaud 2016-10-16 18:52:04 +02:00 committed by Skia
parent ba6e2c3712
commit 63f10c13d4
2 changed files with 13 additions and 1 deletions

View File

@ -26,7 +26,9 @@
{% for bar in Counter.objects.filter(type="BAR").all() %}
<li>
<a href="{{ url('counter:activity', counter_id=bar.id) }}" style="padding: 0px">
{% if bar.is_open() %}
{% if bar.is_inactive(): %}
<span style="color: orange">&#x3f;</span>
{% elif bar.is_open(): %}
<span style="color: green">&#x2713;</span>
{% else %}
<span style="color: red">&#10007;</span>

View File

@ -11,6 +11,7 @@ import random
import string
import os
import base64
import datetime
from club.models import Club
from accounting.models import CurrencyField
@ -220,6 +221,15 @@ class Counter(models.Model):
def is_open(self):
return len(self.get_barmen_list()) > 0
def is_inactive(self):
"""
Returns True if the counter self is inactive from 5 minutes, else False
"""
if (self.is_open()):
return ((timezone.now() - self.permanencies.model.objects.order_by('-activity').first().activity) > datetime.timedelta(minutes=5))
else:
return False
def barman_list(self):
"""
Returns the barman id list