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)
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)
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)
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