Coderockr / orcamentos

Aplicativo de gerenciamento de Orçamentos
117 stars 71 forks source link

Controllers Providers #83

Closed caferrari closed 10 years ago

caferrari commented 10 years ago

Removi aquela bagunça que estava no app.php. Para isso eu transformei os controllers em ControllersProviders e dei ao metodo "mount" deles a responsabilidade de mapear suas rotas, assim fica mais fácil saber onde configurar o que.

Dei uma turbinada no BaseController e adicionei 4 métodos estáticos para controlar quem pode acessar o que (isso era feito atachando-se callbacks em todas as rotas manualmente)

  1. getPublicActions() retorna um array com as actions públicas do controller
  2. isPublic($action) Boolean. Verifica se uma determinada action é pública naquele controller
  3. getGuestActions() similar ao getPublicActions, porém, controla se a action pode ser acessada por um usuário que não seja um administrador
  4. isGuest($action) Mesma coisa do que o isPublic, porém para usuários guest.

As demais rotas obrigam o usuário a ser um administrador.