Esempio n. 1
0
 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') . '"
     );');
 }
Esempio n. 2
0
 /**
  * @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));
 }
Esempio n. 3
0
 /**
  * @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"));
 }
Esempio n. 4
0
 /**
  * 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']);
 }
Esempio n. 5
0
 /**
  * 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);
 }