function createNewModel()
 {
     $series = new Opus_Series();
     $series->setTitle('Testseries');
     $series->setInfobox('Infotext');
     $series->setVisible(1);
     $series->setSortOrder(10);
     return $series->store();
 }
Example #2
0
 public function testPopulateFromModel()
 {
     $form = new Admin_Form_Series();
     $series = new Opus_Series();
     $series->setTitle('TestTitle');
     $series->setInfobox('TestInfo');
     $series->setVisible(1);
     $series->setSortOrder(20);
     $form->populateFromModel($series);
     $this->assertEquals('TestTitle', $form->getElement('Title')->getValue());
     $this->assertEquals('TestInfo', $form->getElement('Infobox')->getValue());
     $this->assertEquals(1, $form->getElement('Visible')->getValue());
     $this->assertEquals(20, $form->getElement('SortOrder')->getValue());
 }
 /**
  * Für jede Collection der Collection Role series wird eine neue Schriftenreihe
  * Opus_Series angelegt, wobei der Name, die Sichtbarkeit und die Sorierreihenfolge
  * übernommen wird.
  *
  * Die Wurzel-Collection der Collection Role series wird nicht betrachtet.
  *
  * 
  * @return int number of collections that were migrated
  */
 private function migrateCollectionToSeries()
 {
     $numOfCollectionsMigrated = 0;
     foreach (Opus_Collection::fetchCollectionsByRoleId($this->seriesRole->getId()) as $collection) {
         // ignore root collection (does not have valid data and associated documents)
         if ($collection->isRoot()) {
             continue;
         }
         $series = new Opus_Series(Opus_Series::createRowWithCustomId($collection->getId()));
         $series->setTitle($collection->getName());
         $series->setVisible($collection->getVisible());
         $series->setSortOrder($collection->getSortOrder());
         $series->store();
         $this->logger->info('created series with id #' . $collection->getId());
         $numOfCollectionsMigrated++;
     }
     return $numOfCollectionsMigrated;
 }
Example #4
0
 /**
  * Imports Series from Opus3 to Opus4 in alphabetical order
  *
  * @param DOMDocument $data XML-Document to be imported
  * @return void
  */
 protected function importSeries($data)
 {
     $mf = $this->config->migration->mapping->series;
     $fp = null;
     $fp = @fopen($mf, 'w');
     if (!$fp) {
         $this->logger->log("Could not create '" . $mf . "' for Series", Zend_Log::ERR);
         return;
     }
     $series = $this->transferOpusSeries($data);
     $sort_order = 1;
     foreach ($series as $s) {
         if (array_key_exists('name', $s) === false) {
             continue;
         }
         if (array_key_exists('sr_id', $s) === false) {
             continue;
         }
         $sr = new Opus_Series();
         $sr->setTitle($s['name']);
         $sr->setVisible(1);
         $sr->setSortOrder($sort_order++);
         $sr->store();
         $this->logger->log("Series imported: " . $s['name'], Zend_Log::DEBUG);
         fputs($fp, $s['sr_id'] . ' ' . $sr->getId() . "\n");
     }
     fclose($fp);
 }
 public function testSeriesActionWithOneVisibleSeriesWithOnePublishedDocument()
 {
     $visibilities = $this->setAllSeriesToUnvisible();
     $d = $this->createTestDocument();
     $d->setServerState('published');
     $d->store();
     $s = new Opus_Series(7);
     $s->setVisible('1');
     $s->store();
     $d->addSeries($s)->setNumber('testSeriesAction-7');
     $d->store();
     $this->dispatch('/solrsearch/browse/series');
     $this->restoreSeriesVisibility($visibilities);
     $this->assertContains('/solrsearch/index/search/searchtype/series/id/7', $this->getResponse()->getBody());
     foreach (Opus_Series::getAll() as $series) {
         if ($series->getId() != 7) {
             $this->assertNotContains('/solrsearch/index/search/searchtype/series/id/' . $series->getId(), $this->getResponse()->getBody());
         }
     }
     $this->assertResponseCode(200);
 }