From e4d6e829d133584fd04e5f7ae36ba786115b7586 Mon Sep 17 00:00:00 2001
From: Tristan Zur <tzur@ccwn.org>
Date: Mon, 11 Jun 2012 18:26:37 +0200
Subject: =?UTF-8?q?Funktionalit=C3=A4t=20zum=20erneuern=20eines=20Passwort?=
 =?UTF-8?q?s=20hinzugef=C3=BCgt=20-=20Generierung=20eines=20neuen=20Passwo?=
 =?UTF-8?q?rts=20-=20eMail=20an=20den=20Verein=20mit=20dem=20neuen=20Passw?=
 =?UTF-8?q?ort=20-=20eMail=20an=20die=20Admin-Adresse,=20dass=20Verein=20e?=
 =?UTF-8?q?in=20neues=20Passwort=20bekommen=20hat?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 images/email.png                                  | Bin 0 -> 882 bytes
 protected/controllers/UserController.php          |  18 ++++++++-
 protected/models/User.php                         |   4 +-
 protected/tests/functional/UserControllerTest.php |   8 ++++
 protected/views/mail/newVerein.php                |  40 ++++++++++++++++++
 protected/views/user/admin.php                    |  47 ++++++++--------------
 6 files changed, 84 insertions(+), 33 deletions(-)
 create mode 100644 images/email.png
 create mode 100644 protected/tests/functional/UserControllerTest.php
 create mode 100644 protected/views/mail/newVerein.php

