Example #1
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.orders import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Orders')
node.add_child(Node('Orders', 'dashboard:order-list'))
node.add_child(Node('Statistics', 'dashboard:order-stats'))
register(node, 80)


class OrdersDashboardApplication(Application):
    name = None
    order_list_view = views.OrderListView
    order_detail_view = views.OrderDetailView
    shipping_address_view = views.ShippingAddressUpdateView
    line_detail_view = views.LineDetailView
    order_stats_view = views.OrderStatsView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.order_list_view.as_view(), name='order-list'),
            url(r'^statistics/$', self.order_stats_view.as_view(), name='order-stats'),
            url(r'^(?P<number>[-\w]+)/$',
                self.order_detail_view.as_view(), name='order-detail'),
            url(r'^(?P<number>[-\w]+)/notes/(?P<note_id>\d+)/$',
                self.order_detail_view.as_view(), name='order-detail-note'),
            url(r'^(?P<number>[-\w]+)/lines/(?P<line_id>\d+)/$',
                self.line_detail_view.as_view(), name='order-line-detail'),
Example #2
0
from django.conf.urls import patterns, url
from django.contrib.admin.views.decorators import staff_member_required
from django.utils.translation import ugettext_lazy as _

from oscar.core.application import Application
from oscar.apps.dashboard.users import views
from oscar.apps.dashboard.nav import register, Node

node = Node(_('Customers'), 'dashboard:users-index')
register(node, 30)


class UserManagementApplication(Application):
    name = None
    index_view = views.IndexView
    user_detail_view = views.UserDetailView

    def get_urls(self):
        urlpatterns = patterns(
            '',
            url(r'^$', self.index_view.as_view(), name='users-index'),
            url(r'^(?P<pk>[-\w]+)/$',
                self.user_detail_view.as_view(),
                name='user-detail'),
        )
        return self.post_process_urls(urlpatterns)

    def get_url_decorator(self, url_name):
        return staff_member_required

Example #3
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.offers import views
from oscar.apps.dashboard.nav import register, Node

node = Node("Offers", "dashboard:offer-list")
register(node, 50)


class OffersDashboardApplication(Application):
    name = None
    list_view = views.OfferListView

    metadata_view = views.OfferMetaDataView
    condition_view = views.OfferConditionView
    benefit_view = views.OfferBenefitView
    preview_view = views.OfferPreviewView
    delete_view = views.OfferDeleteView
    detail_view = views.OfferDetailView

    def get_urls(self):
        urlpatterns = patterns(
            "",
            url(r"^$", self.list_view.as_view(), name="offer-list"),
            # Creation
            url(r"^metadata/$", self.metadata_view.as_view(), name="offer-metadata"),
            url(r"^condition/$", self.condition_view.as_view(), name="offer-condition"),
            url(r"^benefit/$", self.benefit_view.as_view(), name="offer-benefit"),
            url(r"^preview/$", self.preview_view.as_view(), name="offer-preview"),
Example #4
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.reports import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Reports', 'dashboard:reports-index')
register(node)


class ReportsApplication(Application):
    name = None
    index_view = views.IndexView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.index_view.as_view(), name='reports-index'),
        )
        return self.post_process_urls(urlpatterns)

    def get_url_decorator(self, url_name):
        return staff_member_required


application = ReportsApplication()
Example #5
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.vouchers import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Vouchers', 'dashboard:voucher-list')
register(node, 60)


