summaryrefslogtreecommitdiff
path: root/protected/models/Veranstaltung.php
diff options
context:
space:
mode:
Diffstat (limited to 'protected/models/Veranstaltung.php')
-rw-r--r--protected/models/Veranstaltung.php130
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