# -*- coding: utf-8 -*-
from django.conf.urls import include, url

from . import views
from .models import (NrsimhaTile, GoldenBrick, GuruParamparaBrick,
                     RadhaMadhavaBrick, SilverCoin, GadadharCoin, AdvaitaCoin,
                     GoldCoin, PlatinumCoin, RadharaniCoin,
                     SquareFeet, SquareMeter, Trustee, GeneralDonation)

from .forms import (NrsimhaTileForm, GoldenBrickForm, GuruParamparaBrickForm,
                    RadhaMadhavaBrickForm, SilverCoinForm, GadadharCoinForm,
                    AdvaitaCoinForm, GoldCoinForm, PlatinumCoinForm,
                    RadharaniCoinForm, SquareFeetForm, SquareMeterForm,
                    TrusteeForm, GeneralDonationForm)

urlpatterns = [
    url(r'^nrsimha-tile/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.BrickCreateView.as_view(
                    model=NrsimhaTile,
                    form_class=NrsimhaTileForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.BrickDetailView.as_view(
                    model=NrsimhaTile,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.BrickUpdateView.as_view(
                    model=NrsimhaTile,
                    form_class=NrsimhaTileForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=NrsimhaTile,
                ),
                name='delete'
            ),
        ], namespace="nrsimha-tile")),
    url(r'^golden-brick/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.BrickCreateView.as_view(
                    model=GoldenBrick,
                    form_class=GoldenBrickForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.BrickDetailView.as_view(
                    model=GoldenBrick,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.BrickUpdateView.as_view(
                    model=GoldenBrick,
                    form_class=GoldenBrickForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=GoldenBrick,
                ),
                name='delete'
            ),
        ], namespace="golden-brick")),
    url(r'^guru-parampara-brick/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.BrickCreateView.as_view(
                    model=GuruParamparaBrick,
                    form_class=GuruParamparaBrickForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.BrickDetailView.as_view(
                    model=GuruParamparaBrick,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.BrickUpdateView.as_view(
                    model=GuruParamparaBrick,
                    form_class=GuruParamparaBrickForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=GuruParamparaBrick,
                ),
                name='delete'
            ),
        ], namespace="guru-parampara-brick")),
    url(r'^radha-madhava-brick/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.BrickCreateView.as_view(
                    model=RadhaMadhavaBrick,
                    form_class=RadhaMadhavaBrickForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.BrickDetailView.as_view(
                    model=RadhaMadhavaBrick,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.BrickUpdateView.as_view(
                    model=RadhaMadhavaBrick,
                    form_class=RadhaMadhavaBrickForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=RadhaMadhavaBrick,
                ),
                name='delete'
            ),
        ], namespace="radha-madhava-brick")),
    url(r'^srivas-coin/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.CoinCreateView.as_view(
                    model=SilverCoin,
                    form_class=SilverCoinForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.CoinDetailView.as_view(
                    model=SilverCoin,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.CoinUpdateView.as_view(
                    model=SilverCoin,
                    form_class=SilverCoinForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=SilverCoin,
                ),
                name='delete'
            ),
        ], namespace="srivas-coin")),
    url(r'^gadadhar-coin/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.CoinCreateView.as_view(
                    model=GadadharCoin,
                    form_class=GadadharCoinForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.CoinDetailView.as_view(
                    model=GadadharCoin,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.CoinUpdateView.as_view(
                    model=GadadharCoin,
                    form_class=GadadharCoinForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=GadadharCoin,
                ),
                name='delete'
            ),
        ], namespace="gadadhar-coin")),
    url(r'^advaita-coin/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.CoinCreateView.as_view(
                    model=AdvaitaCoin,
                    form_class=AdvaitaCoinForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.CoinDetailView.as_view(
                    model=AdvaitaCoin,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.CoinUpdateView.as_view(
                    model=AdvaitaCoin,
                    form_class=AdvaitaCoinForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=AdvaitaCoin,
                ),
                name='delete'
            ),
        ], namespace="advaita-coin")),
    url(r'^gold-coin/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.CoinCreateView.as_view(
                    model=GoldCoin,
                    form_class=GoldCoinForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.CoinDetailView.as_view(
                    model=GoldCoin,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.CoinUpdateView.as_view(
                    model=GoldCoin,
                    form_class=GoldCoinForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=GoldCoin,
                ),
                name='delete'
            ),
        ], namespace="nityananda-coin")),
    url(r'^platinum-coin/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.CoinCreateView.as_view(
                    model=PlatinumCoin,
                    form_class=PlatinumCoinForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.CoinDetailView.as_view(
                    model=PlatinumCoin,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.CoinUpdateView.as_view(
                    model=PlatinumCoin,
                    form_class=PlatinumCoinForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=PlatinumCoin,
                ),
                name='delete'
            ),
        ], namespace="caitanya-coin")),
    url(r'^radharani-coin/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.CoinCreateView.as_view(
                    model=RadharaniCoin,
                    form_class=RadharaniCoinForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.CoinDetailView.as_view(
                    model=RadharaniCoin,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.CoinUpdateView.as_view(
                    model=RadharaniCoin,
                    form_class=RadharaniCoinForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=RadharaniCoin,
                ),
                name='delete'
            ),
        ], namespace="radharani-coin")),
    url(r'^square-feet/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.FeetCreateView.as_view(
                    model=SquareFeet,
                    form_class=SquareFeetForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.FeetDetailView.as_view(
                    model=SquareFeet,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.FeetUpdateView.as_view(
                    model=SquareFeet,
                    form_class=SquareFeetForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=SquareFeet,
                ),
                name='delete'
            ),
        ], namespace="square-feet")),
    url(r'^square-meter/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.FeetCreateView.as_view(
                    model=SquareMeter,
                    form_class=SquareMeterForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.FeetDetailView.as_view(
                    model=SquareMeter,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.FeetUpdateView.as_view(
                    model=SquareMeter,
                    form_class=SquareMeterForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=SquareMeter,
                ),
                name='delete'
            ),
        ], namespace="square-meter")),
    url(r'^trustee/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.TrusteeCreateView.as_view(
                    model=Trustee,
                    form_class=TrusteeForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.TrusteeDetailView.as_view(
                    model=Trustee,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.TrusteeUpdateView.as_view(
                    model=Trustee,
                    form_class=TrusteeForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=Trustee,
                ),
                name='delete'
            ),
        ], namespace="trustee")),
    url(r'^general-donation/', include(
        [
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/create/$',
                view=views.GeneralDonationCreateView.as_view(
                    model=GeneralDonation,
                    form_class=GeneralDonationForm,
                ),
                name='create'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/$',
                view=views.GeneralDonationDetailView.as_view(
                    model=GeneralDonation,
                ),
                name='detail'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/update/$',
                view=views.GeneralDonationUpdateView.as_view(
                    model=GeneralDonation,
                    form_class=GeneralDonationForm,
                ),
                name='update'
            ),
            url(
                regex=r'^(?P<person_id>\d+)/(?P<pledge_id>\d+)/(?P<pk>\d+)/delete/$',
                view=views.PromotionDeleteView.as_view(
                    model=GeneralDonation,
                ),
                name='delete'
            ),
        ], namespace="general-donation")),
]
