def set_sitting_parent_ids(ob, event): """We add the group ID/sesssion id if adding a sitting in contexts not bound to groups in traversal hierarchy """ scheduling_context = ISchedulingContext(ob.__parent__, None) if ob.group_id is None: if scheduling_context is not None: ob.group_id = removeSecurityProxy(scheduling_context).group_id if ob.session_id is None or IObjectModifiedEvent.providedBy(event): if scheduling_context is not None: group = scheduling_context.get_group() if interfaces.IChamber.providedBy(group): container = removeSecurityProxy(group).sessions else: return else: try: container = ob.group.sessions except AttributeError: return try: session_id = container._query.filter( sql.and_( domain.Session.start_date < ob.start_date, domain.Session.end_date > ob.end_date)).one().session_id ob.session_id = session_id except (orm.exc.NoResultFound, orm.exc.MultipleResultsFound): log.error("Could not determine session for sitting %s", ob)
def set_sitting_parent_ids(ob, event): """We add the group ID/sesssion id if adding a sitting in contexts not bound to groups in traversal hierarchy """ scheduling_context = ISchedulingContext(ob.__parent__, None) if ob.group_id is None: if scheduling_context is not None: ob.group_id = removeSecurityProxy(scheduling_context).group_id if ob.session_id is None or IObjectModifiedEvent.providedBy(event): if scheduling_context is not None: group = scheduling_context.get_group() if interfaces.IParliament.providedBy(group): container = removeSecurityProxy(group).sessions else: return else: try: container = ob.group.sessions except AttributeError: return try: session_id = container._query.filter( sql.and_( domain.Session.start_date < ob.start_date, domain.Session.end_date > ob.end_date ) ).one().session_id ob.session_id = session_id except (orm.exc.NoResultFound, orm.exc.MultipleResultsFound): log.error("Could not determine session for sitting %s", ob)