예제 #1
0
 def create(self, trans, payload, **kwd):
     """
     POST /api/forms
     Creates a new form.
     """
     if not trans.user_is_admin:
         trans.response.status = 403
         return "You are not authorized to create a new form."
     xml_text = payload.get('xml_text', None)
     if xml_text is None:
         trans.response.status = 400
         return "Missing required parameter 'xml_text'."
         # enhance to allow creating from more than just xml
     form_definition = form_factory.from_elem(XML(xml_text))
     trans.sa_session.add(form_definition)
     trans.sa_session.flush()
     encoded_id = trans.security.encode_id(form_definition.id)
     item = form_definition.to_dict(view='element',
                                    value_mapper={
                                        'id':
                                        trans.security.encode_id,
                                        'form_definition_current_id':
                                        trans.security.encode_id
                                    })
     item['url'] = url_for('form', id=encoded_id)
     return [item]
예제 #2
0
파일: forms.py 프로젝트: bwlang/galaxy
 def create(self, trans, payload, **kwd):
     """
     POST /api/forms
     Creates a new form.
     """
     if not trans.user_is_admin():
         trans.response.status = 403
         return "You are not authorized to create a new form."
     xml_text = payload.get('xml_text', None)
     if xml_text is None:
         trans.response.status = 400
         return "Missing required parameter 'xml_text'."
         # enhance to allow creating from more than just xml
     form_definition = form_factory.from_elem(XML(xml_text))
     trans.sa_session.add(form_definition)
     trans.sa_session.flush()
     encoded_id = trans.security.encode_id(form_definition.id)
     item = form_definition.to_dict(view='element', value_mapper={'id': trans.security.encode_id, 'form_definition_current_id': trans.security.encode_id})
     item['url'] = url_for('form', id=encoded_id)
     return [item]
 def parse( self, root ):
     # Get the name 
     self.name = root.get( "name" )
     if not self.name: 
         raise Exception, "Missing external_service_type 'name'"
     # Get the UNIQUE id for the tool 
     self.id = root.get( "id" )
     if not self.id: 
         raise Exception, "Missing external_service_type 'id'"
     self.config_version = root.get( "version" )
     if not self.config_version: 
         self.config_version = '1.0.0'
     self.description = util.xml_text(root, "description")
     self.version = util.xml_text( root.find( "version" ) )
     # parse the form
     self.form_definition = form_factory.from_elem( root.find( 'form' ) )
     self.parse_data_transfer_settings( root )
     self.parse_run_details( root )
     #external services actions
     self.actions = ExternalServiceActionsGroup.from_elem( root.find( 'actions' ), parent=self )
예제 #4
0
 def parse( self, root ):
     # Get the name
     self.name = root.get( "name" )
     if not self.name:
         raise Exception( "Missing external_service_type 'name'" )
     # Get the UNIQUE id for the tool
     self.id = root.get( "id" )
     if not self.id:
         raise Exception( "Missing external_service_type 'id'" )
     self.config_version = root.get( "version" )
     if not self.config_version:
         self.config_version = '1.0.0'
     self.description = util.xml_text(root, "description")
     self.version = util.xml_text( root.find( "version" ) )
     # parse the form
     self.form_definition = form_factory.from_elem( root.find( 'form' ) )
     self.parse_data_transfer_settings( root )
     self.parse_run_details( root )
     # external services actions
     self.actions = ExternalServiceActionsGroup.from_elem( root.find( 'actions' ), parent=self )