<commit_before><html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:tal="http://xml.zope.org/namespaces/tal"
    xmlns:metal="http://xml.zope.org/namespaces/metal"
    xmlns:i18n="http://xml.zope.org/namespaces/i18n"
    metal:use-macro="here/main_template/macros/master"
    i18n:domain="bika">

<head>
    <metal:block fill-slot="javascript_head_slot"
        tal:define="portal context/@@plone_portal_state/portal;">
    <script type="text/javascript"
        tal:attributes="src python:portal.absolute_url() + '/bika_widgets/datetimewidget.js'"></script>
    <script type="text/javascript"
        tal:attributes="src python:portal.absolute_url() + '/bika_widgets/referencewidget.js'"></script>
    <link rel="stylesheet" type="text/css" media="all" href=""
          tal:attributes="href string:${portal/absolute_url}/bika_widgets/referencewidget.css" />
  </metal:block>
</head>

<body>

<metal:title fill-slot="content-title">
<h1>
    <img tal:condition="view/icon | nothing" tal:attributes="src view/icon"/>
    <tal:new i18n:translate="">Request new analyses</tal:new>
</h1>
</metal:title>

<div metal:fill-slot="content-core"
    tal:define="
        portal context/@@plone_portal_state/portal;
        plone_view context/@@plone;
        portal_state context/@@plone_portal_state;
        currencies python:modules['zope.i18n.locales'].locales.getLocale('en').numbers.currencies;
        currency python:context.bika_setup.getCurrency();
        checkPermission nocall: context/portal_membership/checkPermission;
        tabindex view/tabindex;
        widget_visibility view/getWidgetVisibility;
        partitionable view/partitioned_services;
        ShowPrices python:context.bika_setup.getShowPrices();">


<form id="analysisrequest_edit_form"
    name="analysisrequest_edit_form"
    method="POST">

<input type="hidden" name="submitted" value="1" />
<span tal:replace="structure context/@@authenticator/authenticator"/>
<input type="hidden" name="came_from" tal:attributes="value view/came_from" />

<span id="bika_setup" style="display:none;"
    tal:define="bika_setup python: context.bika_setup;"
    tal:attributes="EnableARSpecs python: 'true' if bika_setup.getEnableARSpecs() else '';
			bika_samplepoints_uid python: bika_setup.bika_samplepoints.UID();
			bika_artemplates_uid python: bika_setup.bika_artemplates.UID();
			bika_analysisprofiles_uid python: bika_setup.bika_analysisspecs.UID();
			bika_analysisspecs_uid python: bika_setup.bika_analysisspecs.UID();
			bika_analysisspecs_path python:'/'.join(bika_setup.bika_analysisspecs.getPhysicalPath())">
</span>

<!-- member discount percentage if applicable -->
<input type="hidden" id="member_discount" name="member_discount"
    tal:attributes="value here/bika_setup/getMemberDiscount"
    tal:condition="view/getMemberDiscountApplies"/>

<!-- col_count goes here for the jquery expanding services rows to know how to print themselves -->
<input type="hidden" id="col_count" name="col_count"
    tal:attributes="value view/col_count" />

<!-- These services have partition setup records -->
<input type="hidden" id="partitioned_services" name="partitioned_services"
    tal:attributes="value partitionable" />

<!-- And the current form partition configuration is stored here -->
<input type="hidden" id="parts" name="parts" value="{}"/>

<!-- The system configured 'Dry Matter Service' -->
<tal:i define="dms python:context.bika_setup.getDryMatterService()">
    <input type="hidden" id="getDryMatterService" name="getDryMatterService"
        tal:condition="nocall:dms"
        tal:attributes="
            poc python: dms.getPointOfCapture();
            cat python: dms.getCategoryUID();
            value python: dms.UID()"/>
</tal:i>

<input type="hidden"
    id="PhysicalPath"
    tal:attributes="here python:'/'.join(context.getPhysicalPath()[:-3])"/>

<table summary="Add analysis requests"
    class="listing analysisrequest add nosort"
    cellpadding="0" cellspacing="0">
