Commit 538e988c544571fef5f611ac186065c3d4f7db36
1 parent
1f0bb11a
Exists in
master
redmine #4583 busca permissao documento
Showing
16 changed files
with
127 additions
and
9 deletions
Show diff stats
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/ColaboradorDao.java
| ... | ... | @@ -141,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO { |
| 141 | 141 | */ |
| 142 | 142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); |
| 143 | 143 | |
| 144 | + /** | |
| 145 | + * Método responsável por obter permissão para assinatura de documento | |
| 146 | + * @author rogerio.cassimiro | |
| 147 | + * @param idUsuario | |
| 148 | + * @return {@link Boolean} | |
| 149 | + */ | |
| 150 | + boolean getPermissaoAssinaturaDocumento(Long idUsuario); | |
| 144 | 151 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/PessoaDao.java
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/TerceirizadoDao.java
| ... | ... | @@ -25,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; |
| 25 | 25 | */ |
| 26 | 26 | public interface TerceirizadoDao extends CitGenericDAO { |
| 27 | 27 | |
| 28 | + /** | |
| 29 | + * Método responsável por obter permissão para assinatura de documento | |
| 30 | + * @author rogerio.cassimiro | |
| 31 | + * @param idUsuario | |
| 32 | + * @return {@link Boolean} | |
| 33 | + */ | |
| 34 | + boolean getPermissaoAssinaturaDocumento(Long idUsuario); | |
| 28 | 35 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/ColaboradorDaoHibernate.java
| ... | ... | @@ -10,6 +10,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
| 10 | 10 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
| 11 | 11 | import br.com.centralit.framework.model.Dominio; |
| 12 | 12 | import br.com.centralit.framework.model.Usuario; |
| 13 | +import br.com.centralit.framework.util.UtilObjeto; | |
| 13 | 14 | |
| 14 | 15 | import com.googlecode.genericdao.search.Sort; |
| 15 | 16 | |
| ... | ... | @@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo |
| 183 | 184 | |
| 184 | 185 | return this.search(search, Colaborador.class); |
| 185 | 186 | } |
| 187 | + | |
| 188 | + /** | |
| 189 | + * Método responsável por obter permissão para assinatura de documento | |
| 190 | + * @author rogerio.cassimiro | |
| 191 | + * @param idUsuario | |
| 192 | + * @return {@link Boolean} | |
| 193 | + */ | |
| 194 | + @Override | |
| 195 | + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) { | |
| 196 | + SearchSeven searchSeven = new SearchSeven(); | |
| 197 | + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario); | |
| 198 | + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_COLABORADOR_SERVIDOR); | |
| 199 | + searchSeven.addFilterNotEmpty("funcao.id"); | |
| 200 | + return UtilObjeto.isReferencia(this.searchUnique(searchSeven)); | |
| 201 | + } | |
| 186 | 202 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/PessoaDaoHibernate.java
| ... | ... | @@ -9,6 +9,8 @@ import org.springframework.stereotype.Repository; |
| 9 | 9 | import br.com.centralit.api.dao.PessoaDao; |
| 10 | 10 | import br.com.centralit.api.model.Pessoa; |
| 11 | 11 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
| 12 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
| 13 | +import br.com.centralit.framework.util.UtilObjeto; | |
| 12 | 14 | |
| 13 | 15 | /** |
| 14 | 16 | * <p> | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/dao/impl/TerceirizadoDaoHibernate.java
| ... | ... | @@ -5,6 +5,9 @@ import org.springframework.stereotype.Repository; |
| 5 | 5 | import br.com.centralit.api.dao.TerceirizadoDao; |
| 6 | 6 | import br.com.centralit.api.model.Terceirizado; |
| 7 | 7 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; |
| 8 | +import br.com.centralit.framework.dao.arquitetura.SearchSeven; | |
| 9 | +import br.com.centralit.framework.model.Dominio; | |
| 10 | +import br.com.centralit.framework.util.UtilObjeto; | |
| 8 | 11 | |
| 9 | 12 | |
| 10 | 13 | /** |
| ... | ... | @@ -40,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce |
| 40 | 43 | super(Terceirizado.class); |
| 41 | 44 | } |
| 42 | 45 | |
| 46 | + /** | |
| 47 | + * Método responsável por obter permissão para assinatura de documento | |
| 48 | + * @author rogerio.cassimiro | |
| 49 | + * @param idUsuario | |
| 50 | + * @return {@link Boolean} | |
| 51 | + */ | |
| 52 | + @Override | |
| 53 | + public boolean getPermissaoAssinaturaDocumento(Long idUsuario) { | |
| 54 | + SearchSeven searchSeven = new SearchSeven(); | |
| 55 | + searchSeven.addFilterEqual("pessoa.usuario.id", idUsuario); | |
| 56 | + searchSeven.addFilterEqual("classeParceiro.dominioTipoParceiro.codigo", Dominio.TIPO_PARCEIRO_TERCEIRIZADO); | |
| 57 | + searchSeven.addFilterNotEmpty("funcao.id"); | |
| 58 | + return UtilObjeto.isReferencia(this.searchUnique(searchSeven)); | |
| 59 | + } | |
| 43 | 60 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/ColaboradorService.java
| ... | ... | @@ -141,5 +141,11 @@ public interface ColaboradorService extends GenericService<Colaborador, Long> { |
| 141 | 141 | */ |
| 142 | 142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); |
| 143 | 143 | |
| 144 | + /** | |
| 145 | + * Método responsável por obter permissão para assinatura de documento | |
| 146 | + * @author rogerio.cassimiro | |
| 147 | + * @return {@link Boolean} | |
| 148 | + */ | |
| 149 | + boolean getPermissaoAssinaturaDocumento(); | |
| 144 | 150 | |
| 145 | 151 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/PessoaService.java
| ... | ... | @@ -2,9 +2,6 @@ package br.com.centralit.api.service; |
| 2 | 2 | |
| 3 | 3 | import java.util.Collection; |
| 4 | 4 | |
| 5 | -import org.springframework.security.access.annotation.Secured; | |
| 6 | -import org.springframework.security.access.prepost.PreAuthorize; | |
| 7 | - | |
| 8 | 5 | import br.com.centralit.api.model.Colaborador; |
| 9 | 6 | import br.com.centralit.api.model.Pessoa; |
| 10 | 7 | import br.com.centralit.api.viewHelper.PessoaVH; |
| ... | ... | @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService<Pessoa, Long> { |
| 302 | 299 | boolean removeTerceirizado(Long id); |
| 303 | 300 | |
| 304 | 301 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); |
| 302 | + | |
| 303 | + /** | |
| 304 | + * Método responsável por obter permissão para assinatura de documento | |
| 305 | + * @author rogerio.cassimiro | |
| 306 | + * @return {@link Boolean} | |
| 307 | + */ | |
| 308 | + boolean getPermissaoAssinaturaDocumento(); | |
| 305 | 309 | } |
| 306 | 310 | \ No newline at end of file | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/TerceirizadoService.java
| ... | ... | @@ -26,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService; |
| 26 | 26 | */ |
| 27 | 27 | public interface TerceirizadoService extends GenericService<Terceirizado, Long> { |
| 28 | 28 | |
| 29 | + /** | |
| 30 | + * Método responsável por obter permissão para assinatura de documento | |
| 31 | + * @author rogerio.cassimiro | |
| 32 | + * @return {@link Boolean} | |
| 33 | + */ | |
| 34 | + boolean getPermissaoAssinaturaDocumento(); | |
| 35 | + | |
| 29 | 36 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/ColaboradorServiceImpl.java
| ... | ... | @@ -4,6 +4,7 @@ import java.util.Collection; |
| 4 | 4 | |
| 5 | 5 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | 6 | import org.springframework.beans.factory.annotation.Qualifier; |
| 7 | +import org.springframework.security.core.context.SecurityContextHolder; | |
| 7 | 8 | import org.springframework.stereotype.Service; |
| 8 | 9 | import org.springframework.validation.Validator; |
| 9 | 10 | |
| ... | ... | @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl<Colaborador, Long |
| 195 | 196 | |
| 196 | 197 | return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome); |
| 197 | 198 | } |
| 199 | + | |
| 200 | + /** | |
| 201 | + * Método responsável por obter permissão para assinatura de documento | |
| 202 | + * @author rogerio.cassimiro | |
| 203 | + * @return {@link Boolean} | |
| 204 | + */ | |
| 205 | + @Override | |
| 206 | + public boolean getPermissaoAssinaturaDocumento() { | |
| 207 | + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); | |
| 208 | + return this.colaboradorDao.getPermissaoAssinaturaDocumento(usuario.getId()); | |
| 209 | + } | |
| 198 | 210 | |
| 199 | 211 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/PessoaServiceImpl.java
| ... | ... | @@ -1256,4 +1256,16 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen |
| 1256 | 1256 | return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario); |
| 1257 | 1257 | |
| 1258 | 1258 | } |
| 1259 | + | |
| 1260 | + /** | |
| 1261 | + * Método responsável por obter permissão para assinatura de documento | |
| 1262 | + * @author rogerio.cassimiro | |
| 1263 | + * @return {@link Boolean} | |
| 1264 | + */ | |
| 1265 | + @Override | |
| 1266 | + public boolean getPermissaoAssinaturaDocumento() { | |
| 1267 | + if(this.colaboradorService.getPermissaoAssinaturaDocumento()) | |
| 1268 | + return this.terceirizadoService.getPermissaoAssinaturaDocumento(); | |
| 1269 | + return Boolean.FALSE; | |
| 1270 | + } | |
| 1259 | 1271 | } | ... | ... |
cit-tabelas-corp-api/src/main/java/br/com/centralit/api/service/impl/TerceirizadoServiceImp.java
| ... | ... | @@ -2,6 +2,7 @@ package br.com.centralit.api.service.impl; |
| 2 | 2 | |
| 3 | 3 | import org.springframework.beans.factory.annotation.Autowired; |
| 4 | 4 | import org.springframework.beans.factory.annotation.Qualifier; |
| 5 | +import org.springframework.security.core.context.SecurityContextHolder; | |
| 5 | 6 | import org.springframework.stereotype.Service; |
| 6 | 7 | import org.springframework.validation.Validator; |
| 7 | 8 | |
| ... | ... | @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; |
| 10 | 11 | import br.com.centralit.api.service.ClasseParceiroService; |
| 11 | 12 | import br.com.centralit.api.service.TerceirizadoService; |
| 12 | 13 | import br.com.centralit.framework.model.Dominio; |
| 14 | +import br.com.centralit.framework.model.Usuario; | |
| 13 | 15 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
| 14 | 16 | |
| 15 | 17 | |
| ... | ... | @@ -36,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; |
| 36 | 38 | @Service("terceirizadoService") |
| 37 | 39 | public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService { |
| 38 | 40 | |
| 39 | - @SuppressWarnings("unused") | |
| 40 | 41 | private TerceirizadoDao terceirizadoDao; |
| 41 | 42 | |
| 42 | 43 | /** Atributo classeParceiroService. */ |
| ... | ... | @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Lon |
| 68 | 69 | |
| 69 | 70 | return super.save(entity); |
| 70 | 71 | } |
| 72 | + | |
| 73 | + /** | |
| 74 | + * Método responsável por obter permissão para assinatura de documento | |
| 75 | + * @author rogerio.cassimiro | |
| 76 | + * @return {@link Boolean} | |
| 77 | + */ | |
| 78 | + @Override | |
| 79 | + public boolean getPermissaoAssinaturaDocumento() { | |
| 80 | + Usuario usuario = (Usuario) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); | |
| 81 | + return this.terceirizadoDao.getPermissaoAssinaturaDocumento(usuario.getId()); | |
| 82 | + } | |
| 71 | 83 | |
| 72 | 84 | } | ... | ... |
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/ColaboradorController.java
cit-tabelas-corp-web/src/main/java/br/com/centralit/controller/PessoaController.java
| ... | ... | @@ -18,7 +18,6 @@ import br.com.centralit.api.viewHelper.PessoaVH; |
| 18 | 18 | import br.com.centralit.framework.controller.GenericController; |
| 19 | 19 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
| 20 | 20 | import br.com.centralit.framework.json.Views; |
| 21 | -import br.com.centralit.framework.json.Views.GenericView; | |
| 22 | 21 | |
| 23 | 22 | /** |
| 24 | 23 | * <p> |
| ... | ... | @@ -449,6 +448,18 @@ public class PessoaController extends GenericController<Pessoa> { |
| 449 | 448 | |
| 450 | 449 | return responseBody; |
| 451 | 450 | } |
| 451 | + | |
| 452 | + /** | |
| 453 | + * Método responsável por obter permissão para assinatura de documento | |
| 454 | + * @author rogerio.cassimiro | |
| 455 | + * @return {@link Boolean} | |
| 456 | + */ | |
| 457 | + @RequestMapping(value = "/getPermissaoAssinaturaDocumento", method = RequestMethod.GET) | |
| 458 | + @ResponseBody | |
| 459 | + public ResponseBodyWrapper getPermissaoAssinaturaDocumento() { | |
| 460 | + ResponseBodyWrapper responseBody = new ResponseBodyWrapper(this.getPessoaService().getPermissaoAssinaturaDocumento(), this.getEditView()); | |
| 461 | + return responseBody; | |
| 462 | + } | |
| 452 | 463 | |
| 453 | 464 | @Override |
| 454 | 465 | public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() { | ... | ... |
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/ColaboradorRepository.js
| ... | ... | @@ -11,7 +11,8 @@ citApp.factory('ColaboradorRepository', ['RestangularTabelasCorp', 'AbstractRepo |
| 11 | 11 | |
| 12 | 12 | this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { |
| 13 | 13 | return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); |
| 14 | - }; | |
| 14 | + }; | |
| 15 | + | |
| 15 | 16 | } |
| 16 | 17 | |
| 17 | 18 | AbstractRepository.extend(ColaboradorRepository); | ... | ... |
cit-tabelas-corp-web/src/main/webapp/assets/js/angular/custom/repository/PessoaRepository.js
| ... | ... | @@ -80,7 +80,11 @@ citApp.factory('PessoaRepository', ['RestangularTabelasCorp','AbstractRepository |
| 80 | 80 | this.findPessoaColaboradorUsuarioPorNome = function(nome) { |
| 81 | 81 | return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then(); |
| 82 | 82 | }; |
| 83 | - | |
| 83 | + | |
| 84 | + this.getPermissaoAssinaturaDocumento = function() { | |
| 85 | + return restangularTabelasCorp.one(this.route + "/getPermissaoAssinaturaDocumento").get().then(); | |
| 86 | + }; | |
| 87 | + | |
| 84 | 88 | } |
| 85 | 89 | |
| 86 | 90 | AbstractRepository.extend(PessoaRepository); | ... | ... |