␊ |
$conf = new IDF_Conf();␊ |
$conf->setProject($project);␊ |
$keys = array('scm', 'svn_remote_url', 'svn_username',␊ |
'svn_password', 'mtn_master_branch', 'external_project_url');␊ |
foreach ($keys as $key) {␊ |
$this->cleaned_data[$key] = (!empty($this->cleaned_data[$key])) ?␊ |
$this->cleaned_data[$key] : '';␊ |
$conf->setVal($key, $this->cleaned_data[$key]);␊ |
}␊ |
␊ |
if ($this->cleaned_data['template'] != '--') {␊ |
$tmplconf = new IDF_Conf();␊ |
$tmplconf->setProject($tmpl);␊ |
// We need to get all the configuration variables we want from␊ |
// the old project and put them into the new project.␊ |
$props = array(␊ |
'labels_download_predefined' => IDF_Form_UploadConf::init_predefined,␊ |
'labels_download_one_max' => IDF_Form_UploadConf::init_one_max,␊ |
'labels_wiki_predefined' => IDF_Form_WikiConf::init_predefined,␊ |
'labels_wiki_one_max' => IDF_Form_WikiConf::init_one_max,␊ |
'labels_issue_template' => IDF_Form_IssueTrackingConf::init_template,␊ |
'labels_issue_open' => IDF_Form_IssueTrackingConf::init_open,␊ |
'labels_issue_closed' => IDF_Form_IssueTrackingConf::init_closed,␊ |
'labels_issue_predefined' => IDF_Form_IssueTrackingConf::init_predefined,␊ |
'labels_issue_one_max' => IDF_Form_IssueTrackingConf::init_one_max,␊ |
'issue_relations' => IDF_Form_IssueTrackingConf::init_relations,␊ |
'webhook_url' => '',␊ |
'downloads_access_rights' => 'all',␊ |
'review_access_rights' => 'all',␊ |
'wiki_access_rights' => 'all',␊ |
'source_access_rights' => 'all',␊ |
'issues_access_rights' => 'all',␊ |
'downloads_notification_email' => '',␊ |
'review_notification_email' => '',␊ |
'wiki_notification_email' => '',␊ |
'source_notification_email' => '',␊ |
'issues_notification_email' => '',␊ |
);␊ |
foreach ($props as $prop => $def) {␊ |
$conf->setVal($prop, $tmplconf->getVal($prop, $def));␊ |
␊ |
$allKeys = $tmplconf->getKeys();␊ |
$scm = $this->cleaned_data['scm'];␊ |
$ignoreKeys = array('scm', 'external_project_url', 'logo');␊ |
␊ |
// copy over all existing variables, except scm-related data and␊ |
// the project url / logo␊ |
foreach ($allKeys as $key) {␊ |
if (in_array($key, $ignoreKeys) || strpos($key, $scm.'_') === 0) {␊ |
continue;␊ |
}␊ |
$conf->setVal($key, $tmplconf->getVal($key));␊ |
}␊ |
}␊ |
␊ |
$keys = array(␊ |
'scm', 'svn_remote_url', 'svn_username',␊ |
'svn_password', 'mtn_master_branch',␊ |
'external_project_url'␊ |
);␊ |
foreach ($keys as $key) {␊ |
$this->cleaned_data[$key] = !empty($this->cleaned_data[$key]) ?␊ |
$this->cleaned_data[$key] : '';␊ |
$conf->setVal($key, $this->cleaned_data[$key]);␊ |
}␊ |
$project->created();␊ |
␊ |
if ($this->cleaned_data['template'] == '--') {␊ |