コード例 #1
0
ファイル: team.class.php プロジェクト: fg-ok/codev
 /**
  * @param string $projectName
  * @return int $projectId
  */
 public function createSideTaskProject($projectName)
 {
     $sideTaskProjectType = Project::type_sideTaskProject;
     $projectid = Project::createSideTaskProject($projectName);
     if (-1 != $projectid) {
         // add new SideTaskProj to the team
         $query = "INSERT INTO `codev_team_project_table` (`project_id`, `team_id`, `type`) " . "VALUES ('{$projectid}','{$this->id}','{$sideTaskProjectType}');";
         $result = SqlWrapper::getInstance()->sql_query($query);
         if (!$result) {
             echo "<span style='color:red'>ERROR: Query FAILED</span>";
             exit;
         }
     } else {
         self::$logger->error("team {$this->name} createSideTaskProject !!!");
         echo "<span style='color:red'>ERROR: team {$this->name} createSideTaskProject !!!</span>";
         exit;
     }
     // assign SideTaskProject specific Job
     #REM: 'N/A' job_id = 1, created by SQL file
     Jobs::addJobProjectAssociation($projectid, Jobs::JOB_NA);
     return $projectid;
 }
コード例 #2
0
ファイル: project.class.php プロジェクト: dfuzeau/codev
 /**
  * Create project, categories & assign N/A job
  * @static
  * @param $projectName
  * @return int|string
  */
 public static function createExternalTasksProject($projectName, $projectDesc)
 {
     // check if name exists
     $query = "SELECT id FROM `mantis_project_table` WHERE name='{$projectName}'";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     $projectid = 0 != SqlWrapper::getInstance()->sql_num_rows($result) ? SqlWrapper::getInstance()->sql_result($result, 0) : -1;
     if (-1 != $projectid) {
         self::$logger->error("createExternalTasksProject({$projectName}): Project name already exist");
         return $projectid;
     }
     // create new Project
     $query = "INSERT INTO `mantis_project_table` (`name`, `status`, `enabled`, `view_state`, `access_min`, `description`, `category_id`, `inherit_global`) " . "VALUES ('{$projectName}',50,1,50,10,'{$projectDesc}',1,1);";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     $projectid = SqlWrapper::getInstance()->sql_insert_id();
     // when creating an new issue, the status is set to 'closed' (External Tasks have no workflow...)
     #REM first call to this function is in install step1, and $statusNames is set in step2. '90' is mantis default value for 'closed'
     $statusNames = NULL;
     # Constants::$statusNames;
     $status_closed = NULL != $statusNames ? array_search('closed', $statusNames) : 90;
     $query = "INSERT INTO `mantis_config_table` (`config_id`,`project_id`,`user_id`,`access_reqd`,`type`,`value`) " . "VALUES ('bug_submit_status', {$projectid}, 0, 90, 1, '{$status_closed}');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     // Status to set auto-assigned issues to 'closed'
     $query = "INSERT INTO `mantis_config_table` (`config_id`,`project_id`,`user_id`,`access_reqd`,`type`,`value`) " . "VALUES ('bug_assigned_status', {$projectid}, 0, 90, 1, '{$status_closed}');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     // create leave category
     $query = "INSERT INTO `mantis_category_table`  (`project_id`, `user_id`, `name`, `status`) " . "VALUES ('{$projectid}','0','Leave', '0');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     $catLeaveId = SqlWrapper::getInstance()->sql_insert_id();
     // create otherInternal category
     $query = "INSERT INTO `mantis_category_table`  (`project_id`, `user_id`, `name`, `status`) " . "VALUES ('{$projectid}','0','Other activity', '0');";
     $result = SqlWrapper::getInstance()->sql_query($query);
     if (!$result) {
         echo "<span style='color:red'>ERROR: Query FAILED</span>";
         exit;
     }
     $catOtherInternalId = SqlWrapper::getInstance()->sql_insert_id();
     // --- update ExternalTasksProject in codev_config_table
     Config::getInstance()->setValue(Config::id_externalTasksProject, $projectid, Config::configType_int, $projectDesc);
     Config::getInstance()->setValue(Config::id_externalTasksCat_leave, $catLeaveId, Config::configType_int);
     Config::getInstance()->setValue(Config::id_externalTasksCat_otherInternal, $catOtherInternalId, Config::configType_int);
     // --- assign ExternalTasksProject specific Job
     #REM: 'N/A' job_id = 1, created by SQL file
     Jobs::addJobProjectAssociation($projectid, Jobs::JOB_NA);
     return $projectid;
 }