private function _update_parent_timestamp() { $parent = $this->get_parent(); if ($parent && $parent->component == 'org.openpsa.documents') { midcom::get('auth')->request_sudo('org.openpsa.documents'); $parent = new org_openpsa_documents_directory($parent); $parent->_use_rcs = false; $parent->_use_activitystream = false; $parent->update(); midcom::get('auth')->drop_sudo(); } }
/** * This is what Datamanager calls to actually create a directory */ public function &dm2_create_callback(&$datamanager) { $topic = new org_openpsa_documents_directory(); $topic->up = $this->_request_data['directory']->id; $topic->component = 'org.openpsa.documents'; // Set the name by default $topic->name = midcom_helper_misc::generate_urlname_from_string($_POST['extra']); if (!$topic->create()) { debug_print_r('We operated on this object:', $topic); throw new midcom_error("Failed to create a new topic, cannot continue. Error: " . midcom_connection::get_error_string()); } $this->_request_data['directory'] = new org_openpsa_documents_directory($topic->id); return $topic; }
public function testCRUD() { $user = $this->create_user(true); midcom::get('auth')->request_sudo('org.openpsa.documents'); $directory = new org_openpsa_documents_directory(); $directory->name = 'TEST_' . __CLASS__ . time(); $stat = $directory->create(); $this->assertTrue($stat); $this->register_object($directory); $stat = $directory->update(); $this->assertTrue($stat); $stat = $directory->delete(); $this->assertTrue($stat); midcom::get('auth')->drop_sudo(); }
/** * Prepare the indexer client */ public function _on_reindex($topic, $config, &$indexer) { $qb_documents = org_openpsa_documents_document_dba::new_query_builder(); $qb_documents->add_constraint('topic', '=', $topic->id); $qb_documents->add_constraint('nextVersion', '=', 0); $qb_documents->add_constraint('orgOpenpsaObtype', '=', ORG_OPENPSA_OBTYPE_DOCUMENT); $schemadb_documents = midcom_helper_datamanager2_schema::load_database($config->get('schemadb_document')); $qb_directories = org_openpsa_documents_directory::new_query_builder(); $qb_directories->add_constraint('up', '=', $topic->id); $qb_directories->add_constraint('component', '=', $this->_component); $schemadb_directories = midcom_helper_datamanager2_schema::load_database($config->get('schemadb_directory')); $indexer = new org_openpsa_documents_midcom_indexer($topic, $indexer); $indexer->add_query('documents', $qb_documents, $schemadb_documents); $indexer->add_query('directories', $qb_directories, $schemadb_directories); return $indexer; }