Mam dziwną sytuację w aplikacji którą tworzę. Mam funkcje loadModule

  1. function loadModule($this) {
  2. var controllerName = $this.attr("data-controller-name");
  3. var methodName = $this.attr("data-controller-method");
  4. $(".main").load("/apps/kontrola/" + controllerName + "/" + methodName);
  5. getLastSearches();
  6. getUses();
  7. $('.tooltip').remove();
  8. $('.tooltips-last-search').tooltip({container: 'body'});
  9. $('.tooltips-saved-search').tooltip({container: 'body'});
  10. }


Używam jej w wiekszości odnośników podczas kliknięcia np tu:

  1. <div class="reset-padding-left-right col-lg-12 col-md-12 col-sm-12 col-xs-12">
  2.  
  3.  
  4. <div style="word-wrap: break-word;" class="reset-padding-left-right col-lg-12 col-md-12 col-sm-12 col-xs-12">
  5. <div onclick="loadModule($(this))" class="col-lg-12 col-md-12 col-sm-12 col-xs-12 reset-padding-left-right tooltips-last-search searches" data-controller-name="auction" data-controller-method="index?filters[users][0]=dsp" data-placement="top" data-html="true" data-toggle="tooltip" data-original-title="<div style=&quot;word-wrap: break-word;&quot;><div class=&quot;col-lg-12 col-md-12 col-sm-12 col-xs-12&quot;>Wszystkie filtry: </div>dsp(sprzedawcy);<br /></div>"><span class="search-filters">dsp<span class="search-filter-name">(sprzedawcy)</span></span> <span class="search-date">2016-06-19 12:56:56</span></div><span> | </span><span class="saveLastSearch" data-id-last-search="2" href="#">Zapamiętaj wyszukanie</span> </div>
  6. </div>


Po kliknieciu w odośnik wywołuje odpowiedni route i następnie wyłapuję $_GET['filters'] i robie odpowiednie czynności:

Najpierw idę do indexu:

  1. public function index() {
  2. self::$MODULE_PART_ID = 1;
  3. \Helpers\CommonHelper::setSessionKeyValue("MODULE_PART_ID", self::$MODULE_PART_ID);
  4.  
  5. return $this->renderFragment("index", array(
  6. "uses" => \Helpers\CommonHelper::getUnits($_SESSION["permanent_variables"]["userId"], self::$MODULE_ID)
  7. ));
  8. }


Tutaj zwracam widok:

  1. <?php $accesses = Helpers\CommonHelper::getAccessPolicyAndKontrolaRecentAccess($_SESSION["permanent_variables"]["userId"], $_SESSION["app_id"], $_SESSION["MODULE_ID"], $_SESSION["MODULE_PART_ID"]); ?>
  2. <?php if ($accesses["status"] == false && $accesses["search"] == true): ?>
  3. <?php include_component($accesses["method"], $accesses["component"]); ?>
  4. <?php else: ?>
  5.  
  6. <div class="row <?php echo \Helpers\CommonHelper::getBootstrapClasses(12) ?>">
  7. <h1 class="<?php echo Helpers\CommonHelper::getBootstrapClasses(8); ?>"><?php echo translate("a_module_name"); ?></h1>
  8.  
  9. <div class="<?php echo Helpers\CommonHelper::getBootstrapClasses(4); ?> usesContainer">
  10. <span class="<?php echo Helpers\CommonHelper::getBootstrapClasses(8); ?> float-right text-align-right">Pozostało kredytów: <label><?php echo $uses; ?><label></span>
  11. </div>
  12.  
  13. <?php include_component("description", "auction"); ?>
  14. </div>
  15.  
  16. <div class="row <?php echo \Helpers\CommonHelper::getBootstrapClasses(12) ?>">
  17. <?php include_component("filters", "auction"); ?>
  18. </div>
  19.  
  20. <div class="row <?php echo \Helpers\CommonHelper::getBootstrapClasses(12) ?>">
  21. <?php include_component("buttons", "raportsDownloaded"); ?>
  22. <div class="toggleColumnsButtonContainer <?php echo Helpers\CommonHelper::getBootstrapClassesWithOffset(4); ?> <?php echo Helpers\CommonHelper::getBootstrapClasses(4); ?>">
  23. <button class="btn <?php echo Helpers\CommonHelper::getBootstrapClasses(12); ?> toggleColumnsButton"><?php echo translate("choice_columns"); ?></button>
  24. </div>
  25. <div class="containerChoiseColumnsFilter <?php echo Helpers\CommonHelper::getBootstrapClasses(12); ?>">
  26. <div id="columnsContainer" class="reset-padding-left-right <?php echo Helpers\CommonHelper::getBootstrapClasses(12); ?>">
  27. <?php include_component("datatableColumnsSelectorDatatable", "auction"); ?>
  28. </div>
  29. </div>
  30. </div>
  31.  
  32. <?php include_component("datatable", "auction"); ?>
  33.  
  34. <div id="waitingTimeForFile">
  35. <p>Orientacyjny czas generowania raportu: <span id="timeToWait"></span></p>
  36. <p>Wszystkie raporty po wygenerowaniu dostępne są do pobrania z modułu <a href="#" id="raportsScroll">Raporty</a>.</p>
  37. <p>Podczas generowania plików można korzystać z systemu.</p>
  38. <p>Kliknij "X" aby zamknąć.</p>
  39. </div>
  40.  
  41. <div class="modal fade" id="modal-auction-content" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  42. <div class="modal-dialog" role="document">
  43. <div class="modal-content">
  44. <div class="modal-body">
  45.  
  46. </div>
  47. <div class="modal-footer">
  48. <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  49. </div>
  50. </div>
  51. </div>
  52. </div>
  53. <?php endif; ?>


