56 lines
1.3 KiB
Python
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
|