From 139dbc9cc21fb1d419c6ecc80380f723e613efbc Mon Sep 17 00:00:00 2001
From: Tristan Zur <tzur@ccwn.org>
Date: Sat, 28 Apr 2012 17:06:39 +0200
Subject: =?UTF-8?q?-=20AuditTrail=20Berechtigungen=20gesetzt=20(Nur=20Admi?=
 =?UTF-8?q?n)=20-=20Fehler=20in=20Extension=20"CJuiDateTimePicker"=20besei?=
 =?UTF-8?q?tigt=20-=20DateCompareValidator=20hinzugef=C3=BCgt=20-=20DateRa?=
 =?UTF-8?q?ngeValidator=20hinzugef=C3=BCgt=20-=20Datenbanktabellennamen=20?=
 =?UTF-8?q?ge=C3=A4ndert=20-=20Views=20f=C3=BCr=20die=20Veranstaltungen=20?=
 =?UTF-8?q?bearbeitet?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 protected/components/DateCompareValidator.php      |  57 +++
 protected/components/DateRangeValidator.php        |  32 ++
 protected/components/Format.php                    |  17 +
 protected/config/maincfg.php                       |  12 +-
 protected/controllers/MyvereinController.php       |   2 +-
 protected/controllers/VeranstaltungController.php  |   2 +
 protected/controllers/VereinController.php         |   4 +-
 .../CJuiDateTimePicker/CJuiDateTimePicker.php      |  22 +-
 protected/models/Angebot.php                       |   2 +-
 protected/models/Kategorie.php                     |   2 +-
 protected/models/LoginForm.php                     |   2 +-
 protected/models/Standort.php                      |   2 +-
 protected/models/User.php                          |   2 +-
 protected/models/Veranstaltung.php                 |  18 +-
 protected/models/Verein.php                        |   2 +-
 .../auditTrail/controllers/AdminController.php     |  27 ++
 .../auditTrail/controllers/DefaultController.php   |  27 ++
 .../m110517_155003_create_tables_audit_trail.php   |   6 +-
 protected/modules/auditTrail/views/admin/admin.php |  27 +-
 protected/runtime/application.log                  | 398 +++++++++++++++++++++
 protected/views/layouts/main.php                   |   2 +
 protected/views/myverein/view.php                  |   2 +-
 protected/views/veranstaltung/_form.php            |   8 +-
 protected/views/veranstaltung/index.php            |   4 +-
 protected/views/veranstaltung/view.php             |   8 +-
 protected/views/verein/_form.php                   |   2 +-
 protected/views/verein/create.php                  |   2 +-
 protected/views/verein/update.php                  |   2 +-
 28 files changed, 629 insertions(+), 64 deletions(-)
 create mode 100644 protected/components/DateCompareValidator.php
 create mode 100644 protected/components/DateRangeValidator.php

diff --git a/protected/components/DateCompareValidator.php b/protected/components/DateCompareValidator.php
new file mode 100644
index 0000000..c013382
--- /dev/null
+++ b/protected/components/DateCompareValidator.php
@@ -0,0 +1,57 @@
+<?php
+class DateCompareValidator extends CValidator {
+	/**
+	 * @var mixed the format pattern that the date value should follow.
+	 * This can be either a string or an array representing multiple formats.
+	 * Defaults to 'MM/dd/yyyy'. Please see {@link CDateTimeParser} for details
+	 * about how to specify a date format.
+	 */
+	public $format='MM/dd/yyyy';
+	/**
+	 * @var boolean whether the attribute value can be null or empty. Defaults to true,
+	 * meaning that if the attribute is empty, it is considered valid.
+	 */
+	public $allowEmpty=true;
+	/**
+	 * @var string the name of the attribute to receive the parsing result.
+	 * When this property is not null and the validation is successful, the named attribute will
+	 * receive the parsing result.
+	 */
+	public $timestampAttribute;
+	public $operator = '>';
+	public $compareAttribute;
+	public $compareValue;
+	
+	/**
+	 * Validates the attribute of the object.
+	 * If there is any error, the error message is added to the object.
+	 * @param CModel $object the object being validated
+	 * @param string $attribute the attribute being validated
+	 */
+	protected function validateAttribute($object, $attribute) {
+		if ((empty($this->compareAttribute) && empty($this->compareValue)) || empty($this->operator)) {
+			$this->addError($attribute, 'Invalid Parameters to dateCompare');
+		}
+		
+		$compareAttribute = $this->compareAttribute;
+		$this->compareValue = empty($compareAttribute) ? $this->compareValue : $object->$compareAttribute;;
+		
+		if ($this->allowEmpty && empty($this->compareValue)) {
+			return;
+		}
+
+		$start = CDateTimeParser::parse($object->$attribute, $this->format);
+
+		$end = CDateTimeParser::parse($this->compareValue, $this->format);
+
+		//a little php trick - safe than eval and easier than a big switch statement
+
+		if (version_compare($start, $end, $this->operator)) {
+			return;
+		} else {
+			$message = $this->message !== null ? $this->message : Yii::t('astaf', 'The value of {attribute} ({value}) is not {operator} {compareAttribute} ({compareValue}).');
+			$this->addError($object, $attribute, $message, array('{operator}'=>$this->operator, '{compareValue}'=>$this->compareValue, '{value}'=>$object->$attribute, '{compareAttribute}'=>($object->getAttributeLabel($this->compareAttribute))));
+		}
+
+	}
+}
\ No newline at end of file
diff --git a/protected/components/DateRangeValidator.php b/protected/components/DateRangeValidator.php
new file mode 100644
index 0000000..8b963a8
--- /dev/null
+++ b/protected/components/DateRangeValidator.php
@@ -0,0 +1,32 @@
+<?php
+class DateRangeValidator extends DateCompareValidator {
+	public $minDate;
+	public $maxDate;
+	
+	protected function validateAttribute($object, $attribute) {
+		$errors = null;
+		if ($object->hasErrors($attribute)) {
+			$errors = $object->getErrors($attribute);
+			$object->clearErrors($attribute);
+		}
+		$this->compareValue = $this->minDate;
+		$this->operator = '>';
+		parent::validateAttribute($object, $attribute);
+		$this->compareValue = $this->maxDate;
+		$this->operator = '<';
+		parent::validateAttribute($object, $attribute);
+		
+		$addRangeError = false;
+		if ($object->hasErrors($attribute)) {
+			$object->clearErrors($attribute);
+			$addRangeError = true;
+		}
+		if (!empty($errors)) {
+			$object->addErrors($errors);
+		}
+		if ($addRangeError) {
+			$message = $this->message !== null ? $this->message : Yii::t('astaf', 'The value of {attribute} ({value}) is not between {minDate} and {maxDate}.');
+			$this->addError($object, $attribute, $message, array('{operator}'=>$this->operator, '{minDate}'=>$this->minDate, '{value}'=>$object->$attribute, '{maxDate}'=>$this->maxDate));
+		}
+	}
+}
\ No newline at end of file
diff --git a/protected/components/Format.php b/protected/components/Format.php
index 129a292..1be259f 100644
--- a/protected/components/Format.php
+++ b/protected/components/Format.php
@@ -15,4 +15,21 @@ class Format {
 	public static function percentage($value) {
 		return Yii::app()->locale->numberFormatter->formatPercentage($value);
 	}
+	
+	public static function dbDateTime($value) {
+		return Yii::app()->dateFormatter->format('yyyy-MM-dd HH:mm', CDateTimeParser::parse($value, 'dd.MM.yyyy HH:mm'));
+	}
+	
+	public static function displayDateTime($value) {
+		$checkvalue = CDateTimeParser::parse($value, 'dd.MM.yyyy HH:mm');
+		if (!empty($checkvalue)) {
+			return $value;
+		}
+		$timestamp = CDateTimeParser::parse($value, 'yyyy-MM-dd HH:mm:ss');
+		Yii::trace('Input value: '.$value. ' -> output timestamp: '.$timestamp, 'ccwn.astaf.format');
+		if ($timestamp) {
+			return Yii::app()->dateFormatter->format('dd.MM.yyyy HH:mm', $timestamp);
+		}
+		return null;
+	}
 }