Następnie wchodzę w component filters a tam mam:

  1. <?php if (Helpers\CommonHelper::getAccessPolicy($_SESSION["app_id"], $_SESSION["MODULE_ID"], $_SESSION["MODULE_PART_ID"], 102)): ?>
  2. <input type="hidden" id="total-records" value="0"/>
  3. <div id='listContainer' class="<?php echo Helpers\CommonHelper::getBootstrapClasses(12); ?>">
  4. <table id="list" class="table table-bordered table-striped-col dataTable" cellspacing="0" width="100%" data-role="table">
  5. <thead>
  6. <tr>
  7. <?php foreach ($tableTHEAD as $tableTHEADIndex => $tableTHEADValue): ?>
  8. <th><?php echo translate($tableTHEADValue); ?></th>
  9. <?php endforeach; ?>
  10. </tr>
  11. </thead>
  12. <tbody>
  13. </tbody>
  14. </table>
  15. </div>
  16. <?php endif; ?>
  17. <script>
  18. var datatableName = "list";
  19. var URL = '/apps/kontrola/auction/getResult';
  20. var columns = [
  21. {'data': 'title', 'class': "datatable-row-title"},
  22. {'mData': 'item', "mRender": function (data, type, full) {
  23. return "<a href='#' data-toggle='modal' data-target='#modal-auction-content' class='show-auction-modal-content' onclick='getAuctionsContent(" + data + ")'>" + data + "</a>";
  24. }},
  25. {'data': 'price'},
  26. {'data': 'qty'},
  27. {'mData': 'user', "mRender": function (data, type, full) {
  28. return '<a href="#" class="searches" data-controller-method="index?filters[users][0]=' + data + '&filters[insideUserComparison]=true&filters[insideUserSummary]=false&filters[summary]=false&filters[comparison]=true" data-controller-name="allesuma"> ' + data + ' </a>';
  29. }},
  30. {'data': 'cat'},
  31. {'data': 'startts'},
  32. {'data': 'endts'}
  33. ];
  34. var order = [];
  35.  
  36. <?php if (isset($_GET["filters"])): ?>
  37. URL_TMP = URL;
  38. URL_TMP += "?insert=false";
  39. getAjaxDatatable(datatableName, URL_TMP, columns, order, "auction");
  40. URL_TMP = "";
  41. <?php endif; ?>
  42.  
  43. </script>


Tutaj jak widać sprawdzam geta i wywołuję metodę getAjaxDatatable (tutaj wstawiam poprostu dane i url do datatable). Url przenosi do:

  1. public function getResult() {
  2. header('Content-Type: application/json; charset=utf-8');
  3. self::$MODULE_PART_ID = 1;
  4. \Helpers\CommonHelper::setSessionKeyValue("MODULE_PART_ID", self::$MODULE_PART_ID);
  5. $setKontrolaRecent = \Helpers\CommonHelper::setKontrolaRecent($_SESSION["permanent_variables"]["userId"], self::$MODULE_ID, self::$MODULE_PART_ID, $_REQUEST["filters"], $_SESSION["app_id"]);
  6. if ($setKontrolaRecent["status"] == false) {
  7. return $this->renderJSON($setKontrolaRecent);
  8. }
  9.  
  10. if ($_GET["insert"] == NULL) {
  11. $filters["filters"] = $_REQUEST["filters"];
  12. \LastSearches::insertLastSearch($filters, self::$MODULE_ID, self::$MODULE_ACTION_NAME_FRAMEWORK, "index");
  13. }
  14. $response = \datatable\Datatable::setTable($this->tableName)->getDatatable();
  15. return $this->renderJSON($response);
  16. }



I teraz problem polega na tym że kiedy loguję się do aplikacji pierwszy raz to gdy kliknę odnośnik to wszystko ładnie przenosi mnie i wyświetla dane. W innym wypadku jest tak jakby nie wykonywał się kod js`a w componentcie filters. Normalnie rozkładam ręcę i nie mam pojęcia co jest nie tak , jakieś pomysły?