adresat - model testowy dla wiadomości
adres_user_id - id usera do którego będzie wysyłana wiadomość
Udało mi się uzyskać już to co chciałem. Wysyłam wiadomość do użytkownika wybierając jego imie z dropDownList, następnie w view/adresat/index.php wyświetlam tylko te wiadomości w których adres_user_id = id usera zalogowanego.
controller:
public function actionIndex()
{
$current_id = Yii::app()->user->getId();
$dataProvider=new CActiveDataProvider('Adresat', array(
'criteria'=>array(
'condition'=>'adres_user_id='.$current_id,
'order'=>'data_utworzenia DESC',
)
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
}
model:
public function getAllUser()
{
$model = User::model()->findAll(array('order'=>'id'));
$list = CHtml::listdata($model, 'id','firstname');
return $list;
}
form:
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'adresat-form',
'enableAjaxValidation'=>false,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'tytul'); ?>
<?php echo $form->textField($model,'tytul',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($model,'tytul'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'tresc'); ?>
<?php echo $form->textArea($model,'tresc',array('rows'=>6, 'cols'=>50)); ?>
<?php echo $form->error($model,'tresc'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'podpis'); ?>
<?php echo $form->textField($model,'podpis',array('size'=>45,'maxlength'=>45)); ?>
<?php echo $form->error($model,'podpis'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'adres_user_id'); ?>
<?php echo $form->dropDownList($model,'adres_user_id',$model->getAllUser()); ?>
<?php echo $form->error($model,'adres_user_id'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
Teraz mam 2 pytana, na które nie znam odpowiedzi.
-
Jak wykombinować żeby wysyłać wiadomość jednocześnie do kilku użytkowników ??
-
Wysyłać też np. też do grupy użytkowników, tzn: mam w tabeli user kolumne group_id, która pobiera wartość z tabeli group. Chciałbym zaznaczyć np checkbox w stylu "Wyślij do grupy nr 1" i w ten sposób wyłapie mi wszystkie user_id należące do tej grupy.