\ No newline at end of file
diff --git a/protected/config/maincfg.php b/protected/config/maincfg.php
index c1443ba..0195b09 100644
--- a/protected/config/maincfg.php
+++ b/protected/config/maincfg.php
@@ -7,7 +7,7 @@
 // CWebApplication properties can be configured here.
 return array(
 	'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
-	'name'=>'Altstadtfest Waiblingen - Vereinsadministration',
+	'name'=>'Vereinsadministration - Altstadtfest Waiblingen',
 
 	// preloading 'log' component
 	'preload'=>array('log'),
@@ -41,6 +41,9 @@ return array(
 			// enable cookie-based authentication
 			'allowAutoLogin'=>true,
 		),
+		'session'=>array(
+				'timeout'=>30,
+		),
 		// uncomment the following to enable URLs in path-format
 		
 		/*'urlManager'=>array(
@@ -74,12 +77,15 @@ return array(
 					'class'=>'CFileLogRoute',
 					'levels'=>'error, warning',
 				),
+				array(
+					'class'=>'CFileLogRoute',
+					'logFile'=>'debug.log',
+				),
 				// uncomment the following to show log messages on web pages
 				/*
 				array(
 					'class'=>'CWebLogRoute',
-				),
-				*/
+				),*/
 			),
 		),
 	),
