from django.conf.urls import url
from ..views import ({{ model_name }}ListView, {{ model_name }}CreateView, {{ model_name }}DetailView,
                     {{ model_name }}UpdateView, {{ model_name }}DeleteView)
from django.contrib.auth.decorators import login_required

{% if slug_field %}
urlpatterns = [
    url(r'^create/$',  # NOQA
        login_required({{ model_name }}CreateView.as_view()),
        name="{{ model_name_slug }}_create"),

    url(r'^(?P<{{ slug_field_name }}>[-\w]+)/update/$',
        login_required({{ model_name }}UpdateView.as_view()),
        name="{{ model_name_slug }}_update"),

    url(r'^(?P<{{ slug_field_name }}>[-\w]+)/delete/$',
        login_required({{ model_name }}DeleteView.as_view()),
        name="{{ model_name_slug }}_delete"),

    url(r'^(?P<{{ slug_field_name }}>[-\w]+)/$',
        {{ model_name }}DetailView.as_view(),
        name="{{ model_name_slug }}_detail"),

    url(r'^$',
        {{ model_name }}ListView.as_view(),
        name="{{ model_name_slug }}_list"),
]
{% else %}
urlpatterns = [
    url(r'^create/$',  # NOQA
        login_required({{ model_name }}CreateView.as_view()),
        name="{{ model_name_slug }}_create"),

    url(r'^(?P<pk>\d+)/update/$',
        login_required({{ model_name }}UpdateView.as_view()),
        name="{{ model_name_slug }}_update"),

    url(r'^(?P<pk>\d+)/delete/$',
        login_required({{ model_name }}DeleteView.as_view()),
        name="{{ model_name_slug }}_delete"),

    url(r'^(?P<pk>\d+)/$',
        {{ model_name }}DetailView.as_view(),
        name="{{ model_name_slug }}_detail"),

    url(r'^$',
        {{ model_name }}ListView.as_view(),
        name="{{ model_name_slug }}_list"),
]
{% endif %}