Example #1
0
def _update_tree_status(session,
                        tree,
                        status=None,
                        reason=None,
                        tags=[],
                        message_of_the_day=None):
    """Update the given tree's status; note that this does not commit
       the session.  Supply a tree object or name.
    """
    if status is not None:
        tree.status = status
    if reason is not None:
        tree.reason = reason
    if message_of_the_day is not None:
        tree.message_of_the_day = message_of_the_day

    # log it if the reason or status have changed
    if status or reason:
        if status is None:
            status = 'no change'
        if reason is None:
            reason = 'no change'
        l = Log(tree=tree.tree,
                when=_now(),
                who=str(current_user),
                status=status,
                reason=reason,
                tags=tags)
        session.add(l)

    cache.delete_memoized(get_tree, tree.tree)
Example #2
0
def _update_tree_status(session, tree, status=None, reason=None, tags=[],
                        message_of_the_day=None):
    """Update the given tree's status; note that this does not commit
       the session.  Supply a tree object or name.
    """
    if status is not None:
        tree.status = status
    if reason is not None:
        tree.reason = reason
    if message_of_the_day is not None:
        tree.message_of_the_day = message_of_the_day

    # log it if the reason or status have changed
    if status or reason:
        if status is None:
            status = 'no change'
        if reason is None:
            reason = 'no change'
        l = Log(tree=tree.tree,
                when=_now(),
                who=str(current_user),
                status=status,
                reason=reason,
                tags=tags)
        session.add(l)

    cache.delete_memoized(get_tree, tree.tree)
Example #3
0
def _kill_tree(tree):
    session = current_app.db.session
    t = session.query(Tree).get(tree)
    if not t:
        raise NotFound("No such tree")
    session.delete(t)
    # delete from logs and change stack, too
    Log.query.filter_by(tree=tree).delete()
    StatusChangeTree.query.filter_by(tree=tree).delete()
    session.commit()
    cache.delete_memoized(v0_get_tree, tree)
Example #4
0
def kill_tree(tree):
    session = current_app.db.session
    t = session.query(Tree).get(tree)
    if not t:
        raise NotFound("No such tree")
    session.delete(t)
    # delete from logs and change stack, too
    Log.query.filter_by(tree=tree).delete()
    StatusChangeTree.query.filter_by(tree=tree).delete()
    session.commit()
    cache.delete_memoized(get_tree, tree)
    return None, 204