def get_clipboard_items(self, _user_key): result = self.clipboard_dao.get_clipboard_items(_user_key) # convert to domain object result.items = convert_models(result.items, EMAPAClipboardItem) return result
def get_valid_markers_by_symbol(self, symbol): """ Retrieve list of valid markers by symbol """ search_query = SearchQuery() search_query.set_param('symbol', symbol) # restrict to official and withdrawn search_query.set_param('_marker_status_keys', [1,2]) # only search mouse search_query.set_param('_organism_keys', [1]) search_results = self.marker_dao.search(search_query) markers = search_results.items batchLoadAttribute(markers, 'current_markers') batchLoadAttribute(markers, 'featuretype_vocterms') ValidMarkerSortHelper().sort(markers) # convert db models to domain objects search_results.items = convert_models(markers, SmallMarker) return search_results
def search(self, search_query): search_result = self.mgitype_dao.search(search_query) # convert results to domain objects search_result.items = convert_models(search_result.items, MGITypeDomain) return search_result
def get_by_jnumber(self, jnumber): """ Retrieve a single reference by jnumber (without J: prefix) returns SmallReference """ jnum_id = parse_jnumber(jnumber) reference = self.get_by_jnum_id(jnum_id) return convert_models(reference, SmallReference)
def get_by_key(self, _index_key): gxdindex_record = self.gxdindex_dao.get_by_key(_index_key) if not gxdindex_record: raise NotFoundError("No GxdIndexRecord for _index_key=%d" % _index_key) # convert to domain object return convert_models(gxdindex_record, IndexRecordDomain)
def delete(self, _user_key): """ Delete MGIUser object """ user = self.user_dao.get_by_key(_user_key) if not user: raise NotFoundError("No MGIUser for _user_key=%d" % _user_key) self.user_dao.delete(user) return convert_models(user, UserDomain)
def search(self, search_query): """ Search using a SearchQuery """ search_result = self.user_dao.search(search_query) # convert results to domain objects users = search_result.items search_result.items = convert_models(users, UserDomain) return search_result
def search(self, search_query): """ Search using a SearchQuery """ search_results = self.gxdindex_dao.search(search_query) # load data to be displayed gxdindex_records = search_results.items # convert results to gxd index domain objects search_results.items = convert_models(gxdindex_records, IndexRecordSearchResultDomain) return search_results
def update(self, key, args): """ update user with and argument object """ user = self.user_dao.get_by_key(key) if not user: raise NotFoundError("No MGIUser for _user_key=%d" % key) user.login = args['login'] user.name = args['name'] user._usertype_key = args['_usertype_key'] user._userstatus_key = args['_userstatus_key'] #user._modifiedby_key = current_user._modifiedby_key self.user_dao.update(user) return convert_models(user, UserDomain)
def create(self, args): """ Create user with an argument object """ user = MGIUser() # get the next primary key user._user_key = self.user_dao.get_next_key() # set MGIUser values user.login = args['login'] user.name = args['name'] user._usertype_key = args['_usertype_key'] user._userstatus_key = args['_userstatus_key'] #user._createdby_key = current_user._user_key #user._modifiedby_key = current_user._modifiedby_key self.user_dao.create(user) return convert_models(user, UserDomain)
def update(self, key, indexrecord_domain, current_user): """ Update GxdIndexRecord with and argument object """ gxdindex_record = self.gxdindex_dao.get_by_key(key) if not gxdindex_record: raise NotFoundError("No GxdIndexRecord for _index_key=%d" % key) self.validate_input(indexrecord_domain) # set GxdIndexRecord values gxdindex_record._refs_key = indexrecord_domain._refs_key gxdindex_record._marker_key = indexrecord_domain._marker_key gxdindex_record._priority_key = indexrecord_domain._priority_key gxdindex_record._conditionalmutants_key = indexrecord_domain._conditionalmutants_key gxdindex_record.comments = indexrecord_domain.comments gxdindex_record._modifiedby_key = current_user._user_key # TODO(kstone): get SQLAlchemy to do this automatically gxdindex_record.modification_date = datetime.now() gxdindex_record.indexstages = [] for indexstage_input in indexrecord_domain.indexstages: indexstage = GxdIndexStage() indexstage._index_key = gxdindex_record._index_key indexstage._indexassay_key = indexstage_input._indexassay_key indexstage._stageid_key = indexstage_input._stageid_key indexstage._createdby_key = current_user._user_key indexstage._modifiedby_key = current_user._user_key gxdindex_record.indexstages.append(indexstage) self.gxdindex_dao.update(gxdindex_record) return convert_models(gxdindex_record, IndexRecordDomain)
def create(self, indexrecord_domain, current_user): """ Create GxdIndexRecord with an argument object """ self.validate_input(indexrecord_domain) gxdindex_record = GxdIndexRecord() # get the next primary key gxdindex_record._index_key = self.gxdindex_dao.get_next_key() # set GxdIndexRecord values gxdindex_record._refs_key = indexrecord_domain._refs_key gxdindex_record._marker_key = indexrecord_domain._marker_key gxdindex_record._priority_key = indexrecord_domain._priority_key gxdindex_record._conditionalmutants_key = indexrecord_domain._conditionalmutants_key gxdindex_record.comments = indexrecord_domain.comments gxdindex_record._createdby_key = current_user._user_key gxdindex_record._modifiedby_key = current_user._user_key if indexrecord_domain.indexstages: # add the GxdIndexStage(s) gxdindex_record.indexstages = [] for indexstage_input in indexrecord_domain.indexstages: indexstage = GxdIndexStage() indexstage._index_key = gxdindex_record._index_key indexstage._indexassay_key = indexstage_input._indexassay_key indexstage._stageid_key = indexstage_input._stageid_key indexstage._createdby_key = current_user._user_key indexstage._modifiedby_key = current_user._user_key gxdindex_record.indexstages.append(indexstage) self.gxdindex_dao.create(gxdindex_record) return convert_models(gxdindex_record, IndexRecordDomain)
def current_user(self): return convert_models(current_user, UserDomain)
def get_by_key(self, _user_key): user = self.user_dao.get_by_key(_user_key) if not user: raise NotFoundError("No MGIUser for _user_key=%d" % _user_key) return convert_models(user, UserDomain)