1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/commits/afa0a32a883d/ Changeset: afa0a32a883d User: greg Date: 2014-01-10 20:30:18 Summary: Include the changeset revision date whenever displaying the changeset revision for a repository in the tool shed per request by Ross Lazarus. Affected #: 18 files diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c lib/galaxy/webapps/tool_shed/controllers/repository.py --- a/lib/galaxy/webapps/tool_shed/controllers/repository.py +++ b/lib/galaxy/webapps/tool_shed/controllers/repository.py @@ -2432,6 +2432,7 @@ message='Select a repository to rate', status='error' ) ) repository = suc.get_repository_in_tool_shed( trans, id ) + changeset_revision = repository.tip( trans.app ) repo = hg.repository( suc.get_configured_ui(), repository.repo_path( trans.app ) ) if repository.user == trans.user: return trans.response.send_redirect( web.url_for( controller='repository', @@ -2447,12 +2448,14 @@ rra = self.get_user_item_rating( trans.sa_session, trans.user, repository, webapp_model=trans.model ) metadata = metadata_util.get_repository_metadata_by_repository_id_changeset_revision( trans, id, - repository.tip( trans.app ), + changeset_revision, metadata_only=True ) repository_type_select_field = rt_util.build_repository_type_select_field( trans, repository=repository ) + revision_label = suc.get_revision_label( trans, repository, changeset_revision ) return trans.fill_template( '/webapps/tool_shed/repository/rate_repository.mako', repository=repository, metadata=metadata, + revision_label=revision_label, avg_rating=avg_rating, display_reviews=display_reviews, num_ratings=num_ratings, @@ -2862,13 +2865,10 @@ has_metadata = True else: has_metadata = False - t, tz = ctx.date() - date = datetime( *gmtime( float( t ) - tz )[:6] ) - display_date = date.strftime( "%Y-%m-%d" ) change_dict = { 'ctx' : ctx, 'rev' : str( ctx.rev() ), 'date' : date, - 'display_date' : display_date, + 'display_date' : suc.get_readable_ctx_date( ctx ), 'description' : ctx.description(), 'files' : ctx.files(), 'user' : ctx.user(), @@ -2923,16 +2923,18 @@ metadata = metadata_util.get_repository_metadata_by_repository_id_changeset_revision( trans, id, ctx_str, metadata_only=True ) # For rendering the prev button. if ctx_parent: + ctx_parent_date = suc.get_readable_ctx_date( ctx_parent ) ctx_parent_rev = ctx_parent.rev() if ctx_parent_rev < 0: prev = None else: - prev = "%s:%s" % ( ctx_parent_rev, ctx_parent ) + prev = "<b>%s:%s</b><i>(%s)</i>" % ( ctx_parent_rev, ctx_parent, ctx_parent_date ) else: prev = None if ctx_child: + ctx_child_date = suc.get_readable_ctx_date( ctx_child ) ctx_child_rev = ctx_child.rev() - next = "%s:%s" % ( ctx_child_rev, ctx_child ) + next = "<b>%s:%s</b><i>(%s)</i>" % ( ctx_child_rev, ctx_child, ctx_child_date ) else: next = None return trans.fill_template( '/webapps/tool_shed/repository/view_changeset.mako', diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c lib/tool_shed/grids/admin_grids.py --- a/lib/tool_shed/grids/admin_grids.py +++ b/lib/tool_shed/grids/admin_grids.py @@ -19,48 +19,72 @@ class UserGrid( grids.Grid ): - # TODO: move this to an admin_common controller since it is virtually the same in the galaxy webapp. + + class UserLoginColumn( grids.TextColumn ): + def get_value( self, trans, grid, user ): return user.email + + class UserNameColumn( grids.TextColumn ): + def get_value( self, trans, grid, user ): if user.username: return user.username return 'not set' + + class GroupsColumn( grids.GridColumn ): + def get_value( self, trans, grid, user ): if user.groups: return len( user.groups ) return 0 + + class RolesColumn( grids.GridColumn ): + def get_value( self, trans, grid, user ): if user.roles: return len( user.roles ) return 0 + + class ExternalColumn( grids.GridColumn ): + def get_value( self, trans, grid, user ): if user.external: return 'yes' return 'no' + + class LastLoginColumn( grids.GridColumn ): + def get_value( self, trans, grid, user ): if user.galaxy_sessions: return self.format( user.galaxy_sessions[ 0 ].update_time ) return 'never' + + class StatusColumn( grids.GridColumn ): + def get_value( self, trans, grid, user ): if user.purged: return "purged" elif user.deleted: return "deleted" return "" + + class EmailColumn( grids.GridColumn ): + def filter( self, trans, user, query, column_filter ): if column_filter == 'All': return query return query.filter( and_( model.Tool.table.c.user_id == model.User.table.c.id, model.User.table.c.email == column_filter ) ) + title = "Users" model_class = model.User template='/admin/user/grid.mako' @@ -114,37 +138,56 @@ num_rows_per_page = 50 preserve_state = False use_paging = True + def get_current_item( self, trans, **kwargs ): return trans.user + class RoleGrid( grids.Grid ): - # TODO: move this to an admin_common controller since it is virtually the same in the galaxy webapp. + + class NameColumn( grids.TextColumn ): + def get_value( self, trans, grid, role ): return role.name + + class DescriptionColumn( grids.TextColumn ): + def get_value( self, trans, grid, role ): if role.description: return role.description return '' + + class TypeColumn( grids.TextColumn ): def get_value( self, trans, grid, role ): return role.type + + class StatusColumn( grids.GridColumn ): + def get_value( self, trans, grid, role ): if role.deleted: return "deleted" return "" + + class GroupsColumn( grids.GridColumn ): + def get_value( self, trans, grid, role ): if role.groups: return len( role.groups ) return 0 + + class UsersColumn( grids.GridColumn ): + def get_value( self, trans, grid, role ): if role.users: return len( role.users ) return 0 + title = "Roles" model_class = model.Role template='/admin/dataset_security/role/grid.mako' @@ -205,29 +248,43 @@ num_rows_per_page = 50 preserve_state = False use_paging = True + def apply_query_filter( self, trans, query, **kwd ): return query.filter( model.Role.type != model.Role.types.PRIVATE ) + class GroupGrid( grids.Grid ): - # TODO: move this to an admin_common controller since it is virtually the same in the galaxy webapp. + + class NameColumn( grids.TextColumn ): + def get_value( self, trans, grid, group ): return group.name + + class StatusColumn( grids.GridColumn ): + def get_value( self, trans, grid, group ): if group.deleted: return "deleted" return "" + + class RolesColumn( grids.GridColumn ): + def get_value( self, trans, grid, group ): if group.roles: return len( group.roles ) return 0 + + class UsersColumn( grids.GridColumn ): + def get_value( self, trans, grid, group ): if group.members: return len( group.members ) return 0 + title = "Groups" model_class = model.Group template='/admin/dataset_security/group/grid.mako' @@ -279,6 +336,7 @@ preserve_state = False use_paging = True + class ManageCategoryGrid( CategoryGrid ): columns = [ col for col in CategoryGrid.columns ] # Override the NameColumn to include an Edit link @@ -292,12 +350,17 @@ dict( controller='admin', action='manage_categories', operation='create' ) ) ] + class AdminRepositoryGrid( RepositoryGrid ): + + class DeletedColumn( grids.BooleanColumn ): + def get_value( self, trans, grid, repository ): if repository.deleted: return 'yes' return '' + columns = [ RepositoryGrid.NameColumn( "Name", key="name", link=( lambda item: dict( operation="view_or_manage_repository", id=item.id ) ), @@ -326,27 +389,43 @@ async_compatible=False ) ) standard_filters = [] default_filter = {} + def build_initial_query( self, trans, **kwd ): return trans.sa_session.query( model.Repository ) \ .join( model.User.table ) + class RepositoryMetadataGrid( grids.Grid ): + + class IdColumn( grids.IntegerColumn ): + def get_value( self, trans, grid, repository_metadata ): return repository_metadata.id + + class NameColumn( grids.TextColumn ): + def get_value( self, trans, grid, repository_metadata ): return repository_metadata.repository.name + + class OwnerColumn( grids.TextColumn ): + def get_value( self, trans, grid, repository_metadata ): return repository_metadata.repository.user.username + class RevisionColumn( grids.TextColumn ): + def get_value( self, trans, grid, repository_metadata ): repository = repository_metadata.repository repo = hg.repository( suc.get_configured_ui(), repository.repo_path( trans.app ) ) ctx = suc.get_changectx_for_changeset( repo, repository_metadata.changeset_revision ) - return "%s:%s" % ( str( ctx.rev() ), repository_metadata.changeset_revision ) + return suc.get_revision_label( trans, repository, repository_metadata.changeset_revision ) + + class ToolsColumn( grids.TextColumn ): + def get_value( self, trans, grid, repository_metadata ): tools_str = '0' if repository_metadata: @@ -358,7 +437,10 @@ # tools_str += '%s <b>%s</b><br/>' % ( tool_metadata_dict[ 'id' ], tool_metadata_dict[ 'version' ] ) return '%d' % len( metadata[ 'tools' ] ) return tools_str + + class DatatypesColumn( grids.TextColumn ): + def get_value( self, trans, grid, repository_metadata ): datatypes_str = '0' if repository_metadata: @@ -370,7 +452,10 @@ # datatypes_str += '%s<br/>' % datatype_metadata_dict[ 'extension' ] return '%d' % len( metadata[ 'datatypes' ] ) return datatypes_str + + class WorkflowsColumn( grids.TextColumn ): + def get_value( self, trans, grid, repository_metadata ): workflows_str = '0' if repository_metadata: @@ -387,21 +472,31 @@ # workflows_str += '%s<br/>' % workflow_metadata_dict[ 'name' ] return '%d' % len( metadata[ 'workflows' ] ) return workflows_str + + class DeletedColumn( grids.BooleanColumn ): + def get_value( self, trans, grid, repository_metadata ): if repository_metadata.repository.deleted: return 'yes' return '' + + class DeprecatedColumn( grids.BooleanColumn ): + def get_value( self, trans, grid, repository_metadata ): if repository_metadata.repository.deprecated: return 'yes' return '' + + class MaliciousColumn( grids.BooleanColumn ): + def get_value( self, trans, grid, repository_metadata ): if repository_metadata.malicious: return 'yes' return '' + # Grid definition title = "Repository Metadata" model_class = model.RepositoryMetadata @@ -440,6 +535,7 @@ num_rows_per_page = 50 preserve_state = False use_paging = True + def build_initial_query( self, trans, **kwd ): return trans.sa_session.query( model.RepositoryMetadata ) \ .join( model.Repository.table ) diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c lib/tool_shed/grids/repository_grids.py --- a/lib/tool_shed/grids/repository_grids.py +++ b/lib/tool_shed/grids/repository_grids.py @@ -101,6 +101,10 @@ if len( select_field.options ) > 1: return select_field.get_html() elif len( select_field.options ) == 1: + option_items = select_field.options[ 0 ][ 0 ] + rev_label, rev_date = option_items.split( ' ' ) + rev_date = '<i><font color="#666666">%s</font></i>' % rev_date + return '%s %s' % ( rev_label, rev_date ) return select_field.options[ 0 ][ 0 ] return '' @@ -1134,7 +1138,7 @@ repository = repository_metadata.repository changeset_revision = repository_metadata.changeset_revision changeset_revision_label = suc.get_revision_label( trans, repository, changeset_revision ) - return escape_html( changeset_revision_label ) + return changeset_revision_label class MaliciousColumn( grids.BooleanColumn ): diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c lib/tool_shed/grids/repository_review_grids.py --- a/lib/tool_shed/grids/repository_review_grids.py +++ b/lib/tool_shed/grids/repository_review_grids.py @@ -83,9 +83,10 @@ if repository_metadata_revisions: rval = '' for repository_metadata in repository_metadata_revisions: - rev, label, changeset_revision = metadata_util.get_rev_label_changeset_revision_from_repository_metadata( trans, - repository_metadata, - repository=repository ) + rev, label, changeset_revision = \ + metadata_util.get_rev_label_changeset_revision_from_repository_metadata( trans, + repository_metadata, + repository=repository ) rval += '<a href="manage_repository_reviews_of_revision?id=%s&changeset_revision=%s">%s</a><br/>' % \ ( trans.security.encode_id( repository.id ), changeset_revision, label ) return rval diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c lib/tool_shed/grids/util.py --- a/lib/tool_shed/grids/util.py +++ b/lib/tool_shed/grids/util.py @@ -16,7 +16,8 @@ select_field.add_option( option_tup[ 0 ], option_tup[ 1 ], selected=selected ) return select_field -def build_changeset_revision_select_field( trans, repository, selected_value=None, add_id_to_name=True, downloadable=False, reviewed=False, not_reviewed=False ): +def build_changeset_revision_select_field( trans, repository, selected_value=None, add_id_to_name=True, + downloadable=False, reviewed=False, not_reviewed=False ): """Build a SelectField whose options are the changeset_rev strings of certain revisions of the received repository.""" options = [] changeset_tups = [] @@ -46,7 +47,10 @@ # Restrict the options to all revisions that have associated metadata. repository_metadata_revisions = repository.metadata_revisions for repository_metadata in repository_metadata_revisions: - rev, label, changeset_revision = metadata_util.get_rev_label_changeset_revision_from_repository_metadata( trans, repository_metadata, repository=repository ) + rev, label, changeset_revision = \ + metadata_util.get_rev_label_changeset_revision_from_repository_metadata( trans, + repository_metadata, + repository=repository ) changeset_tups.append( ( rev, label, changeset_revision ) ) refresh_on_change_values.append( changeset_revision ) # Sort options by the revision label. Even though the downloadable_revisions query sorts by update_time, diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c lib/tool_shed/util/metadata_util.py --- a/lib/tool_shed/util/metadata_util.py +++ b/lib/tool_shed/util/metadata_util.py @@ -1108,16 +1108,19 @@ changeset_revision = repository_metadata.changeset_revision ctx = suc.get_changectx_for_changeset( repo, changeset_revision ) if ctx: + changeset_revision_date = suc.get_readable_ctx_date( ctx ) rev = '%04d' % ctx.rev() - label = "%s:%s" % ( str( ctx.rev() ), changeset_revision ) + label = "%s:%s (%s)" % ( str( ctx.rev() ), changeset_revision, changeset_revision_date ) else: rev = '-1' label = "-1:%s" % changeset_revision return rev, label, changeset_revision -def get_sample_files_from_disk( repository_files_dir, tool_path=None, relative_install_dir=None, resetting_all_metadata_on_repository=False ): +def get_sample_files_from_disk( repository_files_dir, tool_path=None, relative_install_dir=None, + resetting_all_metadata_on_repository=False ): if resetting_all_metadata_on_repository: - # Keep track of the location where the repository is temporarily cloned so that we can strip it when setting metadata. + # Keep track of the location where the repository is temporarily cloned so that we can strip + # it when setting metadata. work_dir = repository_files_dir sample_file_metadata_paths = [] sample_file_copy_paths = [] diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c lib/tool_shed/util/shed_util_common.py --- a/lib/tool_shed/util/shed_util_common.py +++ b/lib/tool_shed/util/shed_util_common.py @@ -924,6 +924,13 @@ return trans.install_model.context.query( trans.install_model.ToolShedRepository ) \ .filter( trans.install_model.ToolShedRepository.table.c.uninstalled == False ) +def get_readable_ctx_date( ctx ): + """Convert the date of the changeset (the received ctx) to a human-readable date.""" + t, tz = ctx.date() + date = datetime( *gmtime( float( t ) - tz )[ :6 ] ) + ctx_date = date.strftime( "%Y-%m-%d" ) + return ctx_date + def get_repo_info_tuple_contents( repo_info_tuple ): """Take care in handling the repo_info_tuple as it evolves over time as new tool shed features are introduced.""" if len( repo_info_tuple ) == 6: @@ -1206,7 +1213,8 @@ repo = hg.repository( get_configured_ui(), repository.repo_path( trans.app ) ) ctx = get_changectx_for_changeset( repo, changeset_revision ) if ctx: - return "%s:%s" % ( str( ctx.rev() ), changeset_revision ) + return '%s:%s <i><font color="#666666">(%s)</font></i>' % \ + ( str( ctx.rev() ), changeset_revision, str( get_readable_ctx_date( ctx ) ) ) else: return "-1:%s" % changeset_revision @@ -1215,7 +1223,8 @@ ctx = get_changectx_for_changeset( repo, changeset_revision ) if ctx: rev = '%04d' % ctx.rev() - label = "%s:%s" % ( str( ctx.rev() ), changeset_revision ) + label = '%s:%s <i><font color="#666666">(%s)</font></i>' % \ + ( str( ctx.rev() ), changeset_revision, str( get_readable_ctx_date( ctx ) ) ) else: rev = '-1' label = "-1:%s" % changeset_revision @@ -1477,9 +1486,6 @@ email_from = 'galaxy-no-reply@' + trans.request.host.split( ':' )[0] tip_changeset = repo.changelog.tip() ctx = repo.changectx( tip_changeset ) - t, tz = ctx.date() - date = datetime( *gmtime( float( t ) - tz )[:6] ) - display_date = date.strftime( "%Y-%m-%d" ) try: username = ctx.user().split()[0] except: @@ -1490,6 +1496,7 @@ template = new_repo_email_alert_template else: template = email_alert_template + display_date = get_readable_ctx_date( ctx ) admin_body = string.Template( template ).safe_substitute( host=trans.request.host, sharable_link=sharable_link, repository_name=repository.name, diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/common/repository_actions_menu.mako --- a/templates/webapps/tool_shed/common/repository_actions_menu.mako +++ b/templates/webapps/tool_shed/common/repository_actions_menu.mako @@ -174,7 +174,9 @@ <a class="action-button" target="galaxy_main" href="${h.url_for( controller='repository', action='deprecate', id=trans.security.encode_id( repository.id ), mark_deprecated=False )}">Mark repository as not deprecated</a> %endif %if can_download: - <a class="action-button" href="${h.url_for( controller='repository', action='export', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">Export this revision</a> + %if changeset_revision is not None: + <a class="action-button" href="${h.url_for( controller='repository', action='export', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">Export this revision</a> + %endif <a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip( trans.app ), file_type='gz' )}">Download as a .tar.gz file</a><a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip( trans.app ), file_type='bz2' )}">Download as a .tar.bz2 file</a><a class="action-button" href="${h.url_for( controller='repository', action='download', repository_id=trans.app.security.encode_id( repository.id ), changeset_revision=repository.tip( trans.app ), file_type='zip' )}">Download as a zip file</a> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository/manage_repository.mako --- a/templates/webapps/tool_shed/repository/manage_repository.mako +++ b/templates/webapps/tool_shed/repository/manage_repository.mako @@ -181,9 +181,9 @@ <div class="form-row"><label>Revision:</label> %if can_view_change_log: - <a href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">${revision_label | h}</a> + <a href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">${revision_label}</a> %else: - ${revision_label | h} + ${revision_label} %endif </div><div class="form-row"> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository/preview_tools_in_changeset.mako --- a/templates/webapps/tool_shed/repository/preview_tools_in_changeset.mako +++ b/templates/webapps/tool_shed/repository/preview_tools_in_changeset.mako @@ -51,7 +51,7 @@ %else: <div class="form-row"><label>Revision:</label> - ${revision_label | h} + ${revision_label} </div> %endif </div> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository/rate_repository.mako --- a/templates/webapps/tool_shed/repository/rate_repository.mako +++ b/templates/webapps/tool_shed/repository/rate_repository.mako @@ -44,16 +44,20 @@ ${render_clone_str( repository )} </div> %endif - ${render_repository_type_select_field( repository_type_select_field, render_help=False )} <div class="toolFormBody"><div class="form-row"> + <label>Type:</label> + ${repository.type | h} + <div style="clear: both"></div> + </div> + <div class="form-row"><label>Description:</label> ${repository.description | h} <div style="clear: both"></div></div><div class="form-row"> - <label>Version:</label> - ${repository.revision( trans.app ) | h} + <label>Revision:</label> + ${revision_label} <div style="clear: both"></div></div><div class="form-row"> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository/view_changelog.mako --- a/templates/webapps/tool_shed/repository/view_changelog.mako +++ b/templates/webapps/tool_shed/repository/view_changelog.mako @@ -5,7 +5,6 @@ <%namespace file="/webapps/tool_shed/common/repository_actions_menu.mako" import="render_tool_shed_repository_actions" /><% - from galaxy.web.framework.helpers import time_ago is_new = repository.is_new( trans.app ) can_push = trans.app.security_agent.can_push( trans.app, trans.user, repository ) can_download = not is_new and ( not is_malicious or can_push ) @@ -108,7 +107,7 @@ </div><div class="form-row"><label>Pushed:</label> - ${time_ago( changeset[ 'date' ] )} + ${changeset[ 'display_date' ]} </div></td></tr> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository/view_changeset.mako --- a/templates/webapps/tool_shed/repository/view_changeset.mako +++ b/templates/webapps/tool_shed/repository/view_changeset.mako @@ -49,13 +49,15 @@ %endif <div class="toolForm"><% + from tool_shed.util.shed_util_common import get_readable_ctx_date + changeset_revision_date = get_readable_ctx_date( ctx ) if can_download: - title_str = 'Changeset %s:%s' % ( ctx.rev(), ctx ) + title_str = 'Changeset <b>%s:%s</b><i>(%s)</i>' % ( ctx.rev(), ctx, changeset_revision_date ) else: - title_str = '%s changeset %s:%s' % ( repository.name, ctx.rev(), ctx ) + title_str = '%s changeset <b>%s:%s</b><i>(%s)</i>' % ( repository.name, ctx.rev(), ctx, changeset_revision_date ) %><div class="toolFormTitle"> - ${title_str | h} + ${title_str} </div><div class="toolFormBody"><table class="grid"> @@ -63,10 +65,10 @@ <tr><td> %if prev: - <a class="action-button" href="${h.url_for( controller='repository', action='view_changeset', id=trans.security.encode_id( repository.id ), ctx_str=ctx_parent )}">Previous changeset ${prev | h}</a> + <a class="action-button" href="${h.url_for( controller='repository', action='view_changeset', id=trans.security.encode_id( repository.id ), ctx_str=ctx_parent )}">Previous changeset ${prev}</a> %endif %if next: - <a class="action-button" href="${h.url_for( controller='repository', action='view_changeset', id=trans.security.encode_id( repository.id ), ctx_str=ctx_child )}">Next changeset ${next | h}</a> + <a class="action-button" href="${h.url_for( controller='repository', action='view_changeset', id=trans.security.encode_id( repository.id ), ctx_str=ctx_child )}">Next changeset ${next}</a> %endif </td></tr> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository/view_repository.mako --- a/templates/webapps/tool_shed/repository/view_repository.mako +++ b/templates/webapps/tool_shed/repository/view_repository.mako @@ -100,7 +100,11 @@ ${repository.name | h} %endif </div> - ${render_repository_type_select_field( repository_type_select_field, render_help=False )} + <div class="form-row"> + <label>Type:</label> + ${repository.type | h} + <div style="clear: both"></div> + </div><div class="form-row"><label>Synopsis:</label> ${repository.description | h} @@ -113,7 +117,7 @@ %if can_view_change_log: <a href="${h.url_for( controller='repository', action='view_changelog', id=trans.app.security.encode_id( repository.id ) )}">${revision_label}</a> %else: - ${revision_label | h} + ${revision_label} %endif </div><div class="form-row"> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository_review/browse_review.mako --- a/templates/webapps/tool_shed/repository_review/browse_review.mako +++ b/templates/webapps/tool_shed/repository_review/browse_review.mako @@ -34,7 +34,7 @@ </div><div class="form-row"><label>Repository revision:</label> - <a class="action-button" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=review.changeset_revision )}">${changeset_revision_label | h}</a> + <a class="action-button" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=review.changeset_revision )}">${changeset_revision_label}</a><div style="clear: both"></div></div><div class="form-row"> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository_review/reviews_of_changeset_revision.mako --- a/templates/webapps/tool_shed/repository_review/reviews_of_changeset_revision.mako +++ b/templates/webapps/tool_shed/repository_review/reviews_of_changeset_revision.mako @@ -45,7 +45,7 @@ <div class="toolFormBody"><div class="form-row"><label>Revision:</label> - <a class="action-button" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">${changeset_revision_label | h}</a> + <a class="action-button" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">${changeset_revision_label}</a><div style="clear: both"></div></div><div class="form-row"> diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository_review/reviews_of_repository.mako --- a/templates/webapps/tool_shed/repository_review/reviews_of_repository.mako +++ b/templates/webapps/tool_shed/repository_review/reviews_of_repository.mako @@ -67,7 +67,7 @@ <tr><td><div style="float:left;" class="menubutton split popup" id="${changeset_revision}-popup"> - <a class="view-info" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">${changeset_revision_label | h}</a> + <a class="view-info" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">${changeset_revision_label}</a></div><div popupmenu="${changeset_revision}-popup"> %if repository_reviews: diff -r c8d2e455f0e865662028d831d20a83316f2ab33f -r afa0a32a883dde3dee88e8cfeb2f84ba16b27f1c templates/webapps/tool_shed/repository_review/select_previous_review.mako --- a/templates/webapps/tool_shed/repository_review/select_previous_review.mako +++ b/templates/webapps/tool_shed/repository_review/select_previous_review.mako @@ -30,7 +30,7 @@ %endif <div class="warningmessage"> - You have elected to create a new review for revision <b>${changeset_revision_label | h}</b>of this repository. Since previous revisions have been reviewed, + You have elected to create a new review for revision <b>${changeset_revision_label}</b>of this repository. Since previous revisions have been reviewed, you can select a previous review to copy to your new review, or click the <b>Create a review without copying</b> button. </div> @@ -39,7 +39,7 @@ <div class="toolFormBody"><div class="form-row"><label>Revision for new review:</label> - <a class="action-button" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">${changeset_revision_label | h}</a> + <a class="action-button" href="${h.url_for( controller='repository_review', action='view_or_manage_repository', id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision )}">${changeset_revision_label}</a><div style="clear: both"></div></div><div class="form-row"> @@ -76,7 +76,7 @@ <a class="action-button" href="${h.url_for( controller='repository_review', action='create_review', id=trans.security.encode_id( repository.id ), changeset_revision=changeset_revision, previous_review_id=encoded_review_id )}">Copy this review</a></div></td> - <td>${previous_changeset_revision_label | h}</td> + <td>${previous_changeset_revision_label}</td><td>${render_star_rating( repository_rating_name, review.rating, disabled=True )}</td><td>${approved_str | h}</td></tr> 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.