$newSpecimenImage->ordering = $new_spec_ordering; $newSpecimenImage->image_reference = $file_reference; // save the new specimen image object (end w/ approp error & note on failure) $newSpecimenImage->updateDb(); if (!$newSpecimenImage->matchesDb) { $results['note'] = util_lang('msg_database_update_failed'); echo json_encode($results); exit; } // render the new specimen image as a list item for editing & return that // $results['html_output'] = '<li><div class="newly_uploaded_specimen_image">'."\n".'TODO: embed approp code here'."\n</div><li>"; $results['html_output'] = $newSpecimenImage->renderAsListItemEdit(); $results['status'] = 'success'; } elseif ($has_permission && $action == 'delete') { $specimenImage->doDelete(); $specimenImageDel = Specimen_Image::getOneFromDb(['specimen_image_id' => $specimenImageId], $DB); if (!$specimenImageDel->matchesDb) { $results['status'] = 'success'; } else { $results['note'] = util_lang('msg_delete_failed'); echo json_encode($results); exit; } } elseif ($has_permission && $action == 'reorder') { // get the specimen if (!$specimen) { $specimen = Specimen::getOneFromDb(['specimen_id' => $specimenId], $DB); } // get the image for it $specimen->loadImages(); foreach ($specimen->images as $si) {
public function loadImages() { $this->images = Specimen_Image::getAllFromDb(['specimen_id' => $this->specimen_id, 'flag_delete' => FALSE], $this->dbConnection); usort($this->images, 'Specimen_Image::cmp'); }
function testDoDelete() { // record is deleted // file is moved to one w/ same name but .DEL extension added $si = Specimen_Image::getOneFromDb(['specimen_image_id' => 8101], $this->DB); $origFile = $_SERVER['DOCUMENT_ROOT'] . APP_ROOT_PATH . '/image_data/specimen/' . $si->image_reference; $this->assertTrue(file_exists($origFile)); $si->doDelete(); $siDel = Specimen_Image::getOneFromDb(['specimen_image_id' => 8101], $this->DB); $this->assertFalse($siDel->matchesDb); $this->assertFalse(file_exists($origFile)); $this->assertTrue(file_exists($origFile . '.DEL')); // now clean up after this test by putting the file back if (file_exists($origFile . '.DEL')) { rename($origFile . '.DEL', $origFile); $this->assertTrue(file_exists($origFile)); } }
function testDoDelete() { $np = Notebook_Page::getOneFromDb(['notebook_page_id' => 1101], $this->DB); $np->loadSpecimens(); $np->loadPageFields(); $this->assertTrue($np->matchesDb); $this->assertTrue($np->page_fields[0]->matchesDb); $this->assertTrue($np->page_fields[1]->matchesDb); $this->assertTrue($np->page_fields[2]->matchesDb); $this->assertTrue($np->page_fields[3]->matchesDb); $this->assertTrue($np->specimens[0]->matchesDb); $this->assertTrue($np->specimens[1]->matchesDb); //*********** $np->doDelete(); //*********** $np2 = Notebook_Page::createNewNotebookPageForNotebook(1001, $this->DB); $this->assertFalse($np2->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1201], $this->DB); $this->assertFalse($npf->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1202], $this->DB); $this->assertFalse($npf->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1203], $this->DB); $this->assertFalse($npf->matchesDb); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1204], $this->DB); $this->assertFalse($npf->matchesDb); $s = Specimen::getOneFromDb(['specimen_id' => 8002], $this->DB); $this->assertFalse($s->matchesDb); $s = Specimen::getOneFromDb(['specimen_id' => 8003], $this->DB); $this->assertFalse($s->matchesDb); $si = Specimen_Image::getOneFromDb(['specimen_image_id' => 8103], $this->DB); $this->assertFalse($si->matchesDb); $si = Specimen_Image::getOneFromDb(['specimen_image_id' => 8104], $this->DB); $this->assertFalse($si->matchesDb); }
function testDoDelete() { $s = Specimen::getOneFromDb(['specimen_id' => 8001], $this->DB); $s->cacheImages(); $this->assertTrue($s->matchesDb); $this->assertTrue($s->images[0]->matchesDb); $this->assertTrue($s->images[1]->matchesDb); $s->doDelete(); $s2 = Specimen::getOneFromDb(['specimen_id' => 8001], $this->DB); $this->assertFalse($s2->matchesDb); $siA = Specimen_Image::getOneFromDb(['specimen_image_id' => 8101], $this->DB); $this->assertFalse($siA->matchesDb); $siB = Specimen_Image::getOneFromDb(['specimen_image_id' => 8102], $this->DB); $this->assertFalse($siB->matchesDb); }
function testImageReordering() { $this->doLoginAdmin(); $this->get('http://localhost/digitalfieldnotebooks/ajax_actions/specimen_image.php?action=reorder&for_specimen=8002&ordering_8104=70&ordering_8103=50'); $this->checkBasicAsserts(); // script status should be success $results = json_decode($this->getBrowser()->getContent()); // util_prePrintR($results); $this->assertEqual('success', $results->status); $s03 = Specimen_Image::getOneFromDb(['specimen_image_id' => 8103], $this->DB); $s04 = Specimen_Image::getOneFromDb(['specimen_image_id' => 8104], $this->DB); $this->assertEqual(50, $s03->ordering); $this->assertEqual(70, $s04->ordering); }