<thead>

    <!-- All edit fields with fields with add=visible -->
    <tr tal:repeat="fieldName python:widget_visibility.get('add', {}).get('visible', [])">
        <tal:def define="
            field python:context.Schema()[fieldName];
            field_macro here/widgets/field/macros/edit;
            accessor python:field.getAccessor(context);
            widget python:field.widget;
            errors python:{};
            mode string:edit;">
            <th colspan="2" style="white-space:nowrap">
                <label class="formQuestion">
                <span tal:replace="python:widget.Label(here)"
                      i18n:translate="" />
                <span class="fieldRequired"
                      tal:condition="field/required"
                      title="Required"
                      i18n:attributes="title title_required;">&nbsp;</span>
                 <em style="display:block"
                       class="discreet"
                     tal:define="description python:widget.Description(here)"
                     tal:content="structure description"
                     tal:attributes="id string:${fieldName}_help"
                     i18n:translate="">Help </em>
                </label>

           </th>
            <td>
            <img tal:condition="python:view.col_count > 1"
                 tal:attributes="name fieldName;
                                 class string:copyButton ${fieldName}CopyButton;
                                 src string:${portal/absolute_url}/++resource++bika.lims.images/copy.png;"/>
            </td>
            <tal:columns tal:repeat="column python:range(view.col_count)">
                <td tal:attributes="column column;
                                    ar_add_column_widget string:1">

                   <metal:field use-macro="python:context.widget(fieldName, mode='edit')"/>

                    <tal:hidden_def
                        tal:repeat="hiddenfieldName python:widget_visibility.get('add', {}).get('hidden', [])"
                        tal:define="index repeat/fieldName/index">
                            <input
                                type="hidden"
                                tal:define="val python:context.Schema()[hiddenfieldName].getAccessor(context)();"
                                tal:attributes="
                                    name string:${hiddenfieldName};
                                    id string:${hiddenfieldName};
                                    value val/Title|nothing;"/>
                             <input
                                type="hidden"
                                tal:define="val python:context.Schema()[hiddenfieldName].getAccessor(context)();"
                                tal:attributes="
                                    name string:${hiddenfieldName}_uid;
                                    id string:${hiddenfieldName}_uid;
                                    value val/UID|nothing;"/>
                    </tal:hidden_def>

                </td>
            </tal:columns>
        </tal:def>
    </tr>

    <tal:hidden repeat="hiddenfieldName python:widget_visibility.get('add', {}).get('hidden', [])">
        <tal:columns tal:repeat="column python:range(view.col_count)">
            <input
                type="hidden"
                tal:define="
                    field python:context.Schema()[hiddenfieldName];
                    val python:field.getAccessor(context)();"
                tal:attributes="
                    name string:ar.${column}.${hiddenfieldName};
                    id string:ar_${column}_${hiddenfieldName};
                    value val/Title|nothing;"/>
             <input
                type="hidden"
                tal:define="
                    field python:context.Schema()[hiddenfieldName];
                    val python:field.getAccessor(context)();"
                tal:attributes="
                    name string:ar.${column}.${hiddenfieldName}_uid;
                    id string:ar_${column}_${hiddenfieldName}_uid;
                    value val/UID|nothing;"/>
        </tal:columns>
    </tal:hidden>

</thead>

<thead class="pointofcapture">
    <tr>
        <th style='padding-left:0;'
            tal:attributes="colspan python:view.col_count + 3">
            <input class="context button allowMultiSubmit"
                type="submit"
                name="save_button"
                i18n:attributes="value"
                value="Save"/>
        </th>
    </tr>
</thead>

<!-- Analyses -->
<tal:i define="
    cats view/Categories;
    POINTS_OF_CAPTURE python: modules['bika.lims.config'].POINTS_OF_CAPTURE;">
    <tal:i repeat="poc python:['field', 'lab']">
    <tal:has_poc tal:condition="python:poc in cats">
        <thead class="pointofcapture"
            tal:attributes="id poc">
            <tr>
                <th tal:attributes="colspan python:view.col_count + 3">
                    <img title="analyses"
                        tal:attributes="src string:${portal/absolute_url}/++resource++bika.lims.images/analysisservice.png"/>
                <span tal:content="python:POINTS_OF_CAPTURE.getValue(poc)"/>
                </th>
            </tr>
        </thead>

    <tal:i tal:define="sortedcats python:cats[poc];
        dummy python:sortedcats.sort(lambda x, y: cmp(x[1], y[1]))"
    repeat="cat sortedcats">
    <thead>
        <tr class="analysiscategory">
            <th tal:content="python:cat[1]"
                tal:define="add_prefill python:cat[0] in view.DefaultCategories();"
                tal:attributes="
                    id python:'cat_%s_%s'%(poc, cat[1]);
                    colspan python:view.col_count + 3;
                    poc poc;
                    cat python:cat[0];
                    class python: 'analysiscategory collapsed%s' % (' prefill' if add_prefill else '')"/>

    </tr>