class VoucherDashboardApplication(Application):
    name = None

    list_view = views.VoucherListView
    create_view = views.VoucherCreateView
    update_view = views.VoucherUpdateView
    delete_view = views.VoucherDeleteView
    stats_view = views.VoucherStatsView

    def get_urls(self):
        urlpatterns = patterns(
            '',
            url(r'^$', self.list_view.as_view(), name='voucher-list'),
            url(r'^create/$',
                self.create_view.as_view(),
                name='voucher-create'),
            url(r'^update/(?P<pk>\d+)/$',
                self.update_view.as_view(),
                name='voucher-update'),
            url(r'^delete/(?P<pk>\d+)/$',
Example #6
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.offers import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Offers', 'dashboard:offer-list')
register(node, 50)


class OffersDashboardApplication(Application):
    name = None
    list_view = views.OfferListView

    metadata_view = views.OfferMetaDataView
    condition_view = views.OfferConditionView
    benefit_view = views.OfferBenefitView
    preview_view = views.OfferPreviewView
    delete_view = views.OfferDeleteView
    detail_view = views.OfferDetailView

    def get_urls(self):
        urlpatterns = patterns(
            '',
            url(r'^$', self.list_view.as_view(), name='offer-list'),
            # Creation
            url(r'^metadata/$',
                self.metadata_view.as_view(),
                name='offer-metadata'),
            url(r'^condition/$',
Example #7
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.reports import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Reports', 'dashboard:reports-index')
register(node, 90)


class ReportsApplication(Application):
    name = None
    index_view = views.IndexView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.index_view.as_view(), name='reports-index'),
        )
        return self.post_process_urls(urlpatterns)

    def get_url_decorator(self, url_name):
        return staff_member_required


application = ReportsApplication()
Example #8
0
from django.conf.urls import patterns, url
from django.contrib.admin.views.decorators import staff_member_required
from django.utils.translation import ugettext_lazy as _
from oscar.apps.dashboard.nav import Node, register

from oscar.core.application import Application
from oscar.apps.dashboard.pages import views

node = Node(_('Pages'), 'dashboard:page-list')
register(node, 40)

class FlatPageManagementApplication(Application):
    name = None
    list_view = views.PageListView
    create_view = views.PageCreateView
    update_view = views.PageUpdateView
    delete_view = views.PageDeleteView

    def get_urls(self):
        """
        Get URL patterns defined for flatpage management application.
        """
        urlpatterns = patterns('',
            url(r'^$', self.list_view.as_view(), name='page-list'),
            url(r'^create/$', self.create_view.as_view(), name='page-create'),
            url(r'^update/(?P<pk>[-\w]+)/$',
                self.update_view.as_view(), name='page-update'),
            url(r'^delete/(?P<pk>\d+)/$',
                self.delete_view.as_view(), name='page-delete')
        )
        return self.post_process_urls(urlpatterns)
Example #9
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.ranges import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Ranges')
node.add_child(Node('All ranges', 'dashboard:range-list'))
register(node, 70)


class RangeDashboardApplication(Application):
    name = None

    list_view = views.RangeListView
    create_view = views.RangeCreateView
    update_view = views.RangeUpdateView
    delete_view = views.RangeDeleteView
    products_view = views.RangeProductListView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.list_view.as_view(), name='range-list'),
            url(r'^create/$', self.create_view.as_view(), name='range-create'),
            url(r'^(?P<pk>\d+)/$', self.update_view.as_view(), name='range-update'),
            url(r'^(?P<pk>\d+)/delete/$', self.delete_view.as_view(), name='range-delete'),
            url(r'^(?P<pk>\d+)/products/$', self.products_view.as_view(), name='range-products'),
        )
        return self.post_process_urls(urlpatterns)
Example #10
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.ranges import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Ranges', 'dashboard:range-list')
register(node, 70)


class RangeDashboardApplication(Application):
    name = None

    list_view = views.RangeListView
    create_view = views.RangeCreateView
    update_view = views.RangeUpdateView
    delete_view = views.RangeDeleteView
    products_view = views.RangeProductListView

    def get_urls(self):
        urlpatterns = patterns(
            '',
            url(r'^$', self.list_view.as_view(), name='range-list'),
            url(r'^create/$', self.create_view.as_view(), name='range-create'),
            url(r'^(?P<pk>\d+)/$',
                self.update_view.as_view(),
                name='range-update'),
            url(r'^(?P<pk>\d+)/delete/$',
                self.delete_view.as_view(),
                name='range-delete'),
Example #11
0
from django.conf.urls import patterns, url
from django.contrib.admin.views.decorators import staff_member_required
from django.utils.translation import ugettext_lazy as _

from oscar.core.application import Application
from oscar.apps.dashboard.reports import views
from oscar.apps.dashboard.nav import register, Node

node = Node(_('Reports'), 'dashboard:reports-index')
register(node, 90)


class ReportsApplication(Application):
    name = None
    index_view = views.IndexView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.index_view.as_view(), name='reports-index'),
        )
        return self.post_process_urls(urlpatterns)

    def get_url_decorator(self, url_name):
        return staff_member_required


