true), array('menge, preis', 'numerical', "numberPattern"=>"/^\s*[-+]?[0-9]*(,|\.)?[0-9]+([eE][-+]?[0-9]+)?\s*$/"), array('einheit', 'length', 'max'=>20), // The following rule is used by search(). // Please remove those attributes that should not be searched. array('id, angebot_id, verein_id, menge, einheit, preis, published', 'safe', 'on'=>'search'), ); } public function afterFind() { parent::afterFind(); $this->preis = Format::decimal($this->preis, "00.00"); #$this->menge = Format::decimal($this->menge, "00.00"); } public function beforeSave() { $return = parent::beforeSave(); $this->preis = str_replace(",", ".", $this->preis); $this->menge = str_replace(",", ".", $this->menge); return $return; } /** * @return array relational rules. */ public function relations() { // NOTE: you may need to adjust the relation name and the related // class name for the relations automatically generated below. return array( 'angebot' => array(self::BELONGS_TO, 'Angebot', 'angebot_id'), 'verein' => array(self::BELONGS_TO, 'Verein', 'verein_id'), ); } /** * @return array customized attribute labels (name=>label) */ public function attributeLabels() { return array( 'id' => 'ID', 'angebot_id' => 'Angebot', 'verein_id' => 'Verein', 'menge' => 'Menge', 'einheit' => 'Einheit', 'preis' => 'Preis (in €)', 'published' => 'Öffentlich', ); } /** * Retrieves a list of models based on the current search/filter conditions. * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. */ public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria=new CDbCriteria; $criteria->compare('id',$this->id); $criteria->compare('angebot_id',$this->angebot_id); $criteria->compare('verein_id',$this->verein_id); $criteria->compare('menge',$this->menge); $criteria->compare('einheit',$this->einheit,true); $criteria->compare('preis',$this->preis); $criteria->compare('published',$this->published); return new CActiveDataProvider($this, array( 'criteria'=>$criteria, )); } public function behaviors() { return array( 'LoggableBehavior'=>'application.modules.auditTrail.behaviors.LoggableBehavior', ); } }