</thead>
<tbody class="analysisservices" tal:attributes="
    id python:poc + '_' + cat[0]">
    <tr></tr>
</tbody>
</tal:i>
</tal:has_poc>
</tal:i>
</tal:i>

<tfoot tal:condition="ShowPrices">

    <!-- Pretty blank row -->
    <thead class="pointofcapture"><tr><th tal:attributes="colspan python:view.col_count + 3">&nbsp;</th></tr></thead>

    <tr tal:condition="python:view.getMemberDiscountApplies() and ShowPrices">
        <th class="topborder" colspan="2">
            <b i18n:translate="">Discount</b>
            <span class="discreet">(<tal:i content="here/bika_setup/getMemberDiscount"/>%)</span>
        </th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="input_id string:ar_${column}_discount;">
                <input class="price noborder" size="10" disabled="disabled" value="0.00"
                    tal:attributes="id input_id;" />
            </td>
        </tal:block>
    </tr>

    <tr>
        <th class="topborder" colspan="2"><b i18n:translate="">Subtotal</b></th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="input_id string:ar_${column}_subtotal;
                input_name string:ar.${column}.subtotal">
            <input class="price noborder" size="10" disabled="disabled" value="0.00"
                tal:attributes="id string:${input_id}_display;"/>
            <input type="hidden"
                tal:attributes="
                    id input_id;
                    name string:${input_name}:record:ignore_empty;"/>
            </td>
        </tal:block>
    </tr>

    <tr>
        <th colspan="2" class="topborder"><b i18n:translate="">VAT</b></th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="input_id string:ar_${column}_vat;
                input_name string:ar.${column}.vat">
            <input class="price noborder" size="10" disabled="disabled" value="0.00"
                tal:attributes="id string:${input_id}_display;"/>
            <input type="hidden"
                tal:attributes="
                    id input_id;
                    name string:${input_name}:record:ignore_empty;"/>
            </td>
        </tal:block>
    </tr>

    <tr>
        <th class="topborder" colspan="2"><b i18n:translate="">Total</b></th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="
                input_id string:ar_${column}_total;
                input_name string:ar.${column}.total">
            <input class="price noborder" size="10" disabled="disabled" value="0.00"
                tal:attributes="id string:${input_id}_display;"/>
            <input type="hidden"
                tal:attributes="
                    id input_id;
                    name string:${input_name}:record:ignore_empty;"/>
            </td>
        </tal:block>
    </tr>
</tfoot>
</table>

    <input class="context button allowMultiSubmit"
        type="submit"
        name="save_button"
        i18n:attributes="value"
        value="Save"/>

    <br/>&nbsp;

    <div class="discreeter">

    <p>  <!-- AVS this should be conditional if any dryables present -->
        <img src="" tal:attributes="src string:${portal/absolute_url}/++resource++bika.lims.images/dry.png">
        <span i18n:translate="">
            Can be reported as dry matter</span>
    </p>

    <!-- XXX this also -->
    <p tal:condition="python:context.bika_setup.laboratory.getLaboratoryAccredited()">
        <img tal:attributes="src string:${portal/absolute_url}/++resource++bika.lims.images/accredited.png">
        <span i18n:translate="">
            Methods included in the
                <tal:block
                    replace="here/bika_setup/laboratory/AccreditationBody"
                    i18n:name="accreditation_body"/>
            schedule of Accreditation for this Laboratory.
            Analysis remarks are not accredited
        </span>
    </p>
    </div>

    </form>
</div>
</body>
</html>
<commit_msg>reapply fix for LIMS-3010<commit_after><html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:tal="http://xml.zope.org/namespaces/tal"
    xmlns:metal="http://xml.zope.org/namespaces/metal"
    xmlns:i18n="http://xml.zope.org/namespaces/i18n"
    metal:use-macro="here/main_template/macros/master"
    i18n:domain="bika">

