119 |
119 |
120 @property |
120 @property |
121 def values_map(self): |
121 def values_map(self): |
122 catalog = get_utility(ICatalog) |
122 catalog = get_utility(ICatalog) |
123 sequence = get_utility(ISequentialIntIds) |
123 sequence = get_utility(ISequentialIntIds) |
|
124 results = {} |
124 values = self.value |
125 values = self.value |
125 if isinstance(values, str): |
126 if values: |
126 values = values.split(',') |
127 if isinstance(values, str): |
127 params = Any(catalog['oid'], values) |
128 values = values.split(',') |
128 results = {} |
129 params = Any(catalog['oid'], values) |
129 for item in map(get_last_version, CatalogResultSet(CatalogQuery(catalog).query(params))): |
130 for item in map(get_last_version, CatalogResultSet(CatalogQuery(catalog).query(params))): |
130 oid_info = ISequentialIdInfo(item) |
131 oid_info = ISequentialIdInfo(item) |
131 results.update({oid_info.hex_oid: '{0} ({1})'.format(II18n(item).query_attribute('title', |
132 results.update({oid_info.hex_oid: '{0} ({1})'.format(II18n(item).query_attribute('title', |
132 request=self.request), |
133 request=self.request), |
133 sequence.get_short_oid(oid_info.oid))}) |
134 sequence.get_short_oid(oid_info.oid))}) |
134 return json.dumps(results) |
135 return json.dumps(results) |
135 |
136 |
136 |
137 |
137 @adapter_config(context=(IInternalReferencesList, IFormLayer), provides=IFieldWidget) |
138 @adapter_config(context=(IInternalReferencesList, IFormLayer), provides=IFieldWidget) |
138 def InternalReferencesListFieldWidget(field, request): |
139 def InternalReferencesListFieldWidget(field, request): |