mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Revert a couple of recent changes I made now that I see what they were doing, but use a better implementatiuon approach than the original, and add a couple of very useful comments.
This commit is contained in:
@@ -1800,6 +1800,7 @@ class ExternalService( object ):
|
||||
self.form_definition_id = form_definition_id
|
||||
self.form_values_id = form_values_id
|
||||
self.deleted = deleted
|
||||
self.label = None # Used in the request_type controller's __build_external_service_select_field() method
|
||||
def get_external_service_type( self, trans ):
|
||||
return trans.app.external_service_types.all_external_service_types[ self.external_service_type_id ]
|
||||
def load_data_transfer_settings( self, trans ):
|
||||
|
||||
@@ -107,6 +107,7 @@ class ExternalService( BaseController, UsesFormDefinitions ):
|
||||
message=message,
|
||||
status=status ) )
|
||||
elif external_service_type_id != 'none':
|
||||
# Form submission via refresh_on_change
|
||||
trans.app.external_service_types.reload( external_service_type_id )
|
||||
external_service_type = self.get_external_service_type( trans, external_service_type_id )
|
||||
widgets.extend( external_service_type.form_definition.get_widgets( trans.user, **kwd ) )
|
||||
@@ -181,11 +182,9 @@ class ExternalService( BaseController, UsesFormDefinitions ):
|
||||
external_service_type = self.get_external_service_type( trans, external_service_type_id )
|
||||
external_service = trans.model.ExternalService( name, description, external_service_type_id, version )
|
||||
external_service.form_definition = external_service_type.form_definition
|
||||
values = {}
|
||||
for index, field in enumerate( external_service_type.form_definition.fields ):
|
||||
field_name = field[ 'name' ]
|
||||
field_value = field[ 'default' ]
|
||||
values[ field_name ] = field_value
|
||||
# Get the form values from kwd, some of which may be different than the defaults in the external service
|
||||
# type config because the user could have overwritten them.
|
||||
values = self.get_form_values( trans, trans.user, external_service.form_definition, **kwd )
|
||||
external_service.form_values = trans.model.FormValues( external_service.form_definition, values )
|
||||
trans.sa_session.add( external_service )
|
||||
trans.sa_session.add( external_service.form_definition )
|
||||
|
||||
@@ -448,10 +448,11 @@ class RequestType( BaseController, UsesFormDefinitions ):
|
||||
selected_value = 'none'
|
||||
all_external_services = trans.sa_session.query( trans.model.ExternalService ).filter( trans.model.ExternalService.table.c.deleted==False ).all()
|
||||
for e in all_external_services:
|
||||
e.get_external_service_type( trans )
|
||||
external_service_type = e.get_external_service_type( trans )
|
||||
e.label = '%s - %s' % ( e.name, external_service_type.name )
|
||||
return build_select_field( trans,
|
||||
objs=all_external_services,
|
||||
label_attr='name',
|
||||
label_attr='label',
|
||||
select_field_name=select_field_name,
|
||||
selected_value=selected_value,
|
||||
refresh_on_change=False )
|
||||
|
||||
Reference in New Issue
Block a user