<head>
    <metal:block fill-slot="javascript_head_slot"
        tal:define="portal context/@@plone_portal_state/portal;">
    <script type="text/javascript"
        tal:attributes="src python:portal.absolute_url() + '/bika_widgets/datetimewidget.js'"></script>
    <script type="text/javascript"
        tal:attributes="src python:portal.absolute_url() + '/bika_widgets/referencewidget.js'"></script>
    <link rel="stylesheet" type="text/css" media="all" href=""
          tal:attributes="href string:${portal/absolute_url}/bika_widgets/referencewidget.css" />
  </metal:block>
</head>

<body>

<metal:title fill-slot="content-title">
<h1>
    <img tal:condition="view/icon | nothing" tal:attributes="src view/icon"/>
    <tal:new i18n:translate="">Request new analyses</tal:new>
</h1>
</metal:title>

<div metal:fill-slot="content-core"
    tal:define="
        portal context/@@plone_portal_state/portal;
        plone_view context/@@plone;
        portal_state context/@@plone_portal_state;
        currencies python:modules['zope.i18n.locales'].locales.getLocale('en').numbers.currencies;
        currency python:context.bika_setup.getCurrency();
        checkPermission nocall: context/portal_membership/checkPermission;
        tabindex view/tabindex;
        widget_visibility view/getWidgetVisibility;
        partitionable view/partitioned_services;
        ShowPrices python:context.bika_setup.getShowPrices();">


<form id="analysisrequest_edit_form"
    name="analysisrequest_edit_form"
    method="POST">

<input type="hidden" name="submitted" value="1" />
<span tal:replace="structure context/@@authenticator/authenticator"/>
<input type="hidden" name="came_from" tal:attributes="value view/came_from" />

<span id="bika_setup" style="display:none;"
    tal:define="bika_setup python: context.bika_setup;"
    tal:attributes="EnableARSpecs python: 'true' if bika_setup.getEnableARSpecs() else '';
			bika_samplepoints_uid python: bika_setup.bika_samplepoints.UID();
			bika_artemplates_uid python: bika_setup.bika_artemplates.UID();
			bika_analysisprofiles_uid python: bika_setup.bika_analysisprofiles.UID();
			bika_analysisspecs_uid python: bika_setup.bika_analysisspecs.UID();
			bika_analysisspecs_path python:'/'.join(bika_setup.bika_analysisspecs.getPhysicalPath())">
</span>

<!-- member discount percentage if applicable -->
<input type="hidden" id="member_discount" name="member_discount"
    tal:attributes="value here/bika_setup/getMemberDiscount"
    tal:condition="view/getMemberDiscountApplies"/>

<!-- col_count goes here for the jquery expanding services rows to know how to print themselves -->
<input type="hidden" id="col_count" name="col_count"
    tal:attributes="value view/col_count" />

<!-- These services have partition setup records -->
<input type="hidden" id="partitioned_services" name="partitioned_services"
    tal:attributes="value partitionable" />

<!-- And the current form partition configuration is stored here -->
<input type="hidden" id="parts" name="parts" value="{}"/>

<!-- The system configured 'Dry Matter Service' -->
<tal:i define="dms python:context.bika_setup.getDryMatterService()">
    <input type="hidden" id="getDryMatterService" name="getDryMatterService"
        tal:condition="nocall:dms"
        tal:attributes="
            poc python: dms.getPointOfCapture();
            cat python: dms.getCategoryUID();
            value python: dms.UID()"/>
</tal:i>

<input type="hidden"
    id="PhysicalPath"
    tal:attributes="here python:'/'.join(context.getPhysicalPath()[:-3])"/>

<table summary="Add analysis requests"
    class="listing analysisrequest add nosort"
    cellpadding="0" cellspacing="0">