diff --git a/protected/controllers/MyvereinController.php b/protected/controllers/MyvereinController.php
index cf241fd..fd7428d 100644
--- a/protected/controllers/MyvereinController.php
+++ b/protected/controllers/MyvereinController.php
@@ -44,7 +44,7 @@ class MyvereinController extends Controller
 	{
 		$id = Yii::app()->user->vereinId;
 		if (!$id && Yii::app()->user->isAdmin) {
-			$this->redirect(array("/verein/admin"));
+			$this->redirect(array("/verein/index"));
 		}
 		$this->render('view',array(
 			'model'=>$this->loadModel($id),
diff --git a/protected/controllers/VeranstaltungController.php b/protected/controllers/VeranstaltungController.php
index d4471b7..49ec10a 100644
--- a/protected/controllers/VeranstaltungController.php
+++ b/protected/controllers/VeranstaltungController.php
@@ -61,6 +61,7 @@ class VeranstaltungController extends Controller
 		if(isset($_POST['Veranstaltung']))
 		{
 			$model->attributes=$_POST['Veranstaltung'];
+			Yii::trace(print_r($model, true), "VERANSTALTUNG");
 			if($model->save())
 				$this->redirect(array('view','id'=>$model->id));
 		}
@@ -90,6 +91,7 @@ class VeranstaltungController extends Controller
 		if(isset($_POST['Veranstaltung']))
 		{
 			$model->attributes=$_POST['Veranstaltung'];
+			
 			if($model->save())
 				$this->redirect(array('view','id'=>$model->id));
 		}
diff --git a/protected/controllers/VereinController.php b/protected/controllers/VereinController.php
index 7648a3e..aa18245 100644
--- a/protected/controllers/VereinController.php
+++ b/protected/controllers/VereinController.php
@@ -92,9 +92,11 @@ class VereinController extends Controller
 		}
 
 		$standorte = Standort::model()->findAll(array("condition"=>"published=1 and type='Stand'"));
+		$slugs = User::model()->findAll();
 		$this->render('update',array(
 			'model'=>$model,
-			'standorte'=>$standorte
+			'standorte'=>$standorte,
+			'slugs'=>$slugs
 		));
 	}
 
diff --git a/protected/extensions/CJuiDateTimePicker/CJuiDateTimePicker.php b/protected/extensions/CJuiDateTimePicker/CJuiDateTimePicker.php
index 3a73cb6..8d5bdf4 100644
--- a/protected/extensions/CJuiDateTimePicker/CJuiDateTimePicker.php
+++ b/protected/extensions/CJuiDateTimePicker/CJuiDateTimePicker.php
@@ -3,15 +3,17 @@
  * CJuiDateTimePicker class file.
  *
  * @author Anatoly Ivanchin <van4in@gmail.com>
+ * @author Tristan Zur
  */
 
 Yii::import('zii.widgets.jui.CJuiDatePicker');
 class CJuiDateTimePicker extends CJuiDatePicker
 {
 	const ASSETS_NAME='/jquery-ui-timepicker-addon';
-	
+
 	public $mode='datetime';
-	
+	public $phpDateFormat = 'dd.MM.yyyy HH:mm';
+
 	public function init()
 	{
 		if(!in_array($this->mode, array('date','time','datetime')))
@@ -20,7 +22,7 @@ class CJuiDateTimePicker extends CJuiDatePicker
 			$this->language=Yii::app()->getLanguage();
 		return parent::init();
 	}
-	
+
 	public function run()
 	{
 		list($name,$id)=$this->resolveNameID();
@@ -34,10 +36,12 @@ class CJuiDateTimePicker extends CJuiDatePicker
 		else
 			$this->htmlOptions['name']=$name;
 
-		if($this->hasModel())
-			echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
-		else
-			echo CHtml::textField($name,$this->value,$this->htmlOptions);
+		if($this->hasModel()) {
+			// Add support for model attribute and date time formatting
+			$this->value = CHtml::resolveValue($this->model, $this->attribute);
+			$this->value = Format::displayDateTime($this->value);
+		}
+		echo CHtml::textField($name,$this->value,$this->htmlOptions);
 
 
 		$options=CJavaScript::encode($this->options);
@@ -50,11 +54,11 @@ class CJuiDateTimePicker extends CJuiDatePicker
 		}
 
 		$cs = Yii::app()->getClientScript();
-		
+
 		$assets = Yii::app()->getAssetManager()->publish(dirname(__FILE__).DIRECTORY_SEPARATOR.'assets');
 		$cs->registerCssFile($assets.self::ASSETS_NAME.'.css');
 		$cs->registerScriptFile($assets.self::ASSETS_NAME.'.js',CClientScript::POS_END);
-		
+
 		$cs->registerScript(__CLASS__, 	$this->defaultOptions?'jQuery.{$this->mode}picker.setDefaults('.CJavaScript::encode($this->defaultOptions).');':'');
 		$cs->registerScript(__CLASS__.'#'.$id, $js);
 
diff --git a/protected/models/Angebot.php b/protected/models/Angebot.php
index 8a16fd8..d6ae02a 100644
--- a/protected/models/Angebot.php
+++ b/protected/models/Angebot.php
@@ -27,7 +27,7 @@ class Angebot extends CActiveRecord
 	 */
 	public function tableName()
 	{
-		return 'angebot';
+		return 'angebote';
 	}
 
 	/**
diff --git a/protected/models/Kategorie.php b/protected/models/Kategorie.php
index a9d8db6..93c799d 100644
--- a/protected/models/Kategorie.php
+++ b/protected/models/Kategorie.php
@@ -28,7 +28,7 @@ class Kategorie extends CActiveRecord
 	 */
 	public function tableName()
 	{
-		return 'kategorie';
+		return 'kategorien';
 	}
 
 	/**
diff --git a/protected/models/LoginForm.php b/protected/models/LoginForm.php
index eb36e4a..3904698 100644
--- a/protected/models/LoginForm.php
+++ b/protected/models/LoginForm.php
@@ -67,7 +67,7 @@ class LoginForm extends CFormModel
 		}
 		if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
 		{
-			$duration=$this->rememberMe ? 3600*24*30 : 0; // 30 days
+			$duration=$this->rememberMe ? 3600*24*1 : 0; // 1 days
 			Yii::app()->user->login($this->_identity,$duration);
 			return true;
 		}
diff --git a/protected/models/Standort.php b/protected/models/Standort.php
index 8d71707..f64ea51 100644
--- a/protected/models/Standort.php
+++ b/protected/models/Standort.php
@@ -33,7 +33,7 @@ class Standort extends CActiveRecord
 	 */
 	public function tableName()
 	{
-		return 'standort';
+		return 'standorte';
 	}
 
 	/**
diff --git a/protected/models/User.php b/protected/models/User.php
index f3a2163..b6a1609 100644
--- a/protected/models/User.php
+++ b/protected/models/User.php
@@ -31,7 +31,7 @@ class User extends CActiveRecord
 	 */
 	public function tableName()
 	{
-		return 'astaf_user';
+		return 'benutzer';
 	}
 
 	/**
diff --git a/protected/models/Veranstaltung.php b/protected/models/Veranstaltung.php
index fedd79f..64c7854 100644
--- a/protected/models/Veranstaltung.php
+++ b/protected/models/Veranstaltung.php
@@ -34,7 +34,7 @@ class Veranstaltung extends CActiveRecord
 	 */
 	public function tableName()
 	{
-		return 'termin';
+		return 'veranstaltungen';
 	}
 
 	/**
@@ -45,10 +45,13 @@ class Veranstaltung extends CActiveRecord
 		// 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('verein_id, standort_id, titel, startzeit, endzeit', 'required'),
+			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'),
@@ -81,7 +84,7 @@ class Veranstaltung extends CActiveRecord
 			'endzeit' => 'Endzeit',
 			'beschreibung' => 'Beschreibung',
 			'standort_id' => 'Standort',
-			'published' => 'Published',
+			'published' => 'Öffentlich',
 		);
 	}
 
@@ -110,6 +113,15 @@ class Veranstaltung extends CActiveRecord
 		));
 	}
 	
+	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',
diff --git a/protected/models/Verein.php b/protected/models/Verein.php
index c40404c..83fc21f 100644
--- a/protected/models/Verein.php
+++ b/protected/models/Verein.php
@@ -33,7 +33,7 @@ class Verein extends CActiveRecord
 	 */
 	public function tableName()
 	{
-		return 'verein';
+		return 'vereine';
 	}
 
 	/**
diff --git a/protected/modules/auditTrail/controllers/AdminController.php b/protected/modules/auditTrail/controllers/AdminController.php
index 12d9841..f03b373 100644
--- a/protected/modules/auditTrail/controllers/AdminController.php
+++ b/protected/modules/auditTrail/controllers/AdminController.php
@@ -5,6 +5,33 @@ class AdminController extends Controller
 	public $defaultAction = "admin";
 	public $layout='//layouts/column1';
 
+	/**
+	 * @return array action filters
+	 */
+	public function filters()
+	{
+		return array(
+			'accessControl', // perform access control for CRUD operations
+		);
+	}
+
+	/**
+	 * Specifies the access control rules.
+	 * This method is used by the 'accessControl' filter.
+	 * @return array access control rules
+	 */
+	public function accessRules()
+	{
+		return array(
+			array('allow', // allow admin user to perform actions
+				'users'=>array('admin'),
+			),
+			array('deny',  // deny all users
+				'users'=>array('*'),
+			),
+		);
+	}
+
 	public function actionAdmin()
 	{
 		$model=new AuditTrail('search');
diff --git a/protected/modules/auditTrail/controllers/DefaultController.php b/protected/modules/auditTrail/controllers/DefaultController.php
index 957551e..76da57d 100644
--- a/protected/modules/auditTrail/controllers/DefaultController.php
+++ b/protected/modules/auditTrail/controllers/DefaultController.php
@@ -2,6 +2,33 @@
 
 class DefaultController extends Controller
 {
+
+	/**
+	 * @return array action filters
+	 */
+	public function filters()
+	{
+		return array(
+			'accessControl', // perform access control for CRUD operations
+		);
+	}
+
+	/**
+	 * Specifies the access control rules.
+	 * This method is used by the 'accessControl' filter.
+	 * @return array access control rules
+	 */
+	public function accessRules()
+	{
+		return array(
+			array('allow', // allow admin user to perform actions
+				'users'=>array('admin'),
+			),
+			array('deny',  // deny all users
+				'users'=>array('*'),
+			),
+		);
+	}
 	public function actionIndex()
 	{
 		$this->render('index');
diff --git a/protected/modules/auditTrail/migrations/m110517_155003_create_tables_audit_trail.php b/protected/modules/auditTrail/migrations/m110517_155003_create_tables_audit_trail.php
index e4a2428..48e94cd 100644
--- a/protected/modules/auditTrail/migrations/m110517_155003_create_tables_audit_trail.php
+++ b/protected/modules/auditTrail/migrations/m110517_155003_create_tables_audit_trail.php
@@ -17,8 +17,8 @@ class m110517_155003_create_tables_audit_trail extends CDbMigration
 		$this->createTable( 'tbl_audit_trail',
 			array(
 				'id' => 'pk',
-				'old_value' => 'string',
-				'new_value' => 'string',
+				'old_value' => 'text',
+				'new_value' => 'text',
 				'action' => 'string NOT NULL',
 				'model' => 'string NOT NULL',
 				'field' => 'string NOT NULL',
@@ -33,8 +33,6 @@ class m110517_155003_create_tables_audit_trail extends CDbMigration
 		$this->createIndex( 'idx_audit_trail_model_id', 'tbl_audit_trail', 'model_id');
 		$this->createIndex( 'idx_audit_trail_model', 'tbl_audit_trail', 'model');
 		$this->createIndex( 'idx_audit_trail_field', 'tbl_audit_trail', 'field');
-		$this->createIndex( 'idx_audit_trail_old_value', 'tbl_audit_trail', 'old_value');
-		$this->createIndex( 'idx_audit_trail_new_value', 'tbl_audit_trail', 'new_value');
 		$this->createIndex( 'idx_audit_trail_action', 'tbl_audit_trail', 'action');
 	}
 
diff --git a/protected/modules/auditTrail/views/admin/admin.php b/protected/modules/auditTrail/views/admin/admin.php
index 2536b1a..b34a861 100644
--- a/protected/modules/auditTrail/views/admin/admin.php
+++ b/protected/modules/auditTrail/views/admin/admin.php
@@ -1,7 +1,6 @@
 <?php
 $this->breadcrumbs=array(
-	'Audit Trails'=>array('/auditTrail'),
-	'Manage',
+	'Audit Trails',
 );
 /*
 $this->menu=array(
@@ -9,33 +8,15 @@ $this->menu=array(
 	array('label'=>'Create AuditTrail', 'url'=>array('create')),
 );
 */
-Yii::app()->clientScript->registerScript('search', "
-$('.search-button').click(function(){
-	$('.search-form').toggle();
-	return false;
-});
-$('.search-form form').submit(function(){
-	$.fn.yiiGridView.update('audit-trail-grid', {
-		data: $(this).serialize()
-	});
-	return false;
-});
-");
 ?>
 
-<h1>Manage Audit Trails</h1>
+<h1>Audit Trails</h1>
 
-<p>
-You may optionally enter a comparison operator (<b>&lt;</b>, <b>&lt;=</b>, <b>&gt;</b>, <b>&gt;=</b>, <b>&lt;&gt;</b>
-or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done.
-</p>
+<?php $this->renderPartial('//common/_comparison_text'); ?>
 
-<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
-<div class="search-form" style="display:none">
-<?php $this->renderPartial('_search',array(
+<?php $this->renderPartial('//common/_advanced_search',array(
 	'model'=>$model,
 )); ?>
-</div><!-- search-form -->
 
 <?php $this->widget('zii.widgets.grid.CGridView', array(
 	'id'=>'audit-trail-grid',
diff --git a/protected/runtime/application.log b/protected/runtime/application.log
index ba3b632..21df9c0 100644
--- a/protected/runtime/application.log
+++ b/protected/runtime/application.log
@@ -4508,3 +4508,401 @@ Stack trace:
 REQUEST_URI=/admin.astaf.de/index.php?r=auditTrail/admin
 HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=auditTrail
 ---
+2012/04/28 13:46:28 [error] [exception.CException] exception 'CException' with message 'AdminController kann den angeforderten View "/common/_comparison_text" nicht finden.' in D:\Projects\Astaf\workspace\yii\framework\web\CController.php:879
+Stack trace:
+#0 D:\Projects\Astaf\workspace\admin.astaf.de\protected\modules\auditTrail\views\admin\admin.php(15): CController->renderPartial('/common/_compar...')
+#1 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(127): require('D:\Projects\Ast...')
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(96): CBaseController->renderInternal('D:\Projects\Ast...', Array, true)
+#3 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): CBaseController->renderFile('D:\Projects\Ast...', Array, true)
+#4 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(783): CController->renderPartial('admin', Array, true)
+#5 D:\Projects\Astaf\workspace\admin.astaf.de\protected\modules\auditTrail\controllers\AdminController.php(17): CController->render('admin', Array)
+#6 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(50): AdminController->actionAdmin()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams(Array)
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(287): CController->runAction(Object(CInlineAction))
+#9 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#10 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('')
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('auditTrail/admi...')
+#12 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#13 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#14 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=auditTrail/admin
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=auditTrail/admin
+---
+2012/04/28 13:46:44 [error] [exception.CException] exception 'CException' with message 'AdminController kann den angeforderten View "/common/_comparison_text" nicht finden.' in D:\Projects\Astaf\workspace\yii\framework\web\CController.php:879
+Stack trace:
+#0 D:\Projects\Astaf\workspace\admin.astaf.de\protected\modules\auditTrail\views\admin\admin.php(15): CController->renderPartial('/common/_compar...')
+#1 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(127): require('D:\Projects\Ast...')
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(96): CBaseController->renderInternal('D:\Projects\Ast...', Array, true)
+#3 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): CBaseController->renderFile('D:\Projects\Ast...', Array, true)
+#4 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(783): CController->renderPartial('admin', Array, true)
+#5 D:\Projects\Astaf\workspace\admin.astaf.de\protected\modules\auditTrail\controllers\AdminController.php(17): CController->render('admin', Array)
+#6 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(50): AdminController->actionAdmin()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams(Array)
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(287): CController->runAction(Object(CInlineAction))
+#9 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#10 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('')
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('auditTrail/admi...')
+#12 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#13 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#14 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=auditTrail/admin
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=auditTrail/admin
+---
+2012/04/28 13:48:03 [error] [exception.CHttpException.403] exception 'CHttpException' with message 'You are not authorized to perform this action.' in D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php:157
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php(120): CAccessControlFilter->accessDenied(Object(CWebUser), 'You are not aut...')
+#1 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(39): CAccessControlFilter->preFilter(Object(CFilterChain))
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain))
+#3 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
+#4 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('')
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('auditTrail/admi...')
+#9 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#10 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#11 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=auditTrail/admin
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=auditTrail/admin
+---
+2012/04/28 13:48:11 [error] [exception.CHttpException.403] exception 'CHttpException' with message 'You are not authorized to perform this action.' in D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php:157
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php(120): CAccessControlFilter->accessDenied(Object(CWebUser), 'You are not aut...')
+#1 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(39): CAccessControlFilter->preFilter(Object(CFilterChain))
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain))
+#3 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
+#4 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('')
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('auditTrail/admi...')
+#9 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#10 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#11 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=auditTrail/admin
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=auditTrail/admin
+---
+2012/04/28 13:48:35 [error] [php] Trying to get property of non-object (D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\myverein\view.php:23)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): MyvereinController->renderFile()
+#1 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(783): MyvereinController->renderPartial()
+#2 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\MyvereinController.php(51): MyvereinController->render()
+#3 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\MyvereinController.php(94): MyvereinController->actionView()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(50): MyvereinController->actionIndex()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): MyvereinController->runAction()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#9 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): MyvereinController->filterAccessControl()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#12 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): MyvereinController->runActionWithFilters()
+#13 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): MyvereinController->run()
+#14 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#15 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#16 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=myverein
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\myverein\view.php (23)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\MyvereinController.php (51)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\MyvereinController.php (94)
+2012/04/28 14:33:56 [error] [exception.CHttpException.403] exception 'CHttpException' with message 'You are not authorized to perform this action.' in D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php:157
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php(120): CAccessControlFilter->accessDenied(Object(CWebUser), 'You are not aut...')
+#1 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(39): CAccessControlFilter->preFilter(Object(CFilterChain))
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain))
+#3 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
+#4 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('')
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('auditTrail/admi...')
+#9 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#10 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#11 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=auditTrail/admin
+---
+2012/04/28 14:34:36 [error] [exception.CHttpException.403] exception 'CHttpException' with message 'You are not authorized to perform this action.' in D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php:157
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\auth\CAccessControlFilter.php(120): CAccessControlFilter->accessDenied(Object(CWebUser), 'You are not aut...')
+#1 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(39): CAccessControlFilter->preFilter(Object(CFilterChain))
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain))
+#3 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
+#4 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('')
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('auditTrail')
+#9 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#10 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#11 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=auditTrail
+---
+2012/04/28 14:37:36 [error] [exception.CHttpException.404] exception 'CHttpException' with message 'The system is unable to find the requested action "admin".' in D:\Projects\Astaf\workspace\yii\framework\web\CController.php:484
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(271): CController->missingAction('admin')
+#1 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('admin')
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('verein/admin')
+#3 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#4 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#5 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=verein/admin
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=site/login
+---
+2012/04/28 15:12:20 [error] [php] preg_match() expects at least 2 parameters, 1 given (D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php:94)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs()
+#1 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CInlineAction->runWithParamsInternal()
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#3 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): VeranstaltungController->runAction()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): VeranstaltungController->filterAccessControl()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#9 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): VeranstaltungController->runActionWithFilters()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): VeranstaltungController->run()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#12 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#13 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=1
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php (94)
+in D:\Projects\Astaf\workspace\admin.astaf.de\index.php (13)
+2012/04/28 15:25:54 [error] [php] Undefined variable: model (D:\Projects\Astaf\workspace\admin.astaf.de\protected\models\Veranstaltung.php:117)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(95): Veranstaltung->save()
+#1 unknown(0): VeranstaltungController->actionUpdate()
+#2 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs()
+#3 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CInlineAction->runWithParamsInternal()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): VeranstaltungController->runAction()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#8 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): VeranstaltungController->filterAccessControl()
+#9 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): VeranstaltungController->runActionWithFilters()
+#12 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): VeranstaltungController->run()
+#13 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#14 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#15 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=3
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\models\Veranstaltung.php (117)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php (95)
+in D:\Projects\Astaf\workspace\admin.astaf.de\index.php (13)
+2012/04/28 15:37:48 [error] [php] Trying to get property of non-object (D:\Projects\Astaf\workspace\admin.astaf.de\protected\extensions\CJuiDateTimePicker\CJuiDateTimePicker.php:39)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(127): require()
+#1 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(96): VeranstaltungController->renderInternal()
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): VeranstaltungController->renderFile()
+#3 D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\update.php(18): VeranstaltungController->renderPartial()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(127): require()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(96): VeranstaltungController->renderInternal()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): VeranstaltungController->renderFile()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(783): VeranstaltungController->renderPartial()
+#8 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(106): VeranstaltungController->render()
+#9 unknown(0): VeranstaltungController->actionUpdate()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CInlineAction->runWithParamsInternal()
+#12 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#13 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): VeranstaltungController->runAction()
+#14 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#15 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#16 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): VeranstaltungController->filterAccessControl()
+#17 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#18 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#19 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): VeranstaltungController->runActionWithFilters()
+#20 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): VeranstaltungController->run()
+#21 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#22 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#23 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=3
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\extensions\CJuiDateTimePicker\CJuiDateTimePicker.php (39)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\_form.php (40)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\update.php (18)
+2012/04/28 15:37:59 [error] [php] Undefined index: dateTime (D:\Projects\Astaf\workspace\admin.astaf.de\protected\extensions\CJuiDateTimePicker\CJuiDateTimePicker.php:39)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(127): require()
+#1 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(96): VeranstaltungController->renderInternal()
+#2 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): VeranstaltungController->renderFile()
+#3 D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\update.php(18): VeranstaltungController->renderPartial()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(127): require()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(96): VeranstaltungController->renderInternal()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): VeranstaltungController->renderFile()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(783): VeranstaltungController->renderPartial()
+#8 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(106): VeranstaltungController->render()
+#9 unknown(0): VeranstaltungController->actionUpdate()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CInlineAction->runWithParamsInternal()
+#12 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#13 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): VeranstaltungController->runAction()
+#14 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#15 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#16 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): VeranstaltungController->filterAccessControl()
+#17 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#18 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#19 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): VeranstaltungController->runActionWithFilters()
+#20 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): VeranstaltungController->run()
+#21 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#22 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#23 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=3
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\extensions\CJuiDateTimePicker\CJuiDateTimePicker.php (39)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\_form.php (40)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\update.php (18)
+2012/04/28 15:44:33 [error] [php] A non well formed numeric value encountered (D:\Projects\Astaf\workspace\yii\framework\utils\CFormatter.php:180)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\zii\widgets\CDetailView.php(214): CFormatter->format()
+#1 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(174): CDetailView->run()
+#2 D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\view.php(28): VeranstaltungController->widget()
+#3 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(127): require()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\CBaseController.php(96): VeranstaltungController->renderInternal()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(870): VeranstaltungController->renderFile()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(783): VeranstaltungController->renderPartial()
+#7 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(47): VeranstaltungController->render()
+#8 unknown(0): VeranstaltungController->actionView()
+#9 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CInlineAction->runWithParamsInternal()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#12 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): VeranstaltungController->runAction()
+#13 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#14 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#15 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): VeranstaltungController->filterAccessControl()
+#16 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#17 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#18 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): VeranstaltungController->runActionWithFilters()
+#19 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): VeranstaltungController->run()
+#20 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#21 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#22 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/view&id=3
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\views\veranstaltung\view.php (28)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php (47)
+in D:\Projects\Astaf\workspace\admin.astaf.de\index.php (13)
+2012/04/28 16:18:58 [error] [exception.CException] exception 'CException' with message 'Der Alias "components.DateCompareValidator" ist ungültig. Stellen Sie sicher, dass er auf ein existierendes Verzeichnis oder eine existierende Datei verweist.' in D:\Projects\Astaf\workspace\yii\framework\YiiBase.php:343
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\validators\CValidator.php(171): YiiBase::import('components.Date...', true)
+#1 D:\Projects\Astaf\workspace\yii\framework\base\CModel.php(285): CValidator::createValidator('components.Date...', Object(Veranstaltung), 'startzeit', Array)
+#2 D:\Projects\Astaf\workspace\yii\framework\base\CModel.php(259): CModel->createValidators()
+#3 D:\Projects\Astaf\workspace\yii\framework\base\CModel.php(544): CModel->getValidators()
+#4 D:\Projects\Astaf\workspace\yii\framework\base\CModel.php(466): CModel->getSafeAttributeNames()
+#5 D:\Projects\Astaf\workspace\yii\framework\base\CComponent.php(153): CModel->setAttributes(Array)
+#6 D:\Projects\Astaf\workspace\yii\framework\db\ar\CActiveRecord.php(160): CComponent->__set('attributes', Array)
+#7 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(93): CActiveRecord->__set('attributes', Array)
+#8 [internal function]: VeranstaltungController->actionUpdate('2')
+#9 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs(Object(VeranstaltungController), Array)
+#10 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CAction->runWithParamsInternal(Object(VeranstaltungController), Object(ReflectionMethod), Array)
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams(Array)
+#12 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): CController->runAction(Object(CInlineAction))
+#13 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#14 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain))
+#15 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
+#16 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
+#17 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#18 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#19 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('update')
+#20 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('veranstaltung/u...')
+#21 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#22 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#23 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+---
+2012/04/28 16:19:12 [error] [php] Undefined variable: compare (D:\Projects\Astaf\workspace\admin.astaf.de\protected\components\DateCompareValidator.php:49)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\db\ar\CActiveRecord.php(786): Veranstaltung->validate()
+#1 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(95): Veranstaltung->save()
+#2 unknown(0): VeranstaltungController->actionUpdate()
+#3 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CInlineAction->runWithParamsInternal()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): VeranstaltungController->runAction()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#9 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): VeranstaltungController->filterAccessControl()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#12 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): VeranstaltungController->runActionWithFilters()
+#13 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): VeranstaltungController->run()
+#14 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#15 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#16 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\components\DateCompareValidator.php (49)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php (95)
+in D:\Projects\Astaf\workspace\admin.astaf.de\index.php (13)
+2012/04/28 16:19:30 [error] [exception.CException] exception 'CException' with message 'Eigenschaft "DateCompareValidator.compare ist nicht definiert.' in D:\Projects\Astaf\workspace\yii\framework\base\CComponent.php:131
+Stack trace:
+#0 D:\Projects\Astaf\workspace\admin.astaf.de\protected\components\DateCompareValidator.php(49): CComponent->__get('compare')
+#1 D:\Projects\Astaf\workspace\yii\framework\validators\CValidator.php(197): DateCompareValidator->validateAttribute(Object(Veranstaltung), 'startzeit')
+#2 D:\Projects\Astaf\workspace\yii\framework\base\CModel.php(158): CValidator->validate(Object(Veranstaltung), NULL)
+#3 D:\Projects\Astaf\workspace\yii\framework\db\ar\CActiveRecord.php(786): CModel->validate(NULL)
+#4 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(95): CActiveRecord->save()
+#5 [internal function]: VeranstaltungController->actionUpdate('2')
+#6 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs(Object(VeranstaltungController), Array)
+#7 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CAction->runWithParamsInternal(Object(VeranstaltungController), Object(ReflectionMethod), Array)
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams(Array)
+#9 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): CController->runAction(Object(CInlineAction))
+#10 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain))
+#12 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
+#13 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
+#14 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#15 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#16 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('update')
+#17 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('veranstaltung/u...')
+#18 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#19 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#20 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+---
+2012/04/28 16:19:47 [error] [php] Missing argument 3 for CValidator::addError(), called in D:\Projects\Astaf\workspace\admin.astaf.de\protected\components\DateCompareValidator.php on line 52 and defined (D:\Projects\Astaf\workspace\yii\framework\validators\CValidator.php:242)
+Stack trace:
+#0 D:\Projects\Astaf\workspace\yii\framework\base\CModel.php(158): DateCompareValidator->validate()
+#1 D:\Projects\Astaf\workspace\yii\framework\db\ar\CActiveRecord.php(786): Veranstaltung->validate()
+#2 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(95): Veranstaltung->save()
+#3 unknown(0): VeranstaltungController->actionUpdate()
+#4 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs()
+#5 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CInlineAction->runWithParamsInternal()
+#6 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
+#7 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): VeranstaltungController->runAction()
+#8 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#9 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
+#10 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): VeranstaltungController->filterAccessControl()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
+#12 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#13 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): VeranstaltungController->runActionWithFilters()
+#14 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): VeranstaltungController->run()
+#15 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
+#16 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#17 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CWebApplication->run()
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\components\DateCompareValidator.php (52)
+in D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php (95)
+in D:\Projects\Astaf\workspace\admin.astaf.de\index.php (13)
+2012/04/28 16:23:08 [error] [exception.CException] exception 'CException' with message 'Eigenschaft "DateCompareValidator.compareVal ist nicht definiert.' in D:\Projects\Astaf\workspace\yii\framework\base\CComponent.php:174
+Stack trace:
+#0 D:\Projects\Astaf\workspace\admin.astaf.de\protected\components\DateCompareValidator.php(37): CComponent->__set('compareVal', '01.07.2012 17:0...')
+#1 D:\Projects\Astaf\workspace\yii\framework\validators\CValidator.php(197): DateCompareValidator->validateAttribute(Object(Veranstaltung), 'startzeit')
+#2 D:\Projects\Astaf\workspace\yii\framework\base\CModel.php(158): CValidator->validate(Object(Veranstaltung), NULL)
+#3 D:\Projects\Astaf\workspace\yii\framework\db\ar\CActiveRecord.php(786): CModel->validate(NULL)
+#4 D:\Projects\Astaf\workspace\admin.astaf.de\protected\controllers\VeranstaltungController.php(95): CActiveRecord->save()
+#5 [internal function]: VeranstaltungController->actionUpdate('2')
+#6 D:\Projects\Astaf\workspace\yii\framework\web\actions\CAction.php(107): ReflectionMethod->invokeArgs(Object(VeranstaltungController), Array)
+#7 D:\Projects\Astaf\workspace\yii\framework\web\actions\CInlineAction.php(48): CAction->runWithParamsInternal(Object(VeranstaltungController), Object(ReflectionMethod), Array)
+#8 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(309): CInlineAction->runWithParams(Array)
+#9 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(134): CController->runAction(Object(CInlineAction))
+#10 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
+#11 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(1146): CFilter->filter(Object(CFilterChain))
+#12 D:\Projects\Astaf\workspace\yii\framework\web\filters\CInlineFilter.php(59): CController->filterAccessControl(Object(CFilterChain))
+#13 D:\Projects\Astaf\workspace\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter(Object(CFilterChain))
+#14 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(292): CFilterChain->run()
+#15 D:\Projects\Astaf\workspace\yii\framework\web\CController.php(266): CController->runActionWithFilters(Object(CInlineAction), Array)
+#16 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(276): CController->run('update')
+#17 D:\Projects\Astaf\workspace\yii\framework\web\CWebApplication.php(135): CWebApplication->runController('veranstaltung/u...')
+#18 D:\Projects\Astaf\workspace\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
+#19 D:\Projects\Astaf\workspace\admin.astaf.de\index.php(13): CApplication->run()
+#20 {main}
+REQUEST_URI=/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+HTTP_REFERER=http://dev.astaf.de:90/admin.astaf.de/index.php?r=veranstaltung/update&id=2
+---
diff --git a/protected/views/layouts/main.php b/protected/views/layouts/main.php
index 85ee278..1e499bc 100644
--- a/protected/views/layouts/main.php
+++ b/protected/views/layouts/main.php
@@ -41,6 +41,8 @@
 						"visible"=>!Yii::app()->user->isGuest && Yii::app()->user->vereinId, "active"=>$this->id == "myAngebot"),
 				array("label"=>"Veranstaltungen", "url"=>array("/veranstaltung/index"),
 						"visible"=>!Yii::app()->user->isGuest && Yii::app()->user->isAdmin, "active"=>$this->id == "veranstaltung"),
+				array("label"=>"Audit", "url"=>array("/auditTrail/admin"),
+						"visible"=>!Yii::app()->user->isGuest && Yii::app()->user->isAdmin, "active"=>$this->id == "admin"),
 				array("label"=>"Benutzer", "url"=>array("/user/admin"),
 						"visible"=>!Yii::app()->user->isGuest && Yii::app()->user->isAdmin, "active"=>$this->id == "user"),
 				array('label'=>'Logout ('.Yii::app()->user->name.')', 'url'=>array('/site/logout'),
diff --git a/protected/views/myverein/view.php b/protected/views/myverein/view.php
index 5e7649c..52afea7 100644
--- a/protected/views/myverein/view.php
+++ b/protected/views/myverein/view.php
@@ -20,6 +20,6 @@ $this->menu=array(
 		'email',
 		'kontaktdaten:html',
 		'beschreibung:html',
-		array('label'=>'Standort', 'value'=>$model->standort->name)
+		array('label'=>'Standort', 'value'=>($model->standort) ? $model->standort->name : "-")
 	),
 )); ?>
