def sync_compas(request, template_name="sync/sync_compas.html"): """Landing page, that shows all COMPAS stations with possibility to import one-by-one.""" queryset = get_compases(request.user) queryset = queryset.annotate(last_updated=Max('warehouses__stock_items__updated')) return direct_to_template(request, template=template_name, extra_context={'stations': queryset})
def get_last_update(user): """dummy function, just a wrapper""" failed = False compases = get_compases(user) for c in compases: try: if c.get_last_attempt().status == ImportLogger.FAILURE: failed = True except (ImportLogger.DoesNotExist, IndexError): pass return { 'last_updated': compases.aggregate(last_updated=Max('warehouses__stock_items__updated'))['last_updated'], 'failed': failed, }
def user_compases(user): return get_compases(user).values_list('pk', flat=True)