
1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/commits/c46f6814f3a8/ Changeset: c46f6814f3a8 User: natefoo Date: 2014-08-28 17:35:36 Summary: Merge stable. Affected #: 4 files diff -r 36bf58f838476e738d2efa893b1318c6f7bde97f -r c46f6814f3a8323dafb92cfc89fd6f615d021bf1 .hgtags --- a/.hgtags +++ b/.hgtags @@ -18,4 +18,4 @@ 81fbe25bd02edcd53065e8e4476dd1dfb5a72cf2 latest_2013.11.04 2a756ca2cb1826db7796018e77d12e2dd7b67603 latest_2014.02.10 ca45b78adb4152fc6e7395514d46eba6b7d0b838 release_2014.08.11 -7e22f35798522100ff03e1fdd4eced962b292360 latest_2014.08.11 +109b170188e97fbfc2c998ec174aff9546dd1bd8 latest_2014.08.11 diff -r 36bf58f838476e738d2efa893b1318c6f7bde97f -r c46f6814f3a8323dafb92cfc89fd6f615d021bf1 lib/galaxy/dataset_collections/structure.py --- a/lib/galaxy/dataset_collections/structure.py +++ b/lib/galaxy/dataset_collections/structure.py @@ -35,9 +35,9 @@ return self._walk_collections( dict_map( lambda hdca: hdca.collection, hdca_dict ) ) def _walk_collections( self, collection_dict ): - for ( identifier, substructure ) in self.children: + for index, ( identifier, substructure ) in enumerate( self.children ): def element( collection ): - return collection[ identifier ] + return collection[ index ] if substructure.is_leaf: yield dict_map( element, collection_dict ) diff -r 36bf58f838476e738d2efa893b1318c6f7bde97f -r c46f6814f3a8323dafb92cfc89fd6f615d021bf1 lib/galaxy/web/base/controller.py --- a/lib/galaxy/web/base/controller.py +++ b/lib/galaxy/web/base/controller.py @@ -27,7 +27,7 @@ from galaxy.web.form_builder import AddressField, CheckboxField, SelectField, TextArea, TextField from galaxy.web.form_builder import build_select_field, HistoryField, PasswordField, WorkflowField, WorkflowMappingField from galaxy.workflow.modules import module_factory, WorkflowModuleInjector, MissingToolException -from galaxy.model.orm import eagerload, eagerload_all, desc +from galaxy.model.orm import eagerload, eagerload_all, desc, not_ from galaxy.security.validate_user_input import validate_publicname from galaxy.util.sanitize_html import sanitize_html from galaxy.model.item_attrs import Dictifiable, UsesAnnotations @@ -2683,7 +2683,7 @@ item = self.get_item( trans, id ) if item: # Only update slug if slug is not already in use. - if trans.sa_session.query( item.__class__ ).filter_by( user=item.user, slug=new_slug, importable=True ).count() == 0: + if trans.sa_session.query( item.__class__ ).filter_by( user=item.user, slug=new_slug ).count() == 0: item.slug = new_slug trans.sa_session.flush() @@ -2718,7 +2718,9 @@ # add integer to end. new_slug = slug_base count = 1 - while sa_session.query( item.__class__ ).filter_by( user=item.user, slug=new_slug, importable=True ).count() != 0: + # Ensure unique across model class and user and don't include this item + # in the check in case it has previously been assigned a valid slug. + while sa_session.query( item.__class__ ).filter( item.__class__.user == item.user, item.__class__.slug == new_slug, item.__class__.id != item.id).count() != 0: # Slug taken; choose a new slug based on count. This approach can # handle numerous items with the same name gracefully. new_slug = '%s-%i' % ( slug_base, count ) Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.