def setUp(self): super(TestFilterList, self).setUp() self.filter_all = Filter('filter_all', 'All') self.filter_active = CatalogQueryFilter( 'filter_active', 'Active', default=True, query_extension={'review_state': ['state-open']}) self.filter_closed = CatalogQueryFilter( 'filter_closed', 'Closed', query_extension={'review_state': ['state-closed']}) self.filter_list = FilterList(self.filter_all, self.filter_active, self.filter_closed)
class Dispositions(BaseCatalogListingTab): grok.name('tabbedview_view-dispositions') types = ['opengever.disposition.disposition'] enabled_actions = [] major_actions = [] filterlist_name = 'disposition_state_filter' filterlist_available = True filterlist = FilterList( Filter('filter_all', _('all')), CatalogQueryFilter('filter_active', _('active'), default=True, query_extension={'review_state': ACTIVE_STATES})) columns = ( { 'column': '', 'column_title': '', 'transform': path_checkbox, 'sortable': False, 'width': 30 }, { 'column': 'sequence_number', 'column_title': _(u'document_sequence_number', default=u'Sequence Number'), 'sort_index': 'sequence_number' }, { 'column': 'Title', 'column_title': _(u'label_title', default=u'Title'), 'sort_index': 'sortable_title', 'transform': linked }, { 'column': 'review_state', 'column_title': _(u'label_review_state', default=u'Review state'), 'transform': workflow_state }, )
class Dossiers(BaseCatalogListingTab): """List all dossiers recursively.""" template = ViewPageTemplateFile("generic_with_filters.pt") subject_filter_available = True object_provides = 'opengever.dossier.behaviors.dossier.IDossierMarker' columns = ( { 'column': '', 'column_title': '', 'transform': helper.path_checkbox, 'sortable': False, 'groupable': False, 'width': 30 }, { 'column': 'reference', 'column_title': _(u'label_reference', default=u'Reference Number') }, { 'column': 'Title', 'column_title': _(u'label_title', default=u'Title'), 'sort_index': 'sortable_title', 'transform': linked }, { 'column': 'review_state', 'column_title': _(u'label_review_state', default=u'Review state'), 'transform': workflow_state }, { 'column': 'responsible', 'column_title': _(u'label_dossier_responsible', default=u"Responsible"), 'transform': readable_ogds_author }, { 'column': 'start', 'column_title': _(u'label_start', default=u'Start'), 'transform': readable_date }, { 'column': 'end', 'column_title': _(u'label_end', default=u'End'), 'transform': readable_date }, { 'column': 'Subject', 'column_title': _(u'label_keywords', default=u'Keywords'), 'transform': linked_subjects, 'sortable': False }, ) search_options = {'is_subdossier': False} enabled_actions = [ 'change_state', 'pdf_dossierlisting', 'export_dossiers', 'move_items', 'copy_items', 'create_disposition', 'ech0147_export', ] major_actions = [ 'change_state', ] all_filter = Filter('filter_all', _('label_tabbedview_filter_all')) active_filter = CatalogQueryFilter( 'filter_active', _('Active'), default=True, query_extension={'review_state': DOSSIER_STATES_OPEN}) expired_filter = CatalogQueryFilter('filter_retention_expired', _('expired'), query_extension={ 'review_state': DOSSIER_STATES_CLOSED, 'retention_expiration': { 'query': date.today(), 'range': 'max' } }) overdue_filter = CatalogQueryFilter( 'filter_overdue', _('overdue'), query_extension={ 'review_state': DOSSIER_STATES_OPEN, 'end': { 'query': date.today() - timedelta(days=1), 'range': 'max' } }) filterlist_name = 'dossier_state_filter' filterlist_available = True @property def filterlist(self): filters = [self.all_filter, self.active_filter] if api.user.has_permission('opengever.disposition: Add disposition'): filters.append(self.expired_filter) filters.append(self.overdue_filter) return FilterList(*filters)