$deleted_notebook_page_field_ids = explode(',', $_REQUEST['deleted_page_field_ids']); // util_prePrintR($deleted_notebook_page_field_ids); if ($deleted_notebook_page_field_ids) { foreach ($deleted_notebook_page_field_ids as $deleted_notebook_page_fied_id) { if ($deleted_notebook_page_fied_id) { $del_npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => $deleted_notebook_page_fied_id], $DB); if ($del_npf->matchesDb) { $del_npf->doDelete(); } } } } $intitial_notebook_page_field_ids = explode(',', $_REQUEST['initial_page_field_ids']); foreach ($intitial_notebook_page_field_ids as $notebook_page_field_id) { if (!in_array($notebook_page_field_id, $deleted_notebook_page_field_ids)) { $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => $notebook_page_field_id], $DB); if ($npf->matchesDb) { $new_npf_vals = ['notebook_page_field-value_open_' . $notebook_page_field_id => $_REQUEST['page_field_open_value_' . $notebook_page_field_id]]; if (isset($_REQUEST['page_field_select_' . $notebook_page_field_id])) { $new_term_value_id = $_REQUEST['page_field_select_' . $notebook_page_field_id]; if ($new_term_value_id < 1) { $new_term_value_id = 0; } $new_npf_vals['notebook_page_field-value_metadata_term_value_id_' . $notebook_page_field_id] = $new_term_value_id; } $npf->setFromArray($new_npf_vals); $npf->updateDb(); } } } $created_notebook_page_field_ids = explode(',', $_REQUEST['created_page_field_ids']);
function testRenderAsListItemEdit_noTermSet() { $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1204], $this->DB); $mds = Metadata_Structure::getOneFromDb(['metadata_structure_id' => 6004], $this->DB); global $USER; $USER = User::getOneFromDb(['username' => TESTINGUSER], $this->DB); $canonical = '<li id="list_item-notebook_page_field_1204" data-notebook_page_field_id="1204" data-created_at="' . $npf->created_at . '" data-updated_at="' . $npf->updated_at . '" data-notebook_page_id="1101" data-label_metadata_structure_id="6004" data-value_metadata_term_value_id="0" data-value_open="wavy-ish" data-flag_delete="0">' . '<div class="notebook-page-field-label field-label" title="' . htmlentities($mds->description) . '">' . $mds->renderAsFullName() . '</div> : <div class="notebook-page-field-value field-value">' . util_lang('metadata_structure_has_no_term_set') . '; <input type="text" name="page_field_open_value_1204" id="page_field_open_value_1204" class="page_field_open_value" value="wavy-ish"/>' . '</div> <button class="btn btn-danger button-mark-pagefield-for-delete" title="' . util_lang('mark_for_delete', 'ucfirst') . '" data-do-mark-title="' . util_lang('mark_for_delete', 'ucfirst') . '" data-remove-mark-title="' . util_lang('unmark_for_delete', 'ucfirst') . '" data-for_dom_id="list_item-notebook_page_field_1204" data-notebook_page_field_id="1204"><i class="icon-remove-sign icon-white"></i></button></li>'; $rendered = $npf->renderAsListItemEdit(); // echo "<pre>\n".htmlentities($canonical)."\n--------\n".htmlentities($rendered)."\n</pre>"; $this->assertEqual($canonical, $rendered); $this->assertNoPattern('/IMPLEMENTED/', $rendered); }
function testBaseDataUpdate() { $this->doLoginBasic(); $this->get('http://localhost/digitalfieldnotebooks/app_code/notebook_page.php?action=edit¬ebook_page_id=1101'); $this->checkBasicAsserts(); $new_notes = 'new notes for the page'; $new_specimen_notes = 'new notes for the specimen'; //// NOTE: the identifier to use for setField is the value of the name attribute of the field $this->setField('notes', $new_notes); // page field alteration $this->assertTrue($this->setField('page_field_select_1201', '6204')); $this->assertTrue($this->setField('page_field_open_value_1204', 'new open value')); // page field addition // $this->todo('figure out how to do page field addition'); // $this->todo('figure out how to do page deletion'); // specimen alteration $this->assertTrue($this->setField('specimen-notes_8002', $new_specimen_notes)); // $this->todo('figure out how to do specimen addition'); // $this->todo('figure out how to do specimen deletion'); // $this->showContent(); //// NOTE: the identifier to use for buttons is the value of the value attribute of the button $this->click('<i class="icon-ok-sign icon-white"></i> ' . util_lang('update', 'properize')); // // $this->showContent(); // $this->checkBasicAsserts(); $this->assertText($new_notes); // $np = Notebook_Page::getOneFromDb(['notebook_page_id' => 1101], $this->DB); $this->assertEqual($np->notes, $new_notes); // $this->todo('check page field alteration on 1201'); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1201], $this->DB); $this->assertEqual($npf->value_metadata_term_value_id, 6204); $npf = Notebook_Page_Field::getOneFromDb(['notebook_page_field_id' => 1204], $this->DB); $this->assertEqual($npf->value_open, 'new open value'); // $this->todo('check page field addition'); // $this->todo('check page field deletion'); // $this->todo('check specimen alteration on 8002'); $s = Specimen::getOneFromDb(['specimen_id' => 8002], $this->DB); $this->assertEqual($s->notes, $new_specimen_notes); // $this->todo('check specimen addition'); // $this->todo('check specimen deletion'); // util_prePrintR(htmlentities($this->getBrowser()->getContent())); echo "<br><b>NOTE: skipping create and delete tests for pagefields and specimens because that requires javascript interaction</b><br/>\n"; }
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); }