diff --git a/images/email.png b/images/email.png
new file mode 100644
index 0000000..5ad33db
Binary files /dev/null and b/images/email.png differ
diff --git a/protected/controllers/UserController.php b/protected/controllers/UserController.php
index b061795..3c28e7b 100644
--- a/protected/controllers/UserController.php
+++ b/protected/controllers/UserController.php
@@ -143,7 +143,23 @@ class UserController extends Controller {
 	            $model->admin_pw_reset = true;
 	            
 	            if ($model->save()) {
-	                // TODO Send email
+	                // E-Mail an den Verein
+	                $message = new YiiMailMessage();
+	                $message->view = "newVerein";
+	                $message->setBody(array("username"=>$model->username, "pw"=>$pw));
+	                $message->subject = 'Ihr Verein wurde auf astaf.de eingetragen';
+	                $message->addTo($model->verein->email);
+	                $message->from = Yii::app()->params['adminEmail'];
+	                Yii::app()->mail->send($message);
+	                
+	                // E-Mail an die Admin-Adresse
+	                $message = new YiiMailMessage();
+	                $message->setBody("Dem Verein '".$model->verein->name."' (".$model->username.") wurde ein neues Passwort zugeschickt.");
+	                $message->subject = 'Der Verein \''.$model->verein->name.'\' wurde auf astaf.de eingetragen';
+	                $message->addTo(Yii::app()->params['adminEmail']);
+	                $message->from = Yii::app()->params['adminEmail'];
+	                Yii::app()->mail->send($message);
+	                
 	                 echo CJSON::encode(array(
                         'status'=>'success',
                         'message'=>'Das neue Passwort wurde erfolgreich generiert: '.$pw
diff --git a/protected/models/User.php b/protected/models/User.php
index c432afe..e601042 100644
--- a/protected/models/User.php
+++ b/protected/models/User.php
@@ -17,7 +17,7 @@
  * @property integer $user_pw_reset
  *
  * The followings are the available model relations:
- * @property Vereine[] $vereine
+ * @property Verein $verein
  */
 class User extends CActiveRecord
 {
@@ -65,7 +65,7 @@ class User extends CActiveRecord
 		// NOTE: you may need to adjust the relation name and the related
 		// class name for the relations automatically generated below.
 		return array(
-                'vereine' => array(self::HAS_MANY, 'Vereine', 'slug'),
+                'verein' => array(self::HAS_ONE, 'Verein', 'slug'),
 		);
 	}
 
diff --git a/protected/tests/functional/UserControllerTest.php b/protected/tests/functional/UserControllerTest.php
new file mode 100644
index 0000000..c23102f
--- /dev/null
+++ b/protected/tests/functional/UserControllerTest.php
@@ -0,0 +1,8 @@
+<?php
+$yii=dirname(__FILE__).'/../../../../yii/framework/yii.php';
+$config=dirname(__FILE__).'/../../config/maincfg.php';
+require_once($yii);
+Yii::createWebApplication($config)->run();
+$uc = new UserController(1);
+echo $uc->actionNewPassword(1);
+?>
\ No newline at end of file
diff --git a/protected/views/mail/newVerein.php b/protected/views/mail/newVerein.php
new file mode 100644
index 0000000..13362fa
--- /dev/null
+++ b/protected/views/mail/newVerein.php
@@ -0,0 +1,40 @@
+Sehr geehrte Damen und Herren,
+
+wie jedes Jahr betreuen wir auch dieses Jahr wieder das Internetangebot
+für das Waiblinger Altstadtfest im Internet (http://www.astaf.de). Wie
+jedes Jahr bieten wir Ihnen auch dieses Jahr wieder die Möglichkeit, Ihren
+Verein auf der Altstadtfestseite zu präsentieren.
+
+Wir haben bis jetzt die spärlichen Informationen die das
+Altstadtfestprogrammheft bietet in unsere Datenbank eingespeichert. Damit
+Sie vom vollen Umfang der Homepage profitieren können benötigen wir
+allerdings Ihre Mithilfe. Sie haben die Möglichkeit eine kurze
+Selbstbeschreibung und Ihre Angebote und Programmpunkte auf dem
+Altstadtfest einzutragen. Nach diesen Daten können die Benutzer dann
+suchen und so zu Ihrem Stand geleitet werden.
+
+Sie können die Daten unter folgendem Link eingeben und auch ändern:
+
+http://vereine.astaf.de
+Benutzername: <?php echo $username;?>
+
+Passwort: <?php echo $pw;?>
+
+
+Bitte halten Sie Ihr Passwort vertraulich, mit ihm können alle Ihre Daten auf
+der Homepage geändert werden.
+
+Sollten Sie Fragen bezüglich der Altstadtfesthomepage haben, wenden Sie
+sich bitte direkt an uns: info@astaf.de oder 07151 273649 (Patrick Seeger)
+Am Beispiel des Computerclubs Waiblingen sehen Sie eine vollständig
+ausgefüllte Vereinspräsentation mit Angeboten und (wenigen) Terminen.
+http://www.astaf.de/index.php?option=showVerein&task=details?id=8
+
+Mit freundlichen Grüßen
+Das Altstadtfest Homepageteam
+
+Computerclub Waiblingen e.V.
+1. Vorsitzender
+Patrick Seeger
+vorstand@ccwn.org
+http://www.ccwn.org
\ No newline at end of file
diff --git a/protected/views/user/admin.php b/protected/views/user/admin.php
index 488559f..ed6b636 100644
--- a/protected/views/user/admin.php
+++ b/protected/views/user/admin.php
@@ -1,41 +1,22 @@
 <?php
 $this->breadcrumbs=array(
-	'Users'=>array('index'),
-	'Manage',
+	'Benutzer'=>array('index'),
+	'Benutzerverwaltung',
 );
 
 $this->menu=array(
-	array('label'=>'List User', 'url'=>array('index')),
-	array('label'=>'Create User', 'url'=>array('create')),
+	array('label'=>'Benutzer', 'url'=>array('index')),
+	array('label'=>'Neuen Benutzer erstellen', '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('user-grid', {
-		data: $(this).serialize()
-	});
-	return false;
-});
-");
 ?>
 
-<h1>Manage Users</h1>
+<h1>Benutzerverwaltung</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'=>'user-grid',
@@ -46,10 +27,16 @@ or <b>=</b>) at the beginning of each of your search values to specify how the c
 		'username',
 		'created_at',
 		'last_login',
-		'is_active',
-		'is_super_admin',
-        'admin_pw_reset',
-        'user_pw_reset',
+        array('header'=>'Aktiviert?',
+		        'name'=>'is_active',
+                'value'=>'CHtml::image($data->is_active ? "images/ok.png" : "images/nok.png", $data->is_active ? "ok.png" : "nok.png")', 'type'=>'raw'),
+		array('header'=>'Admin',
+		        'name'=>'is_super_admin',
+				'value'=>'CHtml::image($data->is_super_admin ? "images/ok.png" : "images/nok.png", $data->is_super_admin ? "ok.png" : "nok.png")', 'type'=>'raw'),
+		//'admin_pw_reset',
+        //'user_pw_reset',
+	    array('header'=>'eMail',
+				'value'=>'($data->verein) ? $data->verein->email : ""'),
 		array(
 			'class'=>'CButtonColumn',
 		    'template'=>'{email}{view}{update}{delete}',
-- 
cgit v1.0-28-g1787

