Conjunto de mudanças 5031 no repositório publico


Ignorar:
Timestamp:
13/05/2011 13:37:43 (9 anos atrás)
Autor:
sesostris
Mensagem:
 
Arquivo:
1 editado

Legenda:

Não Modificado
Adicionado
Removido
  • SIGI/trunk/BIRT_Reports/src/reportParamForm.py

    r5019 r5031  
    99import xml.dom.minidom as minidom
    1010
    11 fileName = "../listaCasas.rptdesign"
     11fileName = "../teste_parametros.rptdesign"
    1212
    1313doc = minidom.parse(fileName)
    1414parameterTags = doc.getElementsByTagName("parameters")
    1515
     16formFields = {}
     17
    1618for parameterTag in parameterTags:
    17     formFields = {}
    1819    for parameter in parameterTag.childNodes:
    1920        if parameter.nodeName != '#text':
     21#            print "Processando campo ", parameter.getAttribute('name').encode('ascii')
    2022            formField = {}
    2123           
    2224            for property in parameter.childNodes:
    23                 if property.nodeName != '#text':
    24                     formField[property.getAttribute('name').encode('ascii')] = property.childNodes[0].nodeValue
     25                if property.nodeName != '#text' and property.hasChildNodes():
     26#                    print "    Processando propriedade ", property.getAttribute('name').encode('ascii'), "(", property.__class__, ")"
     27                    fieldName  = property.getAttribute('name').encode('ascii')
     28                    fieldValue = property.childNodes[0].nodeValue
     29                   
     30                    if fieldName == 'selectionList':
     31                        fieldValue = ()
     32                        for structure in property.getElementsByTagName('structure'):
     33                            s = {}
     34                            for structProp in structure.getElementsByTagName('property'):
     35                                s[structProp.getAttribute('name').encode('ascii')] = structProp.childNodes[0].nodeValue
     36                            fieldValue = fieldValue + (s,)
     37                   
     38                    formField[fieldName] = fieldValue
     39           
     40            if formField['valueType'] == 'dynamic':
     41                for dataSets in doc.getElementsByTagName("data-sets"):
     42                    for dataSet in dataSets.getElementsByTagName("oda-data-set"):
     43                        if dataSet.getAttribute('name') == formField['dataSetName']:
     44                            for xmlProp in dataSet.getElementsByTagName('xml-property'):
     45                                if xmlProp.getAttribute('name') == 'queryText':
     46                                    formField['queryText'] = xmlProp.childNodes[0].data
     47
     48
     49                                         
    2550                   
    2651            formFields[parameter.getAttribute('name').encode('ascii')] = formField
    2752
    28 print formFields
     53#print formFields
     54#exit(0)
    2955
     56for field in formFields:
     57    print "field '" + field + "':"
     58    for param in formFields[field]:
     59        print '    ', param, ' = "', formFields[field][param], '"'
     60
     61'''form = '<form action="printReport" method="post">'
    3062for fieldName in formFields:
    31     print fieldName, ':', formFields[fieldName]['valueType']
     63    htmlField = '<input name="' + fieldName + '" '
     64    field = formFields[fieldName]
     65    print fieldName, ':', formFields[fieldName]['controlType'], field
     66   
     67    if field['controlType'] == 'text-box':
     68        htmlField += 'type = "text">'
     69    elif field['controlType'] == 'list-box':
     70        htmlField += 'type = "select">'
     71    form += htmlField
     72print form + '</form>'''
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.