from django.conf.urls import include, url

from sapl import settings
from sessao.views import (AcompanharMateriaView, EditExpedienteOrdemDiaView,
                          EditMateriaOrdemDiaView, ExpedienteOrdemDiaView,
                          ExpedienteView, ExplicacaoDelete, ExplicacaoEdit,
                          ExplicacaoView, ListExpedienteOrdemDiaView,
                          ListMateriaOrdemDiaView, MateriaOrdemDiaView,
                          MesaView, OradorExpedienteDelete,
                          OradorExpedienteEdit, OradorExpedienteView,
                          PainelView, PautaExpedienteDetail, PautaOrdemDetail,
                          PautaSessaoDetailView, PautaSessaoListView,
                          PresencaOrdemDiaView, PresencaView, ResumoView,
                          SessaoCadastroView, SessaoListView,
                          SessaoPlenariaView, VotacaoEditView,
                          VotacaoExpedienteEditView, VotacaoExpedienteView,
                          VotacaoNominalEditView,
                          VotacaoNominalExpedienteEditView,
                          VotacaoNominalExpedienteView, VotacaoNominalView,
                          VotacaoView, sessao_crud, tipo_expediente_crud,
                          tipo_resultado_votacao_crud, tipo_sessao_crud)

urlpatterns_sessao = sessao_crud.urlpatterns + [
    url(r'^(?P<pk>\d+)/expediente$',
        ExpedienteView.as_view(), name='expediente'),
    url(r'^(?P<pk>\d+)/presenca$',
        PresencaView.as_view(), name='presenca'),
    url(r'^(?P<pk>\d+)/painel$',
        PainelView.as_view(), name='painel'),
    url(r'^(?P<pk>\d+)/presencaordemdia$',
        PresencaOrdemDiaView.as_view(),
        name='presencaordemdia'),
    url(r'^(?P<pk>\d+)/oradorexpediente$',
        OradorExpedienteView.as_view(), name='oradorexpediente'),
    url(r'^(?P<pk>\d+)/oradorexpediente/excluir/(?P<oid>\d+)$',
        OradorExpedienteDelete.as_view(), name='oradorexcluir'),
    url(r'^(?P<pk>\d+)/oradorexpediente/editar/(?P<oid>\d+)$',
        OradorExpedienteEdit.as_view(), name='oradoreditar'),
    url(r'^(?P<pk>\d+)/mesa$', MesaView.as_view(), name='mesa'),
    url(r'^(?P<pk>\d+)/materiaordemdia/list$',
        ListMateriaOrdemDiaView.as_view(), name='materiaordemdia_list'),
    url(r'^(?P<pk>\d+)/materiaordemdia/list$',
        ListMateriaOrdemDiaView.as_view(), name='materiaordemdia_reorder'),
    url(r'^(?P<pk>\d+)/materiaordemdia/edit/(?P<oid>\d+)$',
        EditMateriaOrdemDiaView.as_view(), name='materiaordemdia_edit'),
    url(r'^(?P<pk>\d+)/materiaordemdia/create$',
        MateriaOrdemDiaView.as_view(), name='materiaordemdia_create'),
    url(r'^(?P<pk>\d+)/expedienteordemdia/list$',
        ListExpedienteOrdemDiaView.as_view(), name='expedienteordemdia_list'),
    url(r'^(?P<pk>\d+)/expedienteordemdia/edit/(?P<oid>\d+)$',
        EditExpedienteOrdemDiaView.as_view(), name='expedienteordemdia_edit'),
    url(r'^(?P<pk>\d+)/expedienteordemdia/create$',
        ExpedienteOrdemDiaView.as_view(), name='expedienteordemdia_create'),
    url(r'^(?P<pk>\d+)/resumo$',
        ResumoView.as_view(), name='resumo'),
    url(r'^(?P<pk>\d+)/explicacao$',
        ExplicacaoView.as_view(), name='explicacao'),
    url(r'^(?P<pk>\d+)/explicacao/excluir/(?P<oid>\d+)$',
        ExplicacaoDelete.as_view(), name='explicacaoexcluir'),
    url(r'^(?P<pk>\d+)/explicacao/editar/(?P<oid>\d+)$',
        ExplicacaoEdit.as_view(), name='explicacaoeditar'),
    url(r'^(?P<pk>\d+)/matordemdia/votnom/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoNominalView.as_view(), name='votacaonominal'),
    url(r'^(?P<pk>\d+)/matordemdia/votnom/edit/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoNominalEditView.as_view(), name='votacaonominaledit'),
    url(r'^(?P<pk>\d+)/matordemdia/votsec/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoView.as_view(), name='votacaosecreta'),
    url(r'^(?P<pk>\d+)/matordemdia/votsec/view/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoEditView.as_view(), name='votacaosecretaedit'),
    url(r'^(?P<pk>\d+)/matordemdia/votsimb/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoView.as_view(), name='votacaosimbolica'),
    url(r'^(?P<pk>\d+)/matordemdia/votsimb/view/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoEditView.as_view(), name='votacaosimbolicaedit'),
    url(r'^(?P<pk>\d+)/matexp/votnom/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoNominalExpedienteView.as_view(), name='votacaonominalexp'),
    url(r'^(?P<pk>\d+)/matexp/votnom/edit/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoNominalExpedienteEditView.as_view(),
        name='votacaonominalexpedit'),
    url(r'^(?P<pk>\d+)/matexp/votsec/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoExpedienteView.as_view(), name='votacaosimbolicaexp'),
    url(r'^(?P<pk>\d+)/matexp/votsec/view/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoExpedienteEditView.as_view(), name='votacaosimbolicaexpedit'),
    url(r'^(?P<pk>\d+)/matexp/votsec/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoExpedienteView.as_view(), name='votacaosecretaexp'),
    url(r'^(?P<pk>\d+)/matexp/votsec/view/(?P<oid>\d+)/(?P<mid>\d+)$',
        VotacaoExpedienteEditView.as_view(), name='votacaosecretaexpedit'),
    url(r'^sessao-list$',
        SessaoListView.as_view(), name='list_sessao'),
    url(r'^pauta-sessao-list$',
        PautaSessaoListView.as_view(), name='list_pauta_sessao'),
    url(r'^(?P<pk>\d+)/pauta-sessao-detail$',
        PautaSessaoDetailView.as_view(), name='pauta_sessao_detail'),
    url(r'^cadastro$', SessaoCadastroView.as_view(), name='sessao_cadastro'),
    url(r'^pauta-sessao/(?P<pk>\d+)/expediente/$',
        PautaExpedienteDetail.as_view(), name='pauta_expediente_detail'),
    url(r'^pauta-sessao/(?P<pk>\d+)/ordem/$',
        PautaOrdemDetail.as_view(), name='pauta_ordem_detail'),
    url(r'^pauta-sessao/(?P<pk>\d+)/acompanhar-materia/$',
        AcompanharMateriaView.as_view(), name='acompanhar_materia'),
]

sessao_urls = urlpatterns_sessao, sessao_crud.namespace, sessao_crud.namespace

sessao_rest = [
    url(r'^sessao$', SessaoPlenariaView.as_view(), name='sessao_rest')
]

urlpatterns = [
    url(r'^sessao/', include(urlpatterns_sessao,
                             sessao_crud.namespace, sessao_crud.namespace)),
    url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
        {'document_root': settings.MEDIA_ROOT}),
    url(r'^rest/', include(sessao_rest)),
    url(r'^sistema/sessao-plenaria/tipo/', include(tipo_sessao_crud.urls)),
    url(r'^sistema/sessao-plenaria/tipo-resultado-votacao/',
        include(tipo_resultado_votacao_crud.urls)),
    url(r'^sistema/sessao-plenaria/tipo-expediente/',
        include(tipo_expediente_crud.urls))
]