=== 2.1. Dados da Conta === [[PageOutline(1-3, Conteúdo)]] Os dados descritos aqui são escritos no banco de dados do sistema, na tabela _accounts. Se a configuração de Account storage no setup da aplicação for colocada com LDAP algunsn desses dados também serão gravados no servidor de LDAP definido, procurando a entrada no DN definido no campo User DN que tenha o atributo UID igual ao campo login name e o filtro definido na campo User Filter. Nesse cado o campo id do banco será o campo definido na configuração User UUID Attribute name. ==== Criação de conta ==== 1. Campo "First name" * '''Conteúdo:''' Nome do usuário * '''tipo:''' Texto * '''Tamanho:''' 255 * '''obrigatório:''' não 1. Campo "Last name" * '''Conteúdo:''' Sobrenome do usuário * '''tipo:''' Texto * '''Tamanho:''' 255 * '''obrigatório:''' sim * '''Sequência de Validações''' * Remover os espaços em branco à direita e à esquerda. * Se não informado marcar campo como inválido. 1. Campo "Login name" * '''Conteúdo:''' Nome de autenticação do usuário * '''tipo:''' Texto * '''Tamanho:''' 255 * '''obrigatório:''' Sim * '''Sequência de Validações''' * Remover os espaços em branco à direita e à esquerda. * Se não informado marcar campo como inválido. * Verifica no cadastro a existência de uma conta com Login name igual. * Se conta já existe exibir mensagem de erro: "''' Conta já existe.'''" 1. Campo "Pasword" * '''Conteúdo''': Senha do usuário * '''tipo:'''' Senha * '''Tamanho:''' 100 * '''obrigatório:''' Sim * '''Máscara de formatação:''' Mascara de senha * '''Sequência de Validações''' * Remover os espaços em branco à direita e à esquerda. * Se não informada marcar como inválida. * Se informada exibir janela da diálogo "'''Password confirmation'''" e comparar a senha informada com a senha informada anteriormente. * Se a senha não conferir marcar campo como inválido. 1. Campo "Emailaddress" * '''Conteúdo''': endereço de correio eletrônico do usuário. * '''tipo:''' Texto * '''Tamanho:''' 255 * '''obrigatório:''' sim * '''Máscara de formatação:''' * '''Caracteres válidos:''' * '''Hint:''' * '''Sequência de Validações''' * Remover os espaços em branco à direita e à esquerda. * Se não informada marcar como inválida.1. Expires – Campo de data, valor tem que ser maior que a data atual. No BD o campo 'expires_at ' ( datetime) deve receber esse valor. Não é escrito no LDAP. * Verificar se email segue formato "a@b.c" * se não verificado marcar como inválido e colocar hint: "'''This field must be a email with format a@b.c'''" 1. Campo "OpenID" * '''Conteúdo:''' OpenID do usuário * '''tipo:''' Texto * '''Tamanho:''' 254 * '''obrigatório:''' não 1. Campo "Primary Group" * '''Conteúdo:''' Grupo primário do usuário, Campo de busca com grupos do sistema. * '''tipo:''' Texto * '''Tamanho:''' 20 * '''obrigatório:''' Sim 1. Campo "Status" * '''Conteúdo:''' Estado do usuário no sistema. * enable – habilitado no sistema. Padrão. * disable – Desabilitado no sistema. * Expired – Senha expirada. * Blocked - Login Bloqueado. * '''tipo:''' Texto * '''Tamanho:''' 20 * '''obrigatório:''' Sim * '''Default:''' "enable" 1. Campo "Expires" * '''Conteúdo:''' Data da expiração da conta. * '''tipo:''' Data * '''obrigatório:''' Não * '''Máscara de formatação:''' Data * '''Caracteres válidos:''' Números * '''Sequência de Validações''' * Verificar se a data é válida e é maior que a data atual. * Se inválida marcar como inválida. 1. Campo "Visibility" * '''Conteúdo:''' Visibilidade das informações sobre o usuário no catálogo de endereço do sistema * Display in addressbook – Mostrar dados no catálogo de endereço do sistema, padrão. * hidden from addressbook – Não mostrar dados no catálogo de endereço do sistema. * '''tipo:''' enum('hidden','displayed') * '''obrigatório:''' Sim * '''Default:''' "displayed" [[BR]] 1. Campo "Saved in Adressbook" * '''Conteúdo:''' Indica em qual catálogo de endereços os dados do usuário serão salvos. Campo de busca com os adressbooks do sistema. * '''tipo:''' Texto * '''Tamanho:''' 20 * '''obrigatório:''' Sim 1. Cancel * '''Conteúdo:''' N.A.[[BR]] * '''Tipo:''' botão[[BR]] * '''Tamanho:''' N.A.[[BR]] * '''Obrigatório:''' N.A.[[BR]] * '''Sequência de Validações:'''[[BR]] * Elimina a instância da tela de criação/edição de grupo; 1. OK * '''Conteúdo:''' N.A.[[BR]] * '''Tipo:''' botão[[BR]] * '''Tamanho:''' N.A.[[BR]] * '''Obrigatório:''' N.A.[[BR]] * '''Sequência de Validações:'''[[BR]] * Executa as validações dos campos do formulário; * Se for encontrado algum erro, marca o campo específico e exibe a mensagem "Please fix the errors noted."; * Caso não encontre erros executa a gravação dos dados no banco de dados; === Ações=== 1. Criação de Contas * O sistema de criação de grupos deve poder ser acessado de duas formas * 1- Por um botão posicionado no menu superior que deverá executar o formulário de criação de contas. O botão deverá ser chamado "Add User"; * 2- Por um menu de contexto que será exibido quando o usuário clicar com o botão direito do mouse sobre a lista de grupos disponíveis. O menu deverá ter o item "Add User"; * Com o formulário exibido, quando o usuário selecionar o botão OK; * Validar todos os campos; * Persistir todos os dados no banco de dados; 1. Alteração de Contas * O Sistema de alteração de grupos deve poder ser acessado de duas formas * 1- Por um botão posicionado no menu superior que deverá executar o formulário de criação de contas. O botão deverá ser chamado "edit user"; * Este botão só poderá ficar habilitado quando uma conta estiver selecionado na lista de contas; * 2- Por um menu de contexto que será exibido quando o usuário clicar com o botão direito do mouse sobre uma conta que está na lista de contas disponíveis; * O menu deverá ter o item "edit User"; * Com o formulário exibido, quando o usuário selecionar o botão OK; * Validar todos os campos; * Persistir todos os dados no banco de dados;