
1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/commits/6cd4058d7b32/ changeset: 6cd4058d7b32 user: dan date: 2013-01-11 21:41:29 summary: Fix for external display applications and permissions. affected #: 1 file diff -r 3674685eeb0d171b9f4c0b01e2c7f56cfba86ce7 -r 6cd4058d7b32f788e3c7484f0c5709e89cfbed0f lib/galaxy/webapps/galaxy/controllers/dataset.py --- a/lib/galaxy/webapps/galaxy/controllers/dataset.py +++ b/lib/galaxy/webapps/galaxy/controllers/dataset.py @@ -163,8 +163,11 @@ assert hda and self._can_access_dataset( trans, hda ) return hda.creating_job - def _can_access_dataset( self, trans, dataset_association, allow_admin=True ): - return ( allow_admin and trans.user_is_admin() ) or trans.app.security_agent.can_access_dataset( trans.get_current_user_roles(), dataset_association.dataset ) + def _can_access_dataset( self, trans, dataset_association, allow_admin=True, additional_roles=None ): + roles = trans.get_current_user_roles() + if additional_roles: + roles = roles + additional_roles + return ( allow_admin and trans.user_is_admin() ) or trans.app.security_agent.can_access_dataset( roles, dataset_association.dataset ) @web.expose def errors( self, trans, id ): @@ -736,7 +739,7 @@ link_name = urllib.unquote_plus( link_name ) if None in [ app_name, link_name ]: return trans.show_error_message( "A display application name and link name must be provided." ) - if self._can_access_dataset( trans, data ): + if self._can_access_dataset( trans, data, additional_roles=user_roles ): msg = [] refresh = False display_app = trans.app.datatypes_registry.display_applications.get( app_name ) 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.