<thead>

    <!-- All edit fields with fields with add=visible -->
    <tr tal:repeat="fieldName python:widget_visibility.get('add', {}).get('visible', [])">
        <tal:def define="
            field python:context.Schema()[fieldName];
            field_macro here/widgets/field/macros/edit;
            accessor python:field.getAccessor(context);
            widget python:field.widget;
            errors python:{};
            mode string:edit;">
            <th colspan="2" style="white-space:nowrap">
                <label class="formQuestion">
                <span tal:replace="python:widget.Label(here)"
                      i18n:translate="" />
                <span class="fieldRequired"
                      tal:condition="field/required"
                      title="Required"
                      i18n:attributes="title title_required;">&nbsp;</span>
                 <em style="display:block"
                       class="discreet"
                     tal:define="description python:widget.Description(here)"
                     tal:content="structure description"
                     tal:attributes="id string:${fieldName}_help"
                     i18n:translate="">Help </em>
                </label>

           </th>
            <td>
            <img tal:condition="python:view.col_count > 1"
                 tal:attributes="name fieldName;
                                 class string:copyButton ${fieldName}CopyButton;
                                 src string:${portal/absolute_url}/++resource++bika.lims.images/copy.png;"/>
            </td>
            <tal:columns tal:repeat="column python:range(view.col_count)">
                <td tal:attributes="column column;
                                    ar_add_column_widget string:1">

                   <metal:field use-macro="python:context.widget(fieldName, mode='edit')"/>

                    <tal:hidden_def
                        tal:repeat="hiddenfieldName python:widget_visibility.get('add', {}).get('hidden', [])"
                        tal:define="index repeat/fieldName/index">
                            <input
                                type="hidden"
                                tal:define="val python:context.Schema()[hiddenfieldName].getAccessor(context)();"
                                tal:attributes="
                                    name string:${hiddenfieldName};
                                    id string:${hiddenfieldName};
                                    value val/Title|nothing;"/>
                             <input
                                type="hidden"
                                tal:define="val python:context.Schema()[hiddenfieldName].getAccessor(context)();"
                                tal:attributes="
                                    name string:${hiddenfieldName}_uid;
                                    id string:${hiddenfieldName}_uid;
                                    value val/UID|nothing;"/>
                    </tal:hidden_def>

                </td>
            </tal:columns>
        </tal:def>
    </tr>

    <tal:hidden repeat="hiddenfieldName python:widget_visibility.get('add', {}).get('hidden', [])">
        <tal:columns tal:repeat="column python:range(view.col_count)">
            <input
                type="hidden"
                tal:define="
                    field python:context.Schema()[hiddenfieldName];
                    val python:field.getAccessor(context)();"
                tal:attributes="
                    name string:ar.${column}.${hiddenfieldName};
                    id string:ar_${column}_${hiddenfieldName};
                    value val/Title|nothing;"/>
             <input
                type="hidden"
                tal:define="
                    field python:context.Schema()[hiddenfieldName];
                    val python:field.getAccessor(context)();"
                tal:attributes="
                    name string:ar.${column}.${hiddenfieldName}_uid;
                    id string:ar_${column}_${hiddenfieldName}_uid;
                    value val/UID|nothing;"/>
        </tal:columns>
    </tal:hidden>

</thead>

<thead class="pointofcapture">
    <tr>
        <th style='padding-left:0;'
            tal:attributes="colspan python:view.col_count + 3">
            <input class="context button allowMultiSubmit"
                type="submit"
                name="save_button"
                i18n:attributes="value"
                value="Save"/>
        </th>
    </tr>
</thead>

<!-- Analyses -->
<tal:i define="
    cats view/Categories;
    POINTS_OF_CAPTURE python: modules['bika.lims.config'].POINTS_OF_CAPTURE;">
    <tal:i repeat="poc python:['field', 'lab']">
    <tal:has_poc tal:condition="python:poc in cats">
        <thead class="pointofcapture"
            tal:attributes="id poc">
            <tr>
                <th tal:attributes="colspan python:view.col_count + 3">
                    <img title="analyses"
                        tal:attributes="src string:${portal/absolute_url}/++resource++bika.lims.images/analysisservice.png"/>
                <span tal:content="python:POINTS_OF_CAPTURE.getValue(poc)"/>
                </th>
            </tr>
        </thead>

    <tal:i tal:define="sortedcats python:cats[poc];
        dummy python:sortedcats.sort(lambda x, y: cmp(x[1], y[1]))"
    repeat="cat sortedcats">
    <thead>
        <tr class="analysiscategory">
            <th tal:content="python:cat[1]"
                tal:define="add_prefill python:cat[0] in view.DefaultCategories();"
                tal:attributes="
                    id python:'cat_%s_%s'%(poc, cat[1]);
                    colspan python:view.col_count + 3;
                    poc poc;
                    cat python:cat[0];
                    class python: 'analysiscategory collapsed%s' % (' prefill' if add_prefill else '')"/>

    </tr>
