Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto |
| Módulo |
|
Segmento Executor |
| ||
Projeto |
| IRM |
|
Requisito |
| Subtarefa |
|
País | (x) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. |
Criação de um novo perfil de usuário para permitir a alteração de propostas e beneficiários incluídos pelo mesmo usuário.
1) Criar um novo perfil de usuário que,
quanto à inclusão:
possa incluir propostas, mas não possa enviá-las para aprovação;
possa incluir beneficiários, desde que sejam em propostas incluídas por ele mesmo, mas não possa enviá-los para aprovação;
quanto à alteração:
possa modificar propostas, desde que estas tenham sido incluídas por ele mesmo.
possa modificar beneficiários, desde que estes sejam de propostas incluídas por ele mesmo.
src/main/flex/com/datasul/ems/healthcare/hvp/contract/controller/ContractCRUDController.as, no método chamado ao clicar no botão Enviar para liberação (auditButtonHandler()), testar se o usuário pertence ao novo perfil e não permitir liberar para liberação:
public function auditButtonHandler() : void { var message:UIMessage; if (!checkSelectedProposal()){ message = new UIMessage("Atenção!", "Nenhuma proposta selecionada para enviar para a liberação.", UIMessage.WARNING); } else { if (!RoleHelper.gotRole(RoleEnumeration.REGISTER_ASSISTANT)) { message = new UIMessage("Atenção", "Usuário não possui permissão para enviar esta proposta para liberação", UIMessage.INFO); } else message = new UIMessage("Enviar para liberação", "Você deseja mesmo enviar as propostas selecionadas para liberação?", UIMessage.CONFIRM, "", "", sendProposalToLiberation); } MessageUtil.showMessage(message); } |
No método chamado ao clicar no botão alterar (modifyButtonHandler()), testar se o usuário pertence ao novo perfil e não permitir realizar a alteração do contrato:
if (!RoleHelper.gotRole(RoleEnumeration.REGISTER_ASSISTANT) && (this._model.selectedProposal.userName != UserManager.getInstance().user.loginName)) { MessageUtil.showMessage(new UIMessage("Atenção","Usuário não possui permissão para alterar esta proposta",UIMessage.INFO)); return; } |
src\main\flex\com\datasul\ems\healthcare\hvp\contract\controller\ContractWizardController.as, no método responsável por setar os dados na tela de sumário da proposta criada (setupProposalCreatedSummary()), alterar para que o botão de enviar para auditoria fique visível apenas se o usuário logado possuir o novo papel:
private function setupProposalCreatedSummary() : void { this._model.proposalCreatedSummary.model.proposal = this._model.proposalDTO; if(this._model.proposalCreatedSummary.hasEventListener(FlexEvent.CREATION_COMPLETE)){ this._model.proposalCreatedSummary.addEventListener(FlexEvent.CREATION_COMPLETE,initializeProposalCreatedSummary); } } |
criar o método:
public function initializeProposalCreatedSummary(event:FlexEvent=null) : void{ this._model.proposalCreatedSummary.chkSendToAuditory.selected = false; this._model.proposalCreatedSummary.chkSendToAuditory.visible = RoleHelper.gotRole(RoleEnumeration.REGISTER_ASSISTANT); this._model.proposalCreatedSummary.chkSendToAuditory.includeInLayout = RoleHelper.gotRole(RoleEnumeration.REGISTER_ASSISTANT); } |
src/main/flex/com/datasul/ems/healthcare/hvp/contract/controller/updatemenu/ContractUpdateMenuController.as, no método responsável por verificar se o botão de liberação da proposta deve estar habilitado (verifyEnabledLiberateProposal()), testar se o usuário logado pertence ao novo perfil, adicionando o código:
if (!RoleHelper.gotRole(RoleEnumeration.REGISTER_ASSISTANT)){ return false; } |
src/main/flex/com/datasul/ems/healthcare/hvp/newbeneficiary/controller/BeneficiaryController.as, no método responsável por verificar a permissão de acesso à modificação de um determinado beneficiário (verifyRolePermissionForUpdate(crud : BenefsCRUDDTO )), verificar se o usuário logado pertence ao novo perfil. Em caso afirmativo, não permitir a alteração de beneficiários cuja inclusão tenha sido feito por um usuário diferente do logado:
private function verifyRolePermissionForUpdate(crud : BenefsCRUDDTO ) : Boolean { if (crud.isSimulationBeneficiary) { return true; } if(!this._model.isRegisterAssistant && (this._model.proposal.typingUser != UserManager.getInstance().user.loginName)) { this.message = new UIMessage("Atenção", "Usuário não possui permissão " + "para alterar beneficiários", UIMessage.INFO); MessageUtil.showMessage(this.message); return false; } |
2) Na tela da Auditoria de Contratos, incluir o filtro abaixo:
Somente contratos pendentes de aprovação: Ao selecionar este filtro serão exibidos os contratos que ainda não sofreram/iniciaram auditoria por algum auditor.
Somente meus contratos: Ao selecionar esta opção, serão exibidos apenas os contratos cujo auditor responsável seja o usuário logado.
Todos: Ao selecionar esta opção, serão exibidos todos os contratos, ou seja, sem filtro.
Alterar os programas:
src/main/flex/com/datasul/ems/healthcare/hvp/auditcontract/model/AuditContractModel.as
src/main/flex/com/datasul/ems/healthcare/hvp/auditcontract/ui/AuditContractController.as
src/main/flex/com/datasul/ems/healthcare/hvp/auditcontract/ui/AuditContractView.mxml
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[ACAA040 – Parâmetros] | [Alteração] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA050 – Negociação Financeira] | [Envolvida] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA060 – Cadastro de Pedidos] | [Criação] | [Atualizações -> Acadêmico-> Cadastros] | - |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|