diff --git a/protected/views/veranstaltung/_form.php b/protected/views/veranstaltung/_form.php
index 10eb6c9..833c693 100644
--- a/protected/views/veranstaltung/_form.php
+++ b/protected/views/veranstaltung/_form.php
@@ -30,8 +30,8 @@
 				'mode'=>'datetime',
 				// additional javascript options for the date picker plugin
 				'options'=>array(
-						'minDate'=>Yii::app()->params["start_datetime"],
-						'maxDate'=>Yii::app()->params["end_datetime"]
+						'minDate'=>Yii::app()->params["start_date"],
+						'maxDate'=>Yii::app()->params["end_date"],
 				),
 				'htmlOptions'=>array(
 						'style'=>'height:20px;'
@@ -50,8 +50,8 @@
 				'mode'=>'datetime',
 				// additional javascript options for the date picker plugin
 				'options'=>array(
-						'minDate'=>Yii::app()->params["start_datetime"],
-						'maxDate'=>Yii::app()->params["end_datetime"]
+						'minDate'=>Yii::app()->params["start_date"],
+						'maxDate'=>Yii::app()->params["end_date"],
 				),
 				'htmlOptions'=>array(
 						'style'=>'height:20px;'
diff --git a/protected/views/veranstaltung/index.php b/protected/views/veranstaltung/index.php
index f058e2e..42d1d62 100644
--- a/protected/views/veranstaltung/index.php
+++ b/protected/views/veranstaltung/index.php
@@ -23,8 +23,8 @@ $this->menu=array(
 		'id',
 		array('header'=>'Verein', 'value'=>'$data->verein->name'),
 		'titel',
-		'startzeit',
-		'endzeit',
+		array('header'=>'Startzeit', 'value'=>Format::displayDateTime($model->startzeit)),
+		array('header'=>'Endzeit', 'value'=>Format::displayDateTime($model->endzeit)),
 		array('header'=>'Standort', 'value'=>'($data->standort) ? $data->standort->name : "Kein Standort"'),
 		array('header'=>'Öffentlich',
 				'value'=>'CHtml::image($data->published ? "images/ok.png" : "images/nok.png", $data->published ? "ok.png" : "nok.png")', 'type'=>'raw'),
diff --git a/protected/views/veranstaltung/view.php b/protected/views/veranstaltung/view.php
index aa48d41..5840a4e 100644
--- a/protected/views/veranstaltung/view.php
+++ b/protected/views/veranstaltung/view.php
@@ -17,12 +17,12 @@ $this->menu=array(
 <?php $this->widget('zii.widgets.CDetailView', array(
 	'data'=>$model,
 	'attributes'=>array(
-		array('label'=>'Verein', 'value'=>($model->verein) ? $model->verein->name : "-"),
+		array('label'=>'Verein', 'value'=>($model->verein) ? $model->verein->name : null),
 		'titel',
-		'startzeit',
-		'endzeit',
+		array('label'=>'Startzeit', 'value'=>Format::displayDateTime($model->startzeit)),
+		array('label'=>'Endzeit', 'value'=>Format::displayDateTime($model->endzeit)),
 		'beschreibung:html',
-		array('label'=>'Standort', 'value'=>($model->standort) ? $model->standort->name : "-"),
+		array('label'=>'Standort', 'value'=>($model->standort) ? $model->standort->name : null),
 		array('label'=>'Öfentlich', 'value'=>CHtml::image($model->published ? "images/ok.png" : "images/nok.png", $model->published ? "ok.png" : "nok.png"), 'type'=>'raw'),
 	),
 )); ?>
diff --git a/protected/views/verein/_form.php b/protected/views/verein/_form.php
index 9aab04d..dbda2db 100644
--- a/protected/views/verein/_form.php
+++ b/protected/views/verein/_form.php
@@ -14,7 +14,7 @@
 		<?php echo $form->labelEx($model,'slug'); ?>
 		<?php
 		if (Yii::app()->user->isAdmin) {
-			echo $form->textField($model,'slug',array('size'=>60,'maxlength'=>255));
+			echo $form->dropDownList($model, "slug", CHtml::listData($slugs, "username", "username"), array('empty' => '-- Bitte Benutzer wählen --'));
 		} else {
 			echo CHtml::encode($model->slug);
 		}
diff --git a/protected/views/verein/create.php b/protected/views/verein/create.php
index 02a63f8..46f088e 100644
--- a/protected/views/verein/create.php
+++ b/protected/views/verein/create.php
@@ -11,4 +11,4 @@ $this->menu=array(
 
 <h1>Verein erstellen</h1>
 
-<?php echo $this->renderPartial('_form', array('model'=>$model, 'standorte'=>$standorte)); ?>
\ No newline at end of file
+<?php echo $this->renderPartial('_form', array('model'=>$model, 'standorte'=>$standorte,'slugs'=>$slugs)); ?>
\ No newline at end of file
diff --git a/protected/views/verein/update.php b/protected/views/verein/update.php
index 0d37b80..5230605 100644
--- a/protected/views/verein/update.php
+++ b/protected/views/verein/update.php
@@ -13,4 +13,4 @@ $this->menu=array(
 
 <h1>Verein '<?php echo $model->name; ?>' bearbeiten</h1>
 
-<?php echo $this->renderPartial('_form', array('model'=>$model, 'standorte'=>$standorte)); ?>
\ No newline at end of file
+<?php echo $this->renderPartial('_form', array('model'=>$model, 'standorte'=>$standorte,'slugs'=>$slugs)); ?>
\ No newline at end of file
-- 
cgit v1.0-28-g1787

