TCrietria com TFullCalendar Boa noite! Gostaria de esclarecimento de como é o real funcionamento das classe baseadas no TFullCalendar, estou testando uma criteria para apresentação dos dados no calendário, porém qualquer alteração na função getEvents faz com que os dados não sejam carregados no calendário. Até mesmo um var_dump já faz com que função não seja carregada. Abaixo segue um código, qua...
HL
TCrietria com TFullCalendar  
Boa noite!

Gostaria de esclarecimento de como é o real funcionamento das classe baseadas no TFullCalendar, estou testando uma criteria para apresentação dos dados no calendário, porém qualquer alteração na função getEvents faz com que os dados não sejam carregados no calendário.

Até mesmo um var_dump já faz com que função não seja carregada.

Abaixo segue um código, quando a criteria que se encontra comentada é rodada, não apresenta as informações no calendário, porém ela tem a mesma funcionalidade do where.

Alguém tem uma experiência com a utilização de calendário para que possa indicar como funciona ou artigos para consulta.

 
  1. <?php
  2. /**
  3. * FullCalendarDatabaseView
  4. *
  5. * @version 1.0
  6. * @package samples
  7. * @subpackage tutor
  8. * @author Pablo Dall'Oglio
  9. * @copyright Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
  10. * @license http://www.adianti.com.br/framework-license
  11. */
  12. class SystemCalendarView extends TPage
  13. {
  14. private $fc;
  15. /**
  16. * Page constructor
  17. */
  18. public function __construct()
  19. {
  20. parent::__construct();
  21. $this->fc = new TFullCalendar(date('Y-m-d'), 'month');
  22. $this->fc->setReloadAction(new TAction(array($this, 'getEvents')));
  23. $this->fc->setDayClickAction(new TAction(array('SystemActivityForm', 'onStartEdit')));
  24. $this->fc->setEventClickAction(new TAction(array('SystemActivityForm', 'onEdit')));
  25. $this->fc->setEventUpdateAction(new TAction(array('SystemActivityForm', 'onUpdateEvent')));
  26. parent::add( $this->fc );
  27. }
  28. /**
  29. * Output events as an json
  30. */
  31. public static function getEvents($param=NULL)
  32. {
  33. $return = array();
  34. try
  35. {
  36. TTransaction::open('permission');
  37. // $criteria = new TCriteria();
  38. // $criteria->add(new TFilter('start_time', '>=', $param['start']));
  39. // $criteria->add(new TFilter('end_time', '<=', $param['end']));
  40. //
  41. // $criteria_ispublic = new TCriteria();
  42. // $criteria_ispublic->add(new TFilter('ispublic', '=', 'S'), TExpression::OR_OPERATOR);
  43. // $criteria_ispublic->add(new TFilter('system_user_id', '=', TSession::getValue('login_id')));
  44. //
  45. // $repository_activity = TRepository('SystemActivity');
  46. // $events = $repository_activity->load($criteria);
  47. $events = SystemActivity::where('start_time', '>=', $param['start'])
  48. ->where('end_time', '<=', $param['end'])->load();
  49. if ($events)
  50. {
  51. foreach ($events as $event)
  52. {
  53. $event_array = $event->toArray();
  54. $event_array['start'] = str_replace( ' ', 'T', $event_array['start_time']);
  55. $event_array['end'] = str_replace( ' ', 'T', $event_array['end_time']);
  56. $return[] = $event_array;
  57. }
  58. }
  59. TTransaction::close();
  60. echo json_encode($return);
  61. }
  62. catch (Exception $e)
  63. {
  64. new TMessage('error', $e->getMessage());
  65. }
  66. }
  67. /**
  68. * Reconfigure the callendar
  69. */
  70. public function onReload($param = null)
  71. {
  72. if (isset($param['view']))
  73. {
  74. $this->fc->setCurrentView($param['view']);
  75. }
  76. if (isset($param['date']))
  77. {
  78. $this->fc->setCurrentDate($param['date']);
  79. }
  80. }
  81. }
  82. ?>


Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (2)


NR

Verifique pelo console o retorno da requisição. Procure por warnings, notices, etc.

O retorno esperado é um json, qualquer coisa diferente dá problema no carregamento
AG

Ola boa tarde. Conseguiu resolver o problema ?

Att

Anderson