public function up()
 {
     // reset db metadata cache
     QFrame_Db_Table::scanDb();
     QFrame_Db_Table::resetAll();
     $this->auth();
     $xml = file_get_contents(_path(PROJECT_PATH, 'xml', 'sig-4-0-questionnaire-definition.xml'));
     QuestionnaireModel::importXML($xml);
     InstanceModel::importXML($xml, 'Sample SIG Instance');
 }
 public function up()
 {
     $this->createTable('db_user', array('primary' => 'dbUserID'), array(array('dbUserID', 'integer'), array('dbUserName', 'string', array('limit' => 20)), array('dbUserPW', 'string', array('limit' => 50)), array('dbUserFullName', 'string', array('limit' => 50, 'null' => true)), array('dbUserActive', 'string', array('limit' => 1, 'default' => 'Y')), array('ACLstring', 'text', array('null' => true, 'limit' => '1M'))));
     $this->createIndex('db_user', array('dbUserName'));
     // reset db metadata cache
     QFrame_Db_Table::scanDb();
     // create some default data
     $admin = new DbUserModel(array('dbUserName' => 'admin', 'dbUserPW' => 'admin', 'dbUserFullName' => 'Administrator'));
     $admin->save();
     $user = new DbUserModel(array('dbUserName' => 'user', 'dbUserPW' => 'user', 'dbUserFullName' => 'User'));
     $user->save();
 }
 public function up()
 {
     $this->createTable('role', array('primary' => 'roleID'), array(array('roleID', 'integer'), array('roleDescription', 'string', array('limit' => 128, 'null' => true)), array('ACLstring', 'text', array('null' => true, 'limit' => '1M'))));
     $this->createTable('assignment', array('primary' => 'assignmentID'), array(array('dbUserID', 'integer'), array('roleID', 'integer'), array('assignmentID', 'integer'), array('comments', 'text', array('null' => true))));
     $this->createIndex('assignment', array('dbUserID', 'roleID'));
     // reset db metadata cache
     QFrame_Db_Table::scanDb();
     // give the admin user full global rights
     $adminRole = RoleModel::create(array('roleDescription' => 'Administrators'));
     $adminRole->grant('view');
     $adminRole->grant('edit');
     $adminRole->grant('approve');
     $adminRole->grant('administer');
     $adminRole->save();
     DbUserModel::findByUsername('admin')->addRole($adminRole)->save();
 }
 public function up()
 {
     // add the column
     $this->addColumn('instance', 'hidden', 'boolean', array('default' => 0));
     // reset db metadata cache
     QFrame_Db_Table::scanDb();
     QFrame_Db_Table::resetAll();
     // make sure that existing questionnaires have a default instance (and create one if not)
     $this->auth();
     foreach (QuestionnaireModel::getAllQuestionnaires('instance') as $questionnaire) {
         $default = $questionnaire->getDefaultInstance();
         if ($default === null) {
             $xml = $questionnaire->fetchQuestionnaireDefinition();
             InstanceModel::importXML($xml, '_default_', array('hidden' => 1));
         }
     }
 }