title = translate('LBL_LIST_MY_MEETINGS', 'Meetings'); $this->searchFields = $dashletData['MyMeetingsDashlet']['searchFields']; if(empty($def['filters'])){ if(isset($this->searchFields['status'])){ if(!empty($this->searchFields['status']['default'])){ $this->filters['status'] = $this->searchFields['status']['default']; } } } $this->columns = $dashletData['MyMeetingsDashlet']['columns']; $this->columns['set_accept_links']= array('width' => '10', 'label' => translate('LBL_ACCEPT_THIS', 'Meetings'), 'sortable' => false, 'default' => true, 'related_fields' => array('status')); $this->hasScript = true; // dashlet has javascript attached to it $this->seedBean = new Meeting(); } function process() { global $current_language, $app_list_strings, $image_path, $current_user; $mod_strings = return_module_language($current_language, 'Meetings'); if($this->myItemsOnly) { // handle myitems only differently $lvsParams = array( 'custom_from' => ' INNER JOIN meetings_users ON meetings.id = meetings_users.meeting_id ', 'custom_where' => ' AND meetings_users.deleted = 0 AND (meetings.assigned_user_id = \'' . $current_user->id . '\' OR meetings_users.user_id = \'' . $current_user->id . '\') ', 'distinct' => true ); } else { $lvsParams = array(); } $this->myItemsOnly = false; parent::process($lvsParams); $keys = array(); foreach($this->lvs->data['data'] as $num => $row) { $keys[] = $row['ID']; } // grab meeting status if(!empty($keys)){ $query = "SELECT meeting_id, accept_status FROM meetings_users WHERE user_id = '" . $current_user->id . "' AND meeting_id IN ('" . implode("','", $keys) . "')"; $result = $GLOBALS['db']->query($query); } while($row = $GLOBALS['db']->fetchByAssoc($result)) { $rowNums = $this->lvs->data['pageData']['idIndex'][$row['meeting_id']]; // figure out which rows have this guid foreach($rowNums as $rowNum) { $this->lvs->data['data'][$rowNum]['ACCEPT_STATUS'] = $row['accept_status']; } } foreach($this->lvs->data['data'] as $rowNum => $row) { if(empty($this->lvs->data['data'][$rowNum]['DURATION_HOURS'])) $this->lvs->data['data'][$rowNum]['DURATION'] = '0' . $mod_strings['LBL_HOURS_ABBREV']; else $this->lvs->data['data'][$rowNum]['DURATION'] = $this->lvs->data['data'][$rowNum]['DURATION_HOURS'] . $mod_strings['LBL_HOURS_ABBREV']; if(empty($this->lvs->data['data'][$rowNum]['DURATION_MINUTES']) || empty($this->seedBean->minutes_values[$this->lvs->data['data'][$rowNum]['DURATION_MINUTES']])) { $this->lvs->data['data'][$rowNum]['DURATION'] .= '00'; } else { $this->lvs->data['data'][$rowNum]['DURATION'] .= $this->seedBean->minutes_values[$this->lvs->data['data'][$rowNum]['DURATION_MINUTES']]; } $this->lvs->data['data'][$rowNum]['DURATION'] .= $mod_strings['LBL_MINSS_ABBREV']; if (!empty($this->lvs->data['data'][$rowNum]['STATUS']) && $this->lvs->data['data'][$rowNum]['STATUS'] == $app_list_strings['meeting_status_dom']['Planned']) { if ($this->lvs->data['data'][$rowNum]['ACCEPT_STATUS'] == '' || $this->lvs->data['data'][$rowNum]['ACCEPT_STATUS'] == 'none') { $this->lvs->data['data'][$rowNum]['SET_ACCEPT_LINKS'] = "
id."\">id."&object_type=Meeting&object_id=".$this->lvs->data['data'][$rowNum]['ID'] . "&accept_status=accept', null, null, SUGAR.mySugar.retrieveDashlet, '{$this->id}');\">". get_image($image_path."accept_inline","alt='".$app_list_strings['dom_meeting_accept_options']['accept']. "' border='0'"). " id."&object_type=Meeting&object_id=".$this->lvs->data['data'][$rowNum]['ID'] . "&accept_status=tentative', null, null, SUGAR.mySugar.retrieveDashlet, '{$this->id}');\">". get_image($image_path."tentative_inline","alt='".$app_list_strings['dom_meeting_accept_options']['tentative']."' border='0'"). " id."&object_type=Meeting&object_id=".$this->lvs->data['data'][$rowNum]['ID'] . "&accept_status=decline', null, null, SUGAR.mySugar.retrieveDashlet, '{$this->id}');\">". get_image($image_path."decline_inline","alt='".$app_list_strings['dom_meeting_accept_options']['decline']. "' border='0'")."
"; } else { $this->lvs->data['data'][$rowNum]['SET_ACCEPT_LINKS'] = $app_list_strings['dom_meeting_accept_status'][$this->lvs->data['data'][$rowNum]['ACCEPT_STATUS']]; } } } $this->displayColumns[]= "set_accept_links"; } /** * Displays the javascript for the dashlet * * @return string javascript to use with this dashlet */ function displayScript() { } function displayOptions() { $this->processDisplayOptions(); $this->configureSS->assign('strings', array('general' => $GLOBALS['mod_strings']['LBL_DASHLET_CONFIGURE_GENERAL'], 'filters' => $GLOBALS['mod_strings']['LBL_DASHLET_CONFIGURE_FILTERS'], 'myItems' => translate('LBL_LIST_MY_MEETINGS', 'Meetings'), 'displayRows' => $GLOBALS['mod_strings']['LBL_DASHLET_CONFIGURE_DISPLAY_ROWS'], 'title' => $GLOBALS['mod_strings']['LBL_DASHLET_CONFIGURE_TITLE'], 'save' => $GLOBALS['app_strings']['LBL_SAVE_BUTTON_LABEL'])); return $this->configureSS->fetch($this->configureTpl); } function saveStatus() { } } ?>