Merge "Avoid dups in company drop-down"

This commit is contained in:
Jenkins
2014-08-19 10:04:27 +00:00
committed by Gerrit Code Review
2 changed files with 10 additions and 10 deletions

View File

@@ -145,9 +145,9 @@ class CachedMemoryStorage(MemoryStorage):
return set() return set()
def get_index_keys_by_record_ids(self, index_name, record_ids): def get_index_keys_by_record_ids(self, index_name, record_ids):
return set([key return set(key
for key, value in six.iteritems(self.indexes[index_name]) for key, value in six.iteritems(self.indexes[index_name])
if value & record_ids]) if value & record_ids)
def get_record_ids(self): def get_record_ids(self):
return self.records.keys() return self.records.keys()

View File

@@ -278,16 +278,16 @@ def get_contribution_json(records, **kwargs):
@decorators.record_filter(ignore=['company']) @decorators.record_filter(ignore=['company'])
def get_companies_json(record_ids, **kwargs): def get_companies_json(record_ids, **kwargs):
memory_storage = vault.get_memory_storage() memory_storage = vault.get_memory_storage()
companies = memory_storage.get_index_keys_by_record_ids( companies = set(memory_storage.get_original_company_name(company)
'company_name', record_ids) for company in memory_storage.get_index_keys_by_record_ids(
if kwargs['_params']['company']: 'company_name', record_ids))
companies.add(kwargs['_params']['company'][0])
result = [memory_storage.get_original_company_name(company) if kwargs['_params']['company']:
for company in companies] companies.add(memory_storage.get_original_company_name(
kwargs['_params']['company'][0]))
return [{'id': utils.safe_encode(c.lower()), 'text': c} return [{'id': utils.safe_encode(c.lower()), 'text': c}
for c in sorted(result)] for c in sorted(companies)]
@app.route('/api/1.0/modules') @app.route('/api/1.0/modules')