def __process_change_owner(self, new_owner): trac_tool = None if new_owner is None: # Reassign to requester for editing the experiment # metadata. trac_tool = IsoRequestTicketReassigner( iso_request=self.get_entity(), completed=False) new_owner = '' elif new_owner == self.requester.directory_user_id: # Close iso request and reassign to requester. trac_tool = IsoRequestTicketReassigner( iso_request=self.get_entity(), completed=True) elif new_owner == STOCKMANAGEMENT_USER: if self.owner == '': # Activate this ISO request for the first time. trac_tool = IsoRequestTicketAccepter( iso_request=self.get_entity(), username=new_owner) else: user_id = get_current_user().directory_user_id new_owner = user_id + ", " + STOCKMANAGEMENT_USER trac_tool = IsoRequestTicketReopener( iso_request=self.get_entity(), username=user_id) else: # Accept this ISO request. tkt_user = new_owner.split(',')[0] trac_tool = IsoRequestTicketAccepter( iso_request=self.get_entity(), username=tkt_user) if not trac_tool is None: run_trac_tool(trac_tool) self.owner = new_owner
def __pipetting_iso_or_iso_job(self, iso_or_iso_job): user = get_current_user() executor = get_worklist_executor(iso_or_iso_job, user) result = run_tool(executor, error_prefix='Errors during pipetting. --') trac_updater = LabIsoStockTransferReporter(executor=executor) run_trac_tool(trac_updater) return result
def _process_request_data(self, data): initial_name = self.context.__name__ self.context.update(data) if isinstance(data, ExperimentMetadata): # Now that we have all new information, generate links and upload # to Trac. url = self.request.application_url + '/public//LOUICe.html#' \ + self.context.path if self.context.iso_request is None: iso_url = "No ISO for this experiment metadata." else: iso_url = self.request.application_url \ + '/public//LOUICe.html#' \ + self.context.iso_request.path trac_tool = ExperimentMetadataReportUploader( generator=self.__generator, experiment_metadata_link=url, iso_request_link=iso_url) run_trac_tool(trac_tool) # FIXME: add conflict detection # pylint: disable=W0511 if initial_name != self.context.__name__: self.request.response_headerlist = \ [('Location', resource_to_url(self.context, request=self.request))] self.request.response_status = self._status(HTTPOk) return {'context' : self.context}
def __process_change_owner(self, new_owner): trac_tool = None if new_owner is None: # Reassign to requester for editing the experiment # metadata. trac_tool = IsoRequestTicketReassigner( iso_request=self.get_entity(), completed=False) new_owner = '' elif new_owner == self.requester.directory_user_id: # Close iso request and reassign to requester. trac_tool = IsoRequestTicketReassigner( iso_request=self.get_entity(), completed=True) elif new_owner == STOCKMANAGEMENT_USER: if self.owner == '': # Activate this ISO request for the first time. trac_tool = IsoRequestTicketAccepter( iso_request=self.get_entity(), username=new_owner) else: user_id = get_current_user().directory_user_id new_owner = user_id + ", " + STOCKMANAGEMENT_USER trac_tool = IsoRequestTicketReopener( iso_request=self.get_entity(), username=user_id) else: # Accept this ISO request. tkt_user = new_owner.split(',')[0] trac_tool = IsoRequestTicketAccepter(iso_request=self.get_entity(), username=tkt_user) if not trac_tool is None: run_trac_tool(trac_tool) self.owner = new_owner