basement-lms icon indicating copy to clipboard operation
basement-lms copied to clipboard

Botão para "Publicar" curso

Open danielhe4rt opened this issue 3 years ago • 7 comments

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

danielhe4rt avatar Sep 20 '21 17:09 danielhe4rt

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

NicolasPereira avatar Sep 20 '21 17:09 NicolasPereira

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).

arthurtavaresdev avatar Sep 20 '21 18:09 arthurtavaresdev

@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.

arthurtavaresdev avatar Sep 20 '21 18:09 arthurtavaresdev

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.

NicolasPereira avatar Sep 20 '21 18:09 NicolasPereira

Talvez o published_at tenha um pouco de sentido. Exemplo: Quero saber a quanto tempo o curso está publicado. O que acham ??

pedrobruning avatar Sep 28 '21 22:09 pedrobruning

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.

NicolasPereira avatar Sep 28 '21 22:09 NicolasPereira

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.

pedrobruning avatar Sep 28 '21 22:09 pedrobruning