# layerindex-web - URL definitions # # Copyright (C) 2013 Intel Corporation # # Licensed under the MIT license, see COPYING.MIT for details from django.conf.urls import * from django.views.generic import TemplateView, DetailView, ListView, RedirectView from django.views.defaults import page_not_found from django.core.urlresolvers import reverse_lazy from layerindex.views import LayerListView, LayerReviewListView, LayerReviewDetailView, RecipeSearchView, MachineSearchView, LayerDetailView, edit_layer_view, delete_layer_view, edit_layernote_view, delete_layernote_view, HistoryListView, EditProfileFormView, AdvancedRecipeSearchView, BulkChangeView, BulkChangeSearchView, bulk_change_edit_view, bulk_change_patch_view, BulkChangeDeleteView, RecipeDetailView, RedirectParamsView, ClassicRecipeSearchView, ClassicRecipeDetailView, ClassicRecipeStatsView, LayerUpdateDetailView, UpdateListView, UpdateDetailView, StatsView, publish_view from layerindex.models import LayerItem, Recipe, RecipeChangeset from rest_framework import routers from . import restviews from django.conf.urls import include router = routers.DefaultRouter() router.register(r'branches', restviews.BranchViewSet) router.register(r'layerItems', restviews.LayerItemViewSet) router.register(r'layerBranches', restviews.LayerBranchViewSet) router.register(r'layerDependencies', restviews.LayerDependencyViewSet) router.register(r'layerMaintainers', restviews.LayerMaintainerViewSet) router.register(r'layerNotes', restviews.LayerNoteViewSet) router.register(r'recipes', restviews.RecipeViewSet) router.register(r'machines', restviews.MachineViewSet) router.register(r'distros', restviews.DistroViewSet) router.register(r'classes', restviews.ClassViewSet) router.register(r'layers', restviews.LayerViewSet, 'layers') urlpatterns = [ url(r'^$', RedirectView.as_view(url=reverse_lazy('layer_list', args=('master',)), permanent=False), name='frontpage'), url(r'^api/', include(router.urls)), url(r'^layers/$', RedirectView.as_view(url=reverse_lazy('layer_list', args=('master',)), permanent=False)), url(r'^layer/(?P[-\w]+)/$', RedirectParamsView.as_view(permanent=False), {'redirect_name': 'layer_item', 'branch':'master'}), url(r'^recipes/$', RedirectView.as_view(url=reverse_lazy('recipe_search', args=('master',)), permanent=False)), url(r'^machines/$', RedirectView.as_view(url=reverse_lazy('machine_search', args=('master',)), permanent=False)), url(r'^distros/$', RedirectView.as_view(url=reverse_lazy('distro_search', args=('master',)), permanent=False)), url(r'^classes/$', RedirectView.as_view(url=reverse_lazy('class_search', args=('master',)), permanent=False)), url(r'^submit/$', edit_layer_view, {'template_name': 'layerindex/submitlayer.html'}, name="submit_layer"), url(r'^submit/thanks$', TemplateView.as_view( template_name='layerindex/submitthanks.html'), name="submit_layer_thanks"), url(r'^review/$', LayerReviewListView.as_view( template_name='layerindex/reviewlist.html'), name='layer_list_review'), url(r'^review/(?P[-\w]+)/$', LayerReviewDetailView.as_view( template_name='layerindex/reviewdetail.html'), name='layer_review'), url(r'^layer/(?P[-\w]+)/addnote/$', edit_layernote_view, {'template_name': 'layerindex/editlayernote.html'}, name="add_layernote"), url(r'^layer/(?P[-\w]+)/editnote/(?P[-\w]+)/$', edit_layernote_view, {'template_name': 'layerindex/editlayernote.html'}, name="edit_layernote"), url(r'^layer/(?P[-\w]+)/deletenote/(?P[-\w]+)/$', delete_layernote_view, {'template_name': 'layerindex/deleteconfirm.html'}, name="delete_layernote"), url(r'^layer/(?P[-\w]+)/delete/$', delete_layer_view, {'template_name': 'layerindex/deleteconfirm.html'}, name="delete_layer"), url(r'^recipe/(?P[-\w]+)/$', RecipeDetailView.as_view( template_name='layerindex/recipedetail.html'), name='recipe'), url(r'^layer/(?P[-\w]+)/publish/$', publish_view, name="publish"), url(r'^layerupdate/(?P[-\w]+)/$', LayerUpdateDetailView.as_view( template_name='layerindex/layerupdate.html'), name='layerupdate'), url(r'^bulkchange/$', BulkChangeView.as_view( template_name='layerindex/bulkchange.html'), name="bulk_change"), url(r'^bulkchange/(?P\d+)/search/$', BulkChangeSearchView.as_view( template_name='layerindex/bulkchangesearch.html'), name="bulk_change_search"), url(r'^bulkchange/(?P\d+)/edit/$', bulk_change_edit_view, {'template_name': 'layerindex/bulkchangeedit.html'}, name="bulk_change_edit"), url(r'^bulkchange/(?P\d+)/review/$', DetailView.as_view( model=RecipeChangeset, context_object_name='changeset', template_name='layerindex/bulkchangereview.html'), name="bulk_change_review"), url(r'^bulkchange/(?P\d+)/patches/$', bulk_change_patch_view, name="bulk_change_patches"), url(r'^bulkchange/(?P\d+)/delete/$', BulkChangeDeleteView.as_view( template_name='layerindex/deleteconfirm.html'), name="bulk_change_delete"), url(r'^branch/(?P[-\w]+)/', include('layerindex.urls_branch')), url(r'^updates/$', UpdateListView.as_view( template_name='layerindex/updatelist.html'), name='update_list'), url(r'^updates/(?P[-\w]+)/$', UpdateDetailView.as_view( template_name='layerindex/updatedetail.html'), name='update'), url(r'^history/$', HistoryListView.as_view( template_name='layerindex/history.html'), name='history_list'), url(r'^profile/$', EditProfileFormView.as_view( template_name='layerindex/profile.html'), name="profile"), url(r'^about$', TemplateView.as_view( template_name='layerindex/about.html'), name="about"), url(r'^stats/$', StatsView.as_view( template_name='layerindex/stats.html'), name='stats'), url(r'^oe-classic/$', RedirectView.as_view(url=reverse_lazy('classic_recipe_search'), permanent=False), name='classic'), url(r'^oe-classic/recipes/$', ClassicRecipeSearchView.as_view( template_name='layerindex/classicrecipes.html'), name='classic_recipe_search'), url(r'^oe-classic/stats/$', ClassicRecipeStatsView.as_view( template_name='layerindex/classicstats.html'), name='classic_recipe_stats'), url(r'^oe-classic/recipe/(?P[-\w]+)/$', ClassicRecipeDetailView.as_view( template_name='layerindex/classicrecipedetail.html'), name='classic_recipe'), url(r'.*', page_not_found, kwargs={'exception': Exception("Page not Found")}) ]