add unsibscribe newsletter

This commit is contained in:
Roland Schneider 2016-05-23 08:16:44 +02:00
parent e51f4a5934
commit 85047ec900
8 changed files with 133 additions and 13 deletions

View File

@ -146,6 +146,20 @@ class AdminMenuStructure{
'items' => $items 'items' => $items
]; ];
/////////////////////////////
// Hírlevelek
/////////////////////////////
$items = [];
$items[] = ['label' => 'Hírlevelek', 'url' => ['/newsletter/index' , 'NewsletterSearch[start]' =>$todayDatetime,'NewsletterSearch[end]' => $tomorrowDatetime ] ];
// $items[] = ['label' => 'Részletek aktiválása', 'url' => ['/ugiro/parts' ] ];
// $items[] = ['label' => 'Bevétel', 'url' => ['/transfer/summary' , 'TransferSummarySearch[start]' =>$today,'TransferSummarySearch[end]' => $tomorrow ] ];
// $items[] = ['label' => 'Napi bevételek', 'url' => ['/transfer/list', 'TransferListSearch[start]' =>$todayDatetime,'TransferListSearch[end]' => $tomorrowDatetime ] ];
// $items[] = ['label' => 'Kassza müveletek', 'url' => ['/account-state/index'] ];
$this->menuItems[] = ['label' => 'Hírlevél', 'url' => $this->emptyUrl,
'items' => $items
];
} }
} }

View File

@ -15,20 +15,34 @@ use common\components\Helper;
/** /**
* NewsletterController implements the CRUD actions for Newsletter model. * NewsletterController implements the CRUD actions for Newsletter model.
*/ */
class NewsletterController extends Controller class NewsletterController extends \backend\controllers\BackendController
{ {
public function behaviors() public function behaviors()
{ {
return [ return [
'verbs' => [ 'verbs' => [
'class' => VerbFilter::className(), 'class' => VerbFilter::className(),
'actions' => [ 'actions' => [
'delete' => ['post'], 'delete' => ['post'],
], ],
], ],
]; 'access' => [
'class' => \yii\filters\AccessControl::className(),
'rules' => [
// allow authenticated users
[
'actions' => ['create','index','view','update','delete'],
'allow' => true,
'roles' => ['admin','employee','reception'],
],
// everything else is denied
],
],
];
} }
/** /**
* Lists all Newsletter models. * Lists all Newsletter models.
* @return mixed * @return mixed

View File

@ -108,6 +108,10 @@ class TicketController extends Controller {
public function actionDaily(){ public function actionDaily(){
set_time_limit(0); set_time_limit(0);
$this->actionWarnExpire(); $this->actionWarnExpire();
}
public function actionWeekly(){
set_time_limit(0);
$this->actionNewsletter(); $this->actionNewsletter();
} }

View File

@ -0,0 +1,30 @@
<?php
use yii\db\Schema;
use yii\db\Migration;
class m160523_053901_alter_customer_set_default_newsletter_false extends Migration
{
public function up()
{
$this->execute("update customer set newsletter = 0");
}
public function down()
{
echo "m160523_053901_alter_customer_set_default_newsletter_false cannot be reverted.\n";
return false;
}
/*
// Use safeUp/safeDown to run migration code within a transaction
public function safeUp()
{
}
public function safeDown()
{
}
*/
}

View File

@ -0,0 +1,39 @@
<?php
use yii\db\Schema;
use yii\db\Migration;
use common\models\Customer;
class m160523_055217_add_customer_newsletter_token extends Migration
{
public function up()
{
$this->addColumn("customer", "newsletter_token", "string" );
$customers = Customer::find()->all();
foreach ($customers as $customer ){
$customer->newsletter_token = Yii::$app->security->generateRandomString() . '_' . time();
$customer->save();
}
}
public function down()
{
echo "m160523_055217_add_customer_newsletter_token cannot be reverted.\n";
return false;
}
/*
// Use safeUp/safeDown to run migration code within a transaction
public function safeUp()
{
}
public function safeDown()
{
}
*/
}

View File

@ -218,10 +218,6 @@ class CustomerController extends Controller
// s // s
/** /**

View File

@ -15,6 +15,8 @@ use yii\filters\AccessControl;
use common\models\User; use common\models\User;
use common\components\Helper; use common\components\Helper;
use common\models\Log; use common\models\Log;
use common\models\Customer;
use yii\web\NotFoundHttpException;
/** /**
* Site controller * Site controller
@ -177,6 +179,26 @@ class SiteController extends Controller
return $this->render('about'); return $this->render('about');
} }
public function actionNewsletterUnsubscribe($id,$token)
{
$customer = Customer::find()
->andWhere(['id_customer' => $id ])
->andWhere(['newsletter_token' => $token])
->one();
if ( !isset($customer)){
throw new NotFoundHttpException("Az oldal nem található");
}
$customer->newsletter = 0;
$customer->newsletter_token = Yii::$app->security->generateRandomString() . '_' . time();
$customer->save();
return $this->render("unsubscribe");
}
/** /**
* Signs user up. * Signs user up.
* *

View File

@ -0,0 +1 @@
Ön sikeresen leiratkozott a hírlevelünkről!