/** * */ private function _setCurrent($pm_rel_table_name_or_num, $pn_rel_id) { switch ($this->tableName()) { case 'ca_movements': // Calcuate current flag for relationships to storage locations and objects if (($vs_date_element = $this->getAppConfig()->get('movement_storage_location_date_element')) && ($vs_rel_table = $this->getAppDatamodel()->getTableName($pm_rel_table_name_or_num)) == 'ca_objects') { // get all other movements for this object $t_object = new ca_objects(); $t_object->setTransaction($this->getTransaction()); if ($t_object->load($pn_rel_id)) { if ($qr_movements_for_object = ca_movements_x_objects::find(array('object_id' => $pn_rel_id), array('returnAs' => 'SearchResult'))) { $va_list = array(); while ($qr_movements_for_object->nextHit()) { $va_list[$qr_movements_for_object->get("ca_movements.{$vs_date_element}", array('sortable' => true))] = $qr_movements_for_object->get('ca_movements_x_objects.relation_id'); } ksort($va_list, SORT_NUMERIC); $vn_current = array_pop($va_list); if (sizeof($va_list)) { $t_object->getDb()->query("UPDATE ca_movements_x_objects SET source_info = '' WHERE relation_id IN (?)", array(array_values($va_list))); $t_object->getDb()->query("UPDATE ca_movements_x_storage_locations SET source_info = '' WHERE movement_id IN (SELECT movement_id FROM ca_movements_x_objects WHERE relation_id IN (?))", array(array_values($va_list))); } if ($vn_current) { $t_object->getDb()->query("UPDATE ca_movements_x_objects SET source_info = 'current' WHERE relation_id = ?", array($vn_current)); $t_object->getDb()->query("UPDATE ca_movements_x_storage_locations SET source_info = 'current' WHERE movement_id IN (SELECT movement_id FROM ca_movements_x_objects WHERE relation_id = ?)", array($vn_current)); } } } } break; } }
public function testGetAttributeCount() { $t_element = ca_attributes::getElementInstance('internal_notes'); $this->opt_object->getDb()->dieOnError(true); $this->assertEquals(2, ca_attributes::getAttributeCount($this->opt_object->getDb(), $this->opt_object->tableNum(), $this->opt_object->getPrimaryKey(), $t_element->getPrimaryKey())); }