Problemi visualizzazione

Buongiorno a tutti. Ho un problema con la visualizzazione della index della pagine dandomi error 404. Questo è il controller:
public function actionIndex($id=null)

{

    {

        if (empty($id)) {

            $model= new VisualizzazioneComplessiva();

            $searchModel = new VisualizzazioneComplessivaSearch();

            $dataProvider = $searchModel->search(Yii::$app->request->queryParams);



            $model->user_id = Yii::$app->user->identity->getId();



        } else {

            $model = VisualizzazioneComplessiva::findOne(['id' => $id]);

            if (!User::isAdmin() && $model->user_id != Yii::$app->user->identity->getId()) {

                $this->redirect('visualizzazione-complessiva/index');

            }

        }

        if (Yii::$app->request->isPost && Yii::$app->request->post('_pjax')) {

            if (Yii::$app->request->post('user')) {

                $model->user_id = Yii::$app->request->post('user');

                $this->redirect('visualizzazione-complessiva/index');

            }

        }

        return $this->render('index', [

            'model' => $model,

            'dataProvider'=>$dataProvider,

        ]);

    }

}

mentre questo è il file index:

<?php use app\models\Profile; use app\models\User; use kartik\select2\Select2; use yii\bootstrap4\ActiveForm; use yii\bootstrap4\Modal; use yii\helpers\ArrayHelper; use kartik\grid\GridView; $this->title = 'Visualizzazione Complessiva'; $this->params['breadcrumbs'][] = $this->title; $admin = User::isAdmin() ? 1 : 0; ?> <?php $crea = \app\models\Configurazione::getValue(\app\models\enums\Configurazione::CREAZIONEPERMESSI); ?>
<?php echo $crea ? Html::a('Nuovo', ['_modal'], ['class' => 'btn btn-primary']) : "" ?>
Mese di
<?php echo GridView::widget([

‘model’ => $model,

‘pager’ => [

'class' => '\app\widgets\Pagination'

],

‘hover’ => true,

‘toolbar’ => [

],

‘panel’ => [

'type' => 'default',

'footer' => false

],

‘panelTemplate’ => "<div class=“panel {type}”>

        {items}

        {panelAfter}

        {pager}

    </div>",

‘options’ => [‘class’ => ‘dataTables_wrapper no-footer’],

‘columns’ => [

[

    'attribute' => 'user_id',

    'value' => function ($model, $key, $index, $column) {



    },

    'format' => 'html',

   

],

[

    'attribute' => 'ore',

    'value' => function ($model, $key, $index, $column) {



    },

    'format' => 'html',

],

[

    'attribute' => 'permesso',

    'value' => function ($model, $key, $index, $column) {

        return "<div class=\"agenda-event\">{$model->titolo}</div>";

    },

    'format' => 'html',

   

],

[

    'attribute' => 'straordinario',

    'value' => function ($model, $key, $index, $column) {

        if(isset($model->responsabile)){

            return "<div class=\"agenda-event\">{$model->responsabile->name}</div>";

        }

        return "";

    },

   

],

[

    'attribute' => 'ferie',

    'value' => function ($model, $key, $index, $column) {

        if(isset($model->responsabile)){

            return "<div class=\"agenda-event\">{$model->responsabile->name}</div>";

        }

        return "";

    },

   

],

],

]); ?>

    <table border="1" width="100%">

                    <tr>

                        <th>Alessio Mantineo</th>

                        <td align=center>1</td>

                        <td align=center>2</td>

                        <td align=center>3</td>

                        <td align=center>4</td>

                        <td align=center>5</td>

                        <td align=center>6</td>

                        <td align=center>7</td>

                        <td align=center>8</td>

                        <td align=center>9</td>

                        <td align=center>10</td>

                        <td align=center>11</td>

                        <td align=center>12</td>

                        <td align=center>13</td>

                        <td align=center>14</td>

                        <td align=center>15</td>

                        <td align=center>16</td>

                        <td align=center>17</td>

                        <td align=center>18</td>

                        <td align=center>19</td>

                        <td align=center>20</td>

                        <td align=center>21</td>

                        <td align=center>22</td>

                        <td align=center>23</td>

                        <td align=center>24</td>

                        <td align=center>25</td>

                        <td align=center>26</td>

                        <td align=center>27</td>

                        <td align=center>28</td>

                        <td align=center>29</td>

                        <td align=center>30</td>

                        <td align=center>31</td>

                        <td>Totale ore</td>
                    <tr>    

                   </tr>

                    <td>Ore</td>

                </tr>

                </tr>

                    <td>Permessi</td>

                </tr>

                </tr>

                    <td>Straordinario</td>

                </tr>

                </tr>

                    <td>Ferie</td>

                </tr>

    </table>

   

    <br>

    <table border="1" width="100%">

                    <tr>

                        <th>Paolo Carilli</th>

                        <td align=center>1</td>

                        <td align=center>2</td>

                        <td align=center>3</td>

                        <td align=center>4</td>

                        <td align=center>5</td>

                        <td align=center>6</td>

                        <td align=center>7</td>

                        <td align=center>8</td>

                        <td align=center>9</td>

                        <td align=center>10</td>

                        <td align=center>11</td>

                        <td align=center>12</td>

                        <td align=center>13</td>

                        <td align=center>14</td>

                        <td align=center>15</td>

                        <td align=center>16</td>

                        <td align=center>17</td>

                        <td align=center>18</td>

                        <td align=center>19</td>

                        <td align=center>20</td>

                        <td align=center>21</td>

                        <td align=center>22</td>

                        <td align=center>23</td>

                        <td align=center>24</td>

                        <td align=center>25</td>

                        <td align=center>26</td>

                        <td align=center>27</td>

                        <td align=center>28</td>

                        <td align=center>29</td>

                        <td align=center>30</td>

                        <td align=center>31</td>

                        <td>Totale ore</td>
                    <tr>    

                   </tr>

                    <td>Ore</td>

                </tr>

                </tr>

                    <td>Permessi</td>

                </tr>

                </tr>

                    <td>Straordinario</td>

                </tr>

                </tr>

                    <td>Ferie</td>

                </tr>

    </table>

                    <tr>

                        <th>Giovanni Leone</th>

                        <td align=center>1</td>

                        <td align=center>2</td>

                        <td align=center>3</td>

                        <td align=center>4</td>

                        <td align=center>5</td>

                        <td align=center>6</td>

                        <td align=center>7</td>

                        <td align=center>8</td>

                        <td align=center>9</td>

                        <td align=center>10</td>

                        <td align=center>11</td>

                        <td align=center>12</td>

                        <td align=center>13</td>

                        <td align=center>14</td>

                        <td align=center>15</td>

                        <td align=center>16</td>

                        <td align=center>17</td>

                        <td align=center>18</td>

                        <td align=center>19</td>

                        <td align=center>20</td>

                        <td align=center>21</td>

                        <td align=center>22</td>

                        <td align=center>23</td>

                        <td align=center>24</td>

                        <td align=center>25</td>

                        <td align=center>26</td>

                        <td align=center>27</td>

                        <td align=center>28</td>

                        <td align=center>29</td>

                        <td align=center>30</td>

                        <td align=center>31</td>

                        <td>Totale ore</td>
                    <tr>    

                   </tr>

                    <td>Ore</td>

                </tr>

                </tr>

                    <td>Permessi</td>

                </tr>

                </tr>

                    <td>Straordinario</td>

                </tr>

                </tr>

                    <td>Ferie</td>

                </tr>

    </table>

    <br>

    <table border="1" width="100%">

                    <tr>

                        <th>Valentina Migliorato</th>

                        <td align=center>1</td>

                        <td align=center>2</td>

                        <td align=center>3</td>

                        <td align=center>4</td>

                        <td align=center>5</td>

                        <td align=center>6</td>

                        <td align=center>7</td>

                        <td align=center>8</td>

                        <td align=center>9</td>

                        <td align=center>10</td>

                        <td align=center>11</td>

                        <td align=center>12</td>

                        <td align=center>13</td>

                        <td align=center>14</td>

                        <td align=center>15</td>

                        <td align=center>16</td>

                        <td align=center>17</td>

                        <td align=center>18</td>

                        <td align=center>19</td>

                        <td align=center>20</td>

                        <td align=center>21</td>

                        <td align=center>22</td>

                        <td align=center>23</td>

                        <td align=center>24</td>

                        <td align=center>25</td>

                        <td align=center>26</td>

                        <td align=center>27</td>

                        <td align=center>28</td>

                        <td align=center>29</td>

                        <td align=center>30</td>

                        <td align=center>31</td>

                        <td>Totale ore</td>
                    <tr>    

                   </tr>

                    <td>Ore</td>

                </tr>

                </tr>

                    <td>Permessi</td>

                </tr>

                </tr>

                    <td>Straordinario</td>

                </tr>

                </tr>

                    <td>Ferie</td>

                </tr>

    </table>

    <br>

    <table border="1" width="100%">

                    <tr>

                        <th>Antonio De Marco</th>

                        <td align=center>1</td>

                        <td align=center>2</td>

                        <td align=center>3</td>

                        <td align=center>4</td>

                        <td align=center>5</td>

                        <td align=center>6</td>

                        <td align=center>7</td>

                        <td align=center>8</td>

                        <td align=center>9</td>

                        <td align=center>10</td>

                        <td align=center>11</td>

                        <td align=center>12</td>

                        <td align=center>13</td>

                        <td align=center>14</td>

                        <td align=center>15</td>

                        <td align=center>16</td>

                        <td align=center>17</td>

                        <td align=center>18</td>

                        <td align=center>19</td>

                        <td align=center>20</td>

                        <td align=center>21</td>

                        <td align=center>22</td>

                        <td align=center>23</td>

                        <td align=center>24</td>

                        <td align=center>25</td>

                        <td align=center>26</td>

                        <td align=center>27</td>

                        <td align=center>28</td>

                        <td align=center>29</td>

                        <td align=center>30</td>

                        <td align=center>31</td>

                        <td>Totale ore</td>
                    <tr>    

                   

                   </tr>

                    <td>Ore</td>

                </tr>

                </tr>

                    <td>Permessi</td>

                </tr>

                </tr>

                    <td>Straordinario</td>

                </tr>

                </tr>

                    <td>Ferie</td>

                </tr>

    </table>

    ])?>

    <?php

    Modal::begin([

        'title' => '<br>',

        'id' => 'pagamento',

        'options' => [

            'class' => 'modal fade',

            'data' => [

                'backdrop' => 'static',

                'keyboard' => false

            ],

            'tabindex' => ''

        ]

    ]);

    ?>

    <div id='myModalContent'></div>

    <?php Modal::end(); ?>

    </div>

