Changeset 1245


Ignore:
Timestamp:
08/03/09 09:52:13 (15 years ago)
Author:
rodsouza
Message:

Ticket #589 - itens (doc. anexo ao ticket) 1, 2, 3, 4 e 5 integralmente e item 6 parcialmente.

Location:
trunk/workflow
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/workflow/inc/class.bo_orgchart.inc.php

    r795 r1245  
    7171        function addOrganization($params) 
    7272        { 
    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']); 
    7474                $this->disconnect_all(); 
    7575 
     
    8585        function updateOrganization($params) 
    8686        { 
    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']); 
    8888                $this->disconnect_all(); 
    8989 
     
    407407        function addLocal($params) 
    408408        { 
    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 ); 
    410411                $this->disconnect_all(); 
    411412 
     
    421422        function updateLocal($params) 
    422423        { 
    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 ); 
    424426                $this->disconnect_all(); 
    425427 
     
    480482        function addEmployee($params) 
    481483        { 
    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']); 
    483485                $this->disconnect_all(); 
    484486 
     
    494496        function updateEmployee($params) 
    495497        { 
    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']); 
    497499                $this->disconnect_all(); 
    498500 
     
    611613                return $result; 
    612614        } 
     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        } 
    613671} 
    614672?> 
  • trunk/workflow/inc/class.bo_userinterface.inc.php

    r795 r1245  
    978978                return $this->so->getAreaInfo((int) $params['area_id'], $this->organizationInfo['organizacao_id']); 
    979979        } 
     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        } 
    9801008} 
    9811009?> 
  • trunk/workflow/inc/class.so_orgchart.inc.php

    r795 r1245  
    142142 
    143143                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"; 
    145145                else 
    146146                { 
     
    169169         * @access public 
    170170         */ 
    171         function addOrganization($name, $description, $imageURL, $active) 
     171        function addOrganization($name, $description, $imageURL, $active, $siteURL) 
    172172        { 
    173173                $this->_checkAccess(null, true); 
    174174 
    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)); 
    177177                $this->_checkError($result); 
    178178 
     
    190190         * @access public 
    191191         */ 
    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)); 
    198198                $this->_checkError($result); 
    199199 
     
    618618                $this->_checkAccess($organizationID); 
    619619 
    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"; 
    621622                $result = $this->db->query($query, array($organizationID)); 
    622623                $this->_checkError($result); 
     
    638639         * @access public 
    639640         */ 
    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 )); 
    646647                $this->_checkError($result); 
    647648 
     
    658659         * @access public 
    659660         */ 
    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) ); 
    666667                $this->_checkError($result); 
    667668 
     
    699700 
    700701                $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 (?))"; 
    702703                $result = $this->db->query($query, array($areaID, $organizationID, $supervisors)); 
    703704                $this->_checkError($result); 
     
    772773 
    773774                /* 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))  ."))"; 
    775776                $result = $this->db->query($query); 
    776777                $this->_checkError($result); 
     
    803804         * @access public 
    804805         */ 
    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) 
    806807        { 
    807808                $this->_checkAccess($organizationID); 
     
    818819                } 
    819820 
    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)); 
    822823                $this->_checkError($result); 
    823824 
     
    839840         * @access public 
    840841         */ 
    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)); 
    847848                $this->_checkError($result); 
    848849 
     
    10841085                if ($entry === false) 
    10851086                        return array('error' => 'Funcionário não encontrado.'); 
     1087 
    10861088                $outputInfo[] = array( 
    10871089                        'name' => 'Nome', 
    10881090                        'value' => $employeeEntry['cn']); 
     1091 
     1092                $outputInfo[] = array( 
     1093                        'name' => 'Telefone', 
     1094                        'value' => ( ! empty( $employeeEntry['telephonenumber'] ) ? $employeeEntry['telephonenumber'] : '' ) ); 
    10891095 
    10901096                if (!empty($employeeEntry['employeenumber'])) 
     
    11011107                $employeeInfo = $orgchart->getEmployee($employeeID); 
    11021108                $employeeStatusInfo = $orgchart->getEmployeeStatus($employeeInfo['funcionario_status_id']); 
     1109 
    11031110                $outputInfo[] = array( 
    11041111                        'name' => 'Status', 
     
    11131120                } 
    11141121 
    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']) ) 
    11161128                { 
    11171129                        $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                ); 
    11221140 
    11231141                $areaInfo = $orgchart->getArea($employeeInfo['area_id']); 
     
    11301148                        'name' => 'Localidade', 
    11311149                        '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'] : '') ); 
    11321174 
    11331175                if (!empty($employeeInfo['centro_custo_id'])) 
     
    11381180                        'name' => 'Centro de Custo', 
    11391181                        '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']); 
    11401192 
    11411193                return array('info' => $outputInfo); 
     
    12041256                return array('info' => $outputInfo); 
    12051257        } 
     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        } 
    12061336} 
    12071337?> 
  • trunk/workflow/inc/class.so_userinterface.inc.php

    r795 r1245  
    426426                return $output; 
    427427        } 
     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        } 
    428477} 
    429478?> 
  • trunk/workflow/inc/local/classes/class.wf_orgchart.php

    r1131 r1245  
    4242        function getOrganization($organizationID) 
    4343        { 
    44                 $query = "SELECT organizacao_id, nome, descricao, ativa" . 
     44                $query = "SELECT organizacao_id, nome, descricao, ativa, sitio" . 
    4545                                 "  FROM organizacao" . 
    4646                                 " WHERE (organizacao_id = ?)"; 
     
    674674        function getLocal($localID) 
    675675        { 
    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" . 
    677677                                 "  FROM localidade" . 
    678678                                 " WHERE (localidade_id = ?)"; 
     
    954954                        return false; 
    955955 
    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" . 
    957957                                  "  FROM funcionario" . 
    958958                                  " WHERE (funcionario_id = ?)"; 
  • trunk/workflow/js/orgchart/organization.js

    r795 r1245  
    178178                                for (j in data[i]) 
    179179                                        if (typeof data[i][j] != "function") 
     180                                        { 
    180181                                                dataHash[j] = data[i][j]; 
     182                                                if ( dataHash[j] == null ) 
     183                                                        dataHash[j] = ''; 
     184                                        } 
    181185 
    182186                                for (j in tableHeader) 
     
    355359Object.extend(objArea, CadastroArea); 
    356360 
     361var 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}; 
     368var objTelephones = new CadastroAjax(); 
     369Object.extend(objTelephones, CadastroTelefone); 
     370 
    357371function createOrganizationLayout(organizationID, organizationDiv) 
    358372{ 
     
    380394        content += '<li><a href="#" onclick="loadAddAreaUI(' + organizationID  + '); return false;" class="lbOn">Áreas</a></li>'; 
    381395        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>'; 
    382397        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>'; 
    383398        content += '</ul>'; 
     
    624639        content += "<table>"; 
    625640        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 
    626650        content += '<tr><td><label for="centro_custo_id">Centro de Custo</label></td><td id="comboCentroCusto"><i>carregando</i></td></tr>'; 
    627651        content += "</table>"; 
     
    656680        content += '<tr><td><label for="funcionario_categoria_id">Categoria</label></td><td id="comboFuncionarioCategoria"><i>carregando</i></td></tr>'; 
    657681        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&iacute;tulo</label></td><td><input type="text" size="30" name="titulo" id="titulo"/></td></tr>'; 
     684 
    658685        content += '<tr><td><label for="nivel">Nível</label></td><td><input type="text" size="3" name="nivel" id="nivel"/></td></tr>'; 
    659686        content += '<tr><td><label for="area_id">Área</label></td><td id="comboArea"><i>carregando</i></td></tr>'; 
     
    758785} 
    759786 
     787function 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 
    760807function getEmployeeInfoTimer(e, employeeID, organizationID) 
    761808{ 
  • trunk/workflow/js/orgchart/organizations.js

    r795 r1245  
    5858        content += '<tr><td><label for="ativa">Ativa</label></td><td>' + constructSelectBox('ativa', valoresSimNao) + '</td></tr>'; 
    5959        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&iacute;tio</label></td><td><input tyle="text" name="sitio" id="sitio" size="80" /></td></tr>'; 
     62 
    6063        content += "</table>"; 
    6164        content += '</form>'; 
  • trunk/workflow/js/userinterface/orgchart.js

    r795 r1245  
    3434 
    3535        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>'; 
    3646        content += '<li><a href="#" onclick="window.open(\'' + enderecoImagem + '\', \'extwindow\'); return false;"><img src="templateFile.php?file=images/Process.gif">&nbsp;&nbsp;Gráfico</a></li>'; 
    37         content += '<li><a href="#" onclick="getCostCenters(); return false;"><img src="templateFile.php?file=images/coins.png">&nbsp;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">&nbsp;&nbsp;Lista Alfabética</a></li>'; 
    40         content += '<li><a href="#" onclick="getCategoriesList(); return false;"><img src="templateFile.php?file=images/folder_green.png">&nbsp;&nbsp;Listar Vínculos</a></li>'; 
     47        //content += '<li><a href="#" onclick="getCostCenters(); return false;"><img src="templateFile.php?file=images/coins.png">&nbsp;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">&nbsp;&nbsp;Lista Alfabética</a></li>'; 
     50        //content += '<li><a href="#" onclick="getCategoriesList(); return false;"><img src="templateFile.php?file=images/folder_green.png">&nbsp;&nbsp;Listar Vínculos</a></li>'; 
    4151        content += '<li><a href="#" onclick="printArea(); return false;"><img src="templateFile.php?file=images/imprimir.png" width="16">&nbsp;&nbsp;Imprimir</a></li>'; 
    4252        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;">&nbsp;busca</span></a></li>'; 
     
    115125} 
    116126 
     127function 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 
     156function 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 
    117186function displayHierarchicalAreas(data) 
    118187{ 
     
    133202        div.innerHTML = "<center><strong>ÁREAS</strong></center>"; 
    134203        recursivePrint(data); 
     204} 
     205 
     206function getUsefulPhones( ) 
     207{ 
     208        cExecute("$this.bo_userinterface.getUsefulPhones", displayUsefulPhones, ""); 
     209} 
     210 
     211function getAreaWithSubtituteBoss( ) 
     212{ 
     213        cExecute("$this.bo_userinterface.getAreaWithSubtituteBoss", displayAreaWithSubtituteBoss, ""); 
    135214} 
    136215 
Note: See TracChangeset for help on using the changeset viewer.