application = ReportsApplication()
Example #12
0
from django.conf.urls import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from . import views

try:
    from oscar.apps.dashboard.nav import register, Node
except ImportError:
    pass
else:
    # Old way of registering Dashboard nodes
    node = Node('Sagepay', 'sagepay-transaction-list')
    register(node, 100)


class SagepayDashboard(Application):
    name = None
    list_view = views.Transactions
    detail_view = views.Transaction

    def get_urls(self):
        urlpatterns = patterns(
            '',
            url(r'^transactions/$',
                self.list_view.as_view(),
                name='sagepay-transaction-list'),
            url(r'^transactions/(?P<pk>\d+)/$',
                self.detail_view.as_view(),
                name='sagepay-transaction-detail'),
        )
Example #13
0
from django.conf.urls import patterns, url
from django.contrib.admin.views.decorators import staff_member_required
from django.utils.translation import ugettext_lazy as _

from oscar.core.application import Application
from oscar.apps.dashboard.orders import views
from oscar.apps.dashboard.nav import register, Node

node = Node(_('Orders'))
node.add_child(Node(_('Orders'), 'dashboard:order-list'))
node.add_child(Node(_('Statistics'), 'dashboard:order-stats'))
register(node, 80)


class OrdersDashboardApplication(Application):
    name = None
    order_list_view = views.OrderListView
    order_detail_view = views.OrderDetailView
    shipping_address_view = views.ShippingAddressUpdateView
    line_detail_view = views.LineDetailView
    order_stats_view = views.OrderStatsView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.order_list_view.as_view(), name='order-list'),
            url(r'^statistics/$', self.order_stats_view.as_view(), name='order-stats'),
            url(r'^(?P<number>[-\w]+)/$',
                self.order_detail_view.as_view(), name='order-detail'),
            url(r'^(?P<number>[-\w]+)/notes/(?P<note_id>\d+)/$',
                self.order_detail_view.as_view(), name='order-detail-note'),
            url(r'^(?P<number>[-\w]+)/lines/(?P<line_id>\d+)/$',
Example #14
0
from django.conf.urls import patterns, url
from django.contrib.admin.views.decorators import staff_member_required
from django.utils.translation import ugettext_lazy as _

from oscar.core.application import Application
from oscar.apps.dashboard.users import views
from oscar.apps.dashboard.nav import register, Node

node = Node(_('Customers'), 'dashboard:users-index')
register(node, 30)


class UserManagementApplication(Application):
    name = None
    index_view = views.IndexView
    user_detail_view = views.UserDetailView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.index_view.as_view(), name='users-index'),
            url(r'^(?P<pk>[-\w]+)/$',
                self.user_detail_view.as_view(), name='user-detail'),
        )
        return self.post_process_urls(urlpatterns)

    def get_url_decorator(self, url_name):
        return staff_member_required


application = UserManagementApplication()
Example #15
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.nav import register, Node
from oscar.apps.dashboard.reviews import views

node = Node('Reviews', 'dashboard:reviews-list')
register(node, 35)


class ReviewsApplication(Application):
    name = None
    list_view = views.ReviewListView
    update_view = views.ReviewUpdateView
    delete_view = views.ReviewDeleteView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.list_view.as_view(), name='reviews-list'),
            url(r'^(?P<pk>\d+)/$', self.update_view.as_view(),
                name='reviews-update'
            ),
            url(r'^(?P<pk>\d+)/delete/$', self.delete_view.as_view(),
                name='reviews-delete'
            ),
        )
        return self.post_process_urls(urlpatterns)

    def get_url_decorator(self, url_name):
        return staff_member_required