</div>
<?php $script = < 0) { var dd = new Date() var user_id = {$model->user_id}; var calendarEl = document.getElementById('table'); table = new table.Calendar(calendarEl, { locale: "it", headerToolbar: { left: 'prev', center: 'title', right: 'next' }, longPressDelay: 1, nextDayThreshold: '00:00:00', selectAllow: function (selectInfo) { if (new Date(dd.toDateString() ) > new Date(selectInfo.start.toDateString()) && 1 !== {$admin}) { return false; } var evts = table.getEvents().filter(function(evt) { var st = evt.start; var ed = evt.start; if (evt.end) { ed = evt.end; ed.setDate(ed.getDate() + 1) } else { ed.setDate(st.getDate() + 1) } //return true if the event overlaps with the selection return (selectInfo.start >= st && selectInfo.end <= ed); }); return evts != undefined && evts.length == 0; }, eventDidMount: function(arg) { if (arg.event.start < dd && 1 !== {$admin}) { return ""; } $(arg.el).closest( ".fc-daygrid-event-harness" ).prepend('
'); $('#delEventBtn' + arg.event.id + '').on('click', function(event) { event.stopPropagation(); event.preventDefault(); console.log(arg) krajeeDialog.confirm('Sei sicuro di volere eliminare il dato?', function(out){ if(out) { $.ajax({ url: "/permessi/delete?id="+arg.event.id, }).done(function() { calendarPermessi.refetchEvents(); }); } }); }); }, dayMaxEventRows: true, contentHeight: "80vh", select: function (info) { info.jsEvent.stopPropagation(); var end = info.end; end.setDate(info.end.getDate()-1); var url = "/permessi/modal?start="+info.startStr+"&end="+info.endStr+"&user_id="+user_id $("#pagamento").modal('show') .find("#myModalContent") .load(url) }, selectable: true, eventClick: function(info) { info.jsEvent.preventDefault(); // don't let the browser navigate if (info.event.start.getDate() < dd.getDate() && 1 !== {$admin}) { $('.container-fluid').pgNotification({ style: 'bar', message: "Non puoi modificare un permesso passato", position: "top", timeout: 5000, type: "danger" }).show(); } else { if (info.event.url) { $("#pagamento").modal('show') .find("#myModalContent") .load(info.event.url) } } }, events: { url: "/permessi/calendario", extraParams: function() { // a function that returns an object return { user_id: user_id, background: 0, }; }, }, }); calendarPermessi.render(); $("#permessiferie-user_id").on("select2:select select2:unselecting", function (e) { user_id = $(e.currentTarget).val(); calendarPermessi.refetchEvents(); }); } JS; $this->registerJs($script); if (!$model->isNewRecord) { $model->data_inizio = \DateTime::createFromFormat("d/m/Y", $model->data_inizio); $model->data_fine = \DateTime::createFromFormat("d/m/Y", $model->data_fine); $url = "/permessi/modal?start=" . Yii::$app->formatter->asDate($model->data_inizio, 'yyyy-MM-dd') . "&end=" . Yii::$app->formatter->asDate($model->data_fine, 'yyyy-MM-dd') . "&user_id=" . $model->user_id . "&id=" . $model->id; $script2 = <registerJs($script2); } Dove sbaglio? Ringrazio in anticipo per la risposta

Intanto dovresti allegare l’errore perché non siamo dei maghi :slight_smile: Quale url ti dà il 404? Poi c’è un po di confusione in questo controller. Ragionando in termini di crud la index dovrebbe contenere l’elenco dei tutti i tuoi model e al massimo dovresti avere dei parametri per filtrarli, ma un controller di quel tipo non dovrebbe avere un parametro id, che magari è più specifico per la view. Comunque a parte questo credo che il tuo problema sia nella redirect. Se metti una stringa come parametro devi mettere un url assoluto, se invece usi una rotta, come hai fatto, allora devi mettere un array. Ma senza schermata di errore è solo un ipotesi.

1 Like

Potresti spiegarti meglio riguardo all’inserimento di un array? Sono nuovo quindi non capisco molto. E l’errore è che non trova la pagina. Considera che il mio intento è quello di visualizzare un calendario a tabella

1 Like

Ok ho risolto. Grazie mille

1 Like