diff --git a/indefero/src/IDF/Form/ProjectRequest.php b/indefero/src/IDF/Form/ProjectRequest.php index a84a0d2..f7fbfb2 100644 --- a/indefero/src/IDF/Form/ProjectRequest.php +++ b/indefero/src/IDF/Form/ProjectRequest.php @@ -43,14 +43,9 @@ class IDF_Form_ProjectRequest extends Pluf_Form $this->user = $extra['user']; } - - function save($commit=true) + public function clean_shortname() { - if (!$this->isValid()) { - throw new Exception(__('Cannot save the model from an invalid form.')); - } - - $shortname = $this->cleaned_data['shortname']; + $shortname = mb_strtolower($this->cleaned_data['shortname']); if (preg_match('/[^\-A-Za-z0-9]/', $shortname)) { throw new Pluf_Form_Invalid(__('This shortname contains illegal characters, please use only letters, digits and dash (-).')); } @@ -61,6 +56,16 @@ class IDF_Form_ProjectRequest extends Pluf_Form throw new Pluf_Form_Invalid(__('The shortname cannot end with the dash (-) character.')); } + return trim($shortname); + } + + + function save($commit=true) + { + if (!$this->isValid()) { + throw new Exception(__('Cannot save the model from an invalid form.')); + } + $checksql = new Pluf_SQL(sprintf("shortname='%s'", $this->cleaned_data['shortname'])); $requestcheck = Pluf::factory("IDF_Project")->getCount(array('filter'=>$checksql->gen())); if ($requestcheck == 1) @@ -70,7 +75,7 @@ class IDF_Form_ProjectRequest extends Pluf_Form $request = new IDF_ProjectRequest(); // The trim really isn't needed - but does ensure that no whitespace will end up in the name - $request->shortname = trim($shortname); + $request->shortname = $this->cleaned_data['shortname']; $request->repotype = $this->cleaned_data['repotype']; $request->desc = $this->cleaned_data['desc']; $request->submitter = $this->user;