public static function initialize_search() { $defaults = array('autocomplete' => false); $providers = array(); $siteconfig = org_openpsa_core_siteconfig::get_instance(); $configured_providers = self::get_config_value('search_providers'); $user_id = false; if (!midcom::get('auth')->admin) { $user_id = midcom::get('auth')->acl->get_user_id(); } foreach ($configured_providers as $component => $config) { if (!is_array($config)) { $config = array('route' => $config); } $config = array_merge($defaults, $config); if ($config['autocomplete'] === true) { midcom_helper_datamanager2_widget_autocomplete::add_head_elements(); } $node_url = $siteconfig->get_node_full_url($component); if ($node_url && (!$user_id || midcom::get('auth')->acl->can_do_byguid('midgard:read', $siteconfig->get_node_guid($component), 'midcom_db_topic', $user_id))) { $providers[] = array('helptext' => midcom::get('i18n')->get_string('search title', $component), 'url' => $node_url . $config['route'], 'identifier' => $component, 'autocomplete' => $config['autocomplete']); } } midcom::get('head')->add_jquery_state_script('org_openpsa_layout.initialize_search ( ' . json_encode($providers) . ', "' . midgard_admin_asgard_plugin::get_preference('openpsa2_search_provider') . '" );'); }
/** * @param mixed $handler_id The ID of the handler. * @param Array $args The argument list. * @param Array &$data The local request data. */ public function _handler_today($handler_id, array $args, array &$data) { $this->user = midcom::get('auth')->user->get_storage(); if ($handler_id == 'today') { $data['requested_time'] = date('Y-m-d'); } else { // TODO: Check format as YYYY-MM-DD via regexp $data['requested_time'] = $args[0]; } $this->_master->calculate_day($data['requested_time']); $this->_populate_toolbar(); $data['title'] = strftime($data['requested_time']); midcom::get('head')->set_pagetitle($data['title']); // Add the JS file for workingon widget midcom::get('head')->add_jsfile(MIDCOM_STATIC_URL . "/jQuery/jquery.epiclock.min.js"); midcom_helper_datamanager2_widget_autocomplete::add_head_elements(); midcom::get('head')->add_jsfile(MIDCOM_STATIC_URL . "/org.openpsa.mypage/mypage.js"); $this->add_stylesheet(MIDCOM_STATIC_URL . "/org.openpsa.mypage/mypage.css"); $this->add_stylesheet(MIDCOM_STATIC_URL . "/org.openpsa.core/list.css"); //needed js/css-files for jqgrid org_openpsa_widgets_grid::add_head_elements(); //set the start-constraints for journal-entries $time_span = 7 * 24 * 60 * 60; //7 days $this->_request_data['journal_constraints'] = array(array('property' => 'metadata.creator', 'operator' => '=', 'value' => midcom::get('auth')->user->guid), array('property' => 'followUp', 'operator' => '<', 'value' => $this->_request_data['day_start'] + $time_span), array('property' => 'followUp', 'operator' => '>', 'value' => 0), array('property' => 'closed', 'operator' => '=', 'value' => false)); }
/** * @param mixed $handler_id The ID of the handler. * @param Array $args The argument list. * @param Array &$data The local request data. */ public function _handler_frontpage($handler_id, array $args, array &$data) { midcom::get('auth')->require_valid_user(); midcom_helper_datamanager2_widget_autocomplete::add_head_elements(); $data['tree'] = $this->_master->get_group_tree(); $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => 'person/create/', MIDCOM_TOOLBAR_LABEL => $this->_l10n->get('create person'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/stock_person-new.png', MIDCOM_TOOLBAR_ENABLED => midcom::get('auth')->can_user_do('midgard:create', null, 'org_openpsa_contacts_person_dba'))); $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => 'group/create/organization/', MIDCOM_TOOLBAR_LABEL => $this->_l10n->get('create organization'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/stock_people-new.png', MIDCOM_TOOLBAR_ENABLED => midcom::get('auth')->can_user_do('midgard:create', null, 'org_openpsa_contacts_group_dba'))); $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => 'group/create/group/', MIDCOM_TOOLBAR_LABEL => sprintf($this->_l10n_midcom->get('create %s'), $this->_l10n->get('group')), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/stock_people-new.png', MIDCOM_TOOLBAR_ENABLED => midcom::get('auth')->can_user_do('midgard:create', null, 'org_openpsa_contacts_group_dba'))); $p_merger = new org_openpsa_contacts_duplicates_merge('person'); if ($p_merger->merge_needed()) { $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => 'duplicates/person/', MIDCOM_TOOLBAR_LABEL => $this->_l10n->get('merge persons'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/repair.png', MIDCOM_TOOLBAR_ENABLED => midcom::get('auth')->can_user_do('midgard:update', null, 'org_openpsa_contacts_person_dba'))); } if ($this->_topic->can_do('midgard:update') && $this->_topic->can_do('midcom:component_config')) { $this->_node_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => 'config/', MIDCOM_TOOLBAR_LABEL => $this->_l10n_midcom->get('component configuration'), MIDCOM_TOOLBAR_HELPTEXT => $this->_l10n_midcom->get('component configuration helptext'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/stock_folder-properties.png')); } midcom::get('head')->set_pagetitle($this->_l10n->get("my contacts")); }
/** * The handler for the list view * * @param mixed $handler_id the array key from the request array * @param array $args the arguments given to the handler * @param Array &$data The local request data. */ public function _handler_list($handler_id, array $args, array &$data) { midcom::get('auth')->require_valid_user(); // List hours $qb = org_openpsa_projects_hour_report_dba::new_query_builder(); $mode = 'full'; //url for batch_handler $this->_request_data['action_target_url'] = midcom_core_context::get()->get_key(MIDCOM_CONTEXT_ANCHORPREFIX) . "hours/task/batch/"; switch ($handler_id) { case 'list_hours': $this->_master->add_list_filter($qb); $data['view_title'] = $data['l10n']->get('hour reports'); $data['breadcrumb_title'] = $data['view_title']; break; case 'list_hours_task': $this->_master->add_list_filter($qb); // Fallthrough // Fallthrough case 'list_hours_task_all': $task = new org_openpsa_projects_task_dba($args[0]); $qb->add_constraint('task', '=', $task->id); $mode = 'simple'; $data['view_title'] = sprintf($data['l10n']->get($handler_id . " %s"), $task->title); $data['breadcrumb_title'] = $task->get_label(); $siteconfig = org_openpsa_core_siteconfig::get_instance(); $projects_url = $siteconfig->get_node_full_url('org.openpsa.projects'); if ($projects_url) { $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => $projects_url . "task/{$task->guid}/", MIDCOM_TOOLBAR_LABEL => sprintf($this->_l10n->get('show task %s'), $task->title), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/jump-to.png', MIDCOM_TOOLBAR_ACCESSKEY => 'g')); } break; } $qb->add_order('date', 'DESC'); $data['hours'] = $qb->execute(); $this->_load_hour_data($data['hours']); $data['mode'] = $mode; $data['tasks'] = $this->tasks; $data['qb'] = $qb; org_openpsa_widgets_grid::add_head_elements(); midcom_helper_datamanager2_widget_autocomplete::add_head_elements(); org_openpsa_widgets_contact::add_head_elements(); midcom::get('head')->set_pagetitle($data['view_title']); $this->add_breadcrumb('', $data['breadcrumb_title']); }
/** * Special helper for adding the supported operations from read into the toolbar. * * @param mixed $handler_id The ID of the handler. */ private function _populate_read_toolbar($handler_id) { if (!$this->_object->can_do('midgard:update')) { return; } if ($this->_object->status == org_openpsa_projects_task_status_dba::CLOSED) { // TODO: Make POST request $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => "task/{$this->_object->guid}/reopen/", MIDCOM_TOOLBAR_LABEL => $this->_l10n->get('reopen'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/folder-expanded.png')); } else { if ($this->_object->status_type == 'ongoing') { // TODO: Make POST request $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => "task/{$this->_object->guid}/complete/", MIDCOM_TOOLBAR_LABEL => $this->_l10n->get('mark completed'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/new_task.png')); } } $siteconfig = org_openpsa_core_siteconfig::get_instance(); $expenses_url = $siteconfig->get_node_full_url('org.openpsa.expenses'); if ($expenses_url) { midcom_helper_datamanager2_widget_autocomplete::add_head_elements(); org_openpsa_widgets_grid::add_head_elements(); if ($this->_object->status < org_openpsa_projects_task_status_dba::CLOSED) { $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => $expenses_url . "hours/create/hour_report/{$this->_object->guid}/", MIDCOM_TOOLBAR_LABEL => sprintf($this->_l10n_midcom->get('create %s'), $this->_l10n->get('hour report')), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/stock_new-event.png')); } $this->_view_toolbar->add_item(array(MIDCOM_TOOLBAR_URL => $expenses_url . "hours/task/all/{$this->_object->guid}", MIDCOM_TOOLBAR_LABEL => $this->_l10n->get('hour reports'), MIDCOM_TOOLBAR_ICON => 'stock-icons/16x16/scheduled_and_shown.png', MIDCOM_TOOLBAR_ACCESSKEY => 'h')); } org_openpsa_relatedto_plugin::add_button($this->_view_toolbar, $this->_object->guid); }