def __call__(self): ar = self.context workflow = getToolByName(ar, 'portal_workflow') # If is a retracted AR, show the link to child AR and show a warn msg if workflow.getInfoFor(ar, 'review_state') == 'invalid': childar = hasattr(ar, 'getChildAnalysisRequest') \ and ar.getChildAnalysisRequest() or None childid = childar and childar.getRequestID() or None message = _( 'This Analysis Request has been withdrawn and is shown ' 'for trace-ability purposes only. Retest: ' '${retest_child_id}.', mapping={'retest_child_id': safe_unicode(childid) or ''}) self.context.plone_utils.addPortalMessage(message, 'warning') # If is an AR automatically generated due to a Retraction, show it's # parent AR information if hasattr(ar, 'getParentAnalysisRequest') \ and ar.getParentAnalysisRequest(): par = ar.getParentAnalysisRequest() message = _( 'This Analysis Request has been ' 'generated automatically due to ' 'the retraction of the Analysis ' 'Request ${retracted_request_id}.', mapping={ 'retracted_request_id': safe_unicode(par.getRequestID()) }) self.context.plone_utils.addPortalMessage(t(message), 'info') template = LogView.__call__(self) return template
def __call__(self): ar = self.context workflow = getToolByName(ar, 'portal_workflow') # If is a retracted AR, show the link to child AR and show a warn msg if workflow.getInfoFor(ar, 'review_state') == 'invalid': childar = hasattr(ar, 'getChildAnalysisRequest') \ and ar.getChildAnalysisRequest() or None childid = childar and childar.getRequestID() or None message = _('This Analysis Request has been withdrawn and is shown ' 'for trace-ability purposes only. Retest: ' '${retest_child_id}.', mapping={'retest_child_id': safe_unicode(childid) or ''}) self.context.plone_utils.addPortalMessage(message, 'warning') # If is an AR automatically generated due to a Retraction, show it's # parent AR information if hasattr(ar, 'getParentAnalysisRequest') \ and ar.getParentAnalysisRequest(): par = ar.getParentAnalysisRequest() message = _('This Analysis Request has been ' 'generated automatically due to ' 'the retraction of the Analysis ' 'Request ${retracted_request_id}.', mapping={'retracted_request_id': safe_unicode(par.getRequestID())}) self.context.plone_utils.addPortalMessage( t(message), 'info') template = LogView.__call__(self) return template
def __call__(self): ar = self.context workflow = getToolByName(ar, "portal_workflow") # If is a retracted AR, show the link to child AR and show a warn msg if workflow.getInfoFor(ar, "review_state") == "invalid": childar = hasattr(ar, "getChildAnalysisRequest") and ar.getChildAnalysisRequest() or None childid = childar and childar.getRequestID() or None message = _( "This Analysis Request has been withdrawn and is shown " "for trace-ability purposes only. Retest: " "${retest_child_id}.", mapping={"retest_child_id": safe_unicode(childid) or ""}, ) self.context.plone_utils.addPortalMessage(message, "warning") # If is an AR automatically generated due to a Retraction, show it's # parent AR information if hasattr(ar, "getParentAnalysisRequest") and ar.getParentAnalysisRequest(): par = ar.getParentAnalysisRequest() message = _( "This Analysis Request has been " "generated automatically due to " "the retraction of the Analysis " "Request ${retracted_request_id}.", mapping={"retracted_request_id": safe_unicode(par.getRequestID())}, ) self.context.plone_utils.addPortalMessage(t(message), "info") template = LogView.__call__(self) return template
def __call__(self): plone.protect.CheckAuthenticator(self.request) bsc = getToolByName(self.context, 'bika_setup_catalog') uc = getToolByName(self.context, 'uid_catalog') service_title = self.request.get('service_title', '').strip() if not service_title: return '' analysis = uc(UID=self.request.get('analysis_uid', None)) if analysis: analysis = analysis[0].getObject() self.request['ajax_load'] = 1 tmp = LogView(analysis, self.request) self.log = tmp.folderitems() self.log.reverse() else: self.log = [] brains = bsc(portal_type="AnalysisService", title=to_unicode(service_title)) if not brains: return '' self.service = brains[0].getObject() self.calc = self.service.getCalculation() self.partsetup = self.service.getPartitionSetup() # convert uids to comma-separated list of display titles for i,ps in enumerate(self.partsetup): self.partsetup[i]['separate'] = \ ps.has_key('separate') and _('Yes') or _('No') if type(ps['sampletype']) == str: ps['sampletype'] = [ps['sampletype'],] sampletypes = [] for st in ps['sampletype']: res = bsc(UID=st) sampletypes.append(res and res[0].Title or st) self.partsetup[i]['sampletype'] = ", ".join(sampletypes) if ps.has_key('container'): if type(ps['container']) == str: self.partsetup[i]['container'] = [ps['container'],] try: containers = [bsc(UID=c)[0].Title for c in ps['container']] except IndexError: containers = [c for c in ps['container']] self.partsetup[i]['container'] = ", ".join(containers) else: self.partsetup[i]['container'] = '' if ps.has_key('preservation'): if type(ps['preservation']) == str: ps['preservation'] = [ps['preservation'],] try: preservations = [bsc(UID=c)[0].Title for c in ps['preservation']] except IndexError: preservations = [c for c in ps['preservation']] self.partsetup[i]['preservation'] = ", ".join(preservations) else: self.partsetup[i]['preservation'] = '' return self.template()
def __call__(self): plone.protect.CheckAuthenticator(self.request) bsc = getToolByName(self.context, 'bika_setup_catalog') uc = getToolByName(self.context, 'uid_catalog') service_title = self.request.get('service_title', '').strip() if not service_title: return '' analysis = uc(UID=self.request.get('analysis_uid', None)) if analysis: analysis = analysis[0].getObject() self.request['ajax_load'] = 1 tmp = LogView(analysis, self.request) self.log = tmp.folderitems() self.log.reverse() else: self.log = [] brains = bsc(portal_type="AnalysisService", title=to_unicode(service_title)) if not brains: return '' self.service = brains[0].getObject() self.calc = self.service.getCalculation() self.partsetup = self.service.getPartitionSetup() # convert uids to comma-separated list of display titles for i, ps in enumerate(self.partsetup): self.partsetup[i]['separate'] = \ ps.has_key('separate') and _('Yes') or _('No') if type(ps['sampletype']) == str: ps['sampletype'] = [ ps['sampletype'], ] sampletypes = [] for st in ps['sampletype']: res = bsc(UID=st) sampletypes.append(res and res[0].Title or st) self.partsetup[i]['sampletype'] = ", ".join(sampletypes) if ps.has_key('container'): if type(ps['container']) == str: self.partsetup[i]['container'] = [ ps['container'], ] try: containers = [bsc(UID=c)[0].Title for c in ps['container']] except IndexError: containers = [c for c in ps['container']] self.partsetup[i]['container'] = ", ".join(containers) else: self.partsetup[i]['container'] = '' if ps.has_key('preservation'): if type(ps['preservation']) == str: ps['preservation'] = [ ps['preservation'], ] try: preservations = [ bsc(UID=c)[0].Title for c in ps['preservation'] ] except IndexError: preservations = [c for c in ps['preservation']] self.partsetup[i]['preservation'] = ", ".join(preservations) else: self.partsetup[i]['preservation'] = '' return self.template()