Exemplo n.º 1
0
 /**
  * Populates contacts as resources lists
  */
 function get_members()
 {
     if (!$this->guid) {
         return false;
     }
     if (!is_array($this->contacts)) {
         $this->contacts = array();
     }
     if (!is_array($this->resources)) {
         $this->resources = array();
     }
     $mc = org_openpsa_contacts_role_dba::new_collector('objectGuid', $this->guid);
     $mc->add_value_property('role');
     $mc->add_value_property('person');
     $mc->add_constraint('role', '<>', ORG_OPENPSA_OBTYPE_PROJECTPROSPECT);
     $mc->execute();
     $ret = $mc->list_keys();
     if (is_array($ret) && count($ret) > 0) {
         foreach ($ret as $guid => $empty) {
             switch ($mc->get_subkey($guid, 'role')) {
                 case ORG_OPENPSA_OBTYPE_PROJECTCONTACT:
                     $varName = 'contacts';
                     break;
                 default:
                     //fall-trough intentional
                 //fall-trough intentional
                 case ORG_OPENPSA_OBTYPE_PROJECTRESOURCE:
                     $varName = 'resources';
                     break;
             }
             $this->{$varName}[$mc->get_subkey($guid, 'person')] = true;
         }
     }
     return true;
 }
Exemplo n.º 2
0
 /**
  * Populates contacts as resources lists
  */
 function get_members()
 {
     if (!$this->id) {
         return false;
     }
     $this->_contacts = array();
     $mc = org_openpsa_contacts_role_dba::new_collector('objectGuid', $this->guid);
     $mc->add_constraint('role', '=', ORG_OPENPSA_OBTYPE_SALESPROJECT_MEMBER);
     $members = $mc->get_values('person');
     foreach ($members as $member) {
         $this->_contacts[$member] = true;
     }
     if ($this->customerContact) {
         $this->_contacts[$this->customerContact] = true;
     }
     return true;
 }
Exemplo n.º 3
0
 /**
  * Used by org_openpsa_relatedto_find_suspects to in case the given object is a person
  */
 private function _org_openpsa_relatedto_find_suspects_person(&$object, &$defaults, &$links_array)
 {
     $seen_sp = array();
     $mc = org_openpsa_contacts_role_dba::new_collector('role', ORG_OPENPSA_OBTYPE_SALESPROJECT_MEMBER);
     $mc->add_constraint('person', '=', array_keys($object->id));
     $guids = $mc->get_values('objectGuid');
     if (!empty($guids)) {
         $qb = org_openpsa_sales_salesproject_dba::new_query_builder();
         $qb->add_constraint('status', '=', org_openpsa_sales_salesproject_dba::STATUS_ACTIVE);
         $qb->add_constraint('guid', 'IN', $guids);
         $qbret = @$qb->execute();
         if (is_array($qbret)) {
             foreach ($qbret as $salesproject) {
                 if (isset($seen_sp[$salesproject->id])) {
                     //Only process one salesproject once (someone might be both resource and contact for example)
                     continue;
                 }
                 $seen_sp[$salesproject->id] = true;
                 $to_array = array('other_obj' => false, 'link' => false);
                 $link = new org_openpsa_relatedto_dba();
                 org_openpsa_relatedto_suspect::defaults_helper($link, $defaults, $this->_component, $salesproject);
                 $to_array['other_obj'] = $salesproject;
                 $to_array['link'] = $link;
                 $links_array[] = $to_array;
             }
         }
     }
     $qb2 = org_openpsa_sales_salesproject_dba::new_query_builder();
     $qb2->add_constraint('owner', '=', $object->id);
     $qb2->add_constraint('status', '=', org_openpsa_sales_salesproject_dba::STATUS_ACTIVE);
     $qb2ret = @$qb2->execute();
     if (is_array($qb2ret)) {
         foreach ($qb2ret as $sp) {
             if (isset($seen_sp[$sp->id])) {
                 //Only process one task once (someone might be both resource and contact for example)
                 continue;
             }
             $seen_sp[$sp->id] = true;
             $to_array = array('other_obj' => false, 'link' => false);
             $link = new org_openpsa_relatedto_dba();
             org_openpsa_relatedto_suspect::defaults_helper($link, $defaults, $this->_component, $sp);
             $to_array['other_obj'] = $sp;
             $to_array['link'] = $link;
             $links_array[] = $to_array;
         }
     }
 }