public function renderAsListItemEdit($idstr = '', $classes_array = [], $other_attribs_hash = [])
 {
     //            return 'TO BE IMPLEMENTED';
     //
     global $USER;
     if (!$idstr) {
         $idstr = 'specimen-image-' . $this->specimen_image_id;
     }
     array_unshift($classes_array, 'specimen-image');
     $li_elt = substr(util_listItemTag($idstr, $classes_array, $other_attribs_hash), 0, -1);
     $li_elt .= ' ' . $this->fieldsAsDataAttribs() . '>';
     $li_elt .= '<button type="button" class="btn btn-danger button-delete-specimen-image" title="' . util_lang('prompt_confirm_delete', 'ucfirst') . '" data-specimen_image_id="' . $this->specimen_image_id . '" data-dom_id="' . $idstr . '"><i class="icon-remove icon-white"></i></button><br/>';
     $li_elt .= $this->renderAsHtml();
     $li_elt .= '<div class="controls">';
     // publish, verify, reordering handle
     $li_elt .= util_orderingLeftRightControls($idstr);
     $li_elt .= '<input type="hidden" name="new_ordering-' . $idstr . '" id="new_ordering-' . $idstr . '" value="' . $this->ordering . '"/>';
     if ($this->specimen_image_id != 'NEW') {
         $li_elt .= '<div class="control-workflows">';
         if ($USER->canActOnTarget('publish', $this)) {
             $li_elt .= '<span class="control-publish"><input id="flag_workflow_published_' . $this->specimen_image_id . '-control" type="checkbox" name="flag_workflow_published" value="1"' . ($this->flag_workflow_published ? ' checked="checked"' : '') . ' /> ' . util_lang('publish') . '</span>, ';
         } else {
             $li_elt .= '<span class="control-publish">' . ($this->flag_workflow_published ? util_lang('published_true') : util_lang('published_false')) . '</span>, ';
         }
         if ($USER->canActOnTarget('verify', $this)) {
             $li_elt .= '<span class="control-verify"><input id="flag_workflow_validated_' . $this->specimen_image_id . '-control" type="checkbox" name="flag_workflow_validated" value="1"' . ($this->flag_workflow_validated ? ' checked="checked"' : '') . ' /> ' . util_lang('verify') . '</span>';
         } else {
             $li_elt .= '<span class="control-verify">' . ($this->flag_workflow_validated ? util_lang('verified_true') : util_lang('verified_false')) . '</span>';
         }
         $li_elt .= '</div>';
     }
     //            $li_elt .= '<span class="ordering-handle">&lt; &gt;</span>';
     $li_elt .= '</div>';
     $li_elt .= '</li>';
     return $li_elt;
 }
 function testRenderAsListItemEdit()
 {
     $si = Specimen_Image::getOneFromDb(['specimen_image_id' => 8103], $this->DB);
     global $USER;
     $USER = User::getOneFromDb(['username' => TESTINGUSER], $this->DB);
     $canonical = '<li id="specimen-image-8103" class="specimen-image" data-specimen_image_id="8103" data-created_at="' . $si->created_at . '" data-updated_at="' . $si->updated_at . '" data-specimen_id="8002" data-user_id="101" data-image_reference="testing/USER101_8103_cnh_castanea_dentata.jpg" data-ordering="0.75000" data-flag_workflow_published="0" data-flag_workflow_validated="1" data-flag_delete="0">';
     $canonical .= '<button type="button" class="btn btn-danger button-delete-specimen-image" title="' . util_lang('prompt_confirm_delete', 'ucfirst') . '" data-specimen_image_id="' . $si->specimen_image_id . '" data-dom_id="specimen-image-8103"><i class="icon-remove icon-white"></i></button><br/>';
     $canonical .= $si->renderAsHtml();
     $canonical .= '<div class="controls">';
     $canonical .= util_orderingLeftRightControls('specimen-image-8103');
     $canonical .= '<input type="hidden" name="new_ordering-specimen-image-8103" id="new_ordering-specimen-image-8103" value="' . $si->ordering . '"/>';
     // publish, verify, reordering handle
     $canonical .= '<div class="control-workflows"><span class="control-publish"><input id="flag_workflow_published_8103-control" type="checkbox" name="flag_workflow_published" value="1" /> publish</span>, <span class="control-verify">verified</span></div>';
     $canonical .= '</div>';
     $canonical .= '</li>';
     $rendered = $si->renderAsListItemEdit();
     //            echo "<pre>\n".htmlentities($canonical)."\n------------------\n".htmlentities($rendered)."\n</pre>";
     $this->assertEqual($canonical, $rendered);
     $this->assertNoPattern('/IMPLEMENTED/', $rendered);
 }