configurationengine/source/scripts/compare_ci_report_template.html
changeset 3 e7e0ae78773e
equal deleted inserted replaced
2:87cfa131b535 3:e7e0ae78773e
       
     1 {% extends "cone_base.html" %}
       
     2 {% block title %}Compare API{% endblock %}
       
     3 {% block content %}
       
     4     <h1>Configuration API compare</h1><br>
       
     5     {% set columns = {
       
     6                        'type':'Type',
       
     7                        'options':'Option',
       
     8                        } %}
       
     9     
       
    10     <table class="report" id="report_data">
       
    11     <tr>
       
    12         <th class="featureName">Reference</th>
       
    13         <th class="featureName">Source confml</th>
       
    14         <th class="featureName">Target confml</th>
       
    15         <th class="featureName">Source element</th>
       
    16         <th class="featureName">Problem</th>
       
    17         <th class="featureName">Target element</th>
       
    18     </tr>
       
    19     {#- ----------------------------------------- -#}
       
    20     {#- Report features that are only on one side -#}
       
    21     {#- ----------------------------------------- -#}
       
    22     
       
    23     {%- for fqr in data.sourcedata.features -%}
       
    24        {%- if fqr not in data.targetdata.features -%}
       
    25        <!-- report all rows that are missing from target -->
       
    26            <tr>
       
    27            <td bgcolor="pink">Missing {{fqr}}</td>
       
    28            <td><a href="{{ data.sourcedata.features[fqr].get_configuration_path() }}">{{ data.sourcedata.features[fqr].get_configuration_path() }}</a></td>
       
    29            <td>&nbsp;</td>
       
    30            <td>&nbsp;</td>
       
    31            <td bgcolor="gainsboro">Missing feature</td>
       
    32            <td>&nbsp;</td>
       
    33            </tr>
       
    34        {% endif -%}
       
    35     {%- endfor -%}
       
    36     
       
    37     {#- --------------------------------#}
       
    38     {#- Report differences in features -#}
       
    39     {#- --------------------------------#}
       
    40     {%- for fqr in data.sourcedata.features -%}
       
    41        {%- if fqr in data.targetdata.features and not data.sourcedata.features[fqr]._compare(data.targetdata.features[fqr], columns.keys()) -%}
       
    42            {%- if data.sourcedata.features[fqr]['type'] == 'int' and
       
    43                   data.targetdata.features[fqr]['type'] == None %}
       
    44            {% else %}
       
    45                <!-- report all rows that have some column different  -->
       
    46                <tr>
       
    47                <td>Difference with {{fqr}}</td>
       
    48                <td><a href="{{ data.sourcedata.features[fqr].get_configuration_path() }}">{{ data.sourcedata.features[fqr].get_configuration_path() }}</a></td>
       
    49                <td><a href="{{ data.targetdata.features[fqr].get_configuration_path() }}">{{ data.targetdata.features[fqr].get_configuration_path() }}</a></td>
       
    50                {%- if data.sourcedata.features[fqr]['type'] != data.targetdata.features[fqr]['type'] %}
       
    51                  <td bgcolor="gainsboro">{{data.sourcedata.features[fqr]['type']}}</td>
       
    52                  <td bgcolor="gainsboro">Type difference</td>
       
    53                  <td bgcolor="gainsboro">{{data.targetdata.features[fqr]['type']}}</td>
       
    54                {% elif data.sourcedata.features[fqr]['options'] != data.targetdata.features[fqr]['options'] %}
       
    55                   <td bgcolor="gainsboro">{% for option in data.sourcedata.features[fqr]['options'].values() -%}
       
    56                   Option {%- if option.map %} map=option.map{% else %} name={{ option.name }}, value={{ option.value}}{% endif %}<br>
       
    57                   {%- endfor %}</td>
       
    58                   <td bgcolor="gainsboro">Options difference</td>
       
    59                   <td bgcolor="gainsboro">{% for option in data.targetdata.features[fqr]['options'].values() -%}
       
    60                   Option {%- if option.map %} map=option.map{% else %} name={{ option.name }}, value={{ option.value}}{% endif %}<br>
       
    61                   {%- endfor %}</td>
       
    62                {% else %}
       
    63                  <td>&nbsp;</td>
       
    64                {%- endif -%}
       
    65                </tr>
       
    66            {%- endif -%}
       
    67        {% endif -%}
       
    68     {%- endfor -%}
       
    69     
       
    70     </table>
       
    71     <script language="javascript" type="text/javascript">
       
    72 //<![CDATA[
       
    73     setFilterGrid("report_data");
       
    74 //]]>
       
    75 </script>
       
    76 {% endblock %}