</thead>
<tbody class="analysisservices" tal:attributes="
    id python:poc + '_' + cat[0]">
    <tr></tr>
</tbody>
</tal:i>
</tal:has_poc>
</tal:i>
</tal:i>

<tfoot tal:condition="ShowPrices">

    <!-- Pretty blank row -->
    <thead class="pointofcapture"><tr><th tal:attributes="colspan python:view.col_count + 3">&nbsp;</th></tr></thead>

    <tr tal:condition="python:view.getMemberDiscountApplies() and ShowPrices">
        <th class="topborder" colspan="2">
            <b i18n:translate="">Discount</b>
            <span class="discreet">(<tal:i content="here/bika_setup/getMemberDiscount"/>%)</span>
        </th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="input_id string:ar_${column}_discount;">
                <input class="price noborder" size="10" disabled="disabled" value="0.00"
                    tal:attributes="id input_id;" />
            </td>
        </tal:block>
    </tr>

    <tr>
        <th class="topborder" colspan="2"><b i18n:translate="">Subtotal</b></th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="input_id string:ar_${column}_subtotal;
                input_name string:ar.${column}.subtotal">
            <input class="price noborder" size="10" disabled="disabled" value="0.00"
                tal:attributes="id string:${input_id}_display;"/>
            <input type="hidden"
                tal:attributes="
                    id input_id;
                    name string:${input_name}:record:ignore_empty;"/>
            </td>
        </tal:block>
    </tr>

    <tr>
        <th colspan="2" class="topborder"><b i18n:translate="">VAT</b></th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="input_id string:ar_${column}_vat;
                input_name string:ar.${column}.vat">
            <input class="price noborder" size="10" disabled="disabled" value="0.00"
                tal:attributes="id string:${input_id}_display;"/>
            <input type="hidden"
                tal:attributes="
                    id input_id;
                    name string:${input_name}:record:ignore_empty;"/>
            </td>
        </tal:block>
    </tr>

    <tr>
        <th class="topborder" colspan="2"><b i18n:translate="">Total</b></th>
        <th class="topborder noleftborder" style="text-align:center">
            <span tal:replace="python:currencies[currency].symbol"/>
        </th>
        <tal:block repeat="column python:range(view.col_count)">
            <td class="topborder" tal:define="
                input_id string:ar_${column}_total;
                input_name string:ar.${column}.total">
            <input class="price noborder" size="10" disabled="disabled" value="0.00"
                tal:attributes="id string:${input_id}_display;"/>
            <input type="hidden"
                tal:attributes="
                    id input_id;
                    name string:${input_name}:record:ignore_empty;"/>
            </td>
        </tal:block>
    </tr>
</tfoot>
</table>

    <input class="context button allowMultiSubmit"
        type="submit"
        name="save_button"
        i18n:attributes="value"
        value="Save"/>

    <br/>&nbsp;

    <div class="discreeter">

    <p>  <!-- AVS this should be conditional if any dryables present -->
        <img src="" tal:attributes="src string:${portal/absolute_url}/++resource++bika.lims.images/dry.png">
        <span i18n:translate="">
            Can be reported as dry matter</span>
    </p>

    <!-- XXX this also -->
    <p tal:condition="python:context.bika_setup.laboratory.getLaboratoryAccredited()">
        <img tal:attributes="src string:${portal/absolute_url}/++resource++bika.lims.images/accredited.png">
        <span i18n:translate="">
            Methods included in the
                <tal:block
                    replace="here/bika_setup/laboratory/AccreditationBody"
                    i18n:name="accreditation_body"/>
            schedule of Accreditation for this Laboratory.
            Analysis remarks are not accredited
        </span>
    </p>
    </div>

    </form>
</div>
</body>
</html>

{'fraction_non_alphanumeric': 0.14412158221551338, 'fraction_numerical': 0.005900717005729184, 'mean_word_length': 2.315891252417245, 'pattern_counts': {'":': 0, '<': 401, '<?xml version=': 0, '>': 403, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 14}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 22, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3744877', 'n_tokens_mistral': 8619, 'n_tokens_neox': 8168, 'n_words': 1407}