You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2021/07/01 22:05:52 UTC
[allura] 06/07: [#8368] use app_config_id in more queries
This is an automated email from the ASF dual-hosted git repository.
brondsem pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git
commit 034f3ac73bb4282205bf71c133caf5709217b478
Author: Dave Brondsema <db...@slashdotmedia.com>
AuthorDate: Mon Jun 14 16:29:00 2021 -0400
[#8368] use app_config_id in more queries
---
ForgeFiles/forgefiles/files_main.py | 69 ++++++++++++++++++++-----------------
1 file changed, 37 insertions(+), 32 deletions(-)
diff --git a/ForgeFiles/forgefiles/files_main.py b/ForgeFiles/forgefiles/files_main.py
index 38a7c7d..77ac147 100755
--- a/ForgeFiles/forgefiles/files_main.py
+++ b/ForgeFiles/forgefiles/files_main.py
@@ -147,7 +147,7 @@ class FilesController(BaseController):
parent_folder = None
url = c.app.url
else:
- parent_folder = UploadFolder.query.get(_id=ObjectId(parent_folder_id))
+ parent_folder = UploadFolder.query.get(_id=ObjectId(parent_folder_id), app_config_id=c.app.config._id)
parent_folder_id = ObjectId(parent_folder._id)
url = parent_folder.url()
return parent_folder_id, parent_folder, url
@@ -218,8 +218,8 @@ class FilesController(BaseController):
'''Controller method to delete a file'''
- file_object = UploadFiles.query.get(_id=ObjectId(file_id))
- upload_object = Upload.query.get(_id=file_object.artifact_id)
+ file_object = UploadFiles.query.get(_id=ObjectId(file_id), app_config_id=c.app.config._id)
+ upload_object = Upload.query.get(_id=file_object.artifact_id, app_config_id=c.app.config._id)
file_name = file_object.filename
transient_actor = TransientActor(activity_name=file_name)
url = c.app.url
@@ -230,18 +230,17 @@ class FilesController(BaseController):
if parent_folder:
url = parent_folder.url()
flash('File is successfully deleted')
+ g.director.create_activity(c.user, 'deleted the file', transient_actor, related_nodes=[c.project])
else:
flash('File is not deleted')
- g.director.create_activity(
- c.user, 'deleted the file', transient_actor, related_nodes=[c.project])
return redirect(url)
def delete_file_from_db(self, file_id=None):
'''Method to delete a file from db'''
- file_object = UploadFiles.query.get(_id=ObjectId(file_id))
- Upload.query.remove({'_id': file_object.artifact_id})
+ file_object = UploadFiles.query.get(_id=ObjectId(file_id), app_config_id=c.app.config._id)
+ Upload.query.remove({'_id': file_object.artifact_id, 'app_config_id': c.app.config._id})
file_object.delete()
def delete_folder_recursively(self, folder_id):
@@ -256,7 +255,7 @@ class FilesController(BaseController):
'app_config_id': c.app.config._id, 'parent_folder_id': ObjectId(folder_id)}).all()
for folder_object in sub_folder_objects:
self.delete_folder_recursively(folder_object._id)
- UploadFolder.query.remove(dict({'_id': ObjectId(folder_id)}))
+ UploadFolder.query.remove({'_id': ObjectId(folder_id), 'app_config_id': c.app.config._id})
@without_trailing_slash
@require_post()
@@ -265,7 +264,7 @@ class FilesController(BaseController):
'''Controller method to delete a folder'''
- folder_object = UploadFolder.query.get(_id=ObjectId(folder_id))
+ folder_object = UploadFolder.query.get(_id=ObjectId(folder_id), app_config_id=c.app.config._id)
folder_name = folder_object.folder_name
transient_actor = TransientActor(activity_name=folder_name)
url = c.app.url
@@ -275,10 +274,9 @@ class FilesController(BaseController):
if folder_object.parent_folder:
url = folder_object.parent_folder.url()
flash('Folder is deleted Successfully')
+ g.director.create_activity(c.user, 'deleted the folder', transient_actor, related_nodes=[c.project])
else:
flash('Folder is not deleted')
- g.director.create_activity(
- c.user, 'deleted the folder', transient_actor, related_nodes=[c.project])
return redirect(url)
@without_trailing_slash
@@ -288,8 +286,8 @@ class FilesController(BaseController):
'''Controller method to link a file to the download button'''
- linkable_file_object = UploadFiles.query.get(_id=ObjectId(file_id))
- upload_object = Upload.query.get(_id=linkable_file_object.artifact_id)
+ linkable_file_object = UploadFiles.query.get(_id=ObjectId(file_id), app_config_id=c.app.config._id)
+ upload_object = Upload.query.get(_id=linkable_file_object.artifact_id, app_config_id=c.app.config._id)
require_access(upload_object, 'link')
if status == 'False':
linkable_file_object.linked_to_download = False
@@ -309,13 +307,19 @@ class FilesController(BaseController):
request_path = request.path.split(c.app.url)[-1].rstrip('/')
request_path = unquote(request_path)
linked_file_object = UploadFiles.query.find({
- 'app_config_id': c.app.config._id, 'filename': filename, 'path': request_path}).first()
- upload_object = Upload.query.find({'_id': linked_file_object.artifact_id}).first()
+ 'app_config_id': c.app.config._id, 'filename': filename, 'path': request_path, 'disabled': False,
+ }).first()
+ upload_object = Upload.query.find({
+ '_id': linked_file_object.artifact_id, 'app_config_id': c.app.config._id,
+ }).first()
else:
linked_file_object = UploadFiles.query.find({
- 'app_config_id': c.app.config._id, 'linked_to_download': True}).first()
+ 'app_config_id': c.app.config._id, 'linked_to_download': True, 'disabled': False,
+ }).first()
if linked_file_object:
- upload_object = Upload.query.find({'_id': linked_file_object.artifact_id}).first()
+ upload_object = Upload.query.find({
+ '_id': linked_file_object.artifact_id, 'app_config_id': c.app.config._id,
+ }).first()
else:
upload_object = None
if linked_file_object:
@@ -327,7 +331,6 @@ class FilesController(BaseController):
except Exception as e:
log.exception('%s error to download the file', e)
else:
- data = 'No artifact available'
flash('No artifact available')
return redirect(c.app.url)
@@ -338,7 +341,7 @@ class FilesController(BaseController):
'''Controller method to edit the folder name'''
url = c.app.url
- folder_object = UploadFolder.query.get(_id=ObjectId(folder_id))
+ folder_object = UploadFolder.query.get(_id=ObjectId(folder_id), app_config_id=c.app.config._id)
if folder_object:
require_access(folder_object, 'update')
folder_object.folder_name = folder_name
@@ -356,8 +359,8 @@ class FilesController(BaseController):
'''Controller method to edit the file name'''
url = c.app.url
- file_object = UploadFiles.query.get(_id=ObjectId(file_id))
- upload_object = Upload.query.get(_id=file_object.artifact_id)
+ file_object = UploadFiles.query.get(_id=ObjectId(file_id), app_config_id=c.app.config._id)
+ upload_object = Upload.query.get(_id=file_object.artifact_id, app_config_id=c.app.config._id)
if file_object:
require_access(upload_object, 'update')
upload_object.filename = file_name
@@ -375,7 +378,7 @@ class FilesController(BaseController):
'''Controller which publishes the folder. It send update about the publishing of the folder.'''
- folder_object = UploadFolder.query.get(_id=ObjectId(folder_id))
+ folder_object = UploadFolder.query.get(_id=ObjectId(folder_id), app_config_id=c.app.config._id)
url = c.app.url
if folder_object:
require_access(folder_object, 'publish')
@@ -422,7 +425,7 @@ class FilesController(BaseController):
'''Controller method to disable the folder.'''
- folder_object = UploadFolder.query.get(_id=ObjectId(folder_id))
+ folder_object = UploadFolder.query.get(_id=ObjectId(folder_id), app_config_id=c.app.config._id)
if status == 'True':
disable_status = True
text = 'disabled'
@@ -435,11 +438,12 @@ class FilesController(BaseController):
'''Disabling Child folders & files of the current folder '''
for child_folder_id in folder_object.folder_ids:
- child_folder_object = UploadFolder.query.get(_id=ObjectId(child_folder_id))
+ child_folder_object = UploadFolder.query.get(
+ _id=ObjectId(child_folder_id), app_config_id=c.app.config._id)
if child_folder_object:
child_folder_object.disabled = disable_status
for child_file_id in folder_object.file_ids:
- child_file_object = UploadFiles.query.get(_id=ObjectId(child_file_id))
+ child_file_object = UploadFiles.query.get(_id=ObjectId(child_file_id), app_config_id=c.app.config._id)
if child_file_object:
child_file_object.disabled = disable_status
flash('Folder %s successfully' % (text))
@@ -452,8 +456,8 @@ class FilesController(BaseController):
'''Controller method to disable the file.'''
- file_object = UploadFiles.query.get(_id=ObjectId(file_id))
- upload_object = Upload.query.get(_id=file_object.artifact_id)
+ file_object = UploadFiles.query.get(_id=ObjectId(file_id), app_config_id=c.app.config._id)
+ upload_object = Upload.query.get(_id=file_object.artifact_id, app_config_id=c.app.config._id)
if status == 'True':
disable_status = True
text = 'disabled'
@@ -484,7 +488,7 @@ class FilesController(BaseController):
def get_folder_object(self, folder_id=None):
'''Returns the folder object for input folder id'''
- folder_object = UploadFolder.query.get(_id=ObjectId(folder_id))
+ folder_object = UploadFolder.query.get(_id=ObjectId(folder_id), app_config_id=c.app.config._id)
return folder_object
@expose('jinja:forgefiles:templates/create_folder.html')
@@ -501,8 +505,8 @@ class FilesController(BaseController):
def get_folder_file_object(self, object_id=None):
'''Returns corresponding file or folder object for the input id '''
- folder_object = UploadFolder.query.get(_id=ObjectId(object_id))
- file_object = UploadFiles.query.get(_id=ObjectId(object_id))
+ folder_object = UploadFolder.query.get(_id=ObjectId(object_id), app_config_id=c.app.config._id)
+ file_object = UploadFiles.query.get(_id=ObjectId(object_id), app_config_id=c.app.config._id)
return dict(folder_object=folder_object, file_object=file_object)
@expose('jinja:forgefiles:templates/edit.html')
@@ -520,10 +524,11 @@ class FilesController(BaseController):
@expose('jinja:forgefiles:templates/publish_folder.html')
def get_publishable_folder(self, folder_id=None):
'''Returns the status and folder object if the folder can be published or not'''
- linked_file_object = UploadFiles.query.get(app_config_id=c.app.config._id, linked_to_download=True, disabled=False)
+ linked_file_object = UploadFiles.query.get(
+ app_config_id=c.app.config._id, linked_to_download=True, disabled=False)
parent_folders = get_parent_folders(linked_file_object=linked_file_object)
if folder_id:
- folder_object = UploadFolder.query.get(_id=ObjectId(folder_id))
+ folder_object = UploadFolder.query.get(_id=ObjectId(folder_id), app_config_id=c.app.config._id)
status = str(folder_object._id) in parent_folders
else:
folder_object = None