|  | @@ -70,7 +70,12 @@ class Provider(DAVProvider):
 | 
	
		
			
			| 70 | 70 |  
 | 
	
		
			
			| 71 | 71 |          # If the requested path is the root, then we return a RootResource resource
 | 
	
		
			
			| 72 | 72 |          if path == root_path:
 | 
	
		
			
			| 73 |  | -            return resources.RootResource(path, environ, user=user, session=session)
 | 
	
		
			
			|  | 73 | +            return resources.RootResource(
 | 
	
		
			
			|  | 74 | +                path=path,
 | 
	
		
			
			|  | 75 | +                environ=environ,
 | 
	
		
			
			|  | 76 | +                user=user,
 | 
	
		
			
			|  | 77 | +                session=session
 | 
	
		
			
			|  | 78 | +            )
 | 
	
		
			
			| 74 | 79 |  
 | 
	
		
			
			| 75 | 80 |          workspace_api = WorkspaceApi(
 | 
	
		
			
			| 76 | 81 |              current_user=user,
 | 
	
	
		
			
			|  | @@ -111,10 +116,24 @@ class Provider(DAVProvider):
 | 
	
		
			
			| 111 | 116 |  
 | 
	
		
			
			| 112 | 117 |          # Easy cases : path either end with /.deleted, /.archived or /.history, then we return corresponding resources
 | 
	
		
			
			| 113 | 118 |          if path.endswith(SpecialFolderExtension.Archived) and self._show_archive:
 | 
	
		
			
			| 114 |  | -            return resources.ArchivedFolderResource(path, environ, workspace, content)
 | 
	
		
			
			|  | 119 | +            return resources.ArchivedFolderResource(
 | 
	
		
			
			|  | 120 | +                path=path,
 | 
	
		
			
			|  | 121 | +                environ=environ,
 | 
	
		
			
			|  | 122 | +                workspace=workspace,
 | 
	
		
			
			|  | 123 | +                user=user,
 | 
	
		
			
			|  | 124 | +                content=content,
 | 
	
		
			
			|  | 125 | +                session=session,
 | 
	
		
			
			|  | 126 | +            )
 | 
	
		
			
			| 115 | 127 |  
 | 
	
		
			
			| 116 | 128 |          if path.endswith(SpecialFolderExtension.Deleted) and self._show_delete:
 | 
	
		
			
			| 117 |  | -            return resources.DeletedFolderResource(path, environ, workspace, content)
 | 
	
		
			
			|  | 129 | +            return resources.DeletedFolderResource(
 | 
	
		
			
			|  | 130 | +                path=path,
 | 
	
		
			
			|  | 131 | +                environ=environ,
 | 
	
		
			
			|  | 132 | +                workspace=workspace,
 | 
	
		
			
			|  | 133 | +                user=user,
 | 
	
		
			
			|  | 134 | +                content=content,
 | 
	
		
			
			|  | 135 | +                session=session,
 | 
	
		
			
			|  | 136 | +            )
 | 
	
		
			
			| 118 | 137 |  
 | 
	
		
			
			| 119 | 138 |          if path.endswith(SpecialFolderExtension.History) and self._show_history:
 | 
	
		
			
			| 120 | 139 |              is_deleted_folder = re.search(r'/\.deleted/\.history$', path) is not None
 | 
	
	
		
			
			|  | @@ -124,7 +143,15 @@ class Provider(DAVProvider):
 | 
	
		
			
			| 124 | 143 |                  else HistoryType.Archived if is_archived_folder \
 | 
	
		
			
			| 125 | 144 |                  else HistoryType.Standard
 | 
	
		
			
			| 126 | 145 |  
 | 
	
		
			
			| 127 |  | -            return resources.HistoryFolderResource(path, environ, workspace, content, type)
 | 
	
		
			
			|  | 146 | +            return resources.HistoryFolderResource(
 | 
	
		
			
			|  | 147 | +                path=path,
 | 
	
		
			
			|  | 148 | +                environ=environ,
 | 
	
		
			
			|  | 149 | +                workspace=workspace,
 | 
	
		
			
			|  | 150 | +                user=user,
 | 
	
		
			
			|  | 151 | +                content=content,
 | 
	
		
			
			|  | 152 | +                session=session,
 | 
	
		
			
			|  | 153 | +                type=type
 | 
	
		
			
			|  | 154 | +            )
 | 
	
		
			
			| 128 | 155 |  
 | 
	
		
			
			| 129 | 156 |          # Now that's more complicated, we're trying to find out if the path end with /.history/file_name
 | 
	
		
			
			| 130 | 157 |          is_history_file_folder = re.search(r'/\.history/([^/]+)$', path) is not None
 | 
	
	
		
			
			|  | @@ -133,9 +160,10 @@ class Provider(DAVProvider):
 | 
	
		
			
			| 133 | 160 |              return resources.HistoryFileFolderResource(
 | 
	
		
			
			| 134 | 161 |                  path=path,
 | 
	
		
			
			| 135 | 162 |                  environ=environ,
 | 
	
		
			
			| 136 |  | -                content=content
 | 
	
		
			
			|  | 163 | +                user=user,
 | 
	
		
			
			|  | 164 | +                content=content,
 | 
	
		
			
			|  | 165 | +                session=session,
 | 
	
		
			
			| 137 | 166 |              )
 | 
	
		
			
			| 138 |  | -
 | 
	
		
			
			| 139 | 167 |          # And here next step :
 | 
	
		
			
			| 140 | 168 |          is_history_file = re.search(r'/\.history/[^/]+/\((\d+) - [a-zA-Z]+\) .+', path) is not None
 | 
	
		
			
			| 141 | 169 |  
 | 
	
	
		
			
			|  | @@ -147,9 +175,23 @@ class Provider(DAVProvider):
 | 
	
		
			
			| 147 | 175 |              content = self.get_content_from_revision(content_revision, content_api)
 | 
	
		
			
			| 148 | 176 |  
 | 
	
		
			
			| 149 | 177 |              if content.type == ContentType.File:
 | 
	
		
			
			| 150 |  | -                return resources.HistoryFileResource(path, environ, content, content_revision)
 | 
	
		
			
			|  | 178 | +                return resources.HistoryFileResource(
 | 
	
		
			
			|  | 179 | +                    path=path,
 | 
	
		
			
			|  | 180 | +                    environ=environ,
 | 
	
		
			
			|  | 181 | +                    user=user,
 | 
	
		
			
			|  | 182 | +                    content=content,
 | 
	
		
			
			|  | 183 | +                    content_revision=content_revision,
 | 
	
		
			
			|  | 184 | +                    session=session,
 | 
	
		
			
			|  | 185 | +                )
 | 
	
		
			
			| 151 | 186 |              else:
 | 
	
		
			
			| 152 |  | -                return resources.HistoryOtherFile(path, environ, content, content_revision)
 | 
	
		
			
			|  | 187 | +                return resources.HistoryOtherFile(
 | 
	
		
			
			|  | 188 | +                    path=path,
 | 
	
		
			
			|  | 189 | +                    environ=environ,
 | 
	
		
			
			|  | 190 | +                    user=user,
 | 
	
		
			
			|  | 191 | +                    content=content,
 | 
	
		
			
			|  | 192 | +                    content_revision=content_revision,
 | 
	
		
			
			|  | 193 | +                    session=session,
 | 
	
		
			
			|  | 194 | +                )
 | 
	
		
			
			| 153 | 195 |  
 | 
	
		
			
			| 154 | 196 |          # And if we're still going, the client is asking for a standard Folder/File/Page/Thread so we check the type7
 | 
	
		
			
			| 155 | 197 |          # and return the corresponding resource
 |