Ignore:
Timestamp:
10/08/13 16:20:46 (11 years ago)
Author:
douglas
Message:

Ticket #0000 - Copiadas as alterações do Trunk. Versão final 2.5.1.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.5/workflow/inc/local/classes/class.wf_instance.php

    r5928 r8232  
    443443 
    444444        /** 
     445        * Busca uma instância pelo id 
     446        * @param int $wf_instance_id O id da instância 
     447        * @return array As instâncias que satisfazem o critério de seleção. 
     448        * @access public 
     449        */ 
     450        public function getById($wf_instance_id) 
     451        { 
     452                /* build the SQL query */ 
     453                $query = 'SELECT i.wf_instance_id AS wf_instance_id, ia.wf_activity_id AS wf_activity_id, ia.wf_started AS wf_started, i.wf_name AS wf_name, i.wf_status AS wf_status, ia.wf_user AS wf_user, i.wf_priority AS wf_priority '; 
     454                $query .= 'FROM egw_wf_instances i LEFT JOIN egw_wf_instance_activities ia ON (ia.wf_instance_id = i.wf_instance_id)'; 
     455                $query .= 'WHERE (i.wf_p_id = ?) AND i.wf_instance_id = ?'; 
     456 
     457                $resultSet = $this->db->query($query, array($this->processID, intval($wf_instance_id))); 
     458                 
     459                return $resultSet->GetArray(); 
     460        } 
     461 
     462        /** 
    445463        * Busca todas as instâncias que possuem esse nome (identificador). 
    446464        * @param string $name O nome da instância que se quer encontrar. 
     
    456474 
    457475                $resultSet = $this->db->query($query, array($this->processID, $name)); 
     476                return $resultSet->GetArray(); 
     477        } 
     478 
     479        /** 
     480        * Busca todas as instâncias que possuem um trecho do nome (identificador). 
     481        * @param string $name O trecho do nome da instância que se quer encontrar. 
     482        * @return array As instâncias que satisfazem o critério de seleção. 
     483        * @access public 
     484        */ 
     485        public function getLikeName($name) 
     486        { 
     487                /* build the SQL query */ 
     488                $query = 'SELECT i.wf_instance_id AS wf_instance_id, ia.wf_activity_id AS wf_activity_id, ia.wf_started AS wf_started, i.wf_name AS wf_name, i.wf_status AS wf_status, ia.wf_user AS wf_user, i.wf_priority AS wf_priority '; 
     489                $query .= 'FROM egw_wf_instances i LEFT JOIN egw_wf_instance_activities ia ON (ia.wf_instance_id = i.wf_instance_id)'; 
     490                $query .= "WHERE (i.wf_p_id = ?) AND i.wf_name ILIKE '%$name%'"; 
     491 
     492                $resultSet = $this->db->query($query, array($this->processID)); 
     493 
    458494                return $resultSet->GetArray(); 
    459495        } 
     
    584620                return $this->setUser($instanceID, $activityID, 'p' . $roleID); 
    585621        } 
     622 
     623        /** 
     624        * Altera o wf_name das instâncias, fazendo o replace no nome da categoria de serviço.  
     625        * Método chamado quando é alterada a categoria de um serviço e existem ocorrências atrelados a esse serviço. 
     626        * @param int | array $instanceID se for um array, concatena os instances ids 
     627        * @param string @currentServiceName Nome da categoria de serviço atual 
     628        * @param string @newServiceName Nome da nova categoria de serviço 
     629        * @return resultSet em caso de sucesso ou false 
     630        * @access public  
     631        */ 
     632        public function updateReplaceName($instanceID, $currentServiceName, $newServiceName) 
     633        { 
     634                $success = true; 
     635 
     636                // Se for array, faz implode concatenando os ids 
     637                if (is_array($instanceID)) 
     638                { 
     639                        $instanceID = implode(',', $instanceID); 
     640                } 
     641 
     642                $query = "UPDATE egw_wf_instances SET wf_name = REPLACE(wf_name, '" . $currentServiceName . "', '" . $newServiceName . "') WHERE wf_instance_id IN (" . $instanceID . ")"; 
     643                $success = $this->db->execute($query); 
     644 
     645                return $success; 
     646        } 
    586647} 
    587648?> 
Note: See TracChangeset for help on using the changeset viewer.