public function testData() { $order = $this->getTestOrder(); $t = $order->getPaymentTransactions()->get(0); $d = new \XLite\Model\Payment\TransactionData(); $d->setName('cell1'); $d->setValue('test'); $d->setLabel('Cell 1'); $t->addData($d); $d->setTransaction($t); \XLite\Core\Database::getEM()->persist($t); \XLite\Core\Database::getEM()->flush(); $this->assertEquals(1, count($t->getData()), 'check data length'); $this->assertEquals('cell1', $t->getData()->get(0)->getName(), 'check name'); }
/** * Set data cell * * @param string $name Data cell name * @param string $value Value * @param string $label Public name OPTIONAL * @param string $accessLevel access level OPTIONAL * * @return void */ public function setDataCell($name, $value, $label = null, $accessLevel = null) { $data = null; if (!isset($value)) { $value = ''; } foreach ($this->getData() as $cell) { if ($cell->getName() == $name) { $data = $cell; break; } } if (!$data) { $data = new \XLite\Model\Payment\TransactionData(); $data->setName($name); $this->addData($data); $data->setTransaction($this); } if (!$data->getLabel() && $label) { $data->setLabel($label); } $data->setValue($value); // If access level was specified, and it dosn't match original one // Then update it if ($accessLevel && $data->getAccessLevel() != $accessLevel) { $data->setAccessLevel($accessLevel); } }
/** * Set data cell * * @param string $name Data cell name * @param string $value Value * @param string $label Public name OPTIONAL * * @return void */ public function setDataCell($name, $value, $label = null) { $data = null; foreach ($this->getData() as $cell) { if ($cell->getName() == $name) { $data = $cell; break; } } if (!$data) { $data = new \XLite\Model\Payment\TransactionData(); $data->setName($name); $this->addData($data); $data->setTransaction($this); } if (!$data->getLabel() && $label) { $data->setLabel($label); } $data->setValue($value); }
/** * @return XLite\Model\Order */ protected function getTestOrder($new_order = false) { parent::getTestOrder($new_order); $this->order->setPaymentMethod($this->getTestMethod()); \XLite\Core\Database::getEM()->flush(); \XLite\Core\Database::getEM()->refresh($this->order); $t = $this->order->getPaymentTransactions()->get(0); $r = new \XLite\Model\Payment\TransactionData(); $r->setName('r1'); $r->setLabel('Record 1'); $r->setValue(1); $t->addData($r); $r->setTransaction($t); $r = new \XLite\Model\Payment\TransactionData(); $r->setName('r2'); $r->setLabel('Record 2'); $r->setValue(2); $t->addData($r); $r->setTransaction($t); \XLite\Core\Database::getEM()->flush(); return $this->order; }