basement-lms
basement-lms copied to clipboard
Botão para "Publicar" curso
Caso você tenha interesse em contribuir pro nosso projeto, eu acabei esquecendo de fazer a flag published_at
da entidade Course coexistir com o resto do sistema.
A ideia é que se a flag for preenchida, ele sair para modo publicado e outras pessoas terem acesso.
Ideia: criar dois métodos na entidade Course para manipular essa flag.
public function publish(): void
{
// preencher o published_at
}
public function unpublish(): void
{
// setar o published_at como vazio
}
Já pra interagir com o front-end eu não tenho ideias mas sei que vocês vão dar um jeito :p
Uma sugestão mais simples, posso até implementar caso todos concordem!
Na tela de listagem de curso (do instrutor), adicionar um botão para publicar!
Caso fique muito "apertado", podemos criar esse botão na tela de gerenciar curso!
Sobre o botão, acredito que seria valido criar duas rotas e fazer a condicional para quando tb o published_at
ou não e com isso já iria chamar o endpoint correto.
O que acham ?
cc: @arthurtavaresdev @Camilotk @Zuruckt @DanielHe4rt
porque tratar está flag como uma data ? Até faz certo sentido, mas caso o instrutor "despublique" voltamos para null ? Aí pra mim perde o sentido de guardar este dado, como date.
Talvez deveríamos ter um coluna de status
com algumas situações (a definir).
@NicolasPereira Acho legal. Ter outra tela só faria sentido se movermos toda a parte de Edição de dados do curso, Criação de Atividades/Lições para tal.
porque tratar está flag como uma data ? Até faz certo sentido, mas caso o instrutor "despublique" voltamos para null ? Aí pra mim perde o sentido de guardar este dado, como date.
Talvez deveríamos ter um coluna de
status
com algumas situações (a definir).
Acredito que poderiamos apenas setar o published_at
uma única vez e trabalhar com a questão do status!
sendo algo como
- Não Publicado (0) = já começa como padrão logo quando cria um novo curso
- Publicado (1)
- Descontinuado(2) = no laracast tem isso, quando sai uma nova versão de curso e afins.
Talvez o published_at tenha um pouco de sentido. Exemplo: Quero saber a quanto tempo o curso está publicado. O que acham ??
Talvez o published_at tenha um pouco de sentido. Exemplo: Quero saber a quanto tempo o curso está publicado. O que acham ??
Eu concordo com seu ponto de vista, acredito que um bom caminho seria seguir:
1 - Manter o campo published_at
para termos essa data de quando o curso foi lançado e afins
2 - Ter a coluna status
para utilizar para esse controle, se vai mostrar pro usuário, se o curso está como rascunho e afins.
Estava vendo aqui a tabela de status que vieram no Seeder. Talvez mostrar para o usuário apenas quando tiver publicado e o status em Gravando ou Finalizado.