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