From ddd36206bc7a403b2ba43de7b4c43d5bf6466399 Mon Sep 17 00:00:00 2001 From: markotibold Date: Sat, 25 Jun 2011 13:08:46 +0200 Subject: Added a fixture so that the users default have a user to login with and play with permissions. --- examples/permissionsexample/fixtures/initial_data.yaml | 12 ++++++++++++ examples/permissionsexample/models.py | 1 + examples/permissionsexample/urls.py | 2 +- examples/requirements.txt | 1 + examples/settings.py | 7 +++++++ 5 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 examples/permissionsexample/fixtures/initial_data.yaml create mode 100644 examples/permissionsexample/models.py (limited to 'examples') diff --git a/examples/permissionsexample/fixtures/initial_data.yaml b/examples/permissionsexample/fixtures/initial_data.yaml new file mode 100644 index 00000000..22276ec2 --- /dev/null +++ b/examples/permissionsexample/fixtures/initial_data.yaml @@ -0,0 +1,12 @@ +- fields: + first_name: '' + groups: [] + is_active: true + is_staff: true + is_superuser: true + last_name: '' + password: sha1$b3dff$671b4ab97f2714446da32670d27576614e176758 + user_permissions: [] + username: test + model: auth.user + pk: 2 diff --git a/examples/permissionsexample/models.py b/examples/permissionsexample/models.py new file mode 100644 index 00000000..232085ad --- /dev/null +++ b/examples/permissionsexample/models.py @@ -0,0 +1 @@ +#for fixture loading \ No newline at end of file diff --git a/examples/permissionsexample/urls.py b/examples/permissionsexample/urls.py index d17f5159..e3b0ffbd 100644 --- a/examples/permissionsexample/urls.py +++ b/examples/permissionsexample/urls.py @@ -2,5 +2,5 @@ from django.conf.urls.defaults import patterns, url from permissionsexample.views import ThrottlingExampleView urlpatterns = patterns('', - url(r'^$', ThrottlingExampleView.as_view(), name='throttled-resource'), + url(r'^$', ThrottlingExampleView.as_view(), name='throttled-resource'), ) diff --git a/examples/requirements.txt b/examples/requirements.txt index 09cda945..19d37673 100644 --- a/examples/requirements.txt +++ b/examples/requirements.txt @@ -5,4 +5,5 @@ wsgiref==0.1.2 Pygments==1.4 httplib2==0.6.0 Markdown==2.0.3 +Pyyaml diff --git a/examples/settings.py b/examples/settings.py index 1537c5f8..2eab2cfa 100644 --- a/examples/settings.py +++ b/examples/settings.py @@ -89,6 +89,12 @@ TEMPLATE_DIRS = ( # Don't forget to use absolute paths, not relative paths. ) +# for loading initial data +##SERIALIZATION_MODULES = { + # 'yml': "django.core.serializers.pyyaml" + +#} + INSTALLED_APPS = ( 'django.contrib.auth', @@ -104,6 +110,7 @@ INSTALLED_APPS = ( 'objectstore', 'pygments_api', 'blogpost', + 'permissionsexample', ) import os -- cgit v1.2.3 From bae21b14c93e458014107a007e894e93a181bd0e Mon Sep 17 00:00:00 2001 From: markotibold Date: Sat, 25 Jun 2011 16:38:16 +0200 Subject: added a container view for the permissions example --- examples/permissionsexample/urls.py | 6 ++++-- examples/permissionsexample/views.py | 20 ++++++++++++++++++-- examples/sandbox/views.py | 3 ++- 3 files changed, 24 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/permissionsexample/urls.py b/examples/permissionsexample/urls.py index e3b0ffbd..c421c7cc 100644 --- a/examples/permissionsexample/urls.py +++ b/examples/permissionsexample/urls.py @@ -1,6 +1,8 @@ from django.conf.urls.defaults import patterns, url -from permissionsexample.views import ThrottlingExampleView +from permissionsexample.views import PermissionsExampleView, ThrottlingExampleView, LoggedinView urlpatterns = patterns('', - url(r'^$', ThrottlingExampleView.as_view(), name='throttled-resource'), + url(r'^$', PermissionsExampleView.as_view(), name='permissions-example'), + url(r'^throttling$', ThrottlingExampleView.as_view(), name='throttled-resource'), + url(r'^loggedin$', LoggedinView.as_view(), name='loggedin-resource'), ) diff --git a/examples/permissionsexample/views.py b/examples/permissionsexample/views.py index 20e7cba7..ca456191 100644 --- a/examples/permissionsexample/views.py +++ b/examples/permissionsexample/views.py @@ -1,6 +1,16 @@ from djangorestframework.views import View -from djangorestframework.permissions import PerUserThrottling +from djangorestframework.permissions import PerUserThrottling, IsAuthenticated +from django.core.urlresolvers import reverse +class PermissionsExampleView(View): + """ + A container view for permissions examples. + """ + + def get(self, request): + return [{'name': 'Throttling Example', 'url': reverse('throttled-resource')}, + {'name': 'Logged in example', 'url': reverse('loggedin-resource')},] + class ThrottlingExampleView(View): """ @@ -17,4 +27,10 @@ class ThrottlingExampleView(View): """ Handle GET requests. """ - return "Successful response to GET request because throttle is not yet active." \ No newline at end of file + return "Successful response to GET request because throttle is not yet active." + +class LoggedinView(View): + + permissions = (IsAuthenticated, ) + def get(self, request): + return 'Logged in or not?' \ No newline at end of file diff --git a/examples/sandbox/views.py b/examples/sandbox/views.py index 1e326f43..f8d87a0b 100644 --- a/examples/sandbox/views.py +++ b/examples/sandbox/views.py @@ -22,6 +22,7 @@ class Sandbox(View): 4. A generic object store API. 5. A code highlighting API. 6. A blog posts and comments API. + 7. A basic example using permissions. You can login with **'test', 'test'.** Please feel free to browse, create, edit and delete the resources in these examples.""" @@ -32,5 +33,5 @@ class Sandbox(View): {'name': 'Object store API', 'url': reverse('object-store-root')}, {'name': 'Code highlighting API', 'url': reverse('pygments-root')}, {'name': 'Blog posts API', 'url': reverse('blog-posts-root')}, - {'name': 'Permissions example', 'url': reverse('throttled-resource')} + {'name': 'Permissions example', 'url': reverse('permissions-example')} ] -- cgit v1.2.3 From 8cab127c2a99ab027e981f3e9198b7c548f0aa46 Mon Sep 17 00:00:00 2001 From: markotibold Date: Sun, 26 Jun 2011 01:38:56 +0200 Subject: some restyling and updated requirements.txt for yaml support --- examples/permissionsexample/urls.py | 4 ++-- examples/permissionsexample/views.py | 6 ++++-- examples/sandbox/views.py | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/permissionsexample/urls.py b/examples/permissionsexample/urls.py index c421c7cc..33cb9b5f 100644 --- a/examples/permissionsexample/urls.py +++ b/examples/permissionsexample/urls.py @@ -1,8 +1,8 @@ from django.conf.urls.defaults import patterns, url -from permissionsexample.views import PermissionsExampleView, ThrottlingExampleView, LoggedinView +from permissionsexample.views import PermissionsExampleView, ThrottlingExampleView, LoggedInExampleView urlpatterns = patterns('', url(r'^$', PermissionsExampleView.as_view(), name='permissions-example'), url(r'^throttling$', ThrottlingExampleView.as_view(), name='throttled-resource'), - url(r'^loggedin$', LoggedinView.as_view(), name='loggedin-resource'), + url(r'^loggedin$', LoggedInExampleView.as_view(), name='loggedin-resource'), ) diff --git a/examples/permissionsexample/views.py b/examples/permissionsexample/views.py index ca456191..f95c2c84 100644 --- a/examples/permissionsexample/views.py +++ b/examples/permissionsexample/views.py @@ -29,8 +29,10 @@ class ThrottlingExampleView(View): """ return "Successful response to GET request because throttle is not yet active." -class LoggedinView(View): - +class LoggedInExampleView(View): + """ + You can login with **'test', 'test'.** + """ permissions = (IsAuthenticated, ) def get(self, request): return 'Logged in or not?' \ No newline at end of file diff --git a/examples/sandbox/views.py b/examples/sandbox/views.py index f8d87a0b..29f2e3ce 100644 --- a/examples/sandbox/views.py +++ b/examples/sandbox/views.py @@ -22,7 +22,7 @@ class Sandbox(View): 4. A generic object store API. 5. A code highlighting API. 6. A blog posts and comments API. - 7. A basic example using permissions. You can login with **'test', 'test'.** + 7. A basic example using permissions. Please feel free to browse, create, edit and delete the resources in these examples.""" -- cgit v1.2.3 From d417a1a20abdb4d4c96cf3318ea1b0d5806f803a Mon Sep 17 00:00:00 2001 From: markotibold Date: Sun, 26 Jun 2011 01:41:15 +0200 Subject: moved from examples/requirements.txt to main requirements.txt --- examples/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/requirements.txt b/examples/requirements.txt index 19d37673..bfaf11d5 100644 --- a/examples/requirements.txt +++ b/examples/requirements.txt @@ -5,5 +5,5 @@ wsgiref==0.1.2 Pygments==1.4 httplib2==0.6.0 Markdown==2.0.3 -Pyyaml + -- cgit v1.2.3