protected function addTreeNodeTypes() { $this->output(t('Adding tree node types...')); $this->connection->Execute('update TreeNodeTypes set treeNodeTypeHandle = ? where treeNodeTypeHandle = ?', array('category', 'topic_category')); $this->connection->Execute('update PermissionKeys set pkHandle = ? where pkHandle = ?', array('view_category_tree_node', 'view_topic_category_tree_node')); $this->connection->Execute('update PermissionKeyCategories set pkCategoryHandle = ? where pkCategoryHandle = ?', array('category_tree_node', 'topic_category_tree_node')); $results = NodeType::getByHandle('express_entry_results'); if (!is_object($results)) { NodeType::add('express_entry_results'); } $category = NodeType::getByHandle('express_entry_category'); if (!is_object($category)) { NodeType::add('express_entry_category'); } $results = TreeType::getByHandle('express_entry_results'); if (!is_object($results)) { TreeType::add('express_entry_results'); $tree = ExpressEntryResults::add(); $node = $tree->getRootTreeNodeObject(); // Add forms node beneath it. \Concrete\Core\Tree\Node\Type\ExpressEntryCategory::add(ExpressFormBlockController::FORM_RESULTS_CATEGORY_NAME, $node); } }
public function install_data_objects() { \Concrete\Core\Tree\Node\NodeType::add('category'); \Concrete\Core\Tree\Node\NodeType::add('express_entry_category'); \Concrete\Core\Tree\TreeType::add('express_entry_results'); \Concrete\Core\Tree\Node\NodeType::add('express_entry_results'); $tree = ExpressEntryResults::add(); $node = $tree->getRootTreeNodeObject(); // Add forms node beneath it. $forms = ExpressEntryCategory::add(ExpressFormBlockController::FORM_RESULTS_CATEGORY_NAME, $node); // Set the forms node to allow guests to post entries, since we're using it from the front-end. $forms->assignPermissions(Group::getByID(GUEST_GROUP_ID), ['add_express_entries']); // Set the root node to allow guests to view entries, so that blocks like express // entry list and express entry details work. $node->assignPermissions(Group::getByID(GUEST_GROUP_ID), ['view_express_entries']); }