mirror of
https://github.com/partitioncloud/partitioncloud-server.git
synced 2025-01-23 17:26:26 +01:00
Fix groupe deletion (removed orphans)
This commit is contained in:
parent
34cae34236
commit
2de234870e
@ -2,7 +2,7 @@ import os
|
|||||||
|
|
||||||
from ..db import get_db
|
from ..db import get_db
|
||||||
|
|
||||||
|
from .attachment import Attachment
|
||||||
|
|
||||||
class Album():
|
class Album():
|
||||||
def __init__(self, uuid=None, id=None):
|
def __init__(self, uuid=None, id=None):
|
||||||
@ -116,6 +116,18 @@ class Album():
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
for partition in partitions.fetchall():
|
for partition in partitions.fetchall():
|
||||||
|
data = db.execute(
|
||||||
|
"""
|
||||||
|
SELECT * FROM attachments
|
||||||
|
WHERE partition_uuid = ?
|
||||||
|
""",
|
||||||
|
(partition["uuid"],)
|
||||||
|
)
|
||||||
|
attachments = [Attachment(data=i) for i in data]
|
||||||
|
|
||||||
|
for attachment in attachments:
|
||||||
|
attachment.delete()
|
||||||
|
|
||||||
os.remove(f"partitioncloud/partitions/{partition['uuid']}.pdf")
|
os.remove(f"partitioncloud/partitions/{partition['uuid']}.pdf")
|
||||||
if os.path.exists(f"partitioncloud/static/thumbnails/{partition['uuid']}.jpg"):
|
if os.path.exists(f"partitioncloud/static/thumbnails/{partition['uuid']}.jpg"):
|
||||||
os.remove(f"partitioncloud/static/thumbnails/{partition['uuid']}.jpg")
|
os.remove(f"partitioncloud/static/thumbnails/{partition['uuid']}.jpg")
|
||||||
|
@ -54,9 +54,9 @@ class Groupe():
|
|||||||
"""
|
"""
|
||||||
SELECT id FROM album
|
SELECT id FROM album
|
||||||
LEFT JOIN groupe_contient_album
|
LEFT JOIN groupe_contient_album
|
||||||
LEFT JOIN contient_user
|
|
||||||
ON groupe_contient_album.album_id=album.id
|
ON groupe_contient_album.album_id=album.id
|
||||||
AND contient_user.album_id=album.id
|
LEFT JOIN contient_user
|
||||||
|
ON contient_user.album_id=album.id
|
||||||
WHERE user_id IS NULL AND groupe_id IS NULL
|
WHERE user_id IS NULL AND groupe_id IS NULL
|
||||||
"""
|
"""
|
||||||
).fetchall()
|
).fetchall()
|
||||||
|
@ -194,15 +194,16 @@ class User():
|
|||||||
|
|
||||||
def quit_album(self, album_uuid):
|
def quit_album(self, album_uuid):
|
||||||
db = get_db()
|
db = get_db()
|
||||||
album = Album(uuid=album_uuid)
|
|
||||||
|
|
||||||
db.execute(
|
db.execute(
|
||||||
"""
|
"""
|
||||||
DELETE FROM contient_user
|
DELETE FROM contient_user
|
||||||
|
JOIN album
|
||||||
|
ON album.id = album_id
|
||||||
WHERE user_id = ?
|
WHERE user_id = ?
|
||||||
AND album_id = ?
|
AND album.uuid = ?
|
||||||
""",
|
""",
|
||||||
(self.id, album.id)
|
(self.id, album_uuid)
|
||||||
)
|
)
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user