| ␊ | 
| $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'] == '--') {␊ |