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 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 )
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 )