= Requisitos para permitir a Mudança do Código da Turma = Esta página documenta os requisitos a serem implementados para permitir a Mudança dos Códigos da Turma. Esta alteração visa atender a uma demanda da Fefisa, mas irá afetar todos os sistemas. '''Requisitos Funcionais''' Ao editar-se os dados da Turma, deverá se possível alterar também o campo "Código". * O código da turma deverá ser: * Único. * Palavra simples. * Sem espaços. * Ter no mínimo 3 caracteres. Caracteres aceitos: maiúsculas, números e o símbolo _. Quando o usuário clicar em salvar o sistema deverá verificar se o código da Turma mudou. Caso afirmativo, os seguintes passos deverão ser realizados: 1. Verificar se o código atende aos critérios acima estabelecidos. 1. Converter os caracteres para maiúsculos. 1. Garantir que o código informado não está atribuído a outra turma. 1. Se o código já existir, salvar os demais campos e emitir uma mensagem de erro para o Código da Turma. 1. Salvar na tabela turma_codigo_historico os seguintes valores: Timestamp, ID_Agente, ID_Turma, Codigo_Antigo, Codigo_Novo, IP_Origem. 1. == Banco de Dados == Criar a seguinte tabela: {{{ CREATE TABLE `turma_codigo_historico` ( `TimeStamp` timestamp NOT NULL DEFAULT NOW(), `ID_Agente` int(11) NOT NULL, `ID_Turma` int(11) NOT NULL, `Codigo_Antigo` varchar(20) NOT NULL, `Codigo_Novo` varchar(20) NOT NULL, `IP_Origem` int(11) NOT NULL UNSIGNED KEY `idx__turma_codigo_historico__Codigo_Antigo` (`Codigo_Antigo`), KEY `idx__turma_codigo_historico__Codigo_Novo` (`Codigo_Novo`), CONSTRAINT `fk__turma_codigo_historico__tagente__ID_Agente` FOREIGN KEY (`ID_Agente`) REFERENCES `tagente` (`ID_Agente`), CONSTRAINT `fk__turma_codigo_historico__tturma__ID_Turma` FOREIGN KEY (`ID_Turma`) REFERENCES `tturma` (`ID_Turma`), ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; }}}