'Returns a boolean value determining the overall row status.
It is detremined based on the dictionary of column name
to status mappings passed in.
By default, it uses the following logic:
#. If any statuses are ``False``, return ``False``.
#. If no statuses are ``False`` but any or ``None``, return ``None``.
#. If all statuses are ``True``, return ``True``.
This provides the greatest protection against false positives without
weighting any particular columns.
The ``statuses`` parameter is passed in as a dictionary mapping
column names to their statuses in order to allow this function to
be overridden in such a way as to weight one column\'s status over
another should that behavior be desired.'

def calculate_row_status(self, statuses):

    values = statuses.values()
    if any([(status is False) for status in values]):
        return False
    elif any([(status is None) for status in values]):
        return None
    else:
        return True
