add newsletter
This commit is contained in:
parent
0b866917d5
commit
e51f4a5934
@ -11,6 +11,9 @@ use yii\web\NotFoundHttpException;
|
||||
use yii\filters\VerbFilter;
|
||||
use yii\base\Object;
|
||||
use backend\models\CustomerUpdate;
|
||||
use backend\models\CustomerNewsLetterModel;
|
||||
use yii\db\Query;
|
||||
use yii\data\ActiveDataProvider;
|
||||
|
||||
/**
|
||||
* CustomerController implements the CRUD actions for Customer model.
|
||||
@ -18,6 +21,27 @@ use backend\models\CustomerUpdate;
|
||||
class CustomerController extends \backend\controllers\BackendController
|
||||
{
|
||||
|
||||
|
||||
|
||||
public function behaviors()
|
||||
{
|
||||
return [
|
||||
'access' => [
|
||||
'class' => \yii\filters\AccessControl::className(),
|
||||
'rules' => [
|
||||
// allow authenticated users
|
||||
[
|
||||
'actions' => ['create','index','view','update','mail'],
|
||||
'allow' => true,
|
||||
'roles' => ['admin','employee','reception'],
|
||||
],
|
||||
// everything else is denied
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lists all Customer models.
|
||||
* @return mixed
|
||||
@ -119,4 +143,36 @@ class CustomerController extends \backend\controllers\BackendController
|
||||
throw new NotFoundHttpException('The requested page does not exist.');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function actionMail(){
|
||||
$model = new CustomerNewsLetterModel();
|
||||
|
||||
$query = new Query();
|
||||
$query->distinct();
|
||||
$query->select([ 'email']);
|
||||
$query->from("customer");
|
||||
$query->andWhere(['newsletter' => 1]);
|
||||
$query->andWhere(['status' => Customer::STATUS_ACTIVE]);
|
||||
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
|
||||
|
||||
|
||||
$message = \Yii::$app->mailer->compose ( );
|
||||
|
||||
$message
|
||||
->setFrom ( "noreply@fitnessadmin.hu" )
|
||||
->setBcc(['rocho02@gmail.com',"rocho02@freemail.hu"])
|
||||
//->setTo(['rocho02@gmail.com'])
|
||||
->setHtmlBody($model->text )
|
||||
->setSubject ( $model->subject )
|
||||
->send ();
|
||||
return $this->redirect(['customer/mail']);
|
||||
}
|
||||
|
||||
|
||||
return $this->render('mail', [ 'model' => $model ]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
146
backend/controllers/NewsletterController.php
Normal file
146
backend/controllers/NewsletterController.php
Normal file
@ -0,0 +1,146 @@
|
||||
<?php
|
||||
|
||||
namespace backend\controllers;
|
||||
|
||||
use Yii;
|
||||
use common\models\Newsletter;
|
||||
use backend\models\NewsletterSearch;
|
||||
use yii\web\Controller;
|
||||
use yii\web\NotFoundHttpException;
|
||||
use yii\filters\VerbFilter;
|
||||
use common\models\Customer;
|
||||
use backend\models\NewsletterTestForm;
|
||||
use common\components\Helper;
|
||||
|
||||
/**
|
||||
* NewsletterController implements the CRUD actions for Newsletter model.
|
||||
*/
|
||||
class NewsletterController extends Controller
|
||||
{
|
||||
public function behaviors()
|
||||
{
|
||||
return [
|
||||
'verbs' => [
|
||||
'class' => VerbFilter::className(),
|
||||
'actions' => [
|
||||
'delete' => ['post'],
|
||||
],
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Lists all Newsletter models.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionIndex()
|
||||
{
|
||||
$searchModel = new NewsletterSearch();
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
|
||||
|
||||
return $this->render('index', [
|
||||
'searchModel' => $searchModel,
|
||||
'dataProvider' => $dataProvider,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a single Newsletter model.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionView($id)
|
||||
{
|
||||
$model = $this->findModel($id);
|
||||
$testModel = new NewsletterTestForm(
|
||||
[
|
||||
'newsletter' => $model
|
||||
]
|
||||
);
|
||||
|
||||
|
||||
if ($testModel->load(Yii::$app->request->post()) && $testModel->validate()) {
|
||||
$testModel->sendEmail();
|
||||
Helper::flash("success", "Teszt e-mail elküldve");
|
||||
return $this->redirect(['view', 'id' => $model->id_newsletter]);
|
||||
}
|
||||
|
||||
return $this->render('view', [
|
||||
'model' => $model,
|
||||
'testModel' => $testModel
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new Newsletter model.
|
||||
* If creation is successful, the browser will be redirected to the 'view' page.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionCreate()
|
||||
{
|
||||
$model = new Newsletter();
|
||||
|
||||
$model->status = Newsletter::$STATUS_ACTIVE;
|
||||
$model->sent = Newsletter::$SENT_NOT;
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) {
|
||||
return $this->redirect(['view', 'id' => $model->id_newsletter]);
|
||||
} else {
|
||||
return $this->render('create', [
|
||||
'model' => $model,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates an existing Newsletter model.
|
||||
* If update is successful, the browser will be redirected to the 'view' page.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionUpdate($id)
|
||||
{
|
||||
$model = $this->findModel($id);
|
||||
|
||||
if ($model->load(Yii::$app->request->post()) && $model->save()) {
|
||||
return $this->redirect(['view', 'id' => $model->id_newsletter]);
|
||||
} else {
|
||||
return $this->render('update', [
|
||||
'model' => $model,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes an existing Newsletter model.
|
||||
* If deletion is successful, the browser will be redirected to the 'index' page.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionDelete($id)
|
||||
{
|
||||
$model = $this->findModel($id);
|
||||
|
||||
$model->status = Newsletter::$STATUS_DELETED;
|
||||
|
||||
$model->save(false);
|
||||
|
||||
return $this->redirect(['index']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the Newsletter model based on its primary key value.
|
||||
* If the model is not found, a 404 HTTP exception will be thrown.
|
||||
* @param integer $id
|
||||
* @return Newsletter the loaded model
|
||||
* @throws NotFoundHttpException if the model cannot be found
|
||||
*/
|
||||
protected function findModel($id)
|
||||
{
|
||||
if (($model = Newsletter::findOne($id)) !== null) {
|
||||
return $model;
|
||||
} else {
|
||||
throw new NotFoundHttpException('The requested page does not exist.');
|
||||
}
|
||||
}
|
||||
}
|
||||
32
backend/models/CustomerNewsLetterModel.php
Normal file
32
backend/models/CustomerNewsLetterModel.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
|
||||
namespace backend\models;
|
||||
|
||||
use Yii;
|
||||
use yii\base\Model;
|
||||
|
||||
use yii\web\UploadedFile;
|
||||
|
||||
|
||||
/**
|
||||
* ContactForm is the model behind the contact form.
|
||||
* @property \Yii\web\UploadedFile $file
|
||||
*/
|
||||
class CustomerNewsLetterModel extends Model{
|
||||
|
||||
|
||||
public $text;
|
||||
public $subject;
|
||||
|
||||
public $allCustomer;
|
||||
|
||||
public function rules(){
|
||||
return [
|
||||
[['text','subject'],'required'],
|
||||
['text','string'],
|
||||
['subject','string'],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
75
backend/models/NewsletterSearch.php
Normal file
75
backend/models/NewsletterSearch.php
Normal file
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace backend\models;
|
||||
|
||||
use Yii;
|
||||
use yii\base\Model;
|
||||
use yii\data\ActiveDataProvider;
|
||||
use common\models\Newsletter;
|
||||
|
||||
/**
|
||||
* NewsletterSearch represents the model behind the search form about `common\models\Newsletter`.
|
||||
*/
|
||||
class NewsletterSearch extends Newsletter
|
||||
{
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['id_newsletter', 'status', 'sent'], 'integer'],
|
||||
[['subject', 'body', 'sent_at', 'created_at', 'updated_at'], 'safe'],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function scenarios()
|
||||
{
|
||||
// bypass scenarios() implementation in the parent class
|
||||
return Model::scenarios();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates data provider instance with search query applied
|
||||
*
|
||||
* @param array $params
|
||||
*
|
||||
* @return ActiveDataProvider
|
||||
*/
|
||||
public function search($params)
|
||||
{
|
||||
$query = Newsletter::find();
|
||||
|
||||
$dataProvider = new ActiveDataProvider([
|
||||
'query' => $query,
|
||||
'sort' =>[
|
||||
'defaultOrder' =>[ 'created_at' => SORT_DESC ]
|
||||
]
|
||||
]);
|
||||
|
||||
$this->load($params);
|
||||
|
||||
if (!$this->validate()) {
|
||||
// uncomment the following line if you do not want to return any records when validation fails
|
||||
// $query->where('0=1');
|
||||
return $dataProvider;
|
||||
}
|
||||
|
||||
$query->andFilterWhere([
|
||||
'id_newsletter' => $this->id_newsletter,
|
||||
'status' => $this->status,
|
||||
'sent' => $this->sent,
|
||||
'sent_at' => $this->sent_at,
|
||||
'created_at' => $this->created_at,
|
||||
'updated_at' => $this->updated_at,
|
||||
]);
|
||||
|
||||
$query->andFilterWhere(['like', 'subject', $this->subject])
|
||||
->andFilterWhere(['like', 'body', $this->body]);
|
||||
|
||||
return $dataProvider;
|
||||
}
|
||||
}
|
||||
75
backend/models/NewsletterTestForm.php
Normal file
75
backend/models/NewsletterTestForm.php
Normal file
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace backend\models;
|
||||
|
||||
use Yii;
|
||||
use yii\base\Model;
|
||||
use common\models\Card;
|
||||
use common\models\Customer;
|
||||
use common\models\Ticket;
|
||||
use common\models\Account;
|
||||
use yii\web\UploadedFile;
|
||||
use common\components\Helper;
|
||||
|
||||
/**
|
||||
* ContactForm is the model behind the contact form.
|
||||
* @property \Yii\web\UploadedFile $file
|
||||
*/
|
||||
class NewsletterTestForm extends Model{
|
||||
|
||||
public $customer_name;
|
||||
public $email;
|
||||
public $newsletter;//init param
|
||||
|
||||
private $_customer;
|
||||
|
||||
public function rules(){
|
||||
return [
|
||||
[['customer_name','email'], 'required'],
|
||||
[['email'], 'email'],
|
||||
[['customer_name'], 'string'],
|
||||
[['customer_name'], 'validateCustomer'],
|
||||
];
|
||||
}
|
||||
|
||||
public function attributeLabels(){
|
||||
return [
|
||||
'email' => "E-mail",
|
||||
'customer_name' => "Vendég neve"
|
||||
];
|
||||
}
|
||||
|
||||
public function validateCustomer( $attribute, $params ) {
|
||||
|
||||
$customer = Customer::find()->andWhere(['like','name',$this->customer_name])->one();
|
||||
if ( !isset($customer)){
|
||||
$this->addError($attribute,"Vendég nem található");
|
||||
}else{
|
||||
$this->_customer = $customer;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function sendEmail(){
|
||||
$newsletter = $this->newsletter;
|
||||
$message = \Yii::$app->mailer->compose ( );
|
||||
|
||||
$replacePairs = [
|
||||
'{vendeg_neve}' => $this->_customer->name
|
||||
];
|
||||
|
||||
$mailBody = $newsletter->body;
|
||||
$mailBody = strtr($mailBody, $replacePairs );
|
||||
$mailSubject = $newsletter->subject;
|
||||
$mailSubject = strtr($mailSubject, $replacePairs );
|
||||
|
||||
$message
|
||||
->setFrom ( [ \Yii::$app->params['newsletter_from'] => Helper::getCompanyName() ])
|
||||
->setTo ( [
|
||||
$this->email ])
|
||||
->setHtmlBody( $mailBody )
|
||||
->setSubject ( $mailSubject )
|
||||
->send ();
|
||||
}
|
||||
|
||||
}
|
||||
63
backend/views/customer/mail.php
Normal file
63
backend/views/customer/mail.php
Normal file
@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\widgets\ActiveForm;
|
||||
use common\models\Customer;
|
||||
use common\components\CityNameTypeahead;
|
||||
use common\components\CityZipTypeahead;
|
||||
use common\components\CardNumberTypeahead;
|
||||
use kartik\widgets\DatePicker;
|
||||
use dosamigos\tinymce\TinyMce;
|
||||
use yii\grid\GridView;
|
||||
use yii\base\Widget;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model common\models\Customer */
|
||||
/* @var $form yii\widgets\ActiveForm */
|
||||
?>
|
||||
|
||||
<h1>Hírlevél küldése</h1>
|
||||
|
||||
<p>
|
||||
Hírlevél küldése minden vendégnek, aki
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
Nincs törölve
|
||||
</li>
|
||||
<li>
|
||||
be van állítva a kér hírlevelet jelölőnégyzet a vendég adatlapján
|
||||
</li>
|
||||
</ul>
|
||||
<div class="customer-form">
|
||||
|
||||
<?php $form = ActiveForm::begin(); ?>
|
||||
|
||||
<?php echo $form->field($model,'subject')?>
|
||||
|
||||
<?= $form->field($model, 'text')->widget(TinyMce::className(), [
|
||||
'options' => ['rows' => 12],
|
||||
// 'language' => 'en',
|
||||
'clientOptions' => [
|
||||
'plugins' => [
|
||||
"advlist autolink lists link charmap print preview anchor",
|
||||
"searchreplace visualblocks code fullscreen",
|
||||
"insertdatetime media table contextmenu paste"
|
||||
],
|
||||
'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
|
||||
]
|
||||
]);?>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?php // echo $form->field($model, 'address')->textInput(['maxlength' => true]) ?>
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton( Yii::t('common/customer', 'Küldés') , ['class' => 'btn btn-success' ]) ?>
|
||||
</div>
|
||||
|
||||
<?php ActiveForm::end(); ?>
|
||||
|
||||
</div>
|
||||
39
backend/views/newsletter/_form.php
Normal file
39
backend/views/newsletter/_form.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\widgets\ActiveForm;
|
||||
use dosamigos\tinymce\TinyMce;
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model common\models\Newsletter */
|
||||
/* @var $form yii\widgets\ActiveForm */
|
||||
?>
|
||||
<p>
|
||||
Az új hirlevelek következő nap hajnal 3-kor kerülnek kiküldésre
|
||||
</p>
|
||||
<div class="newsletter-form">
|
||||
|
||||
<?php $form = ActiveForm::begin(); ?>
|
||||
|
||||
<?php echo $form->field($model,'subject')?>
|
||||
|
||||
<?= $form->field($model, 'body')->widget(TinyMce::className(), [
|
||||
'options' => ['rows' => 12],
|
||||
// 'language' => 'en',
|
||||
'clientOptions' => [
|
||||
'plugins' => [
|
||||
"advlist autolink lists link charmap print preview anchor",
|
||||
"searchreplace visualblocks code fullscreen",
|
||||
"insertdatetime media table contextmenu paste"
|
||||
],
|
||||
'toolbar' => "undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"
|
||||
]
|
||||
]);?>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton($model->isNewRecord ? Yii::t('common/newsletter', 'Mentés') : Yii::t('common/newsletter', 'Módosítás'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
|
||||
</div>
|
||||
|
||||
<?php ActiveForm::end(); ?>
|
||||
|
||||
</div>
|
||||
41
backend/views/newsletter/_search.php
Normal file
41
backend/views/newsletter/_search.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\widgets\ActiveForm;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model backend\models\NewsletterSearch */
|
||||
/* @var $form yii\widgets\ActiveForm */
|
||||
?>
|
||||
|
||||
<div class="newsletter-search">
|
||||
|
||||
<?php $form = ActiveForm::begin([
|
||||
'action' => ['index'],
|
||||
'method' => 'get',
|
||||
]); ?>
|
||||
|
||||
<?= $form->field($model, 'id_newsletter') ?>
|
||||
|
||||
<?= $form->field($model, 'subject') ?>
|
||||
|
||||
<?= $form->field($model, 'body') ?>
|
||||
|
||||
<?= $form->field($model, 'status') ?>
|
||||
|
||||
<?= $form->field($model, 'sent') ?>
|
||||
|
||||
<?php // echo $form->field($model, 'sent_at') ?>
|
||||
|
||||
<?php // echo $form->field($model, 'created_at') ?>
|
||||
|
||||
<?php // echo $form->field($model, 'updated_at') ?>
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton(Yii::t('common/newsletter', 'Search'), ['class' => 'btn btn-primary']) ?>
|
||||
<?= Html::resetButton(Yii::t('common/newsletter', 'Reset'), ['class' => 'btn btn-default']) ?>
|
||||
</div>
|
||||
|
||||
<?php ActiveForm::end(); ?>
|
||||
|
||||
</div>
|
||||
21
backend/views/newsletter/create.php
Normal file
21
backend/views/newsletter/create.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model common\models\Newsletter */
|
||||
|
||||
$this->title = Yii::t('common/newsletter', 'Új hírlevél');
|
||||
$this->params['breadcrumbs'][] = ['label' => Yii::t('common/newsletter', 'Hírlevelek'), 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
?>
|
||||
<div class="newsletter-create">
|
||||
|
||||
<h1><?= Html::encode($this->title) ?></h1>
|
||||
|
||||
<?= $this->render('_form', [
|
||||
'model' => $model,
|
||||
]) ?>
|
||||
|
||||
</div>
|
||||
59
backend/views/newsletter/index.php
Normal file
59
backend/views/newsletter/index.php
Normal file
@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\grid\GridView;
|
||||
use common\models\Newsletter;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $searchModel backend\models\NewsletterSearch */
|
||||
/* @var $dataProvider yii\data\ActiveDataProvider */
|
||||
|
||||
$this->title = Yii::t('common/newsletter', 'Hírlevelek');
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
?>
|
||||
<div class="newsletter-index">
|
||||
|
||||
<h1><?= Html::encode($this->title) ?></h1>
|
||||
<?php // echo $this->render('_search', ['model' => $searchModel]); ?>
|
||||
|
||||
<p>
|
||||
<?= Html::a(Yii::t('common/newsletter', 'Új hírlevél'), ['create'], ['class' => 'btn btn-success']) ?>
|
||||
</p>
|
||||
|
||||
<?= GridView::widget([
|
||||
'dataProvider' => $dataProvider,
|
||||
'columns' => [
|
||||
|
||||
'id_newsletter',
|
||||
'subject',
|
||||
[
|
||||
'attribute' => 'status',
|
||||
'value' => 'statusName'
|
||||
],
|
||||
[
|
||||
'attribute' => 'sent',
|
||||
'value' => 'sentName'
|
||||
],
|
||||
'sent_at:datetime',
|
||||
'created_at:datetime',
|
||||
// 'updated_at',
|
||||
|
||||
['class' => 'yii\grid\ActionColumn',
|
||||
'buttons' =>[
|
||||
'update' => function ($url, $model, $key) {
|
||||
return $model->sent === Newsletter::$SENT_NOT
|
||||
? Html::a('Módosít', $url,['class' => 'btn btn-xs btn-success']) : '';
|
||||
},
|
||||
'view' => function ($url, $model, $key) {
|
||||
return Html::a('Részletek', $url,['class' => 'btn btn-xs btn-success']) ;
|
||||
},
|
||||
'delete' => function ($url, $model, $key) {
|
||||
return $model->sent === Newsletter::$SENT_NOT ? Html::a('Törlés', $url,['class' => 'btn btn-xs btn-success']) : '';
|
||||
},
|
||||
],
|
||||
|
||||
],
|
||||
],
|
||||
]); ?>
|
||||
|
||||
</div>
|
||||
21
backend/views/newsletter/update.php
Normal file
21
backend/views/newsletter/update.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model common\models\Newsletter */
|
||||
|
||||
$this->title = Yii::t('common/newsletter', 'Hírlevél módosítása');
|
||||
$this->params['breadcrumbs'][] = ['label' => Yii::t('common/newsletter', 'Hírlevelek'), 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = ['label' => $model->id_newsletter, 'url' => ['view', 'id' => $model->id_newsletter]];
|
||||
$this->params['breadcrumbs'][] = Yii::t('common/newsletter', 'Update');
|
||||
?>
|
||||
<div class="newsletter-update">
|
||||
|
||||
<h1><?= Html::encode($this->title) ?></h1>
|
||||
|
||||
<?= $this->render('_form', [
|
||||
'model' => $model,
|
||||
]) ?>
|
||||
|
||||
</div>
|
||||
95
backend/views/newsletter/view.php
Normal file
95
backend/views/newsletter/view.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
|
||||
use yii\helpers\Html;
|
||||
use yii\widgets\DetailView;
|
||||
use common\models\Newsletter;
|
||||
use yii\widgets\ActiveForm;
|
||||
use yii\helpers\Url;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model common\models\Newsletter */
|
||||
|
||||
$this->title = $model->id_newsletter;
|
||||
$this->params['breadcrumbs'][] = ['label' => Yii::t('common/newsletter', 'Hírlevelek'), 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = $this->title;
|
||||
?>
|
||||
<div class="newsletter-view">
|
||||
|
||||
<h1>Hírlevél részletei</h1>
|
||||
|
||||
|
||||
<?php if ( $model->sent != Newsletter::$SENT_TRUE){?>
|
||||
<p>
|
||||
<?= Html::a("Módosítás", ['update', 'id' => $model->id_newsletter], ['class' => 'btn btn-primary']) ?>
|
||||
<?= Html::a("Törlés", ['delete', 'id' => $model->id_newsletter], [
|
||||
'class' => 'btn btn-danger',
|
||||
'data' => [
|
||||
'confirm' => Yii::t('common/log', 'Are you sure you want to delete this item?'),
|
||||
'method' => 'post',
|
||||
],
|
||||
]) ?>
|
||||
</p>
|
||||
<?php }?>
|
||||
|
||||
<?= DetailView::widget([
|
||||
'model' => $model,
|
||||
'attributes' => [
|
||||
'id_newsletter',
|
||||
[
|
||||
'attribute' => 'status',
|
||||
'value' => $model->statusName
|
||||
],
|
||||
[
|
||||
'attribute' => 'sent',
|
||||
'value' => $model->sent == Newsletter::$SENT_NOT ? "Küldésre vár" : "Elküldve"
|
||||
],
|
||||
'sent_at:datetime',
|
||||
'created_at:datetime',
|
||||
'updated_at:datetime',
|
||||
],
|
||||
]) ?>
|
||||
</div>
|
||||
|
||||
<p><b>Tárgy:</b></p>
|
||||
<div style='border: 1px solid #000; padding: 6px; background-color: #fff;'>
|
||||
<p>
|
||||
<?php echo $model->subject?>
|
||||
</p>
|
||||
</div>
|
||||
<p><b >Üzenet</b></p>
|
||||
<div style='border: 1px solid #000; padding: 6px; background-color: #fff;'>
|
||||
<?php echo $model->body ?>
|
||||
</div>
|
||||
|
||||
<h3>
|
||||
Teszt üzenet küldése
|
||||
</h3>
|
||||
<p>
|
||||
A küldés gombra kattintva úgy küldünk ki egy darab e-mailt,
|
||||
<ul>
|
||||
<li>
|
||||
mintha a megadott vendég lenne a fogadó
|
||||
</li>
|
||||
<li>
|
||||
viszont a vendég e-mail címe helyett a megadott e-mail címre küldjük
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<div class="newsletter-form">
|
||||
|
||||
<?php $form = ActiveForm::begin(
|
||||
['action' => Url::current()]
|
||||
); ?>
|
||||
|
||||
<?= $form->field($testModel, 'customer_name') ?>
|
||||
<?= $form->field($testModel, 'email') ?>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton( 'Teszt email küldése' , ['class' => [ 'btn btn-primary' ]]) ?>
|
||||
</div>
|
||||
|
||||
<?php ActiveForm::end(); ?>
|
||||
|
||||
</div>
|
||||
@ -47,5 +47,6 @@ return [
|
||||
'day' => 5,
|
||||
]
|
||||
],
|
||||
'newsletter_from' => 'noreply@fitnessadmin.hu'
|
||||
|
||||
];
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<h1 style="font-size: 12px;">Kedves <?php echo $model->customerName?>!</h1>
|
||||
<p style="font-size: 12px;">
|
||||
Az alábbi bérleted <?php echo $model->day?> nap múlva lejár:
|
||||
Tájékoztatjuk, hogy az alábbi bérlete <?php echo $model->day?> nap múlva lejár:
|
||||
</p>
|
||||
<ul style="font-size: 12px;">
|
||||
<li>
|
||||
@ -8,20 +8,20 @@
|
||||
</li>
|
||||
</ul>
|
||||
<p style="font-size: 12px;">
|
||||
Ha ismét egy ilyen bérletet szeretnél vásárolni, akkor legközelebb ne felejts el magaddal vinni <?php echo $model->ticketTypePriceBrutto?> Ft-ot amikor edzésre mész!
|
||||
</p>
|
||||
<p style="font-size: 12px;">
|
||||
Üdvözlettel:
|
||||
Üdvözlettel:
|
||||
</p>
|
||||
<p style="font-size: 12px;">
|
||||
<?php echo $model->company ?>
|
||||
</p>
|
||||
<p>
|
||||
Ez egy automatikus e-mail üzenet, amelyre nem tud válaszolni.
|
||||
</p>
|
||||
<p style="font-size: 10px;">
|
||||
Tájékoztatunk, hogy ezen levél a tagsági kártyádat
|
||||
Ezen levél a tagsági kártyáját
|
||||
kezelő <?php echo $model->company ?> nyivlántartó rendszerének értesítő üzenete,
|
||||
így nem minősül hírlevélnek, e-mail címedet a <?php echo $model->company ?> nyilvántartó rendszerének
|
||||
így nem minősül hírlevélnek, e-mail címét a <?php echo $model->company ?> nyilvántartó rendszerének
|
||||
adatbázisából a <?php echo $model->company ?> engedélyével értük el.
|
||||
A megadott adatadat az adatvédelmi törvénynek (1992. évi LXIII. törvény) és a reklámtörvénynek (2008. évi XLVIII. törvény) megfelelően kezeljük.
|
||||
A megadott adatait az adatvédelmi törvénynek (1992. évi LXIII. törvény) és a reklámtörvénynek (2008. évi XLVIII. törvény) megfelelően kezeljük.
|
||||
</p>
|
||||
<?php
|
||||
?>
|
||||
@ -6,6 +6,7 @@ use Yii;
|
||||
use yii\helpers\Url;
|
||||
use yii\helpers\VarDumper;
|
||||
use common\models\BaseFitnessActiveRecord;
|
||||
use yii\helpers\Console;
|
||||
|
||||
/**
|
||||
* This is the model class for table "log".
|
||||
@ -92,6 +93,15 @@ class Log extends BaseFitnessActiveRecord
|
||||
public static function info($message ){
|
||||
self::log(['type' =>self::$TYPE_INFO, 'message' => $message]);
|
||||
}
|
||||
|
||||
/**
|
||||
* example
|
||||
* Log::log([
|
||||
'type' =>Log::$TYPE_LOGIN,
|
||||
'message' => $message
|
||||
]);
|
||||
* @param unknown $config
|
||||
*/
|
||||
public static function log( $config ){
|
||||
$model = new Log($config);
|
||||
$model->app = \Yii::$app->name;
|
||||
|
||||
86
common/models/Newsletter.php
Normal file
86
common/models/Newsletter.php
Normal file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace common\models;
|
||||
|
||||
use Yii;
|
||||
use common\components\Helper;
|
||||
|
||||
/**
|
||||
* This is the model class for table "newsletter".
|
||||
*
|
||||
* @property integer $id_newsletter
|
||||
* @property string $subject
|
||||
* @property string $body
|
||||
* @property integer $status
|
||||
* @property integer $sent
|
||||
* @property string $sent_at
|
||||
* @property string $created_at
|
||||
* @property string $updated_at
|
||||
*/
|
||||
class Newsletter extends \common\models\BaseFitnessActiveRecord
|
||||
{
|
||||
|
||||
public static $STATUS_DELETED = 0;
|
||||
public static $STATUS_ACTIVE = 10;
|
||||
|
||||
public static $SENT_NOT = 0;
|
||||
public static $SENT_TRUE = 10;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public static function tableName()
|
||||
{
|
||||
return 'newsletter';
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['body'], 'string'],
|
||||
[['subject'], 'string', 'max' => 255]
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function attributeLabels()
|
||||
{
|
||||
return [
|
||||
'id_newsletter' => Yii::t('common/newsletter', 'Hírlevél azonosító'),
|
||||
'subject' => Yii::t('common/newsletter', 'Tárgy'),
|
||||
'body' => Yii::t('common/newsletter', 'Szöveg'),
|
||||
'status' => Yii::t('common/newsletter', 'Státusz'),
|
||||
'sent' => Yii::t('common/newsletter', 'Elküldve'),
|
||||
'sent_at' => Yii::t('common/newsletter', 'Küldés ideje'),
|
||||
'created_at' => Yii::t('common/newsletter', 'Létrehozva'),
|
||||
'updated_at' => Yii::t('common/newsletter', 'Módosítva'),
|
||||
];
|
||||
}
|
||||
|
||||
public static function statuses( ) {
|
||||
return [
|
||||
self::$STATUS_ACTIVE => 'Aktív',
|
||||
self::$STATUS_DELETED=> 'Törölve',
|
||||
];
|
||||
}
|
||||
|
||||
public function getStatusName(){
|
||||
return Helper::getArrayValue(self::statuses(), $this->status, "");
|
||||
}
|
||||
|
||||
public function getSentName(){
|
||||
if ( $this->sent == self::$SENT_NOT){
|
||||
return "Nincs elküldve";
|
||||
}else if ( $this->sent == self::$SENT_TRUE){
|
||||
return "Elküldve";
|
||||
}else{
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -29,7 +29,8 @@
|
||||
"bower-asset/webcamjs": "^1.0",
|
||||
"mpdf/mpdf": "^6.0",
|
||||
"os/php-excel": "^2.1",
|
||||
"phpoffice/phpexcel": "^1.8"
|
||||
"phpoffice/phpexcel": "^1.8",
|
||||
"2amigos/yii2-tinymce-widget": "~1.1"
|
||||
},
|
||||
"require-dev": {
|
||||
"yiisoft/yii2-codeception": "*",
|
||||
|
||||
110
composer.lock
generated
110
composer.lock
generated
@ -4,9 +4,69 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "c484600811777b0032034033ae4414b9",
|
||||
"content-hash": "f44617094989091a2f19c2feb2257d3a",
|
||||
"hash": "f8904c887de6d8934d7e32a613a802b4",
|
||||
"content-hash": "b1809c8690ea12eaadb899a9549ef697",
|
||||
"packages": [
|
||||
{
|
||||
"name": "2amigos/yii2-tinymce-widget",
|
||||
"version": "1.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/2amigos/yii2-tinymce-widget.git",
|
||||
"reference": "d58bad3ede450f86acd475fb4ecda982b980132b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/2amigos/yii2-tinymce-widget/zipball/d58bad3ede450f86acd475fb4ecda982b980132b",
|
||||
"reference": "d58bad3ede450f86acd475fb4ecda982b980132b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"tinymce/tinymce": ">=4",
|
||||
"yiisoft/yii2": "~2.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "4.*"
|
||||
},
|
||||
"type": "yii2-extension",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
},
|
||||
"asset-installer-paths": {
|
||||
"bower-asset-library": "vendor/bower"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"dosamigos\\tinymce\\": "src"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "2amigOS! Consulting Group",
|
||||
"email": "hola@2amigos.us",
|
||||
"homepage": "http://2amigos.us",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "TinyMCE widget for Yii2.",
|
||||
"homepage": "http://yiiwheels.com/extension/tinymce-widget",
|
||||
"keywords": [
|
||||
"2amigos",
|
||||
"extension",
|
||||
"tinymce",
|
||||
"widget",
|
||||
"yii",
|
||||
"yii 2",
|
||||
"yii2"
|
||||
],
|
||||
"time": "2015-03-28 21:53:43"
|
||||
},
|
||||
{
|
||||
"name": "almasaeed2010/adminlte",
|
||||
"version": "v2.3.2",
|
||||
@ -2044,6 +2104,52 @@
|
||||
],
|
||||
"time": "2015-06-06 14:19:39"
|
||||
},
|
||||
{
|
||||
"name": "tinymce/tinymce",
|
||||
"version": "4.3.12",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tinymce/tinymce-dist.git",
|
||||
"reference": "dfa88d1f6868aa80081f35f3bb0b8257181b6fdf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/dfa88d1f6868aa80081f35f3bb0b8257181b6fdf",
|
||||
"reference": "dfa88d1f6868aa80081f35f3bb0b8257181b6fdf",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "component",
|
||||
"extra": {
|
||||
"component": {
|
||||
"scripts": [
|
||||
"tinymce.js",
|
||||
"plugins/*/plugin.js",
|
||||
"themes/*/theme.js"
|
||||
],
|
||||
"files": [
|
||||
"tinymce.min.js",
|
||||
"plugins/*/plugin.min.js",
|
||||
"themes/*/theme.min.js",
|
||||
"skins/**"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-2.1"
|
||||
],
|
||||
"description": "Web based JavaScript HTML WYSIWYG editor control.",
|
||||
"homepage": "http://www.tinymce.com",
|
||||
"keywords": [
|
||||
"editor",
|
||||
"html",
|
||||
"javascript",
|
||||
"richtext",
|
||||
"tinymce",
|
||||
"wysiwyg"
|
||||
],
|
||||
"time": "2016-05-10 11:15:05"
|
||||
},
|
||||
{
|
||||
"name": "yiisoft/yii2",
|
||||
"version": "2.0.6",
|
||||
|
||||
@ -37,7 +37,7 @@ class DoorlogController extends Controller{
|
||||
$log->id_card = 9719;
|
||||
$log->id_customer = 5559;
|
||||
$log->id_ticket_current = $ticket;
|
||||
$log->direction = 7;
|
||||
$log->direction = 3;
|
||||
$log->id_key = 1;
|
||||
$log->type = 0;
|
||||
$log->source_app = DoorLog::$SOURCE_APP_FITNESS_ADMIN;
|
||||
@ -58,7 +58,7 @@ class DoorlogController extends Controller{
|
||||
$log->id_card = 9719;
|
||||
$log->id_customer = 5559;
|
||||
$log->id_ticket_current = $ticket;
|
||||
$log->direction = 5;
|
||||
$log->direction = 1;
|
||||
$log->id_key = null;
|
||||
$log->type = 0;
|
||||
$log->source_app = DoorLog::$SOURCE_APP_FITNESS_ADMIN;
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
namespace console\controllers;
|
||||
|
||||
use Yii;
|
||||
use common\models;
|
||||
use yii\console\Controller;
|
||||
use common\models\Ticket;
|
||||
use common\models\Customer;
|
||||
@ -11,6 +10,8 @@ use yii\db\Query;
|
||||
use yii\db\Expression;
|
||||
use common\components\WarnMailModel;
|
||||
use common\components\Helper;
|
||||
use common\models\Newsletter;
|
||||
use common\models\Log;
|
||||
|
||||
class TicketController extends Controller {
|
||||
public function actionIndex() {
|
||||
@ -64,6 +65,10 @@ class TicketController extends Controller {
|
||||
'ticket.end' => new Expression ( 'DATE_ADD(CURDATE(),INTERVAL ' . $dayCount . ' DAY)' )
|
||||
] );
|
||||
|
||||
$query->andWhere([
|
||||
['<','ticket.usage_count' ,'ticket.max_usage_count']
|
||||
]);
|
||||
|
||||
$recepients = $query->all ();
|
||||
|
||||
\Yii::info ( "Bérlet lejár figyelmeztetés küldése: " . $dayCount . " nap múlva "
|
||||
@ -97,4 +102,89 @@ class TicketController extends Controller {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function actionDaily(){
|
||||
set_time_limit(0);
|
||||
$this->actionWarnExpire();
|
||||
$this->actionNewsletter();
|
||||
}
|
||||
|
||||
public function actionNewsletter(){
|
||||
set_time_limit(0);
|
||||
$q1 = Newsletter::find();
|
||||
$q1->andWhere(['sent' => Newsletter::$SENT_NOT]);
|
||||
$q1->andWhere(['status' => Newsletter::$STATUS_ACTIVE]);
|
||||
|
||||
$newsletters = $q1->all();
|
||||
|
||||
if ( count($newsletters) == 0 ){
|
||||
\Yii::info("Nincs elküldendő hírlevél");
|
||||
}
|
||||
|
||||
$q2 = new Query();
|
||||
$q2->distinct();
|
||||
$q2->select(['customer.email as customer_email','customer.name as customer_name']);
|
||||
$q2->from("customer");
|
||||
$q2->innerJoin("ticket","ticket.id_card = customer.id_customer_card");
|
||||
// $q2->andWhere(['status' => Customer::STATUS_ACTIVE ]);
|
||||
$q2->andWhere(['newsletter' => Customer::$ENABLED ]);
|
||||
$q2->andWhere(['>=' ,'ticket.end',new Expression('DATE( DATE_ADD(NOW(),INTERVAL -3 MONTH) )')]);
|
||||
|
||||
|
||||
$customers = $q2->all();
|
||||
|
||||
\Yii::info("Hírlevél küldése " .count($customers) . " vendégnek!" );
|
||||
|
||||
$i = 0;
|
||||
|
||||
foreach ($newsletters as $newsletter ){
|
||||
$i = 0;
|
||||
foreach ($customers as $customer ){
|
||||
|
||||
try{
|
||||
$log = "Sending Newsletter";
|
||||
$log .="[id_newsletter=".$newsletter->id_newsletter ."]";
|
||||
$log .="[customer_email=" . $customer['customer_email'] . "]";
|
||||
\Yii::info($log);
|
||||
$message = \Yii::$app->mailer->compose ( );
|
||||
|
||||
$replacePairs = [
|
||||
'{vendeg_neve}' => $customer['customer_name']
|
||||
];
|
||||
|
||||
$mailBody = $newsletter->body;
|
||||
$mailBody = strtr($mailBody, $replacePairs );
|
||||
$mailSubject = $newsletter->subject;
|
||||
$mailSubject = strtr($mailSubject, $replacePairs );
|
||||
|
||||
$message
|
||||
->setFrom ( [ \Yii::$app->params['newsletter_from'] => Helper::getCompanyName() ])
|
||||
->setTo ( [
|
||||
$customer['customer_email']
|
||||
])
|
||||
->setHtmlBody( $mailBody )
|
||||
->setSubject ( $mailSubject )
|
||||
->send ();
|
||||
|
||||
}catch (\Exception $ex){
|
||||
\Yii::error("Nem sikerült hírlevelet kikülden: Hírlevél azonosító=" .$newsletter->id_newsletter. ";Vendég azonosító ". $customer['customer_name'] ) ;
|
||||
}
|
||||
|
||||
$i++;
|
||||
}
|
||||
$newsletter->sent = Newsletter::$SENT_TRUE;
|
||||
$newsletter->sent_at = Helper::getDateTimeString();
|
||||
$newsletter->save(false);
|
||||
|
||||
// Log::log([
|
||||
// 'type' =>Log::$TYPE_LOGIN,
|
||||
// 'message' => $message
|
||||
// ]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
use yii\db\Schema;
|
||||
use yii\db\Migration;
|
||||
|
||||
class m160516_114454_add__customer_newsletter extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$this->addColumn("customer", "newsletter", "int default 1");
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
echo "m160516_114454_add__customer_newsletter cannot be reverted.\n";
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
// Use safeUp/safeDown to run migration code within a transaction
|
||||
public function safeUp()
|
||||
{
|
||||
}
|
||||
|
||||
public function safeDown()
|
||||
{
|
||||
}
|
||||
*/
|
||||
}
|
||||
45
console/migrations/m160516_122708_add_newsletter.php
Normal file
45
console/migrations/m160516_122708_add_newsletter.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
use yii\db\Schema;
|
||||
use yii\db\Migration;
|
||||
|
||||
class m160516_122708_add_newsletter extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$tableOptions = null;
|
||||
if ($this->db->driverName === 'mysql') {
|
||||
// http://stackoverflow.com/questions/766809/whats-the-difference-between-utf8-general-ci-and-utf8-unicode-ci
|
||||
$tableOptions = 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB';
|
||||
}
|
||||
|
||||
$this->createTable('{{%newsletter}}', [
|
||||
'id_newsletter' => $this->primaryKey(),
|
||||
'subject' => $this->string(),
|
||||
'body' => $this->text(),
|
||||
'status' => $this->integer(11),
|
||||
'sent' => $this->integer(),
|
||||
'sent_at' => $this->dateTime( ),
|
||||
'created_at' => $this->dateTime()->notNull(),
|
||||
'updated_at' => $this->dateTime()->notNull(),
|
||||
], $tableOptions);
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
echo "m160516_122708_add_newsletter cannot be reverted.\n";
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
// Use safeUp/safeDown to run migration code within a transaction
|
||||
public function safeUp()
|
||||
{
|
||||
}
|
||||
|
||||
public function safeDown()
|
||||
{
|
||||
}
|
||||
*/
|
||||
}
|
||||
@ -114,6 +114,7 @@ class CustomerController extends Controller
|
||||
$model->country = "Magyarország";
|
||||
$model->id_user = Yii::$app->user->id;
|
||||
$model->warn_mail_ticket_expire_enabled = 1;
|
||||
$model->newsletter = 1;
|
||||
|
||||
$receptionForm = new ReceptionForm();
|
||||
$receptionForm->number = $number;
|
||||
|
||||
@ -33,6 +33,7 @@ use common\components\Helper;
|
||||
* @property string $updated_at
|
||||
* @property string $cardNumber
|
||||
* @property integer $warn_mail_ticket_expire_enabled
|
||||
* @property integer $newsletter
|
||||
*/
|
||||
class CustomerCreate extends \common\models\Customer
|
||||
{
|
||||
@ -109,7 +110,7 @@ class CustomerCreate extends \common\models\Customer
|
||||
[['photo_data'] ,'safe'],
|
||||
[['birth_place'] ,'safe'],
|
||||
[['mother_name'] ,'safe'],
|
||||
[['warn_mail_ticket_expire_enabled'],'integer']
|
||||
[['warn_mail_ticket_expire_enabled','newsletter'],'integer']
|
||||
// [['email','phone'], 'validateEmailOrPhoneRequired' ],
|
||||
];
|
||||
}
|
||||
|
||||
@ -118,7 +118,7 @@ class CustomerUpdate extends \common\models\Customer
|
||||
[['photo_data'] ,'safe'],
|
||||
[['birth_place'] ,'safe'],
|
||||
[['mother_name'] ,'safe'],
|
||||
[['warn_mail_ticket_expire_enabled'],'integer']
|
||||
[['warn_mail_ticket_expire_enabled','newsletter'],'integer']
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
@ -148,6 +148,11 @@ use kartik\widgets\DatePicker;
|
||||
<?= $form->field($model, 'warn_mail_ticket_expire_enabled')->checkbox([ 'label'=> "Kér értesítést bérlet lejáratáról"]) ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='row'>
|
||||
<div class='col-md-6'>
|
||||
<?= $form->field($model, 'newsletter')->checkbox([ 'label'=> "Kér hírlevelet"]) ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton($model->isNewRecord ? Yii::t('common/customer', 'Create') : Yii::t('common/customer', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
|
||||
|
||||
@ -144,6 +144,11 @@ use yii\base\Widget;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row'>
|
||||
<div class='col-md-6'>
|
||||
<?= $form->field($model, 'newsletter')->checkbox([ 'label'=> "Kér hírlevelet"]) ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<?= Html::submitButton($model->isNewRecord ? Yii::t('common/customer', 'Create') : Yii::t('common/customer', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user