src/ldt/ldt/api/ldt/resources/project.py
changeset 1357 dd3b4c9d5035
parent 1336 9ee589aaa464
child 1405 1878f6371f87
equal deleted inserted replaced
1356:0c03dba0c515 1357:dd3b4c9d5035
     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.