Esempio n. 1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Lists::find();
     $query->select($this->tableName() . '.*, COUNT(' . UserLists::tableName() . '.user_id) AS users_count');
     $query->leftJoin(UserLists::tableName(), UserLists::tableName() . '.list_id = ' . $this->tableName() . '.id');
     $query->groupBy([$this->tableName() . '.id']);
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $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' => $this->id, 'DATE(last_sent)' => $this->last_sent, 'DATE(created)' => $this->created, 'DATE(modified)' => $this->modified]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     $dataProvider->setSort(['attributes' => ['id', 'name', 'last_sent', 'created', 'modified', 'users_count' => ['asc' => ['users_count' => SORT_ASC], 'desc' => ['users_count' => SORT_DESC], 'label' => 'Parent Name', 'default' => SORT_ASC]]]);
     return $dataProvider;
 }
Esempio n. 2
0
?>

    <?php 
echo $form->field($model, 'subject')->textInput(['maxlength' => true]);
?>

    <?php 
echo $form->field($model, 'body')->widget(\yii\redactor\widgets\Redactor::className());
?>

    <?php 
echo $form->field($model, 'send_as_copy')->checkbox();
?>

    <?php 
$lists = \app\models\Lists::find()->all();
$items = ArrayHelper::map($lists, 'id', 'name');
?>
    <?php 
echo $form->field($model, 'list_id')->dropDownList($items, ['prompt' => '[Select list]']);
?>

    <div class="alert-block">* Emails for blocked users will not send</div>


    <div class="form-group">
        <?php 
echo Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
    </div>