{␊ |
$this->project = $extra['project'];␊ |
$members = $this->project->getMembershipData('string');␊ |
$conf = $this->project->getConf();␊ |
␊ |
$this->fields['name'] = new Pluf_Form_Field_Varchar(␊ |
array('required' => true,␊ |
'label' => __('Name'),␊ |
|
␊ |
$this->fields['shortdesc'] = new Pluf_Form_Field_Varchar(␊ |
array('required' => true,␊ |
'label' => __('short description'),␊ |
'label' => __('Short description'),␊ |
'help_text' => __('A one line description of the project.'),␊ |
'initial' => $this->project->shortdesc,␊ |
'widget_attrs' => array('size' => '35'),␊ |
));␊ |
␊ |
if ($this->project->getConf()->getVal('scm') == 'mtn') {␊ |
$this->fields['mtn_master_branch'] = new Pluf_Form_Field_Varchar(␊ |
array('required' => false,␊ |
'label' => __('Master branch'),␊ |
'initial' => $conf->getVal('mtn_master_branch'),␊ |
'widget_attrs' => array('size' => '35'),␊ |
'help_text' => __('This should be a world-wide unique identifier for your project. A reverse DNS notation like "com.my-domain.my-project" is a good idea.'),␊ |
));␊ |
}␊ |
␊ |
$this->fields['owners'] = new Pluf_Form_Field_Varchar(␊ |
array('required' => false,␊ |
'label' => __('Project owners'),␊ |
|
));␊ |
}␊ |
␊ |
public function clean_mtn_master_branch()␊ |
{␊ |
$mtn_master_branch = mb_strtolower($this->cleaned_data['mtn_master_branch']);␊ |
if (!preg_match('/^([\w\d]+([-][\w\d]+)*)(\.[\w\d]+([-][\w\d]+)*)*$/',␊ |
$mtn_master_branch)) {␊ |
throw new Pluf_Form_Invalid(__(␊ |
'The master branch is empty or contains illegal characters, '.␊ |
'please use only letters, digits, dashs and dots as separators.'␊ |
));␊ |
}␊ |
␊ |
$sql = new Pluf_SQL('vkey=%s AND vdesc=%s AND project!=%s',␊ |
array('mtn_master_branch', $mtn_master_branch,␊ |
(string)$this->project->id));␊ |
$l = Pluf::factory('IDF_Conf')->getList(array('filter'=>$sql->gen()));␊ |
if ($l->count() > 0) {␊ |
throw new Pluf_Form_Invalid(__(␊ |
'This master branch is already used. Please select another one.'␊ |
));␊ |
}␊ |
␊ |
return $mtn_master_branch;␊ |
}␊ |
␊ |
public function clean_owners()␊ |
{␊ |
return IDF_Form_MembersConf::checkBadLogins($this->cleaned_data['owners']);␊ |
|
if (!$this->isValid()) {␊ |
throw new Exception(__('Cannot save the model from an invalid form.'));␊ |
}␊ |
IDF_Form_MembersConf::updateMemberships($this->project, ␊ |
IDF_Form_MembersConf::updateMemberships($this->project,␊ |
$this->cleaned_data);␊ |
$this->project->membershipsUpdated();␊ |
$this->project->name = $this->cleaned_data['name'];␊ |
$this->project->shortdesc = $this->cleaned_data['shortdesc'];␊ |
$this->project->update();␊ |
␊ |
$keys = array('mtn_master_branch');␊ |
foreach ($keys as $key) {␊ |
if (!empty($this->cleaned_data[$key])) {␊ |
$this->project->getConf()->setVal($key, $this->cleaned_data[$key]);␊ |
}␊ |
}␊ |
}␊ |
}␊ |
␊ |