You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 月之前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. /**
  3. * Copyright Guillaume Bourgeois (2018)
  4. *
  5. * contact@souke.fr
  6. *
  7. * Ce logiciel est un programme informatique servant à aider les producteurs
  8. * à distribuer leur production en circuits courts.
  9. *
  10. * Ce logiciel est régi par la licence CeCILL soumise au droit français et
  11. * respectant les principes de diffusion des logiciels libres. Vous pouvez
  12. * utiliser, modifier et/ou redistribuer ce programme sous les conditions
  13. * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
  14. * sur le site "http://www.cecill.info".
  15. *
  16. * En contrepartie de l'accessibilité au code source et des droits de copie,
  17. * de modification et de redistribution accordés par cette licence, il n'est
  18. * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
  19. * seule une responsabilité restreinte pèse sur l'auteur du programme, le
  20. * titulaire des droits patrimoniaux et les concédants successifs.
  21. *
  22. * A cet égard l'attention de l'utilisateur est attirée sur les risques
  23. * associés au chargement, à l'utilisation, à la modification et/ou au
  24. * développement et à la reproduction du logiciel par l'utilisateur étant
  25. * donné sa spécificité de logiciel libre, qui peut le rendre complexe à
  26. * manipuler et qui le réserve donc à des développeurs et des professionnels
  27. * avertis possédant des connaissances informatiques approfondies. Les
  28. * utilisateurs sont donc invités à charger et tester l'adéquation du
  29. * logiciel à leurs besoins dans des conditions permettant d'assurer la
  30. * sécurité de leurs systèmes et ou de leurs données et, plus généralement,
  31. * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
  32. *
  33. * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
  34. * pris connaissance de la licence CeCILL, et que vous en avez accepté les
  35. * termes.
  36. */
  37. use domain\User\User\UserModule;
  38. use yii\grid\GridView;
  39. use yii\helpers\Html;
  40. use yii\widgets\ActiveForm;
  41. $userModule = $this->getUserModule();
  42. $orderModule = $this->getOrderModule();
  43. $userModule = $this->getUserModule();
  44. $username = Html::encode($userModule->getSolver()->getUsername($user));
  45. $this->setTitle($username.' (#'.$user->id.')') ;
  46. $this->addBreadcrumb(['label' => 'Utilisateurs', 'url' => ['index']]) ;
  47. $this->addBreadcrumb(['label' => $username]) ;
  48. $this->addBreadcrumb('Messages') ;
  49. ?>
  50. <?= $this->render('_menu_navigation', [
  51. 'action' => 'messages',
  52. 'user' => $user
  53. ]); ?>
  54. <div class="user-messages tab-content">
  55. <div class="alert alert-dark">
  56. <i class="bi bi-info-circle"></i>
  57. Les messages envoyés ici sont affichés à l'utilisateur directement sur la boutique.
  58. </div>
  59. <?php $form = ActiveForm::begin([
  60. 'enableClientValidation' => false
  61. ]); ?>
  62. <?= $form->field($userMessageModel, 'message')->textarea(['rows' => 4]) ?>
  63. <?= Html::submitButton($userMessageModel->isNewRecord ? 'Envoyer' : 'Modifier', ['class' => 'btn btn-primary', 'name' => 'save']) ?>
  64. <?php ActiveForm::end(); ?>
  65. <br />
  66. <?= GridView::widget([
  67. 'dataProvider' => $userMessagesDataProvider,
  68. 'columns' => [
  69. [
  70. 'label' => 'Message',
  71. 'format' => 'raw',
  72. 'value' => function ($userMessage) {
  73. return nl2br(Html::encode($userMessage->getMessage())).'<br /><br /><em>'.$userMessage->getCreatedAt()->format('\L\e d/m/Y à H:i').'</em>';
  74. }
  75. ],
  76. [
  77. 'label' => 'Lu',
  78. 'format' => 'raw',
  79. 'value' => function ($userMessage) {
  80. if($userMessage->getReadAt()) {
  81. //return '<span class="label label-success" title="'.$userMessage->getReadAt()->format('\L\e d/m/Y à H:i').'">Oui</span>';
  82. return '<span class="label label-success">Oui</span><br />'.$userMessage->getReadAt()->format('\L\e d/m/Y à H:i');
  83. }
  84. else {
  85. return '<span class="label label-default">Non</span>';
  86. }
  87. }
  88. ],
  89. [
  90. 'class' => 'yii\grid\ActionColumn',
  91. 'template' => '{update} {delete}',
  92. 'headerOptions' => ['class' => 'column-actions'],
  93. 'contentOptions' => ['class' => 'column-actions'],
  94. 'buttons' => [
  95. 'update' => function ($url, $userMessage) {
  96. return Html::a('<span class="glyphicon glyphicon-pencil"></span>',
  97. Yii::$app->urlManager->createUrl(['user/messages', 'id' => $userMessage->getUser()->id, 'idUserMessage' => $userMessage->id]),
  98. [
  99. 'title' => 'Modifier',
  100. 'class' => 'btn btn-default'
  101. ]);
  102. },
  103. 'delete' => function ($url, $userMessage) {
  104. return Html::a('<span class="glyphicon glyphicon-trash"></span>',
  105. Yii::$app->urlManager->createUrl(['user/message-delete', 'idUser' => $userMessage->getUser()->getId(), 'idUserMessage' => $userMessage->getId()]),
  106. [
  107. 'title' => 'Supprimer',
  108. 'class' => 'btn btn-default'
  109. ]);
  110. },
  111. ],
  112. ],
  113. ],
  114. ]); ?>
  115. </div>