Changeset 7228 for branches/2.4/workflow
- Timestamp:
- 09/17/12 14:30:47 (12 years ago)
- Location:
- branches/2.4
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.4
- Property svn:mergeinfo changed
-
branches/2.4/workflow/inc/class.bo_orgchart.inc.php
r6507 r7228 407 407 { 408 408 extract( $params ); 409 $result = $this->so->addLocal($organizacao_id, $this->_nullReplace($centro_custo_id), $descricao, $empresa, $endereco, $complemento, $cep, $bairro, $cidade, $uf );409 $result = $this->so->addLocal($organizacao_id, $this->_nullReplace($centro_custo_id), $descricao, $empresa, $endereco, $complemento, $cep, $bairro, $cidade, $uf, $externa ); 410 410 $this->disconnect_all(); 411 411 … … 422 422 { 423 423 extract( $params ); 424 $result = $this->so->updateLocal($organizacao_id, $this->_nullReplace($centro_custo_id), $descricao, $localidade_id, $empresa, $endereco, $complemento, $cep, $bairro, $cidade, $uf );424 $result = $this->so->updateLocal($organizacao_id, $this->_nullReplace($centro_custo_id), $descricao, $localidade_id, $empresa, $endereco, $complemento, $cep, $bairro, $cidade, $uf, $externa ); 425 425 $this->disconnect_all(); 426 426 -
branches/2.4/workflow/inc/class.so_orgchart.inc.php
r6589 r7228 617 617 $this->_checkAccess($organizationID); 618 618 619 $query_fields = 'organizacao_id, localidade_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf ';619 $query_fields = 'organizacao_id, localidade_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf, externa'; 620 620 $query = "SELECT {$query_fields} FROM localidade WHERE organizacao_id = ? ORDER BY descricao"; 621 621 $result = $this->db->query($query, array($organizationID)); … … 623 623 624 624 $output = $result->GetArray(-1); 625 for ($i = 0; $i < count($output); $i++) 625 for ($i = 0; $i < count($output); $i++){ 626 626 for ($j = 0; $j < $result->_numOfFields; $j++) 627 627 unset($output[$i][$j]); 628 $output[$i]['centro_custo_id'] = empty($output[$i]['centro_custo_id']) ? 'NULL' : $output[$i]['centro_custo_id']; 629 } 628 630 629 631 return $output; … … 638 640 * @access public 639 641 */ 640 function addLocal($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state )641 { 642 $this->_checkAccess($organizationID); 643 644 $query = "INSERT INTO localidade(organizacao_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf ) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";645 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state ));642 function addLocal($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state, $external ) 643 { 644 $this->_checkAccess($organizationID); 645 646 $query = "INSERT INTO localidade(organizacao_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf, externa) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 647 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state, $external )); 646 648 $this->_checkError($result); 647 649 … … 658 660 * @access public 659 661 */ 660 function updateLocal($organizationID, $costCenter, $description, $localID, $company, $address, $complement, $zipCode, $neighborhood, $city, $state )661 { 662 $this->_checkAccess($organizationID); 663 664 $query = "UPDATE localidade SET organizacao_id = ?, centro_custo_id = ?, descricao = ?, empresa = ?, endereco = ?, complemento = ?, cep = ?, bairro = ?, cidade = ?, uf = ? WHERE (localidade_id = ?)";665 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state, $ localID) );662 function updateLocal($organizationID, $costCenter, $description, $localID, $company, $address, $complement, $zipCode, $neighborhood, $city, $state, $external ) 663 { 664 $this->_checkAccess($organizationID); 665 666 $query = "UPDATE localidade SET organizacao_id = ?, centro_custo_id = ?, descricao = ?, empresa = ?, endereco = ?, complemento = ?, cep = ?, bairro = ?, cidade = ?, uf = ?, externa = ? WHERE (localidade_id = ?)"; 667 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state, $external, $localID) ); 666 668 $this->_checkError($result); 667 669 … … 967 969 $row['titular_funcionario_id_desc'] = ($row['titular_funcionario_id'] != '') ? $ldap->getName($row['titular_funcionario_id']) : ''; 968 970 $row['auxiliar_funcionario_id_desc'] = ($row['auxiliar_funcionario_id'] != '') ? $ldap->getName($row['auxiliar_funcionario_id']) : ''; 971 $row['superior_area_id'] = empty($row['superior_area_id']) ? 'NULL' : $row['superior_area_id']; 969 972 $output[] = $row; 970 973 } -
branches/2.4/workflow/inc/local/classes/class.wf_orgchart.php
r6244 r7228 111 111 112 112 $output = $result->GetArray(-1); 113 114 return $output; 115 } 116 117 /** 118 * Busca os funcionários de uma organização 119 * 120 * Este método irá buscar na tabela de funcionários, todos os funcionários que pertencem à organização solicitada. 121 * @param int $organizationID O ID da organização. 122 * @param boolean $searchLdap True, caso seja necessário buscar no LDAP os dados dos usuários. Ou false, caso contrário. 123 * @param int $employeeStatusID O ID do status dos funcionários a serem listados. 124 * @return array Uma array seqüencial contendo os funcionários de uma organização. Cada linha do array conterá: 125 * - organizacao_id 126 * - funcionario_id: uidNumber do funcionário 127 * - localidade_id 128 * - localidade_descricao 129 * - area_id 130 * - area_sigla 131 * - centro_custo_id 132 * - nm_centro_custo: número do centro de custo 133 * - centro_custo_descricao 134 * - nome: nome do funcionário (quando busca no Ldap) 135 * - email: email do funcionário (quando busca no Ldap) 136 * - telefone: telefone do funcionário (quando busca no Ldap) 137 * @access public 138 */ 139 function getOrganizationEmployees($organizationID, $searchLdap = false, $employeeStatusID = null) 140 { 141 $query = "SELECT f.organizacao_id, " . 142 " f.funcionario_id, " . 143 " l.localidade_id, " . 144 " l.descricao AS localidade_descricao, " . 145 " a.area_id, " . 146 " a.sigla AS area_sigla, " . 147 " c.centro_custo_id, " . 148 " c.nm_centro_custo, " . 149 " c.descricao AS centro_custo_descricao " . 150 " FROM funcionario f " . 151 " INNER JOIN area a " . 152 " ON (f.area_id = a.area_id) " . 153 " INNER JOIN localidade l " . 154 " ON (f.localidade_id = l.localidade_id) " . 155 " LEFT OUTER JOIN centro_custo c " . 156 " ON (COALESCE(f.centro_custo_id, l.centro_custo_id, a.centro_custo_id) = c.centro_custo_id) " . 157 " WHERE " . 158 " f.organizacao_id = ? "; 159 160 $bindValues = array($organizationID); 161 162 // Se desejar somente retornar as áreas que estão ativas 163 if(!empty($employeeStatusID)){ 164 $query .=" AND f.funcionario_status_id = ? "; 165 $bindValues[] = $employeeStatusID; 166 } 167 168 $query .= " ORDER BY f.funcionario_id"; 169 170 $result = $this->db->query($query, $bindValues); 171 if (!$result) 172 return false; 173 174 $output = $result->GetArray(-1); 175 176 if($searchLdap){ 177 $output = $this->searchEmployeeDataInLdap($output); 178 } 113 179 114 180 return $output; … … 1145 1211 * @param int $organizationID O ID da organização. 1146 1212 * @param boolean $searchLdap True, caso seja necessário buscar no LDAP os dados dos usuários. Ou false, caso contrário. 1213 * @param string $external Null, caso deseje-se recuperar localidades externas e internas à organização. 'S', para recuperar apenas as externas e 'N', para apenas as internas. 1147 1214 * @return array Uma array contendo os dados dos usários e sua localidade 1148 1215 * @access public 1149 1216 */ 1150 function getEmployeesByLocalID($localID = 0, $organizationID = 1, $searchLdap = false )1217 function getEmployeesByLocalID($localID = 0, $organizationID = 1, $searchLdap = false, $external = null) 1151 1218 { 1152 1219 if(!is_numeric($localID) || !is_numeric($organizationID)) … … 1175 1242 } 1176 1243 1244 if(!empty($external) && ($external == 'S' || $external == 'N')){ 1245 $query .= " AND l.externa = ? "; 1246 $param[] = $external; 1247 } 1248 1177 1249 $query .= "ORDER BY l.descricao, a.sigla "; 1178 1250 … … 1183 1255 $output = $result->GetArray(-1); 1184 1256 1185 if(is_array($output) && $searchLdap){ 1257 if($searchLdap){ 1258 $output = $this->searchEmployeeDataInLdap($output); 1259 } 1260 1261 return $output; 1262 } 1263 1264 /** 1265 * Percorre o array passado por parâmetro, buscando os dados dos funcionários no Ldap. Adiciona estes dados no array e o retorna. 1266 * 1267 * @param array $output Array contendo os usuários que deverão ser consultados no Ldap 1268 * @return array Retorna o mesmo array passado por parâmetro, adicionados os dados dos usuários buscados no Ldap 1269 */ 1270 function searchEmployeeDataInLdap($output) 1271 { 1272 if(is_array($output)){ 1186 1273 foreach($output AS $k => $value){ 1187 $user_data = $this->ldap->getEntryByID($value['funcionario_id']); 1188 $output[$k]['nome'] = $user_data['cn']; 1189 $output[$k]['telefone'] = $user_data['telephonenumber']; 1274 if(is_numeric($value['funcionario_id'])){ 1275 $user_data = $this->ldap->getEntryByID($value['funcionario_id']); 1276 $output[$k]['nome'] = $user_data['cn']; 1277 $output[$k]['email'] = $user_data['mail']; 1278 $output[$k]['telefone'] = $user_data['telephonenumber']; 1279 } 1190 1280 } 1191 1281 } 1192 1193 1282 return $output; 1194 1283 } -
branches/2.4/workflow/js/orgchart/organization.js
r6589 r7228 566 566 content += "<table>"; 567 567 content += '<tr><td><label for="descricao">Nome</label></td><td><input type="text" name="descricao" id="descricao" size="30" /></td></tr>'; 568 content += '<tr><td><label for="exibir">Exibir para o usuário</label></td> ' + constructSelectBox('exibir', valoresSimNao) + '</td></tr>';568 content += '<tr><td><label for="exibir">Exibir para o usuário</label></td><td>' + constructSelectBox('exibir', valoresSimNao) + '</td></tr>'; 569 569 content += "</table>"; 570 570 content += '</form>'; … … 659 659 function loadAddLocalUI(organizationID) 660 660 { 661 var valoresSimNao = new Array(); 662 valoresSimNao['S'] = 'Sim'; 663 valoresSimNao['N'] = 'Não'; 664 661 665 var content; 662 666 content = '<h2 id="modalTitle">Adicionar Localidade</h2>'; … … 675 679 676 680 content += '<tr><td><label for="centro_custo_id">Centro de Custo</label></td><td id="comboCentroCusto"><i>carregando</i></td></tr>'; 681 content += '<tr><td><label for="externa">Externa à organização</label></td><td>' + constructSelectBox('externa', valoresSimNao) + '</td></tr>'; 677 682 content += "</table>"; 678 683 content += '</form>'; -
branches/2.4/workflow/setup/default_records.inc.php
r6589 r7228 84 84 $workflowDB->query('CREATE TABLE area_status (area_status_id serial NOT NULL, organizacao_id integer NOT NULL, descricao character varying(50) NOT NULL, nivel integer NOT NULL)'); 85 85 $workflowDB->query('CREATE TABLE centro_custo (organizacao_id integer NOT NULL, centro_custo_id serial NOT NULL, nm_centro_custo integer NOT NULL, grupo character varying(30), descricao character varying(100) NOT NULL)'); 86 $workflowDB->query('CREATE TABLE localidade (organizacao_id integer NOT NULL, localidade_id serial NOT NULL, centro_custo_id integer, descricao character varying(50) NOT NULL, empresa CHARACTER VARYING(100), endereco CHARACTER VARYING(100), complemento CHARACTER VARYING(50), cep CHARACTER VARYING(9), bairro CHARACTER VARYING(30), cidade CHARACTER VARYING(50), uf CHARACTER(2) )');86 $workflowDB->query('CREATE TABLE localidade (organizacao_id integer NOT NULL, localidade_id serial NOT NULL, centro_custo_id integer, descricao character varying(50) NOT NULL, empresa CHARACTER VARYING(100), endereco CHARACTER VARYING(100), complemento CHARACTER VARYING(50), cep CHARACTER VARYING(9), bairro CHARACTER VARYING(30), cidade CHARACTER VARYING(50), uf CHARACTER(2), externa CHARACTER VARYING(1))'); 87 87 $workflowDB->query('CREATE TABLE funcionario (funcionario_id int4 NOT NULL, area_id integer NOT NULL, localidade_id integer NOT NULL, centro_custo_id integer, organizacao_id integer NOT NULL, funcionario_status_id integer NOT NULL, cargo_id int4, nivel int2, funcionario_categoria_id int4, titulo CHARACTER VARYING(30), funcao CHARACTER VARYING(200), data_admissao DATE, apelido CHARACTER VARYING(20))'); 88 88 $workflowDB->query('CREATE TABLE area (organizacao_id integer NOT NULL, area_id serial NOT NULL, area_status_id integer NOT NULL, superior_area_id integer, centro_custo_id integer, titular_funcionario_id int4, sigla character varying(20) NOT NULL, descricao character varying(100) NOT NULL, ativa character varying(1) NOT NULL, auxiliar_funcionario_id int4)'); -
branches/2.4/workflow/setup/setup.inc.php
r6589 r7228 13 13 $setup_info['workflow']['name'] = 'workflow'; 14 14 $setup_info['workflow']['title'] = 'Workflow Management'; 15 $setup_info['workflow']['version'] = '2.4. 1';15 $setup_info['workflow']['version'] = '2.4.2'; 16 16 $setup_info['workflow']['app_order'] = 10; 17 17 $setup_info['workflow']['enable'] = 1; … … 63 63 $setup_info['workflow']['depends'][] = array( 64 64 'appname' => 'preferences', 65 'versions' => Array('0.9.13.002', '2.0', '2.2', '2.4 ')65 'versions' => Array('0.9.13.002', '2.0', '2.2', '2.4.2') 66 66 ); 67 67 ?> -
branches/2.4/workflow/setup/tables_update.inc.php
r6589 r7228 331 331 return $GLOBALS['setup_info']['workflow']['currentver']; 332 332 } 333 334 $test[] = '2.4.0'; 333 334 $test[] = '2.4.0'; 335 335 function workflow_upgrade2_4_0() 336 336 { 337 337 338 338 $workflowHostInfo = extractDatabaseParameters(); 339 339 … … 345 345 $workflowDB->query('ALTER TABLE ONLY public.funcionario ADD COLUMN data_admissao DATE'); 346 346 $workflowDB->query('ALTER TABLE ONLY public.funcionario ADD COLUMN apelido CHARACTER VARYING(20)'); 347 $workflowDB->query('ALTER TABLE ONLY public.localidade ADD COLUMN externa CHARACTER VARYING(1)'); 347 348 } 348 349 … … 352 353 return $GLOBALS['setup_info']['workflow']['currentver']; 353 354 } 355 356 $test[] = '2.4.1'; 357 function workflow_upgrade2_4_1() 358 { 359 $GLOBALS['setup_info']['workflow']['currentver'] = '2.4.2'; 360 return $GLOBALS['setup_info']['workflow']['currentver']; 361 } 362 354 363 ?>
Note: See TracChangeset
for help on using the changeset viewer.