Changeset 1245
- Timestamp:
- 08/03/09 09:52:13 (15 years ago)
- Location:
- trunk/workflow
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/workflow/inc/class.bo_orgchart.inc.php
r795 r1245 71 71 function addOrganization($params) 72 72 { 73 $result = $this->so->addOrganization($params['nome'], $params['descricao'], $params['url_imagem'], $params['ativa'] );73 $result = $this->so->addOrganization($params['nome'], $params['descricao'], $params['url_imagem'], $params['ativa'], $params['sitio']); 74 74 $this->disconnect_all(); 75 75 … … 85 85 function updateOrganization($params) 86 86 { 87 $result = $this->so->updateOrganization($params['nome'], $params['descricao'], $params['url_imagem'], $params['ativa'], $params['organizacao_id'] );87 $result = $this->so->updateOrganization($params['nome'], $params['descricao'], $params['url_imagem'], $params['ativa'], $params['organizacao_id'], $params['sitio']); 88 88 $this->disconnect_all(); 89 89 … … 407 407 function addLocal($params) 408 408 { 409 $result = $this->so->addLocal($params['organizacao_id'], $this->_nullReplace($params['centro_custo_id']), $params['descricao']); 409 extract( $params ); 410 $result = $this->so->addLocal($organizacao_id, $this->_nullReplace($centro_custo_id), $descricao, $empresa, $endereco, $complemento, $cep, $bairro, $cidade, $uf ); 410 411 $this->disconnect_all(); 411 412 … … 421 422 function updateLocal($params) 422 423 { 423 $result = $this->so->updateLocal($params['organizacao_id'], $this->_nullReplace($params['centro_custo_id']), $params['descricao'], $params['localidade_id']); 424 extract( $params ); 425 $result = $this->so->updateLocal($organizacao_id, $this->_nullReplace($centro_custo_id), $descricao, $localidade_id, $empresa, $endereco, $complemento, $cep, $bairro, $cidade, $uf ); 424 426 $this->disconnect_all(); 425 427 … … 480 482 function addEmployee($params) 481 483 { 482 $result = $this->so->addEmployee($params['funcionario_id'], $params['organizacao_id'], $params['area_id'], $this->_nullReplace($params['centro_custo_id']), $params['localidade_id'], $params['funcionario_status_id'], $this->_nullReplace($params['cargo_id']), $this->_nullReplace($params['nivel']), $this->_nullReplace($params['funcionario_categoria_id']) );484 $result = $this->so->addEmployee($params['funcionario_id'], $params['organizacao_id'], $params['area_id'], $this->_nullReplace($params['centro_custo_id']), $params['localidade_id'], $params['funcionario_status_id'], $this->_nullReplace($params['cargo_id']), $this->_nullReplace($params['nivel']), $this->_nullReplace($params['funcionario_categoria_id']), $params['titulo']); 483 485 $this->disconnect_all(); 484 486 … … 494 496 function updateEmployee($params) 495 497 { 496 $result = $this->so->updateEmployee($params['funcionario_id'], $params['organizacao_id'], $params['area_id'], $this->_nullReplace($params['centro_custo_id']), $params['localidade_id'], $params['funcionario_status_id'], $this->_nullReplace($params['cargo_id']), $this->_nullReplace($params['nivel']), $this->_nullReplace($params['funcionario_categoria_id']) );498 $result = $this->so->updateEmployee($params['funcionario_id'], $params['organizacao_id'], $params['area_id'], $this->_nullReplace($params['centro_custo_id']), $params['localidade_id'], $params['funcionario_status_id'], $this->_nullReplace($params['cargo_id']), $this->_nullReplace($params['nivel']), $this->_nullReplace($params['funcionario_categoria_id']), $params['titulo']); 497 499 $this->disconnect_all(); 498 500 … … 611 613 return $result; 612 614 } 615 616 /** 617 * Lista todos os telefones da organização. 618 * @param array $params Uma array contendo o ID da organização de onde os telefones serão listados (Ajax). 619 * @return array Lista de telefones da organização. 620 * @access public 621 */ 622 function listTelephones( $params ) 623 { 624 $result = $this -> so -> getTelephones( $params[ 'organizacao_id' ] ); 625 $this -> disconnect_all( ); 626 627 return $result; 628 } 629 630 /** 631 * Adiciona um telefone a uma organização. 632 * @param array $params Uma array contendo os parâmetros necessários para adicionar um telefone (Ajax). 633 * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 634 * @access public 635 */ 636 function addTelephones( $params ) 637 { 638 $result = $this -> so -> addTelephone( $params[ 'organizacao_id' ], $params[ 'descricao' ], $params[ 'numero' ] ); 639 $this->disconnect_all( ); 640 641 return $result; 642 } 643 644 /** 645 * Atualiza um telefone de uma organização. 646 * @param array $params Uma array contendo os parâmetros de telefone da organização que podem ser alterados (Ajax). 647 * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 648 * @access public 649 */ 650 function updateTelephones( $params ) 651 { 652 $result = $this -> so -> updateTelephone( $params[ 'organizacao_id' ], $params[ 'telefone_id' ], $params[ 'descricao' ], $params[ 'numero' ] ); 653 $this->disconnect_all( ); 654 655 return $result; 656 } 657 658 /** 659 * Remove um telefone de uma organização. 660 * @param array $params Uma array contendo o ID do telefone que será excluído e de sua organização (Ajax). 661 * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 662 * @access public 663 */ 664 function removeTelephones( $params ) 665 { 666 $result = $this -> so -> removeTelephone( $params[ 'organizacao_id' ], $params[ 'telefone_id' ] ); 667 $this->disconnect_all( ); 668 669 return $result; 670 } 613 671 } 614 672 ?> -
trunk/workflow/inc/class.bo_userinterface.inc.php
r795 r1245 978 978 return $this->so->getAreaInfo((int) $params['area_id'], $this->organizationInfo['organizacao_id']); 979 979 } 980 981 /** 982 * Retorna a lista de telefones úteis da organização 983 * @return array Lista de telefones 984 * @access public 985 */ 986 function getUsefulPhones( ) 987 { 988 /* check for access */ 989 if ( ($checkWarnings = $this->checkOrgchartAccess( ) ) !== true ) 990 return $checkWarnings; 991 992 return $this -> so -> getUsefulPhones( $this -> organizationInfo[ 'organizacao_id' ] ); 993 } 994 995 /** 996 * Retorna a lista as áreas com substituição de chefia 997 * @return array Lista das áreas com substituição de chefia 998 * @access public 999 */ 1000 function getAreaWithSubtituteBoss( ) 1001 { 1002 /* check for access */ 1003 if ( ($checkWarnings = $this->checkOrgchartAccess( ) ) !== true ) 1004 return $checkWarnings; 1005 1006 return $this -> so -> getAreaWithSubtituteBoss( $this -> organizationInfo[ 'organizacao_id' ] ); 1007 } 980 1008 } 981 1009 ?> -
trunk/workflow/inc/class.so_orgchart.inc.php
r795 r1245 142 142 143 143 if ($this->isAdmin) 144 $query = "SELECT organizacao_id, nome, descricao, ativa, url_imagem FROM organizacao ORDER BY nome";144 $query = "SELECT organizacao_id, nome, descricao, ativa, url_imagem, sitio FROM organizacao ORDER BY nome"; 145 145 else 146 146 { … … 169 169 * @access public 170 170 */ 171 function addOrganization($name, $description, $imageURL, $active )171 function addOrganization($name, $description, $imageURL, $active, $siteURL) 172 172 { 173 173 $this->_checkAccess(null, true); 174 174 175 $query = "INSERT INTO organizacao(nome, descricao, url_imagem, ativa ) VALUES(?, ?, ?, ?)";176 $result = $this->db->query($query, array($name, $description, $imageURL, $active ));175 $query = "INSERT INTO organizacao(nome, descricao, url_imagem, ativa, sitio) VALUES(?, ?, ?, ?, ?)"; 176 $result = $this->db->query($query, array($name, $description, $imageURL, $active, $siteURL)); 177 177 $this->_checkError($result); 178 178 … … 190 190 * @access public 191 191 */ 192 function updateOrganization($name, $description, $imageURL, $active, $organizationID )193 { 194 $this->_checkAccess($organizationID); 195 196 $query = "UPDATE organizacao SET nome = ?, descricao = ?, url_imagem = ?, ativa = ? WHERE (organizacao_id = ?)";197 $result = $this->db->query($query, array($name, $description, $imageURL, $active, $ organizationID));192 function updateOrganization($name, $description, $imageURL, $active, $organizationID, $siteURL) 193 { 194 $this->_checkAccess($organizationID); 195 196 $query = "UPDATE organizacao SET nome = ?, descricao = ?, url_imagem = ?, ativa = ?, sitio = ? WHERE (organizacao_id = ?)"; 197 $result = $this->db->query($query, array($name, $description, $imageURL, $active, $siteURL, $organizationID)); 198 198 $this->_checkError($result); 199 199 … … 618 618 $this->_checkAccess($organizationID); 619 619 620 $query = "SELECT organizacao_id, localidade_id, centro_custo_id, descricao FROM localidade WHERE organizacao_id = ? ORDER BY descricao"; 620 $query_fields = 'organizacao_id, localidade_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf'; 621 $query = "SELECT {$query_fields} FROM localidade WHERE organizacao_id = ? ORDER BY descricao"; 621 622 $result = $this->db->query($query, array($organizationID)); 622 623 $this->_checkError($result); … … 638 639 * @access public 639 640 */ 640 function addLocal($organizationID, $costCenter, $description )641 { 642 $this->_checkAccess($organizationID); 643 644 $query = "INSERT INTO localidade(organizacao_id, centro_custo_id, descricao ) VALUES(?, ?, ?)";645 $result = $this->db->query($query, array($organizationID, $costCenter, $description ));641 function addLocal($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state ) 642 { 643 $this->_checkAccess($organizationID); 644 645 $query = "INSERT INTO localidade(organizacao_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 646 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state )); 646 647 $this->_checkError($result); 647 648 … … 658 659 * @access public 659 660 */ 660 function updateLocal($organizationID, $costCenter, $description, $localID )661 { 662 $this->_checkAccess($organizationID); 663 664 $query = "UPDATE localidade SET organizacao_id = ?, centro_custo_id = ?, descricao = ? WHERE (localidade_id = ?)";665 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $ localID));661 function updateLocal($organizationID, $costCenter, $description, $localID, $company, $address, $complement, $zipCode, $neighborhood, $city, $state ) 662 { 663 $this->_checkAccess($organizationID); 664 665 $query = "UPDATE localidade SET organizacao_id = ?, centro_custo_id = ?, descricao = ?, empresa = ?, endereco = ?, complemento = ?, cep = ?, bairro = ?, cidade = ?, uf = ? WHERE (localidade_id = ?)"; 666 $result = $this->db->query($query, array($organizationID, $costCenter, $description, $company, $address, $complement, $zipCode, $neighborhood, $city, $state, $localID) ); 666 667 $this->_checkError($result); 667 668 … … 699 700 700 701 $supervisors = '{' . implode(', ', $this->db->GetRow('SELECT COALESCE(titular_funcionario_id, -1) AS titular_funcionario_id, COALESCE(substituto_funcionario_id, -1) AS substituto_funcionario_id FROM area WHERE (area_id = ?) AND (organizacao_id = ?)', array($areaID, $organizationID))) . '}'; 701 $query = "SELECT funcionario_id, funcionario_status_id, centro_custo_id, localidade_id, organizacao_id, area_id, cargo_id, nivel, funcionario_categoria_id FROM funcionario WHERE ((area_id = ?) AND (organizacao_id = ?)) OR (funcionario_id = ANY (?))";702 $query = "SELECT funcionario_id, funcionario_status_id, centro_custo_id, localidade_id, organizacao_id, area_id, cargo_id, nivel, funcionario_categoria_id, titulo FROM funcionario WHERE ((area_id = ?) AND (organizacao_id = ?)) OR (funcionario_id = ANY (?))"; 702 703 $result = $this->db->query($query, array($areaID, $organizationID, $supervisors)); 703 704 $this->_checkError($result); … … 772 773 773 774 /* load employee information */ 774 $query = "SELECT f.funcionario_id, f.funcionario_status_id, f.centro_custo_id, f.localidade_id, f.organizacao_id, f.area_id, f.cargo_id, f.nivel, f.funcionario_categoria_id, a.sigla AS area_sigla FROM funcionario f, area a WHERE (f.area_id = a.area_id) AND (f.organizacao_id = $organizationID) AND (f.funcionario_id IN (" . implode(',', array_keys($unifiedResult)) ."))";775 $query = "SELECT f.funcionario_id, f.funcionario_status_id, f.centro_custo_id, f.localidade_id, f.organizacao_id, f.area_id, f.cargo_id, f.nivel, f.funcionario_categoria_id, f.titulo, a.sigla AS area_sigla FROM funcionario f, area a WHERE (f.area_id = a.area_id) AND (f.organizacao_id = $organizationID) AND (f.funcionario_id IN (" . implode(',', array_keys($unifiedResult)) ."))"; 775 776 $result = $this->db->query($query); 776 777 $this->_checkError($result); … … 803 804 * @access public 804 805 */ 805 function addEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID )806 function addEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title) 806 807 { 807 808 $this->_checkAccess($organizationID); … … 818 819 } 819 820 820 $query = "INSERT INTO funcionario(funcionario_id, organizacao_id, area_id, centro_custo_id, localidade_id, funcionario_status_id, cargo_id, nivel, funcionario_categoria_id ) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)";821 $result = $this->db->query($query, array($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID ));821 $query = "INSERT INTO funcionario(funcionario_id, organizacao_id, area_id, centro_custo_id, localidade_id, funcionario_status_id, cargo_id, nivel, funcionario_categoria_id, titulo) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; 822 $result = $this->db->query($query, array($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title)); 822 823 $this->_checkError($result); 823 824 … … 839 840 * @access public 840 841 */ 841 function updateEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID )842 { 843 $this->_checkAccess($organizationID); 844 845 $query = "UPDATE funcionario SET area_id = ?, centro_custo_id = ?, localidade_id = ?, funcionario_status_id = ?, cargo_id = ?, nivel = ?, funcionario_categoria_id = ? WHERE (funcionario_id = ?) AND (organizacao_id = ?)";846 $result = $this->db->query($query, array($areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $ employeeID, $organizationID));842 function updateEmployee($employeeID, $organizationID, $areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title) 843 { 844 $this->_checkAccess($organizationID); 845 846 $query = "UPDATE funcionario SET area_id = ?, centro_custo_id = ?, localidade_id = ?, funcionario_status_id = ?, cargo_id = ?, nivel = ?, funcionario_categoria_id = ?, titulo = ? WHERE (funcionario_id = ?) AND (organizacao_id = ?)"; 847 $result = $this->db->query($query, array($areaID, $costCenterID, $localID, $employeeStatusID, $jobTitleID, $level, $employeeCategoryID, $title, $employeeID, $organizationID)); 847 848 $this->_checkError($result); 848 849 … … 1084 1085 if ($entry === false) 1085 1086 return array('error' => 'Funcionário não encontrado.'); 1087 1086 1088 $outputInfo[] = array( 1087 1089 'name' => 'Nome', 1088 1090 'value' => $employeeEntry['cn']); 1091 1092 $outputInfo[] = array( 1093 'name' => 'Telefone', 1094 'value' => ( ! empty( $employeeEntry['telephonenumber'] ) ? $employeeEntry['telephonenumber'] : '' ) ); 1089 1095 1090 1096 if (!empty($employeeEntry['employeenumber'])) … … 1101 1107 $employeeInfo = $orgchart->getEmployee($employeeID); 1102 1108 $employeeStatusInfo = $orgchart->getEmployeeStatus($employeeInfo['funcionario_status_id']); 1109 1103 1110 $outputInfo[] = array( 1104 1111 'name' => 'Status', … … 1113 1120 } 1114 1121 1115 if (!empty($employeeInfo['cargo_id'])) 1122 $cargo = NULL; 1123 if ( !empty( $employeeInfo['titulo'] ) ) 1124 { 1125 $cargo = $employeeInfo['titulo']; 1126 } 1127 else if ( !empty($employeeInfo['cargo_id']) ) 1116 1128 { 1117 1129 $jobTitleInfo = $orgchart->getJobTitle($employeeInfo['cargo_id']); 1118 $outputInfo[] = array( 1119 'name' => 'Cargo', 1120 'value' => $jobTitleInfo['descricao'] . ((!empty($employeeInfo['nivel'])) ? (' (Nível: ' . $employeeInfo['nivel'] . ')') : '')); 1121 } 1130 $cargo = $jobTitleInfo['descricao']; 1131 } 1132 1133 if ( $cargo ) 1134 $cargo .= ( !empty($employeeInfo['nivel']) ? " (Nível: {$employeeInfo['nivel']})" : '' ); 1135 1136 $outputInfo[] = array( 1137 'name' => 'Cargo', 1138 'value' => ( $cargo ? $cargo : '' ) 1139 ); 1122 1140 1123 1141 $areaInfo = $orgchart->getArea($employeeInfo['area_id']); … … 1130 1148 'name' => 'Localidade', 1131 1149 'value' => $localInfo['descricao']); 1150 1151 $outputInfo[] = array( 1152 'name' => 'Empresa', 1153 'value' => ( ! empty( $localInfo['empresa'] ) ? $localInfo['empresa'] : '') );; 1154 1155 $outputInfo[] = array( 1156 'name' => 'Endereço', 1157 'value' => ( ! empty( $localInfo['endereco'] ) ? $localInfo['endereco'] : '') ); 1158 1159 $outputInfo[] = array( 1160 'name' => 'Complemento', 1161 'value' => ( ! empty( $localInfo['complemento'] ) ? $localInfo['complemento'] : '') );; 1162 1163 $outputInfo[] = array( 1164 'name' => 'Cep', 1165 'value' => ( ! empty( $localInfo['cep'] ) ? $localInfo['cep'] : '') ); 1166 1167 $outputInfo[] = array( 1168 'name' => 'Bairro', 1169 'value' => ( ! empty( $localInfo['bairro'] ) ? $localInfo['bairro'] : '') ); 1170 1171 $outputInfo[] = array( 1172 'name' => 'Cidade', 1173 'value' => ( ! empty( $localInfo['cidade'] ) ? $localInfo['cidade'] : '') ); 1132 1174 1133 1175 if (!empty($employeeInfo['centro_custo_id'])) … … 1138 1180 'name' => 'Centro de Custo', 1139 1181 'value' => $costCenterInfo['descricao']); 1182 1183 $outputInfo[] = array( 1184 'name' => 'e-mail', 1185 'value' => $employeeEntry['mail']); 1186 1187 $organizationInfo = $orgchart->getOrganization( $employeeInfo['organizacao_id'] ); 1188 1189 $outputInfo[] = array( 1190 'name' => 'sitio', 1191 'value' => $organizationInfo['sitio']); 1140 1192 1141 1193 return array('info' => $outputInfo); … … 1204 1256 return array('info' => $outputInfo); 1205 1257 } 1258 1259 /** 1260 * Lista todos os telefones da organização. 1261 * @return array Lista de telefones da organização. 1262 * @access public 1263 */ 1264 function getTelephones( $organizationID ) 1265 { 1266 $this -> _checkAccess( $organizationID ); 1267 1268 $query = "SELECT organizacao_id, telefone_id, descricao, numero FROM telefone WHERE organizacao_id = ? ORDER BY descricao"; 1269 $result = $this -> db -> query( $query, array( $organizationID ) ); 1270 $this -> _checkError( $result ); 1271 1272 $output = $result->GetArray(-1); 1273 for ($i = 0; $i < count($output); $i++) 1274 for ($j = 0; $j < $result->_numOfFields; $j++) 1275 unset($output[$i][$j]); 1276 1277 return $output; 1278 } 1279 1280 /** 1281 * Adiciona um telefone a uma organização. 1282 * @param int $organizationID O ID da organização. 1283 * @param string $description A descrição da localidade. 1284 * @param string $number String com os números de telefones. 1285 * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 1286 * @access public 1287 */ 1288 function addTelephone( $organizationID, $description, $number ) 1289 { 1290 $this->_checkAccess( $organizationID ); 1291 1292 $query = "INSERT INTO telefone( organizacao_id, descricao, numero ) VALUES( ?, ?, ? )"; 1293 $result = $this -> db -> query( $query, array( $organizationID, $description, $number ) ); 1294 $this -> _checkError( $result ); 1295 1296 return (($result === false) ? false : true); 1297 } 1298 1299 /** 1300 * Remove um telefone. 1301 * @param int $organizationID O ID da organização. 1302 * @param int $telephoneID O ID do telefone. 1303 * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 1304 * @access public 1305 */ 1306 function removeTelephone( $organizationID, $telephoneID ) 1307 { 1308 $this->_checkAccess( $organizationID ); 1309 1310 $query = "DELETE FROM telefone WHERE (telefone_id = ?) AND (organizacao_id = ?)"; 1311 $result = $this -> db -> query( $query, array( $telephoneID, $organizationID ) ); 1312 $this -> _checkError( $result ); 1313 1314 return ( ( $result === false ) ? false : true ); 1315 } 1316 1317 /** 1318 * Atualiza um telefone. 1319 * @param int $organizationID O ID da organização. 1320 * @param int $telephoneID O ID do telefone. 1321 * @param string $description A descrição do telefone. 1322 * @param string $number String com os números de telefones. 1323 * @return bool TRUE se a ação foi concluída com êxito e FALSE caso contrário. 1324 * @access public 1325 */ 1326 function updateTelephone( $organizationID, $telephoneID, $description, $number ) 1327 { 1328 $this->_checkAccess( $organizationID ); 1329 1330 $query = "UPDATE telefone SET descricao = ?, numero = ? WHERE (telefone_id = ?)"; 1331 $result = $this -> db -> query( $query, array( $description, $number, $telephoneID ) ); 1332 $this->_checkError( $result ); 1333 1334 return ( ( $result === false ) ? false : true ); 1335 } 1206 1336 } 1207 1337 ?> -
trunk/workflow/inc/class.so_userinterface.inc.php
r795 r1245 426 426 return $output; 427 427 } 428 429 /** 430 * Get useful phones list 431 * @param int $organizationID The organization ID 432 * @return array Useful phones list 433 * @access public 434 */ 435 function getUsefulPhones( $organizationID ) 436 { 437 $result = $this -> db -> query( "SELECT descricao, numero FROM telefone WHERE (organizacao_id = ?) ORDER BY descricao", array( $organizationID ) ); 438 439 $output = $result->GetArray(-1); 440 for ($i = 0; $i < count($output); $i++) 441 for ($j = 0; $j < $result->_numOfFields; $j++) 442 unset($output[$i][$j]); 443 444 return $output; 445 } 446 447 /** 448 * Get areas with substitute boss 449 * @param int $organizationID The organization ID 450 * @return array areas with substitute boss 451 * @access public 452 */ 453 function getAreaWithSubtituteBoss( $organizationID ) 454 { 455 $result = $this -> db -> query( "SELECT sigla as area, titular_funcionario_id as titular, substituto_funcionario_id as substituto FROM area WHERE (organizacao_id = ?) and substituto_funcionario_id is not null ORDER BY area", array( $organizationID ) ); 456 457 $cachedLDAP = $GLOBALS[ 'workflow' ][ 'factory' ] -> newInstance( 'CachedLDAP' ); 458 $cachedLDAP -> setOperationMode( $cachedLDAP -> OPERATION_MODE_LDAP_DATABASE ); 459 460 $output = $result->GetArray(-1); 461 for ( $i = 0; $i < count($output); $i++ ) 462 { 463 for ($j = 0; $j < $result->_numOfFields; $j++) 464 unset($output[$i][$j]); 465 466 $entry = $cachedLDAP -> getEntryByID( $output[ $i ][ 'titular' ] ); 467 if ( $entry && ( ! is_null( $entry[ 'cn' ] ) ) ) 468 $output[ $i ][ 'titular' ] = $entry[ 'cn' ]; 469 470 $entry = $cachedLDAP -> getEntryByID( $output[ $i ][ 'substituto' ] ); 471 if ( $entry && ( ! is_null( $entry[ 'cn' ] ) ) ) 472 $output[ $i ][ 'substituto' ] = $entry[ 'cn' ]; 473 } 474 475 return $output; 476 } 428 477 } 429 478 ?> -
trunk/workflow/inc/local/classes/class.wf_orgchart.php
r1131 r1245 42 42 function getOrganization($organizationID) 43 43 { 44 $query = "SELECT organizacao_id, nome, descricao, ativa " .44 $query = "SELECT organizacao_id, nome, descricao, ativa, sitio" . 45 45 " FROM organizacao" . 46 46 " WHERE (organizacao_id = ?)"; … … 674 674 function getLocal($localID) 675 675 { 676 $query = "SELECT organizacao_id, localidade_id, centro_custo_id, descricao " .676 $query = "SELECT organizacao_id, localidade_id, centro_custo_id, descricao, empresa, endereco, complemento, cep, bairro, cidade, uf" . 677 677 " FROM localidade" . 678 678 " WHERE (localidade_id = ?)"; … … 954 954 return false; 955 955 956 $query = "SELECT funcionario_id, area_id, localidade_id, centro_custo_id, organizacao_id, funcionario_status_id, cargo_id, nivel, funcionario_categoria_id " .956 $query = "SELECT funcionario_id, area_id, localidade_id, centro_custo_id, organizacao_id, funcionario_status_id, cargo_id, nivel, funcionario_categoria_id, titulo" . 957 957 " FROM funcionario" . 958 958 " WHERE (funcionario_id = ?)"; -
trunk/workflow/js/orgchart/organization.js
r795 r1245 178 178 for (j in data[i]) 179 179 if (typeof data[i][j] != "function") 180 { 180 181 dataHash[j] = data[i][j]; 182 if ( dataHash[j] == null ) 183 dataHash[j] = ''; 184 } 181 185 182 186 for (j in tableHeader) … … 355 359 Object.extend(objArea, CadastroArea); 356 360 361 var CadastroTelefone = 362 { 363 name: 'telephones', 364 required: new Array('organizacao_id', 'descricao', 'numero'), 365 tableHeader: {'descricao': 'Descrição', 'numero': 'Telefones'}, 366 combo: {'id': 'telefone_id', 'name': 'descricao'} 367 }; 368 var objTelephones = new CadastroAjax(); 369 Object.extend(objTelephones, CadastroTelefone); 370 357 371 function createOrganizationLayout(organizationID, organizationDiv) 358 372 { … … 380 394 content += '<li><a href="#" onclick="loadAddAreaUI(' + organizationID + '); return false;" class="lbOn">Áreas</a></li>'; 381 395 content += '<li><a href="#" onclick="loadAddEmployeeUI(' + organizationID + '); return false;" class="lbOn">Funcionários</a></li>'; 396 content += '<li><a href="#" onclick="loadAddTelephoneUI(' + organizationID + '); return false;" class="lbOn">Telefones</a></li>'; 382 397 content += '<li><a><input type="text" name="search_term" id="search_term" onkeypress="if (((window.Event) ? event.which : event.keyCode) == 13) $(\'search_span_' + organizationID + '\').onclick(); return true;" /> <span id="search_span_' + organizationID + '" onclick="tmp = $$(\'div#orgchartAreas_' + organizationID + ' a.destaque\'); if (tmp[0]) tmp[0].removeClassName(\'destaque\'); searchEmployee(' + organizationID + ', $(\'orgchartEmployees_' + organizationID + '\')); return false;">busca</span></a></li>'; 383 398 content += '</ul>'; … … 624 639 content += "<table>"; 625 640 content += '<tr><td><label for="descricao">Nome</label></td><td><input type="text" name="descricao" id="descricao" size="30" /></td></tr>'; 641 642 content += '<tr><td><label for="empresa">Empresa</label></td><td><input type="text" name="empresa" id="empresa" size="80" /></td></tr>'; 643 content += '<tr><td><label for="endereco">Endereço</label></td><td><input type="text" name="endereco" id="endereco" size="80" /></td></tr>'; 644 content += '<tr><td><label for="complemento">Complemento</label></td><td><input type="text" name="complemento" id="complemento" size="50" /></td></tr>'; 645 content += '<tr><td><label for="cep">Cep</label></td><td><input type="text" name="cep" id="cep" size="10" /></td></tr>'; 646 content += '<tr><td><label for="bairro">Bairro</label></td><td><input type="text" name="bairro" id="bairro" size="30" /></td></tr>'; 647 content += '<tr><td><label for="cidade">Cidade</label></td><td><input type="text" name="cidade" id="cidade" size="50" /></td></tr>'; 648 content += '<tr><td><label for="uf">UF</label></td><td><input type="text" name="uf" id="uf" size="2" maxlength="2" /></td></tr>'; 649 626 650 content += '<tr><td><label for="centro_custo_id">Centro de Custo</label></td><td id="comboCentroCusto"><i>carregando</i></td></tr>'; 627 651 content += "</table>"; … … 656 680 content += '<tr><td><label for="funcionario_categoria_id">Categoria</label></td><td id="comboFuncionarioCategoria"><i>carregando</i></td></tr>'; 657 681 content += '<tr><td><label for="cargo_id">Cargo</label></td><td id="comboCargo"><i>carregando</i></td></tr>'; 682 683 content += '<tr><td><label for="titulo">Título</label></td><td><input type="text" size="30" name="titulo" id="titulo"/></td></tr>'; 684 658 685 content += '<tr><td><label for="nivel">Nível</label></td><td><input type="text" size="3" name="nivel" id="nivel"/></td></tr>'; 659 686 content += '<tr><td><label for="area_id">Área</label></td><td id="comboArea"><i>carregando</i></td></tr>'; … … 758 785 } 759 786 787 function loadAddTelephoneUI(organizationID) 788 { 789 var content; 790 content = '<h2 id="modalTitle">Adicionar Telefones da Organização</h2>'; 791 content += '<form name="orgchartForm" id="orgchartForm">'; 792 content += '<input type="hidden" name="organizacao_id" id="organizacao_id" value="' + organizationID + '" />'; 793 content += '<table>'; 794 content += '<tr><td><label for="descricao">Descrição</label></td><td><input type="text" name="descricao" id="descricao" size="50" /></td></tr>'; 795 content += '<tr><td><label for="nivel">Telefones</label></td><td><input type="text" name="numero" id="numero" size="50" /></td></tr>'; 796 content += "</table>"; 797 content += '</form>'; 798 content += '<button id="inserir" onclick="objTelephones.add(); return false;">Inserir</button>'; 799 content += '<button onclick="valid.deactivate(); return false;">Cancelar</button>'; 800 801 var divLB = $( 'lbContent' ); 802 divLB.innerHTML = content; 803 $( 'descricao' ).focus( ); 804 objTelephones.generateUpdateTable( { 'organizacao_id' : organizationID }, divLB ); 805 } 806 760 807 function getEmployeeInfoTimer(e, employeeID, organizationID) 761 808 { -
trunk/workflow/js/orgchart/organizations.js
r795 r1245 58 58 content += '<tr><td><label for="ativa">Ativa</label></td><td>' + constructSelectBox('ativa', valoresSimNao) + '</td></tr>'; 59 59 content += '<tr><td><label for="url_imagem">Imagem</label></td><td><input tyle="text" name="url_imagem" id="url_imagem" size="50" /></td></tr>'; 60 61 content += '<tr><td><label for="sitio">Sítio</label></td><td><input tyle="text" name="sitio" id="sitio" size="80" /></td></tr>'; 62 60 63 content += "</table>"; 61 64 content += '</form>'; -
trunk/workflow/js/userinterface/orgchart.js
r795 r1245 34 34 35 35 var content = '<ul class="horizontalMenu">'; 36 content += '<li style="margin: 5px 5px 0 5px">Visualizar : <select>' 37 content += '<option>-- Selecione uma opção de visualização --</option>' 38 content += '<option onclick="">Alfabética</option>' 39 content += '<option onclick="getHierarchicalArea( );">Áreas</option>' 40 content += '<option onclick="">Lotação</option>' 41 content += '<option onclick="getUsefulPhones( );">Telefones Úteis</option>' 42 content += '<option onclick="getAreaWithSubtituteBoss( )">Substituição de Chefia</option>' 43 content += '<option onclick="getCostCenters( );">Centros de Custo</option>' 44 content += '<option onclick="">Vínculos</option>' 45 content += '</select></li>'; 36 46 content += '<li><a href="#" onclick="window.open(\'' + enderecoImagem + '\', \'extwindow\'); return false;"><img src="templateFile.php?file=images/Process.gif"> Gráfico</a></li>'; 37 content += '<li><a href="#" onclick="getCostCenters(); return false;"><img src="templateFile.php?file=images/coins.png"> Centros de Custo</a></li>';38 content += '<li><a href="#" onclick="getHierarchicalArea(); return false;"><img src="templateFile.php?file=images/orgchart_tree.png">Lista Hierárquica</a></li>';39 content += '<li><a href="#" onclick="getAreaList(); return false;"><img src="templateFile.php?file=images/orgchart_list.png"> Lista Alfabética</a></li>';40 content += '<li><a href="#" onclick="getCategoriesList(); return false;"><img src="templateFile.php?file=images/folder_green.png"> Listar Vínculos</a></li>';47 //content += '<li><a href="#" onclick="getCostCenters(); return false;"><img src="templateFile.php?file=images/coins.png"> Centros de Custo</a></li>'; 48 //content += '<li><a href="#" onclick="getHierarchicalArea(); return false;"><img src="templateFile.php?file=images/orgchart_tree.png">Lista Hierárquica</a></li>'; 49 //content += '<li><a href="#" onclick="getAreaList(); return false;"><img src="templateFile.php?file=images/orgchart_list.png"> Lista Alfabética</a></li>'; 50 //content += '<li><a href="#" onclick="getCategoriesList(); return false;"><img src="templateFile.php?file=images/folder_green.png"> Listar Vínculos</a></li>'; 41 51 content += '<li><a href="#" onclick="printArea(); return false;"><img src="templateFile.php?file=images/imprimir.png" width="16"> Imprimir</a></li>'; 42 52 content += '<li><a><input type="text" name="search_term" id="search_term" onkeypress="if (((event.which) ? event.which : event.keyCode) == 13) $(\'search_span\').onclick(); return true;" /><span id="search_span" style="cursor: pointer;" onclick="tmp = $$(\'div#orgchartAreas a.destaque\'); if (tmp[0]) tmp[0].removeClassName(\'destaque\'); orgchartSearchEmployee($F(\'search_term\')); return false;"> busca</span></a></li>'; … … 115 125 } 116 126 127 function displayUsefulPhones( data ) 128 { 129 if ( _checkError( data ) ) 130 return; 131 132 var div = $('orgchartEmployees'); 133 if (data.length == 0) 134 { 135 div.innerHTML = '<br/><br/><center><strong>Nenhum registro encontrado</strong></center>'; 136 return; 137 } 138 139 var content = '<center><h3>TELEFONES ÚTEIS</strong></h3>'; 140 content += '<table class="employeeList">'; 141 content += '<tr><th>Localidade</th><th>Número</th></tr>'; 142 var current; 143 var usefulPhoneCount = data.length; 144 for (var i = 0; i < usefulPhoneCount; i++) 145 { 146 current = data[i]; 147 content += '<tr class="linha'+ i%2 + '">'; 148 content += '<td>' + current[ 'descricao' ] + '</td>'; 149 content += '<td>' + current[ 'numero' ] + '</td>'; 150 content += '</tr>'; 151 } 152 content += '</table>'; 153 div.innerHTML = content; 154 } 155 156 function displayAreaWithSubtituteBoss( data ) 157 { 158 if ( _checkError( data ) ) 159 return; 160 161 var div = $('orgchartEmployees'); 162 if (data.length == 0) 163 { 164 div.innerHTML = '<br/><br/><center><strong>Nenhum registro encontrado</strong></center>'; 165 return; 166 } 167 168 var content = '<center><h3>Áreas com Substituição de Chefia</strong></h3>'; 169 content += '<table class="employeeList">'; 170 content += '<tr><th>Área</th><th>Titular</th><th>Substituto</th></tr>'; 171 var current; 172 var usefulPhoneCount = data.length; 173 for (var i = 0; i < usefulPhoneCount; i++) 174 { 175 current = data[i]; 176 content += '<tr class="linha'+ i%2 + '">'; 177 content += '<td>' + current['area'] + '</td>'; 178 content += '<td>' + current['titular'] + '</td>'; 179 content += '<td>' + current['substituto'] + '</td>'; 180 content += '</tr>'; 181 } 182 content += '</table>'; 183 div.innerHTML = content; 184 } 185 117 186 function displayHierarchicalAreas(data) 118 187 { … … 133 202 div.innerHTML = "<center><strong>ÁREAS</strong></center>"; 134 203 recursivePrint(data); 204 } 205 206 function getUsefulPhones( ) 207 { 208 cExecute("$this.bo_userinterface.getUsefulPhones", displayUsefulPhones, ""); 209 } 210 211 function getAreaWithSubtituteBoss( ) 212 { 213 cExecute("$this.bo_userinterface.getAreaWithSubtituteBoss", displayAreaWithSubtituteBoss, ""); 135 214 } 136 215
Note: See TracChangeset
for help on using the changeset viewer.