Example #16
0
from django.conf.urls.defaults import patterns, url
from django.contrib.admin.views.decorators import staff_member_required

from oscar.core.application import Application
from oscar.apps.dashboard.vouchers import views
from oscar.apps.dashboard.nav import register, Node

node = Node('Vouchers', 'dashboard:voucher-list')
register(node, 60)


class VoucherDashboardApplication(Application):
    name = None

    list_view = views.VoucherListView
    create_view = views.VoucherCreateView
    update_view = views.VoucherUpdateView
    delete_view = views.VoucherDeleteView
    stats_view = views.VoucherStatsView

    def get_urls(self):
        urlpatterns = patterns('',
            url(r'^$', self.list_view.as_view(), name='voucher-list'),
            url(r'^create/$', self.create_view.as_view(), name='voucher-create'),
            url(r'^update/(?P<pk>\d+)/$', self.update_view.as_view(), name='voucher-update'),
            url(r'^delete/(?P<pk>\d+)/$', self.delete_view.as_view(), name='voucher-delete'),
            url(r'^stats/(?P<pk>\d+)/$', self.stats_view.as_view(), name='voucher-stats'),
        )
        return self.post_process_urls(urlpatterns)

    def get_url_decorator(self, url_name):
Example #17
0
from django.utils.translation import ugettext_lazy as _
from django.conf.urls.defaults import patterns, url, include

from oscar.core.application import Application
from oscar.apps.dashboard.nav import register, Node
from oscar.views.decorators import staff_member_required

from fancypages.dashboard import views
from fancypages.assets.app import application as assets_app


node = Node(_("Page Manager"))
node.add_child(Node(_("Pages"), "fp-dashboard:page-list"))
node.add_child(Node(_("Page Types"), "fp-dashboard:page-type-list"))
node.add_child(Node(_("Page Templates"), "fp-dashboard:page-template-list"))
register(node, 100)


class FancypagesDashboardApplication(Application):
    name = "fp-dashboard"
    assets_app = assets_app

    page_template_list_view = views.PageTemplateListView
    page_template_create_view = views.PageTemplateCreateView
    page_template_update_view = views.PageTemplateUpdateView
    page_template_delete_view = views.PageTemplateDeleteView

    page_type_list_view = views.PageTypeListView
    page_type_create_view = views.PageTypeCreateView
    page_type_update_view = views.PageTypeUpdateView
    page_type_delete_view = views.PageTypeDeleteView
Example #18
0
from django.conf.urls import patterns, url
from django.contrib.admin.views.decorators import staff_member_required
from django.utils.translation import ugettext_lazy as _

from oscar.core.application import Application
from oscar.apps.dashboard.promotions import views
from oscar.apps.promotions.conf import PROMOTION_CLASSES
from oscar.apps.dashboard.nav import register, Node

node = Node(_('Content'))
node.add_child(Node(_('Re-usable content blocks'), 'dashboard:promotion-list'))
node.add_child(Node(_('Content blocks by page'), 'dashboard:promotion-list-by-page'))
node.add_child(Node(_('Pages'), 'dashboard:page-list'))
register(node, 20)


class PromotionsDashboardApplication(Application):
    name = None
    list_view = views.ListView
    page_list = views.PageListView
    page_detail = views.PageDetailView
    create_redirect_view = views.CreateRedirectView
    delete_page_promotion_view = views.DeletePagePromotionView

    for klass in PROMOTION_CLASSES:
        locals()['create_%s_view' % klass.classname()] = \
                getattr(views, 'Create%sView' % klass.__name__)
        locals()['update_%s_view' % klass.classname()] = \
                getattr(views, 'Update%sView' % klass.__name__)
        locals()['delete_%s_view' % klass.classname()] = \
                getattr(views, 'Delete%sView' % klass.__name__)