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,4 +141,11 @@ public interface ColaboradorDao extends CitGenericDAO { | ||
141 | */ | 141 | */ |
142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); | 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
@@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{ | @@ -39,5 +39,5 @@ public interface PessoaDao extends CitGenericDAO{ | ||
39 | List<Pessoa> findByUsuario(Pessoa pessoa); | 39 | List<Pessoa> findByUsuario(Pessoa pessoa); |
40 | 40 | ||
41 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); | 41 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); |
42 | - | 42 | + |
43 | } | 43 | } |
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,4 +25,11 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAO; | ||
25 | */ | 25 | */ |
26 | public interface TerceirizadoDao extends CitGenericDAO { | 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,6 +10,7 @@ import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | ||
10 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; | 10 | import br.com.centralit.framework.dao.arquitetura.SearchSeven; |
11 | import br.com.centralit.framework.model.Dominio; | 11 | import br.com.centralit.framework.model.Dominio; |
12 | import br.com.centralit.framework.model.Usuario; | 12 | import br.com.centralit.framework.model.Usuario; |
13 | +import br.com.centralit.framework.util.UtilObjeto; | ||
13 | 14 | ||
14 | import com.googlecode.genericdao.search.Sort; | 15 | import com.googlecode.genericdao.search.Sort; |
15 | 16 | ||
@@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo | @@ -183,4 +184,19 @@ public class ColaboradorDaoHibernate extends CitGenericDAOImpl implements Colabo | ||
183 | 184 | ||
184 | return this.search(search, Colaborador.class); | 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,6 +9,8 @@ import org.springframework.stereotype.Repository; | ||
9 | import br.com.centralit.api.dao.PessoaDao; | 9 | import br.com.centralit.api.dao.PessoaDao; |
10 | import br.com.centralit.api.model.Pessoa; | 10 | import br.com.centralit.api.model.Pessoa; |
11 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | 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 | * <p> | 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,6 +5,9 @@ import org.springframework.stereotype.Repository; | ||
5 | import br.com.centralit.api.dao.TerceirizadoDao; | 5 | import br.com.centralit.api.dao.TerceirizadoDao; |
6 | import br.com.centralit.api.model.Terceirizado; | 6 | import br.com.centralit.api.model.Terceirizado; |
7 | import br.com.centralit.framework.dao.arquitetura.CitGenericDAOImpl; | 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,4 +43,18 @@ public class TerceirizadoDaoHibernate extends CitGenericDAOImpl implements Terce | ||
40 | super(Terceirizado.class); | 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,5 +141,11 @@ public interface ColaboradorService extends GenericService<Colaborador, Long> { | ||
141 | */ | 141 | */ |
142 | Collection<Colaborador> findPessoaColaboradorUsuarioPorNome(String nome); | 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,9 +2,6 @@ package br.com.centralit.api.service; | ||
2 | 2 | ||
3 | import java.util.Collection; | 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 | import br.com.centralit.api.model.Colaborador; | 5 | import br.com.centralit.api.model.Colaborador; |
9 | import br.com.centralit.api.model.Pessoa; | 6 | import br.com.centralit.api.model.Pessoa; |
10 | import br.com.centralit.api.viewHelper.PessoaVH; | 7 | import br.com.centralit.api.viewHelper.PessoaVH; |
@@ -302,4 +299,11 @@ public interface PessoaService extends GenericService<Pessoa, Long> { | @@ -302,4 +299,11 @@ public interface PessoaService extends GenericService<Pessoa, Long> { | ||
302 | boolean removeTerceirizado(Long id); | 299 | boolean removeTerceirizado(Long id); |
303 | 300 | ||
304 | Pessoa buscaPessoaPorUsuarioId(Long idUsuario); | 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 | \ No newline at end of file | 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,4 +26,11 @@ import br.com.centralit.framework.service.arquitetura.GenericService; | ||
26 | */ | 26 | */ |
27 | public interface TerceirizadoService extends GenericService<Terceirizado, Long> { | 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,6 +4,7 @@ import java.util.Collection; | ||
4 | 4 | ||
5 | import org.springframework.beans.factory.annotation.Autowired; | 5 | import org.springframework.beans.factory.annotation.Autowired; |
6 | import org.springframework.beans.factory.annotation.Qualifier; | 6 | import org.springframework.beans.factory.annotation.Qualifier; |
7 | +import org.springframework.security.core.context.SecurityContextHolder; | ||
7 | import org.springframework.stereotype.Service; | 8 | import org.springframework.stereotype.Service; |
8 | import org.springframework.validation.Validator; | 9 | import org.springframework.validation.Validator; |
9 | 10 | ||
@@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl<Colaborador, Long | @@ -195,5 +196,16 @@ public class ColaboradorServiceImpl extends GenericServiceImpl<Colaborador, Long | ||
195 | 196 | ||
196 | return this.colaboradorDao.findPessoaColaboradorUsuarioPorNome(nome); | 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,4 +1256,16 @@ public class PessoaServiceImpl extends GenericServiceImpl<Pessoa, Long> implemen | ||
1256 | return this.pessoaDao.buscaPessoaPorUsuarioId(idUsuario); | 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,6 +2,7 @@ package br.com.centralit.api.service.impl; | ||
2 | 2 | ||
3 | import org.springframework.beans.factory.annotation.Autowired; | 3 | import org.springframework.beans.factory.annotation.Autowired; |
4 | import org.springframework.beans.factory.annotation.Qualifier; | 4 | import org.springframework.beans.factory.annotation.Qualifier; |
5 | +import org.springframework.security.core.context.SecurityContextHolder; | ||
5 | import org.springframework.stereotype.Service; | 6 | import org.springframework.stereotype.Service; |
6 | import org.springframework.validation.Validator; | 7 | import org.springframework.validation.Validator; |
7 | 8 | ||
@@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; | @@ -10,6 +11,7 @@ import br.com.centralit.api.model.Terceirizado; | ||
10 | import br.com.centralit.api.service.ClasseParceiroService; | 11 | import br.com.centralit.api.service.ClasseParceiroService; |
11 | import br.com.centralit.api.service.TerceirizadoService; | 12 | import br.com.centralit.api.service.TerceirizadoService; |
12 | import br.com.centralit.framework.model.Dominio; | 13 | import br.com.centralit.framework.model.Dominio; |
14 | +import br.com.centralit.framework.model.Usuario; | ||
13 | import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | 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,7 +38,6 @@ import br.com.centralit.framework.service.arquitetura.GenericServiceImpl; | ||
36 | @Service("terceirizadoService") | 38 | @Service("terceirizadoService") |
37 | public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService { | 39 | public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Long> implements TerceirizadoService { |
38 | 40 | ||
39 | - @SuppressWarnings("unused") | ||
40 | private TerceirizadoDao terceirizadoDao; | 41 | private TerceirizadoDao terceirizadoDao; |
41 | 42 | ||
42 | /** Atributo classeParceiroService. */ | 43 | /** Atributo classeParceiroService. */ |
@@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Lon | @@ -68,5 +69,16 @@ public class TerceirizadoServiceImp extends GenericServiceImpl<Terceirizado, Lon | ||
68 | 69 | ||
69 | return super.save(entity); | 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,7 +18,6 @@ import br.com.centralit.api.viewHelper.PessoaVH; | ||
18 | import br.com.centralit.framework.controller.GenericController; | 18 | import br.com.centralit.framework.controller.GenericController; |
19 | import br.com.centralit.framework.json.ResponseBodyWrapper; | 19 | import br.com.centralit.framework.json.ResponseBodyWrapper; |
20 | import br.com.centralit.framework.json.Views; | 20 | import br.com.centralit.framework.json.Views; |
21 | -import br.com.centralit.framework.json.Views.GenericView; | ||
22 | 21 | ||
23 | /** | 22 | /** |
24 | * <p> | 23 | * <p> |
@@ -449,6 +448,18 @@ public class PessoaController extends GenericController<Pessoa> { | @@ -449,6 +448,18 @@ public class PessoaController extends GenericController<Pessoa> { | ||
449 | 448 | ||
450 | return responseBody; | 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 | @Override | 464 | @Override |
454 | public Class<Views.PessoaAutoCompeteView> getAutoCompleteView() { | 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,7 +11,8 @@ citApp.factory('ColaboradorRepository', ['RestangularTabelasCorp', 'AbstractRepo | ||
11 | 11 | ||
12 | this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { | 12 | this.findPorNomeAndOrganizacao = function(nome, idOrganizacao) { |
13 | return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); | 13 | return restangularTabelasCorp.one('rest/colaborador').getList("findPorNomeAndOrganizacao", {"nome": nome, "idOrganizacao" : idOrganizacao}).then(); |
14 | - }; | 14 | + }; |
15 | + | ||
15 | } | 16 | } |
16 | 17 | ||
17 | AbstractRepository.extend(ColaboradorRepository); | 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,7 +80,11 @@ citApp.factory('PessoaRepository', ['RestangularTabelasCorp','AbstractRepository | ||
80 | this.findPessoaColaboradorUsuarioPorNome = function(nome) { | 80 | this.findPessoaColaboradorUsuarioPorNome = function(nome) { |
81 | return restangularTabelasCorp.one('rest/pessoa').getList("findPessoaColaboradorUsuarioPorNome", {"nome": nome}).then(); | 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 | AbstractRepository.extend(PessoaRepository); | 90 | AbstractRepository.extend(PessoaRepository); |