$c = new Criteria(); $c->add(OppAttoPeer::PARLAMENTO_ID, 999999); $existing_records = OppAttoPeer::doSelect($c); foreach ($existing_records as $rec) { $t->diag('Cleaning record ' . get_class($rec) . "(" . $rec->getId() . ")"); $rec->delete(); } $c = new Criteria(); $c->add(OppPoliticoPeer::ID, 999999); $existing_records = OppPoliticoPeer::doSelect($c); foreach ($existing_records as $rec) { $t->diag('Cleaning record ' . get_class($rec) . "(" . $rec->getId() . ")"); $rec->delete(); } $t->diag('Create the test act object'); $obj = new OppAtto(); $obj->setTipoAttoId(1); $obj->setParlamentoId(999999); $obj->setRamo('S'); $obj->setNumFase(914); $obj->setDataPres('2008-11-01'); $obj->setDescrizione("Una descrizione di prova"); $obj->save(); $related_news = getRelatedNews($obj); $n_related_news = count($related_news); $first_news = $related_news[0]; $t->ok($n_related_news == 1, 'One news related to the act was generated'); dumpNews($t, "news related to the act", $related_news); $t->diag('Create a non-final votation: two more news expected (group and detail)'); $vot = OppVotazionePeer::retrieveByPK(9900); $vot_att = new OppVotazioneHasAtto();
/** * get all distinct available statuses for emendamenti of a given atto * * @param OppAtto $atto * @return hash of type {id => status} * @author Guglielmo Celata */ public static function getAvailableStatuses(OppAtto $atto) { $c = new Criteria(); $c->clearSelectColumns(); $c->addJoin(OppAttoHasEmendamentoPeer::EMENDAMENTO_ID, OppEmendamentoPeer::ID); $c->addJoin(OppEmendamentoHasIterPeer::EMENDAMENTO_ID, OppEmendamentoPeer::ID); $c->addJoin(OppEmendamentoHasIterPeer::EM_ITER_ID, OppEmIterPeer::ID); $c->add(OppAttoHasEmendamentoPeer::ATTO_ID, $atto->getId()); $c->addSelectColumn(OppEmIterPeer::ID); $c->addSelectColumn(OppEmIterPeer::FASE); $c->addSelectColumn(OppEmIterPeer::CONCLUSO); $c->setDistinct(); $rs = OppEmendamentoPeer::doSelectRS($c); $items = array(); while ($rs->next()) { if (trim(strtolower($rs->getString(2) != 'altro'))) { $items[$rs->getInt(1)] = $rs->getString(2); } } return $items; }
/** * Importa dei ddl a partire da un file yaml */ function run_opp_import_ddl_from_yaml($task, $args, $options) { static $loaded; // load application context if (!$loaded) { _loader(); } $dry_run = false; if (array_key_exists('dry-run', $options)) { $dry_run = true; } if (array_key_exists('yaml-file', $options)) { $yaml_file = strtolower($options['yaml-file']); } else { throw new Exception("Specificare il file contenente i dati dei ddl con l'opzione --yaml-file=FILE_COMPLETE_PATH"); } if (array_key_exists('leg', $options)) { $leg = strtolower($options['leg']); } else { throw new Exception("Specificare la legislatura con l'opzione --leg=LEGISLATURA"); } echo "memory usage: " . memory_get_usage() . "\n"; $start_time = time(); $msg = sprintf("import ddl da {$yaml_file}\n"); echo pakeColor::colorize($msg, array('fg' => 'cyan', 'bold' => true)); if (file_exists($yaml_file)) { $ddls = sfYaml::Load($yaml_file); } else { throw new Exception("Impossibile trovare il file {$yaml_file}"); } foreach ($ddls as $key => $ddl) { $atto = new OppAtto(); $atto->setLegislatura($leg); $atto->setParlamentoId($ddl['parlamento_id']); $atto->setRamo(strtoupper($ddl['ramo'])); $atto->setNumfase($ddl['numfase']); $atto->setTipoAttoId(1); $atto->setDataPres($ddl['presentazione_date']); $atto->setDataAgg($ddl['update_date']); $atto->setTitolo($ddl['titolo']); $atto->setIniziativa($ddl['iniziativa']); if ($dry_run) { var_dump($ddl); } else { $atto->save(); $msg = sprintf("atto %s.%s aggiunto - parlamento_id:%d, opp_id:%d\n", $atto->getRamo(), $atto->getNumfase(), $atto->getParlamentoId(), $atto->getId()); echo pakeColor::colorize($msg, array('fg' => 'green', 'bold' => false)); } unset($atto); } $msg = sprintf("%d atti elaborati\n", count($ddls)); echo pakeColor::colorize($msg, array('fg' => 'cyan', 'bold' => true)); $msg = sprintf(" [%4d sec] [%10d bytes]\n", time() - $start_time, memory_get_usage()); echo pakeColor::colorize($msg, array('fg' => 'red', 'bold' => false)); }
<?php define('SF_ROOT_DIR', realpath(dirname(__FILE__) . '/..')); define('SF_APP', 'fe'); define('SF_ENVIRONMENT', 'dev'); define('SF_DEBUG', false); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; sfContext::getInstance(); $ddls = OppDdlPeer::doSelect(new Criteria()); foreach ($ddls as $ddl) { $atto = new OppAtto(); $atto->setId($ddl->getId()); $atto->setParlamentoId($ddl->getParlamentoId()); $atto->setTipoAttoId($ddl->getTipo()); $atto->setRamo($ddl->getRamo()); $atto->setNumfase($ddl->getNumfase()); $atto->setLegislatura($ddl->getLegislatura()); $atto->setDataPres($ddl->getDataPres()); $atto->setDataAgg($ddl->getDataAgg()); $atto->setTitolo($ddl->getTitolo()); $atto->setIniziativa($ddl->getIniziativa()); $atto->setCompleto($ddl->getCompleto()); $atto->setDescrizione($ddl->getDescrizione()); $atto->setSeduta($ddl->getSeduta()); $atto->setIter($ddl->getIter()); $atto->setDataIter($ddl->getDataIter()); $atto->save(); print "atto: " . $atto->getId() . "...\n"; } print "done.\n";
$c = new Criteria(); $c->add(OppAttoPeer::PARLAMENTO_ID, 999999); $existing_records = OppAttoPeer::doSelect($c); foreach ($existing_records as $rec) { $t->diag('Cleaning record ' . get_class($rec) . "(" . $rec->getId() . ")"); $rec->delete(); } $c = new Criteria(); $c->add(OppVotazionePeer::NUMERO_VOTAZIONE, 999999); $existing_records = OppVotazionePeer::doSelect($c); foreach ($existing_records as $rec) { $t->diag('Cleaning record ' . get_class($rec) . "(" . $rec->getId() . ")"); $rec->delete(); } $t->diag('Create the act object'); $obj_atto = new OppAtto(); $obj_atto->setTipoAttoId(1); $obj_atto->setParlamentoId(999999); $obj_atto->setDataPres('2008-11-01'); $obj_atto->setDescrizione("Un'atto di test"); $obj_atto->save(); $prefix = sfConfig::get(sprintf('propel_behavior_wikifiableBehavior_%s_prefix', get_class($obj_atto))); $t->ok($prefix == 'atto', 'The prefix was correctly read from the behavior configuration'); $wiki_page = nahoWikiPagePeer::retrieveByName($prefix . "_" . $obj_atto->getId()); $t->ok($wiki_page instanceof nahoWikiPage, 'a wiki page was just created for this object'); $c = new Criteria(); $c->add(nahoWikiRevisionPeer::REVISION, 1); $wiki_revisions = $wiki_page->getRevisions($c); $wiki_revision = $wiki_revisions[0]; $t->ok(count($wiki_revisions) == 1 && $wiki_revision instanceof nahoWikiRevision, 'a wiki revision was added'); $wiki_content = $wiki_revision->getnahoWikiContent();
$t->diag('Tests beginning'); // clean the database $t->diag('Cleaning previously created test records'); $c = new Criteria(); $c->add(OppAttoPeer::PARLAMENTO_ID, 999999); $existing_records = OppAttoPeer::doSelect($c); foreach ($existing_records as $rec) { $t->diag('Cleaning record ' . $rec->getId()); $rec->delete(); } $t->diag('Preparing a longvarchar variable'); $longvarchar = ''; for ($i = 0; $i < 15000; $i++) { $longvarchar .= 'pippo '; } $var_length = strlen($longvarchar); $t->diag('Long variable created: length=' . $var_length); $t->diag('Create the test OppAtto object'); $obj = new OppAtto(); $obj->setTipoAttoId(1); $obj->setParlamentoId(999999); $obj->setDescrizione($longvarchar); $obj->save(); $c = new Criteria(); $c->add(OppAttoPeer::PARLAMENTO_ID, 999999); $read_obj = OppAttoPeer::doSelectOne($c); $read_var = $read_obj->getDescrizione(); $read_length = strlen($read_var); $t->diag('Long variable read from DB: length=' . $read_length); $t->ok($read_var == $longvarchar, 'the variable was set correctly'); $t->ok($read_length == $var_length, 'the length is ok');