diff options
Diffstat (limited to 'protected/models/Veranstaltung.php')
| -rw-r--r-- | protected/models/Veranstaltung.php | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/protected/models/Veranstaltung.php b/protected/models/Veranstaltung.php new file mode 100644 index 0000000..64c7854 --- /dev/null +++ b/protected/models/Veranstaltung.php @@ -0,0 +1,130 @@ +<?php + +/** + * This is the model class for table "termin". + * + * The followings are the available columns in table 'termin': + * @property integer $id + * @property integer $verein_id + * @property string $titel + * @property string $startzeit + * @property string $endzeit + * @property string $beschreibung + * @property integer $standort_id + * @property integer $published + * + * The followings are the available model relations: + * @property Standort $standort + * @property Verein $verein + */ +class Veranstaltung extends CActiveRecord +{ + /** + * Returns the static model of the specified AR class. + * @param string $className active record class name. + * @return Veranstaltung the static model class + */ + public static function model($className=__CLASS__) + { + return parent::model($className); + } + + /** + * @return string the associated database table name + */ + public function tableName() + { + return 'veranstaltungen'; + } + + /** + * @return array validation rules for model attributes. + */ + public function rules() + { + // NOTE: you should only define rules for those attributes that + // will receive user inputs. + return array( + array('verein_id, standort_id, titel, startzeit, endzeit', 'required'), + array('verein_id, standort_id, published', 'numerical', 'integerOnly'=>true), + array('titel', 'length', 'max'=>100), + array('startzeit, endzeit, beschreibung', 'safe'), + array('startzeit, endzeit', 'date', 'format'=>'dd.MM.yyyy HH:mm'), + array('startzeit, endzeit', 'DateRangeValidator', 'minDate'=>Yii::app()->params['start_date'].' '.Yii::app()->params['start_time'], 'maxDate'=>Yii::app()->params['end_date'].' '.Yii::app()->params['end_time']), + array('startzeit', 'DateCompareValidator', 'compareAttribute'=>'endzeit', 'operator'=>'<'), + // The following rule is used by search(). + // Please remove those attributes that should not be searched. + array('id, verein_id, titel, startzeit, endzeit, beschreibung, standort_id, published', 'safe', 'on'=>'search'), + ); + } + + /** + * @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( + 'standort' => array(self::BELONGS_TO, 'Standort', 'standort_id'), + 'verein' => array(self::BELONGS_TO, 'Verein', 'verein_id'), + ); + } + + /** + * @return array customized attribute labels (name=>label) + */ + public function attributeLabels() + { + return array( + 'id' => 'ID', + 'verein_id' => 'Verein', + 'titel' => 'Titel', + 'startzeit' => 'Startzeit', + 'endzeit' => 'Endzeit', + 'beschreibung' => 'Beschreibung', + 'standort_id' => 'Standort', + '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('verein_id',$this->verein_id); + $criteria->compare('titel',$this->titel,true); + $criteria->compare('startzeit',$this->startzeit,true); + $criteria->compare('endzeit',$this->endzeit,true); + $criteria->compare('beschreibung',$this->beschreibung,true); + $criteria->compare('standort_id',$this->standort_id); + $criteria->compare('published',$this->published); + + return new CActiveDataProvider($this, array( + 'criteria'=>$criteria, + )); + } + + public function beforeSave() { + $isValid = parent::beforeSave(); + if ($isValid) { + $this->startzeit = Format::dbDateTime($this->startzeit); + $this->endzeit = Format::dbDateTime($this->endzeit); + } + return $isValid; + } + + public function behaviors() { + return array( + 'LoggableBehavior'=>'application.modules.auditTrail.behaviors.LoggableBehavior', + ); + } +}
\ No newline at end of file |
