コード例 #1
0
 public function actionDelete($id)
 {
     $model = FamilyMember::findOne($id);
     if ($model) {
         if ($model->user_type == \app\enum\UserType::Administrador_MemoBoard) {
             Yii::$app->getSession()->setFlash('danger', '<h2>Atenção:</h2>' . 'O membro <b>' . $model->name . '</b> é <b>' . \app\enum\UserType::toName($model->user_type) . '</b> da família <b>' . $model->family->name . '</b>.' . '<br>Os membros com este estatuto não podem ser retirados das famílias.' . '<br>' . '<br>' . 'Para poder retirar da família o membro em causa, atribua-lhe primeiro outro estatuto.' . '<br><i>Não esqueça que tem de existir pelo menos um membro com o estatuto de <b>' . \app\enum\UserType::toName($model->user_type) . '</b>.<i>' . '<br>' . '<br>' . '<a class="btn btn-info" href="/family-member/index">Voltar</a>');
             return $this->redirect("/site/message");
         }
         Yii::$app->getSession()->setFlash('danger', '<h2>Perigo.</h2>' . 'Ao retirar este membro da família, deixará de poder acessar aos seus dados..');
         return $this->redirect("/site/message");
     }
     return $this->redirect(['index']);
 }
コード例 #2
0
ファイル: members.php プロジェクト: afernandes465/memoboard
<?php

use yii\grid\GridView;
?>

<?php 
echo GridView::widget(['dataProvider' => $dataProvider, 'layout' => '{items}{pager}', 'columns' => [['class' => 'yii\\grid\\SerialColumn'], ['attribute' => 'family_id', 'format' => 'text', 'content' => function ($data) {
    return $data->family->name;
}], 'name', 'abreviation', ['attribute' => 'user_type', 'format' => 'text', 'content' => function ($data) {
    return \app\enum\UserType::toName($data->user_type);
}], ['attribute' => 'user_id', 'format' => 'text', 'content' => function ($data) {
    return $data->user ? $data->user->email : '';
}], ['attribute' => 'user_id', 'label' => 'Qt. Eventos', 'format' => 'text', 'content' => function ($data) {
    if ($data->user) {
        return $data->getCalendarEvents()->count();
    }
    return '0';
}], ['attribute' => 'user_id', 'label' => 'Qt. Tarefas', 'format' => 'text', 'content' => function ($data) {
    if ($data->user) {
        return $data->getTasks()->count();
    }
    return '0';
}], ['attribute' => 'user_id', 'label' => 'Último login', 'format' => 'text', 'content' => function ($data) {
    if ($data->user) {
        return date('Y-m-d H:s', $data->user->last_login);
    }
    return '---';
}], ['attribute' => 'user_id', 'label' => 'Acesso calendário', 'format' => 'text', 'content' => function ($data) {
    if ($data->user) {
        return date('Y-m-d H:s', $data->user->last_calendar_access);
    }
コード例 #3
0
 /**
  * Verifica se existe pelo menos um membro admin
  */
 public function existMemberAdmin()
 {
     $isAdmin = $this->user_type == \app\enum\UserType::Administrador_MemoBoard;
     if ($isAdmin) {
         return true;
     }
     $x = FamilyMember::find()->where(['user_type' => \app\enum\UserType::Administrador_MemoBoard])->andWhere(['family_id' => $this->family_id])->andWhere(['<>', 'id', $this->id])->count();
     if ($x < 1) {
         $this->addError('user_type', 'Tem de existir na família pelo menos um membro ' . \app\enum\UserType::toName(\app\enum\UserType::Administrador_MemoBoard));
         return false;
     }
     return true;
 }