Esempio n. 1
0
 def initialize(self, request, path_info_segment, **kwargs):
     self.parent_path_info = self.get_parent_in_path(path_info_segment, levels=self.levels)
     self.parent_resource = self.get_object_for_path(self.parent_path_info, self.request)
     if hasattr(self.parent_resource, 'versioned_object'):
         self.parent_resource_version = self.parent_resource
         self.parent_resource = self.parent_resource_version.versioned_object
     else:
         self.parent_resource_version = ResourceVersionModel.get_latest_version_of(self.parent_resource)
Esempio n. 2
0
 def initialize(self, request, path_info_segment, **kwargs):
     self.parent_path_info = self.get_parent_in_path(path_info_segment, levels=self.levels)
     self.parent_resource = self.get_object_for_path(self.parent_path_info, self.request)
     if hasattr(self.parent_resource, 'versioned_object'):
         self.parent_resource_version = self.parent_resource
         self.parent_resource = self.parent_resource_version.versioned_object
     else:
         self.parent_resource_version = ResourceVersionModel.get_latest_version_of(self.parent_resource)
Esempio n. 3
0
    def initialize(self, request, path_info_segment, **kwargs):
        levels = 0
        if hasattr(self.model, 'get_url_kwarg') and self.model.get_url_kwarg() in kwargs:
            levels += 1
        levels = levels + 1 if isinstance(self, ListModelMixin) or isinstance(self, CreateModelMixin) else levels + 2
        self.parent_path_info = self.get_parent_in_path(path_info_segment, levels=levels)
        self.parent_resource = None
        if self.parent_path_info and '/' != self.parent_path_info:
            self.parent_resource = self.get_object_for_path(self.parent_path_info, self.request)
        if hasattr(self.parent_resource, 'versioned_object'):
            self.parent_resource_version = self.parent_resource
            self.parent_resource = self.parent_resource_version.versioned_object
        else:
            version_model = self.parent_resource.get_version_model()

            if version_model.__name__ in ['SourceVersion', 'CollectionVersion']:
                self.parent_resource_version = ResourceVersionModel.get_head_of(self.parent_resource)
            else:
                self.parent_resource_version = ResourceVersionModel.get_latest_version_of(self.parent_resource)
Esempio n. 4
0
 def initialize(self, request, path_info_segment, **kwargs):
     self.reference_only = request.QUERY_PARAMS.get('reference', False)
     self.parent_path_info = self.get_parent_in_path(path_info_segment, levels=2)
     self.parent_resource = None
     if self.parent_path_info and '/' != self.parent_path_info:
         self.parent_resource = self.get_object_for_path(self.parent_path_info, self.request)
     if hasattr(self.parent_resource, 'versioned_object'):
         self.parent_resource_version = self.parent_resource
         self.parent_resource = self.parent_resource_version.versioned_object
     else:
         self.parent_resource_version = ResourceVersionModel.get_latest_version_of(self.parent_resource)
Esempio n. 5
0
 def initialize(self, request, path_info_segment, **kwargs):
     if request.method in ['GET', 'HEAD']:
         self.permission_classes = (CanViewParentDictionary,)
     self.parent_path_info = self.get_parent_in_path(path_info_segment, levels=2)
     self.parent_resource = None
     if self.parent_path_info and '/' != self.parent_path_info:
         self.parent_resource = self.get_object_for_path(self.parent_path_info, self.request)
     if hasattr(self.parent_resource, 'versioned_object'):
         self.parent_resource_version = self.parent_resource
         self.parent_resource = self.parent_resource_version.versioned_object
     else:
         self.parent_resource_version = ResourceVersionModel.get_latest_version_of(self.parent_resource)
     self.key = kwargs.get('extra')
     self.parent_resource_version = self.parent_resource_version.clone()
     if not self.parent_resource_version.extras:
         self.parent_resource_version.extras = dict()
     self.extras = self.parent_resource_version.extras
Esempio n. 6
0
 def initialize(self, request, path_info_segment, **kwargs):
     if request.method in ['GET', 'HEAD']:
         self.permission_classes = (CanViewParentDictionary,)
     self.parent_path_info = self.get_parent_in_path(path_info_segment, levels=2)
     self.parent_resource = None
     if self.parent_path_info and '/' != self.parent_path_info:
         self.parent_resource = self.get_object_for_path(self.parent_path_info, self.request)
     if hasattr(self.parent_resource, 'versioned_object'):
         self.parent_resource_version = self.parent_resource
         self.parent_resource = self.parent_resource_version.versioned_object
     else:
         self.parent_resource_version = ResourceVersionModel.get_latest_version_of(self.parent_resource)
     self.key = kwargs.get('extra')
     self.parent_resource_version = self.parent_resource_version.clone()
     if not self.parent_resource_version.extras:
         self.parent_resource_version.extras = dict()
     self.extras = self.parent_resource_version.extras