コード例 #1
0
 function index()
 {
     $this->view->set('clickaction', 'view');
     $s_data = array();
     $s_data['owner'] = EGS_USERNAME;
     $this->setSearch('CalendarSearch', 'useDefault', $s_data);
     parent::index(new CalendarCollection($this->_templateobject));
     $calendar = new CalendarCollection($this->_templateobject);
     $sh = new SearchHandler($calendar, false);
     $sh->addConstraint(new Constraint('owner', '=', EGS_USERNAME));
     $sh->setOrderby('name', 'ASC');
     $calendar->load($sh);
     if (isset($this->search) && ($this->isPrintDialog() || $this->isPrinting())) {
         $this->printCollection($calendar);
     }
     $this->view->set('calendar', $calendar);
     $this->view->set('num_records', $calendar->num_records);
     $sidebar = new SidebarController($this->view);
     $sidebar->addList('Events', array('new_event' => array('link' => array('module' => 'calendar', 'controller' => 'calendarevents', 'action' => 'new'), 'tag' => 'new_event'), 'view_events' => array('link' => array('module' => 'calendar', 'controller' => 'calendarevents', 'action' => 'index'), 'tag' => 'view_events')));
     $sidebar->addList('Tasks', array('new_task' => array('link' => array('module' => 'projects', 'controller' => 'tasks', 'action' => 'new'), 'tag' => 'new_task'), 'view_tasks' => array('link' => array('module' => 'projects', 'controller' => 'tasks', 'action' => 'index'), 'tag' => 'view_tasks')));
     $sidebar->addList('calendar_views', array('view_calendar' => array('link' => array('module' => 'calendar'), 'tag' => 'View Calendar')));
     $sidebar->addList('calendars', array('new_personal_calendar' => array('link' => array('module' => 'calendar', 'controller' => 'calendars', 'action' => 'new_personal'), 'tag' => 'new_personal_calendar'), 'new_group_calendar' => array('link' => array('module' => 'calendar', 'controller' => 'calendars', 'action' => 'new_group'), 'tag' => 'new_group_calendar'), 'add_google_calendar' => array('link' => array('module' => 'calendar', 'controller' => 'calendars', 'action' => 'new_gcal'), 'tag' => 'add_google_calendar')));
     $this->view->register('sidebar', $sidebar);
     $this->view->set('sidebar', $sidebar);
 }
コード例 #2
0
ファイル: IndexController.php プロジェクト: uzerpllp/uzerp
 function getCalendarList($options = array())
 {
     $calendars = new CalendarCollection(new Calendar());
     $sh = new SearchHandler($calendars, false);
     $cc = new ConstraintChain();
     $cc->add(new Constraint('owner', '=', EGS_USERNAME));
     $cc->add(new Constraint('username', '=', EGS_USERNAME), 'OR');
     $sh->addConstraintChain($cc);
     $sh->setOrderby('name', 'ASC');
     $calendars->load($sh);
     $calendar_list = $calendars->getArray();
     if (count($calendar_list) > 0) {
         foreach ($calendar_list as $key => $value) {
             if (isset($options[$value['id']]['status']) && $options[$value['id']]['status'] == 'on') {
                 $calendar_list[$key]['show'] = true;
             } else {
                 $calendar_list[$key]['show'] = false;
             }
             switch ($value['type']) {
                 case "personal":
                 case "group":
                     $calendar_list[$key]['url'] = "/?module=calendar&controller=index&action=getJSON&id=" . $value['id'];
                     break;
                 case "gcal":
                     $calendar_list[$key]['url'] = $calendar_list[$key]['gcal_url'];
                     break;
             }
             $calendar_list[$key]['className'] = str_replace("#", "", $calendar_list[$key]['colour']);
         }
     }
     return $calendar_list;
 }
コード例 #3
0
ファイル: Calendar.php プロジェクト: uzerpllp/uzerp
 /**
  * getWritableCalendars
  * 
  * Used to return an array of calendars that a specific user has write access to
  * This will automatically exclude gcal until write functionality has been developed
  *
  * @return array of writable calendars
  */
 function getWritableCalendars($calendar_id = '')
 {
     $calendar = new CalendarCollection($this);
     $sh = new SearchHandler($calendar, false);
     if (!empty($calendar_id)) {
         $sh->addConstraint(new Constraint('id', '=', $calendar_id));
     }
     $sh->addConstraint(new Constraint('type', '!=', 'gcal'));
     $sh->addConstraint(new Constraint('owner', '=', EGS_USERNAME));
     $cc = new ConstraintChain();
     $cc->add(new Constraint('type', '=', 'group'));
     $cc->add(new Constraint('username', '=', EGS_USERNAME));
     $sh->addConstraintChain($cc, 'OR');
     $sh->setOrderby('name');
     $sh->setGroupBy('id');
     $calendar->load($sh);
     $calendar_id = array();
     foreach ($calendar as $key => $value) {
         $calendar_id[$value->id] = $value->name . " (" . $value->owner . ")";
     }
     return $calendar_id;
 }
コード例 #4
0
 /**
  * Initialize the calendar object we are going to test
  */
 protected function setup()
 {
     $backendMocks = [];
     $backendMocks[0] = $this->getMock('\\OCA\\Calendar\\IBackend');
     $backendMocks[0]->expects($this->any())->method('getId')->will($this->returnValue('database123'));
     $backendMocks[1] = $this->getMock('\\OCA\\Calendar\\IBackend');
     $backendMocks[1]->expects($this->any())->method('getId')->will($this->returnValue('caldav456'));
     $timezoneMocks = [];
     $timezoneMocks[0] = $this->getMock('\\OCA\\Calendar\\ITimezone');
     $timezoneMocks[0]->expects($this->any())->method('getTzId')->will($this->returnValue('Europe/Berlin'));
     $timezoneMocks[0]->expects($this->any())->method('isValid')->will($this->returnValue(true));
     $timezoneMocks[1] = $this->getMock('\\OCA\\Calendar\\ITimezone');
     $timezoneMocks[1]->expects($this->any())->method('getTzId')->will($this->returnValue('Europe/London'));
     $timezoneMocks[1]->expects($this->any())->method('isValid')->will($this->returnValue(true));
     $this->calendars = [];
     $this->calendars[] = ['backend' => $backendMocks[0], 'color' => 'rgba(255,255,255,1.0)', 'cruds' => Permissions::READ, 'components' => ObjectType::EVENT, 'ctag' => 1, 'description' => 'Some random description text', 'displayname' => 'Random cal', 'enabled' => false, 'order' => 10, 'ownerId' => 'user123', 'timezone' => $timezoneMocks[0], 'publicUri' => 'test-calendar', 'privateUri' => 'another-test-calendar', 'userId' => 'user456', 'fileId' => 1];
     $this->calendars[] = ['backend' => $backendMocks[1], 'color' => 'rgba(0,0,0,0.8)', 'cruds' => Permissions::READ + Permissions::DELETE, 'components' => ObjectType::EVENT + ObjectType::TODO, 'ctag' => 2, 'description' => 'Another random description text', 'displayname' => 'Another cal', 'enabled' => true, 'order' => 15, 'ownerId' => 'user456', 'timezone' => $timezoneMocks[1], 'publicUri' => 'test-calendar-2', 'privateUri' => 'another-test-calendar-2', 'userId' => 'user123', 'fileId' => 2];
     $this->calendarCollection = CalendarCollection::fromArray($this->calendars);
 }