static function createContest($data) { require_once "common.php"; $data = Filter::filterArray($data); $c = new Contest($data); $c->save(); return $c; }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Contest(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Contest'])) { $model->attributes = $_POST['Contest']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }
/** * Tests the overriding reloadOnInsert at runtime. * * @link http://trac.propelorm.org/ticket/378 * @link http://trac.propelorm.org/ticket/555 */ public function testDefaultExpresions_ReloadOnInsert_Override() { if (Propel::getDb(BookstoreEmployeePeer::DATABASE_NAME) instanceof DBSqlite) { $this->markTestSkipped("Cannot test default date expressions with SQLite"); } // Create a new bookstore, contest, bookstore_contest, and bookstore_contest_entry $b = new Bookstore(); $b->setStoreName("Barnes & Noble"); $b->save(); $c = new Contest(); $c->setName("Bookathon Contest"); $c->save(); $bc = new BookstoreContest(); $bc->setBookstore($b); $bc->setContest($c); $bc->save(); $c = new Customer(); $c->setName("Happy Customer"); $c->save(); $bce = new BookstoreContestEntry(); $bce->setBookstore($b); $bce->setBookstoreContest($bc); $bce->setCustomer($c); $bce->save(null, $skipReload = true); $this->assertNull($bce->getEntryDate(), "Expected a NULL entry_date after save."); }
/** * Testing foreign keys with multiple referrer columns. * @link http://propel.phpdb.org/trac/ticket/606 */ public function testMultiColJoin() { BookstoreContestPeer::doDeleteAll(); BookstoreContestEntryPeer::doDeleteAll(); $bs = new Bookstore(); $bs->setStoreName("Test1"); $bs->setPopulationServed(5); $bs->save(); $bs1Id = $bs->getId(); $bs2 = new Bookstore(); $bs2->setStoreName("Test2"); $bs2->setPopulationServed(5); $bs2->save(); $bs2Id = $bs2->getId(); $ct1 = new Contest(); $ct1->setName("Contest1!"); $ct1->save(); $ct1Id = $ct1->getId(); $ct2 = new Contest(); $ct2->setName("Contest2!"); $ct2->save(); $ct2Id = $ct2->getId(); $cmr = new Customer(); $cmr->setName("Customer1"); $cmr->save(); $cmr1Id = $cmr->getId(); $cmr2 = new Customer(); $cmr2->setName("Customer2"); $cmr2->save(); $cmr2Id = $cmr2->getId(); $contest = new BookstoreContest(); $contest->setBookstoreId($bs1Id); $contest->setContestId($ct1Id); $contest->save(); $contest = new BookstoreContest(); $contest->setBookstoreId($bs2Id); $contest->setContestId($ct1Id); $contest->save(); $entry = new BookstoreContestEntry(); $entry->setBookstoreId($bs1Id); $entry->setContestId($ct1Id); $entry->setCustomerId($cmr1Id); $entry->save(); $entry = new BookstoreContestEntry(); $entry->setBookstoreId($bs1Id); $entry->setContestId($ct1Id); $entry->setCustomerId($cmr2Id); $entry->save(); // Note: this test isn't really working very well. We setup fkeys that // require that the BookstoreContest rows exist and then try to violate // the rules ... :-/ This may work in some lenient databases, but an error // is expected here. /* * Commented out for now ... though without it, this test may not really be testing anything $entry = new BookstoreContestEntry(); $entry->setBookstoreId($bs1Id); $entry->setContestId($ct2Id); $entry->setCustomerId($cmr2Id); $entry->save(); */ $c = new Criteria(); $c->addJoin(array(BookstoreContestEntryPeer::BOOKSTORE_ID, BookstoreContestEntryPeer::CONTEST_ID), array(BookstoreContestPeer::BOOKSTORE_ID, BookstoreContestPeer::CONTEST_ID)); $results = BookstoreContestEntryPeer::doSelect($c); $this->assertEquals(2, count($results)); foreach ($results as $result) { $this->assertEquals($bs1Id, $result->getBookstoreId()); $this->assertEquals($ct1Id, $result->getContestId()); } }
/** * Test that cascading deletes are happening correctly for composite pk. * @link http://propel.phpdb.org/trac/ticket/544 */ public function testDoDelete_Cascade_CompositePK() { $origBceCount = BookstoreContestEntryPeer::doCount(new Criteria()); $cust1 = new Customer(); $cust1->setName("Cust1"); $cust1->save(); $cust2 = new Customer(); $cust2->setName("Cust2"); $cust2->save(); $c1 = new Contest(); $c1->setName("Contest1"); $c1->save(); $c2 = new Contest(); $c2->setName("Contest2"); $c2->save(); $store1 = new Bookstore(); $store1->setStoreName("Store1"); $store1->save(); $bc1 = new BookstoreContest(); $bc1->setBookstore($store1); $bc1->setContest($c1); $bc1->save(); $bc2 = new BookstoreContest(); $bc2->setBookstore($store1); $bc2->setContest($c2); $bc2->save(); $bce1 = new BookstoreContestEntry(); $bce1->setEntryDate("now"); $bce1->setCustomer($cust1); $bce1->setBookstoreContest($bc1); $bce1->save(); $bce2 = new BookstoreContestEntry(); $bce2->setEntryDate("now"); $bce2->setCustomer($cust1); $bce2->setBookstoreContest($bc2); $bce2->save(); // Now, if we remove $bc1, we expect *only* bce1 to be no longer valid. BookstoreContestPeer::doDelete($bc1); $newCount = BookstoreContestEntryPeer::doCount(new Criteria()); $this->assertEquals($origBceCount + 1, $newCount, "Expected new number of rows in BCE to be orig + 1"); $bcetest = BookstoreContestEntryPeer::retrieveByPK($store1->getId(), $c1->getId(), $cust1->getId()); $this->assertNull($bcetest, "Expected BCE for store1 to be cascade deleted."); $bcetest2 = BookstoreContestEntryPeer::retrieveByPK($store1->getId(), $c2->getId(), $cust1->getId()); $this->assertNotNull($bcetest2, "Expected BCE for store2 to NOT be cascade deleted."); }
/** * Test behavior of columns that are implicated in multiple foreign keys. * @link http://propel.phpdb.org/trac/ticket/228 */ public function testMultiFkImplication() { BookstoreDataPopulator::populate(); // Create a new bookstore, contest, bookstore_contest, and bookstore_contest_entry $b = new Bookstore(); $b->setStoreName("Foo!"); $b->save(); $c = new Contest(); $c->setName("Bookathon Contest"); $c->save(); $bc = new BookstoreContest(); $bc->setBookstore($b); $bc->setContest($c); $bc->save(); $c = new Customer(); $c->setName("Happy Customer"); $c->save(); $bce = new BookstoreContestEntry(); $bce->setBookstore($b); $bce->setBookstoreContest($bc); $bce->setCustomer($c); $bce->save(); $bce->setBookstoreId(null); $this->assertNull($bce->getBookstoreContest()); $this->assertNull($bce->getBookstore()); }
/** * Store a newly created contest in storage. * * @return Response */ public function store() { $validator = Validator::make($data = Input::all(), Contest::$rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } else { $date = new \DateTime(); $jenjang = Sentry::getUser()->last_name; $age = date('Y') - date('Y', strtotime(input::get('tgllhr'))); // $tahun = \Carbon\Carbon::now(); if ($jenjang == 'SMA' and $age > 17) { return Redirect::back()->withErrors('Umur melebihi batas maksimal')->withInput(); } if ($jenjang == 'SMP' and $age > 14) { return Redirect::back()->withErrors('Umur melebihi batas maksimal')->withInput(); } if ($jenjang == 'SD' and $age > 11) { return Redirect::back()->withErrors('Umur melebihi batas maksimal')->withInput(); } // isi field cover jika ada cover yang diupload if (Input::hasFile('foto') and Input::hasFile('rapor')) { $uploaded_file = Input::file('foto'); $uploaded_rapor = Input::file('rapor'); // mengambil extension file $extension = $uploaded_file->getClientOriginalExtension(); $extension_rapor = $uploaded_rapor->getClientOriginalExtension(); // membuat nama file random dengan extension $filename = Input::get('nis') . '.' . $extension; $filename_rapor = Input::get('nis') . '.' . $extension_rapor; $destinationPath = public_path() . DIRECTORY_SEPARATOR . 'uploads/foto'; $destinationPath_rapor = public_path() . DIRECTORY_SEPARATOR . 'uploads/rapor'; // memindahkan file ke folder public/img $uploaded_file->move($destinationPath, $filename); // 25 $uploaded_rapor->move($destinationPath_rapor, $filename_rapor); // 25 $contest = new Contest(); $contest->nocontest = input::get('nocontest'); $contest->verifikasi = '0'; $contest->name = input::get('name'); $contest->nis = input::get('nis'); $contest->tmptlhr = input::get('tmptlhr'); $contest->tgllhr = input::get('tgllhr'); $contest->tahun = date('Y'); $contest->nodada = ''; $contest->juara = '-'; $contest->jenjang = Sentry::getUser()->last_name; $contest->foto = $filename; $contest->rapor = $filename_rapor; $contest->user_id = Sentry::getUser()->id; $contest->sertifikat = Input::has('sertifikat') ? true : false; $contest->created_at = $date; $contest->updated_at = $date; $contest->save(); return Redirect::route('user.contests.index')->with("successMessage", "Formulir berhasil disimpan"); } else { return Redirect::back()->withErrors('File Foto dan/atau Rapor tidak ada')->withInput(); } //Kerja::create($data); } }