OpenSlides/openslides/agenda/api.py
2011-07-31 10:46:29 +02:00

56 lines
1.3 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
openslides.agenda.api
~~~~~~~~~~~~~~~~~~~~~
Useful functions for the agenda app.
:copyright: 2011 by the OpenSlides team, see AUTHORS.
:license: GNU GPL, see LICENSE for more details.
"""
from openslides.system.api import config_get
def get_active_item(only_id=False):
"""
Returns the active Item. If no item is active, or it can not find an Item,
it raise Item.DoesNotExist
if only_id is True, returns only the id of this item. Returns None if not Item
is active. Does not Raise Item.DoesNotExist
"""
from agenda.models import Item
id = config_get("presentation", None)
if only_id:
if id is None:
return None
return int(id)
return Item.objects.get(pk=id)
def is_summary():
"""
True, if a summery shall be displayed
"""
from agenda.models import Item
try:
get_active_item()
except Item.DoesNotExist:
return True
if config_get('summary', False):
return True
return False
def children_list(items):
"""
Return a list for items with all childitems in the right order.
"""
l = []
for item in items:
l.append(item)
if item.children:
l += children_list(item.children)
return l