def add_accession_callback(values): from bauble.plugins.garden.accession import Accession, AccessionEditor session = db.Session() species = session.merge(values[0]) if isinstance(species, VernacularName): species = species.species e = AccessionEditor(model=Accession(species=species)) session.close() return e.start() is not None
self.session.rollback() self.view.close_boxes() return True else: return False more_committed = None if response == self.RESPONSE_NEXT: self.presenter.cleanup() e = SpeciesEditorMenuItem(Species(genus=self.model.genus), self.parent) more_committed = e.start() elif response == self.RESPONSE_OK_AND_ADD: from bauble.plugins.garden.accession import (AccessionEditor, Accession) e = AccessionEditor(Accession(species=self.model), parent=self.parent) more_committed = e.start() if more_committed is not None: if isinstance(more_committed, list): self._committed.extend(more_committed) else: self._committed.append(more_committed) self.view.close_boxes() return True def commit_changes(self): # if self.model.sp or cv_group is empty and # self.model.infrasp_rank=='cv.' and self.model.infrasp # then show a dialog saying we can't commit and return