equal
deleted
inserted
replaced
3 from django import VERSION as django_version |
3 from django import VERSION as django_version |
4 from django.conf import settings |
4 from django.conf import settings |
5 from django.conf.urls import url |
5 from django.conf.urls import url |
6 from django.contrib.auth.models import Group |
6 from django.contrib.auth.models import Group |
7 from django.core.exceptions import ObjectDoesNotExist |
7 from django.core.exceptions import ObjectDoesNotExist |
8 from guardian.shortcuts import assign |
8 from guardian.shortcuts import assign_perm |
9 from tastypie import fields, http |
9 from tastypie import fields, http |
10 from tastypie.authorization import Authorization |
10 from tastypie.authorization import Authorization |
11 from tastypie.exceptions import BadRequest |
11 from tastypie.exceptions import BadRequest |
12 from tastypie.resources import Bundle, ModelResource, ALL |
12 from tastypie.resources import Bundle, ModelResource, ALL |
13 from tastypie.utils import dict_strip_unicode_keys |
13 from tastypie.utils import dict_strip_unicode_keys |
70 if request is None: |
70 if request is None: |
71 raise BadRequest("Request object must be passed as an argument") |
71 raise BadRequest("Request object must be passed as an argument") |
72 unprotect_models() |
72 unprotect_models() |
73 bundle = super(ProjectResource, self).obj_create(bundle, **kwargs) |
73 bundle = super(ProjectResource, self).obj_create(bundle, **kwargs) |
74 # Assign permission for the owner |
74 # Assign permission for the owner |
75 assign('view_project', request.user, bundle.obj) |
75 assign_perm('view_project', request.user, bundle.obj) |
76 assign('change_project', request.user, bundle.obj) |
76 assign_perm('change_project', request.user, bundle.obj) |
77 # Since the project is published by default, we assign permission for the everyone group |
77 # Since the project is published by default, we assign permission for the everyone group |
78 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
78 everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME) |
79 assign('ldt_utils.view_project', everyone, bundle.obj) |
79 assign_perm('ldt_utils.view_project', everyone, bundle.obj) |
80 protect_models() |
80 protect_models() |
81 return bundle |
81 return bundle |
82 |
82 |
83 |
83 |
84 # Prevent for put_list and delete all objects. |
84 # Prevent for put_list and delete all objects. |