Giter Club home page Giter Club logo

Comments (7)

moacirmoda avatar moacirmoda commented on July 26, 2024

Coloquei toda a regra de negócio dentro do gerenciamento das turmas.

Obs: Para testar turmas que emitam certificados sem progresso mínimo, é necessário ativar a opção, em seguida logar com o usuário em que se deseja emitir o certificado e avançar no progresso do curso. Isso acontece porque o certificado é criado no momento em que é registrado o progresso de um usuário. Em produção, será preciso criar esses certificados via command line para os usuários já cadastrados.

from timtec.

intrepidocabral avatar intrepidocabral commented on July 26, 2024

Fiz os testes e evidenciei o seguinte:

  • O link não está sendo redirecionado para o Certificado e sim para o Atestado de horas.
    Esse é o certificado (ver abas): http://timtec.conexaobrasil.org/admin/course/1/certificatesettings/
    selecao_040
  • Com o usuário superadmin, não rolou de permitir o certificado, quero dizer, só puder liberar um certificado quando o usuário era da categoria estudante. Eu deveria conseguir emitir o certificado para quaisquer usuários na turma sob as mesma condições. Aqui, no exemplo, tenho dois users na turma, sendo que o primeiro é admin e o segundo é estudante. O primeiro não consigo liberar certificados para ele, só o segundo, e ambos estão matriculados no curso.
    selecao_039
  • Layout quebrado no mobile:
    download 3
    download 4

from timtec.

moacirmoda avatar moacirmoda commented on July 26, 2024

Com o usuário superadmin, não rolou de permitir o certificado, quero dizer, só puder liberar um certificado quando o usuário era da categoria estudante. Eu deveria conseguir emitir o certificado para quaisquer usuários na turma sob as mesma condições. Aqui, no exemplo, tenho dois users na turma, sendo que o primeiro é admin e o segundo é estudante. O primeiro não consigo liberar certificados para ele, só o segundo, e ambos estão matriculados no curso.

Não existe esta relação com o role. O que acontece aqui é que o gatilho para a criação do certificado é executado no momento em que um estudante avança seu progresso no curso. Esse momento se dá na finalização de um vídeo, ou, no momento de envio de uma resposta de atividade. Os checkboxes desabilitados se dão pois não existe certificado criado para este usuário. Na prática, indica que o usuário não avançou em nada no curso. Esta regra vale para usuários novos. Para os usuários antigos da plataforma, o certificado ainda não havia sido criado pois não havia sido atingido o progresso mínimo. Esta regra agora mudou: os certificados são criados no primeiro momento do avanço do curso, e eles são exibidos ou não conforme as regras setadas na turma.
Eu loguei com o usuário felipecabrallafabbrica (troquei a senha para "felipecabrallafabbrica"), avancei no curso, e agora a opção está liberada, conforme print abaixo:

selecao_012

O link não está sendo redirecionado para o Certificado e sim para o Atestado de horas.

Isto depende de a opção de certificado estar marcada ou não. No caso, a opção não está marcada, o botão de certificado está cinza. O resultado é este:

selecao_014

Agora, quando marcamos a opção certificado e salvamos:

selecao_015

Clicamos no botão verde (que indica que trata-se de um certificado, e não de um atestado de horas) e temos o seguinte resultado:

selecao_016

Layout quebrado no mobile

Não cheguei a mexer em nada na opção de criação de certificado. Você acha que existe mesmo a necessidade de investirmos tempo e esforços para adaptar este recurso para mobile? Estamos falando de um recurso exclusivo dos administradores da plataforma e eu não vejo uma situação em que eles queiram editar o layout do certificado de um curso através de um mobile. O que você acha?

from timtec.

intrepidocabral avatar intrepidocabral commented on July 26, 2024

Não existe esta relação com o role. O que acontece aqui é que o gatilho para a criação do certificado é executado no momento em que um estudante avança seu progresso no curso. Esse momento se dá na finalização de um vídeo, ou, no momento de envio de uma resposta de atividade. Os checkboxes desabilitados se dão pois não existe certificado criado para este usuário. Na prática, indica que o usuário não avançou em nada no curso. Esta regra vale para usuários novos. Para os usuários antigos da plataforma, o certificado ainda não havia sido criado pois não havia sido atingido o progresso mínimo. Esta regra agora mudou: os certificados são criados no primeiro momento do avanço do curso, e eles são exibidos ou não conforme as regras setadas na turma.

Fiz o teste com outro usuário e o problema parecia persistir. Avancei mais no curso e depois foi liberado o certificado corretamente. Eu havia colocado um curso com 1% de carga horária mínima e mesmo assim o problema persistiu. Só foi liberado depois de 50% de realização e depois de alguns f5. Não rolou um realtime, teve um delay. Talvez seja cache... de qualquer modo parece estar funcionando!

Evidenciei um problema: o botão de baixar o certificado está com problemas. Não está gerando o pdf.

selecao_044

Não cheguei a mexer em nada na opção de criação de certificado. Você acha que existe mesmo a necessidade de investirmos tempo e esforços para adaptar este recurso para mobile? Estamos falando de um recurso exclusivo dos administradores da plataforma e eu não vejo uma situação em que eles queiram editar o layout do certificado de um curso através de um mobile. O que você acha?

Acho que não é uma prioridade agora, mas no futuro é importante que exista essa compatibilidade com layout mobile sim. Vou abrir uma nova issue e jogar isso para o backlog, deixando isso bem para o final. =)

from timtec.

moacirmoda avatar moacirmoda commented on July 26, 2024
  • Quando for atestado de horas, para exibição automatica, o estudante deve apenas ter atingido o mínimo obrigatoriamente. Somente considerar exibir sem mínimo atingido se for certificado e a opção de turma para emitir certificados sem mínimo requerido estiver habilitada.
  • Retirar o momento da criação do CourseCertification do model StudentProgress e adicionar no momento em que um CourseStudent for criado. Não analisar condição do user_can_certificate para a criação. Analisar esta condição somente para a exibição do certificado.
  • Criar migration que lista os CourseStudent que não possuem CourseCertification e os cria. (https://docs.djangoproject.com/pt-br/1.10/topics/migrations/#data-migrations)

from timtec.

intrepidocabral avatar intrepidocabral commented on July 26, 2024

ótimo! Só precisamos testar agora zerando um ambiente de testes e fazendo o update.

from timtec.

moacirmoda avatar moacirmoda commented on July 26, 2024
  • bug: o atestado de horas deve ser exibido independentemente se a turma permite certificação ou não.
  • bug: Meus Cursos > Meus Comprovantes: o usuário está visualizando todos os certificados criados, quando na verdade deveria ver somente os certificados que estão habilitados a serem exibidos.
  • bug: no tema timtec, não deve permitir certificação.

sugestão: Criar uma flag no banco que diz se o certificado pode ou não ser exibido e manipulá-la de acordo com as configurações das turmas e de certificação.

from timtec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.