@classmethod
def _defaults(cls, config):
    """
        Provide default configuration for a time sheet view.
        """
    title = cls.get_title()
    url_prefix = cls.get_url_prefix()
    config.add_tailbone_permission_group(cls.key, title)
    config.add_tailbone_permission(cls.key, '{}.viewall'.format(cls.key),
        'View full {}'.format(title))
    config.add_route(cls.key, '{}/'.format(url_prefix))
    config.add_view(cls, attr='full', route_name=cls.key, renderer=
        '/shifts/{}.mako'.format(cls.key), permission='{}.viewall'.format(
        cls.key))
    if cls.expose_employee_views:
        config.add_tailbone_permission(cls.key, '{}.view'.format(cls.key),
            'View single employee {}'.format(title))
        config.add_route('{}.employee'.format(cls.key), '{}/employee/'.
            format(url_prefix))
        config.add_view(cls, attr='employee', route_name='{}.employee'.
            format(cls.key), renderer='/shifts/{}.mako'.format(cls.key),
            permission='{}.view'.format(cls.key))
    other_key = 'timesheet' if cls.key == 'schedule' else 'schedule'
    config.add_route('{}.goto.{}'.format(cls.key, other_key), '{}/goto-{}'.
        format(url_prefix, other_key))
    config.add_view(cls, attr='crossview', route_name='{}.goto.{}'.format(
        cls.key, other_key), permission='{}.view'.format(other_key))
