<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"
      i18n:domain="senaite.core">
  <head><title></title></head>
  <body>

    <!-- Duration Widgets -->
    <metal:view_macro define-macro="view"
                      tal:define="kssClassesView context/@@kss_field_decorator_view;
                                  getKssClasses nocall:kssClassesView/getKssClassesInlineEditable;">
      <span metal:define-macro="duration-field-view"
            tal:define="kss_class python:getKssClasses(fieldName,
                        templateId='durationwidget', macro='duration-field-view');"
            tal:attributes="class kss_class;
                            id string:parent-fieldname-$fieldName">
        <div  metal:define-slot="inside"
              tal:define="values_dict python:field.getAccessor(here)();
                                 innerJoin field/innerJoin;
                                 outerJoin field/outerJoin">

          <table>
            <tr>
              <tal:keys tal:repeat="key field/getSubfields">
                <tal:cond  tal:condition="python:field.testSubfieldCondition(key,here,portal,template)">
                  <tal:value
                    tal:define="value python:values_dict.get(key)"
                    tal:condition="value">
                    <td valign="top">
                      <span class="label"
                            tal:replace="python:field.getSubfieldLabel(key)+':'">Label</span></td>
                    <td>
                      <span tal:replace="structure python:here.getDisplayView(value,'<br />')">value</span>
                    </td>
                  </tal:value>
                </tal:cond>
              </tal:keys>
            </tr>
          </table>
        </div>
      </span>
    </metal:view_macro>

    <metal:define define-macro="edit">
      <metal:use use-macro="here/widgets/field/macros/edit">
        <table metal:fill-slot="widget_body"
               tal:define="values python:field.getEditAccessor(here)();
                                session_values python:here.session_restore_value(fieldName, values);
                                cached_values python:request.get(fieldName,session_values);
                                values python:cached_values or values">
          <tr>
            <tal:keys tal:repeat="key python:field.getSubfields()">
              <tal:cond condition="python:field.testSubfieldCondition(key,here,portal,template)">
                <td class="field">
                  <span i18n:translate=""
                        tal:content="python:field.getSubfieldLabel(key)"
                        tal:attributes="for string:${fieldName}_${key}">
                  </span>
                  <span class="fieldRequired"
                        tal:condition="python:field.isRequired(key)"
                        title="Required"> #
                  </span>
                </td>
                <td tal:define="type python: field.getSubfieldType(key)">
                  <tal:string condition="python: type == 'string' and not field.isSelection(key)">
                    <input type="text"
                           name=""
                           value=""
                           size="30"
                           tabindex="#"
                           tal:attributes="name string:${fieldName}.${key}:record:ignore_empty;
                                 value python:values.get(key);
                                 size python:field.getSubfieldSize(key);
                                 maxlength python:field.getSubfieldMaxlength(key);
                                 tabindex tabindex/next|nothing;"
                    />
                  </tal:string>
                  <tal:selection condition="python: field.isSelection(key)">
                    <tal:block tal:define="value python:values.get(key);
                                           vocab python:field.getVocabularyFor(key, here)">
                      <select tal:attributes="name string:${fieldName}.${key}:record:ignore_empty;
                                              id fieldName;
                                              tabindex tabindex/next|nothing;">
                        <option tal:repeat="item vocab"
                                tal:attributes="value item;
                                            selected python:test(here.checkSelected(item, value), 'selected', None);"
                                tal:content="python: vocab.getValue(item)"
                                i18n:translate=""
                        />
                      </select>
                    </tal:block>
                  </tal:selection>
                  <tal:text condition="python:type == 'lines'">
                    <textarea name=""
                              cols="30"
                              rows="4"
                              tabindex="#"
                              tal:attributes="name string:${fieldName}.${key}:record:lines:ignore_empty;
                                    tabindex tabindex/next|nothing;"
                              tal:content="python:'\n'.join(values.get(key,[]))" >
                    </textarea>
                  </tal:text>
                  <tal:date condition="python:type == 'datetime'">
                    <div tal:define="id string:${fieldName}_${key};
                                     value python:values.get(key);
                                     show_hm    widget/show_hm;
	                                   inputname  string:${fieldName}.${key}:record;
	                                   formname   string:edit_form;
	                                   inputvalue python: test(value, value, '');
	                                   tabindex tabindex/next|nothing;"
	                       tal:omit-tag="">
	                    <div metal:use-macro="here/calendar_macros/macros/calendarDatePickerBox|here/calendar_slot/macros/calendarDatePickerBox">
	                      a calendar, hopefully
	                    </div>
	                  </div>
	                </tal:date>
	                <tal:number condition="python: type in ['float', 'int', 'long']">
	                  <input type="text"
	                         name=""
	                         value=""
	                         size="10"
	                         tabindex="#"
	                         tal:attributes="name string:${fieldName}.${key}:${type}:record;
	                               value python:values.get(key);
	                               size python:field.getSubfieldSize(key);
	                               maxlength python:field.getSubfieldMaxlength(key);
	                               tabindex tabindex/next|nothing;"
	                  />
	                </tal:number>
	              </td>
		          </tal:cond>
            </tal:keys>
	        </tr>
        </table>
      </metal:use>
    </metal:define>

    <div metal:define-macro="search">
      <div metal:use-macro="here/widgets/string/macros/edit">
      </div>
    </div>

  </body>

</html>

