def __init__(self, context, request): super(FolderView, self).__init__(context, request) self.catalog = 'bika_catalog' self.contentFilter = { 'portal_type': 'Worksheet', 'review_state': ['open', 'to_be_verified', 'verified', 'rejected'], 'sort_on': 'id', 'sort_order': 'reverse' } self.context_actions = { _('Add'): { 'url': 'worksheet_add', 'icon': '++resource++bika.lims.images/add.png', 'class': 'worksheet_add' } } self.show_table_only = False self.show_sort_column = False self.show_select_row = False self.show_select_all_checkbox = True self.show_select_column = True self.pagesize = 25 self.restrict_results = False request.set('disable_border', 1) self.icon = self.portal_url + "/++resource++bika.lims.images/worksheet_big.png" self.title = self.context.translate(_("Worksheets")) self.description = "" pm = getToolByName(context, "portal_membership") # this is a property of self, because self.getAnalysts returns it self.analysts = getUsers(self, ['Manager', 'LabManager', 'Analyst']) self.analysts = self.analysts.sortedByKey() bsc = getToolByName(context, 'bika_setup_catalog') templates = [ t for t in bsc(portal_type='WorksheetTemplate', inactive_state='active') ] self.templates = [(t.UID, t.Title) for t in templates] self.templates.sort(lambda x, y: cmp(x[1], y[1])) self.instruments = [ (i.UID, i.Title) for i in bsc(portal_type='Instrument', inactive_state='active') ] self.instruments.sort(lambda x, y: cmp(x[1], y[1])) self.templateinstruments = {} for t in templates: i = t.getObject().getInstrument() if i: self.templateinstruments[t.UID] = i.UID() else: self.templateinstruments[t.UID] = '' self.columns = { 'Title': { 'title': _('Worksheet'), 'index': 'sortable_title' }, 'Priority': { 'title': _('Priority'), 'index': 'Priority', 'toggle': True }, 'Analyst': { 'title': _('Analyst'), 'index': 'getAnalyst', 'toggle': True }, 'Template': { 'title': _('Template'), 'toggle': True }, 'Services': { 'title': _('Services'), 'sortable': False, 'toggle': False }, 'SampleTypes': { 'title': _('Sample Types'), 'sortable': False, 'toggle': False }, 'Instrument': { 'title': _('Instrument'), 'sortable': False, 'toggle': False }, 'QC': { 'title': _('QC'), 'sortable': False, 'toggle': False }, 'QCTotals': { 'title': _('QC Samples (Analyses)'), 'sortable': False, 'toggle': False }, 'RoutineTotals': { 'title': _('Routine Samples (Analyses)'), 'sortable': False, 'toggle': False }, 'CreationDate': { 'title': PMF('Date Created'), 'toggle': True, 'index': 'created' }, 'state_title': { 'title': _('State'), 'index': 'review_state' }, } self.review_states = [ { 'id': 'default', 'title': _('All'), 'contentFilter': { 'portal_type': 'Worksheet', 'review_state': ['open', 'to_be_verified', 'verified'], 'sort_on': 'id', 'sort_order': 'reverse' }, 'transitions': [{ 'id': 'retract' }, { 'id': 'verify' }, { 'id': 'reject' }], 'columns': [ 'Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title' ] }, # getAuthenticatedMember does not work in __init__ # so 'mine' is configured further in 'folderitems' below. { 'id': 'mine', 'title': _('Mine'), 'contentFilter': { 'portal_type': 'Worksheet', 'review_state': ['open', 'to_be_verified', 'verified', 'rejected'], 'sort_on': 'id', 'sort_order': 'reverse' }, 'transitions': [{ 'id': 'retract' }, { 'id': 'verify' }, { 'id': 'reject' }], 'columns': [ 'Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title' ] }, { 'id': 'open', 'title': _('Open'), 'contentFilter': { 'portal_type': 'Worksheet', 'review_state': 'open', 'sort_on': 'id', 'sort_order': 'reverse' }, 'transitions': [], 'columns': [ 'Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title' ] }, { 'id': 'to_be_verified', 'title': _('To be verified'), 'contentFilter': { 'portal_type': 'Worksheet', 'review_state': 'to_be_verified', 'sort_on': 'id', 'sort_order': 'reverse' }, 'transitions': [{ 'id': 'retract' }, { 'id': 'verify' }, { 'id': 'reject' }], 'columns': [ 'Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title' ] }, { 'id': 'verified', 'title': _('Verified'), 'contentFilter': { 'portal_type': 'Worksheet', 'review_state': 'verified', 'sort_on': 'id', 'sort_order': 'reverse' }, 'transitions': [], 'columns': [ 'Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title' ] }, ]
def __init__(self, context, request): super(FolderView, self).__init__(context, request) self.catalog = 'bika_catalog' self.contentFilter = { 'portal_type': 'Worksheet', 'review_state':['open', 'to_be_verified', 'verified', 'rejected'], 'sort_on':'id', 'sort_order': 'reverse'} self.context_actions = {_('Add'): {'url': 'worksheet_add', 'icon': '++resource++bika.lims.images/add.png', 'class': 'worksheet_add'}} self.show_table_only = False self.show_sort_column = False self.show_select_row = False self.show_select_all_checkbox = True self.show_select_column = True self.pagesize = 25 self.restrict_results = False request.set('disable_border', 1) self.icon = self.portal_url + "/++resource++bika.lims.images/worksheet_big.png" self.title = self.context.translate(_("Worksheets")) self.description = "" pm = getToolByName(context, "portal_membership") # this is a property of self, because self.getAnalysts returns it self.analysts = getUsers(self, ['Manager', 'LabManager', 'Analyst']) self.analysts = self.analysts.sortedByKey() bsc = getToolByName(context, 'bika_setup_catalog') templates = [t for t in bsc(portal_type = 'WorksheetTemplate', inactive_state = 'active')] self.templates = [(t.UID, t.Title) for t in templates] self.templates.sort(lambda x, y: cmp(x[1], y[1])) self.instruments = [(i.UID, i.Title) for i in bsc(portal_type = 'Instrument', inactive_state = 'active')] self.instruments.sort(lambda x, y: cmp(x[1], y[1])) self.templateinstruments = {} for t in templates: i = t.getObject().getInstrument() if i: self.templateinstruments[t.UID] = i.UID() else: self.templateinstruments[t.UID] = '' self.columns = { 'Title': {'title': _('Worksheet'), 'index': 'sortable_title'}, 'Priority': {'title': _('Priority'), 'index':'Priority', 'toggle': True}, 'Analyst': {'title': _('Analyst'), 'index':'getAnalyst', 'toggle': True}, 'Template': {'title': _('Template'), 'toggle': True}, 'Services': {'title': _('Services'), 'sortable':False, 'toggle': False}, 'SampleTypes': {'title': _('Sample Types'), 'sortable':False, 'toggle': False}, 'Instrument': {'title': _('Instrument'), 'sortable':False, 'toggle': False}, 'QC': {'title': _('QC'), 'sortable':False, 'toggle': False}, 'QCTotals': {'title': _('QC Samples (Analyses)'), 'sortable':False, 'toggle': False}, 'RoutineTotals': {'title': _('Routine Samples (Analyses)'), 'sortable':False, 'toggle': False}, 'CreationDate': {'title': PMF('Date Created'), 'toggle': True, 'index': 'created'}, 'state_title': {'title': _('State'), 'index': 'review_state'}, } self.review_states = [ {'id':'default', 'title': _('All'), 'contentFilter': {'portal_type': 'Worksheet', 'review_state':['open', 'to_be_verified',], 'sort_on':'id', 'sort_order': 'reverse'}, 'transitions':[{'id':'retract'}, {'id':'verify'}, {'id':'reject'}], 'columns':['Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title']}, # getAuthenticatedMember does not work in __init__ # so 'mine' is configured further in 'folderitems' below. {'id':'mine', 'title': _('Mine'), 'contentFilter': {'portal_type': 'Worksheet', 'review_state':['open', 'to_be_verified', 'verified', 'rejected'], 'sort_on':'id', 'sort_order': 'reverse'}, 'transitions':[{'id':'retract'}, {'id':'verify'}, {'id':'reject'}], 'columns':['Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title']}, {'id':'open', 'title': _('Open'), 'contentFilter': {'portal_type': 'Worksheet', 'review_state':'open', 'sort_on':'id', 'sort_order': 'reverse'}, 'transitions':[], 'columns':['Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title']}, {'id':'to_be_verified', 'title': _('To be verified'), 'contentFilter': {'portal_type': 'Worksheet', 'review_state':'to_be_verified', 'sort_on':'id', 'sort_order': 'reverse'}, 'transitions':[{'id':'retract'}, {'id':'verify'}, {'id':'reject'}], 'columns':['Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title']}, {'id':'verified', 'title': _('Verified'), 'contentFilter': {'portal_type': 'Worksheet', 'review_state':'verified', 'sort_on':'id', 'sort_order': 'reverse'}, 'transitions':[], 'columns':['Title', 'Priority', 'Analyst', 'Template', 'Services', 'SampleTypes', 'Instrument', 'QC', 'QCTotals', 'RoutineTotals', 'CreationDate', 'state_title']}, ]
def __init__(self, context, request): super(FolderView, self).__init__(context, request) self.catalog = CATALOG_WORKSHEET_LISTING self.contentFilter = { 'review_state':['open', 'to_be_verified', 'verified', 'rejected'], 'sort_on':'CreationDate', 'sort_order': 'reverse'} self.context_actions = {_('Add'): {'url': 'worksheet_add', 'icon': '++resource++bika.lims.images/add.png', 'class': 'worksheet_add'}} self.show_table_only = False self.show_sort_column = False self.show_select_row = False self.show_select_all_checkbox = True self.show_select_column = True self.restrict_results = False self.wf = getToolByName(self, 'portal_workflow') self.rc = getToolByName(self, REFERENCE_CATALOG) self.pm = getToolByName(self.context, "portal_membership") request.set('disable_border', 1) self.icon = self.portal_url + "/++resource++bika.lims.images/worksheet_big.png" self.title = self.context.translate(_("Worksheets")) self.description = "" # this is a property of self, because self.getAnalysts returns it self.analysts = getUsers(self, ['Manager', 'LabManager', 'Analyst']) self.analysts = self.analysts.sortedByKey() # TODO: To worksheet catalog bsc = getToolByName(context, 'bika_setup_catalog') templates = [t for t in bsc(portal_type = 'WorksheetTemplate', inactive_state = 'active')] self.templates = [(t.UID, t.Title) for t in templates] self.templates.sort(lambda x, y: cmp(x[1], y[1])) self.instruments = [(i.UID, i.Title) for i in bsc(portal_type = 'Instrument', inactive_state = 'active')] self.instruments.sort(lambda x, y: cmp(x[1], y[1])) self.allowed_department_filtering = \ self.context.bika_setup.getAllowDepartmentFiltering() self.templateinstruments = {} for t in templates: i = t.getObject().getInstrument() if i: self.templateinstruments[t.UID] = i.UID() else: self.templateinstruments[t.UID] = '' self.columns = { 'Title': {'title': _('Worksheet'), 'index': 'getId'}, 'Analyst': {'title': _('Analyst'), 'index': 'getAnalyst', }, 'Template': {'title': _('Template'), 'attr': 'getWorksheetTemplateTitle', 'replace_url': 'getWorksheetTemplateURL', }, 'NumRegularSamples': { 'title': _('Samples'), 'sortable': False, }, 'NumQCAnalyses': { 'title': _('QC Analyses'), 'sortable': False, }, 'NumRegularAnalyses': { 'title': _('Routine Analyses'), 'sortable': False, }, 'CreationDate': {'title': PMF('Date Created'), 'index': 'created'}, 'state_title': {'title': _('State'), 'index': 'review_state', 'attr': 'state_title'}, } self.review_states = [ {'id':'default', 'title': _('All'), 'contentFilter': {'review_state':['open', 'to_be_verified',], 'sort_on':'CreationDate', 'sort_order': 'reverse'}, 'transitions':[{'id':'retract'}, {'id':'verify'}, {'id':'reject'}], 'columns':['Title', 'Analyst', 'Template', 'NumRegularSamples', 'NumQCAnalyses', 'NumRegularAnalyses', 'CreationDate', 'state_title']}, # getAuthenticatedMember does not work in __init__ # so 'mine' is configured further in 'folderitems' below. {'id':'mine', 'title': _('Mine'), 'contentFilter': {'review_state':['open', 'to_be_verified', 'verified', 'rejected'], 'sort_on':'CreationDate', 'sort_order': 'reverse'}, 'transitions':[{'id':'retract'}, {'id':'verify'}, {'id':'reject'}], 'columns':['Title', 'Analyst', 'Template', 'NumRegularSamples', 'NumQCAnalyses', 'NumRegularAnalyses', 'CreationDate', 'state_title']}, {'id':'open', 'title': _('Open'), 'contentFilter': {'review_state':'open', 'sort_on':'CreationDate', 'sort_order': 'reverse'}, 'transitions':[], 'columns':['Title', 'Analyst', 'Template', 'NumRegularSamples', 'NumQCAnalyses', 'NumRegularAnalyses', 'CreationDate', 'state_title']}, {'id':'to_be_verified', 'title': _('To be verified'), 'contentFilter': {'review_state':'to_be_verified', 'sort_on':'CreationDate', 'sort_order': 'reverse'}, 'transitions':[{'id':'retract'}, {'id':'verify'}, {'id':'reject'}], 'columns':['Title', 'Analyst', 'Template', 'NumRegularSamples', 'NumQCAnalyses', 'NumRegularAnalyses', 'CreationDate', 'state_title']}, {'id':'verified', 'title': _('Verified'), 'contentFilter': {'review_state':'verified', 'sort_on':'CreationDate', 'sort_order': 'reverse'}, 'transitions':[], 'columns':['Title', 'Analyst', 'Template', 'NumRegularSamples', 'NumQCAnalyses', 'NumRegularAnalyses', 'CreationDate', 'state_title']}, ]