mirror of https://github.com/logos-co/open-law.git
crud sections
This commit is contained in:
parent
b231bdc396
commit
0f4c91ce69
|
@ -58,7 +58,7 @@ def book_validator() -> Response | None:
|
|||
sub_collection: m.Collection = db.session.get(m.Collection, sub_collection_id)
|
||||
if not sub_collection or sub_collection.is_deleted:
|
||||
log(log.WARNING, "Sub_collection with id [%s] not found", sub_collection_id)
|
||||
flash("SubCollection not found", "danger")
|
||||
flash("Subcollection not found", "danger")
|
||||
return redirect(
|
||||
url_for(
|
||||
"book.sub_collection_view",
|
||||
|
|
|
@ -594,35 +594,14 @@ def collection_delete(
|
|||
"/<int:book_id>/<int:collection_id>/<int:sub_collection_id>/create_section",
|
||||
methods=["POST"],
|
||||
)
|
||||
@register_book_verify_route(bp.name)
|
||||
@login_required
|
||||
def section_create(
|
||||
book_id: int, collection_id: int, sub_collection_id: int | None = None
|
||||
):
|
||||
book: m.Book = db.session.get(m.Book, book_id)
|
||||
if not book or book.is_deleted:
|
||||
log(log.WARNING, "Book with id [%s] not found", book_id)
|
||||
flash("Book not found", "danger")
|
||||
return redirect(url_for("book.my_books"))
|
||||
|
||||
collection: m.Collection = db.session.get(m.Collection, collection_id)
|
||||
if not collection or collection.is_deleted:
|
||||
log(log.WARNING, "Collection with id [%s] not found", collection_id)
|
||||
flash("Collection not found", "danger")
|
||||
return redirect(url_for("book.collection_view", book_id=book_id))
|
||||
|
||||
sub_collection = None
|
||||
if sub_collection_id:
|
||||
sub_collection: m.Collection = db.session.get(m.Collection, sub_collection_id)
|
||||
if not sub_collection or sub_collection.is_deleted:
|
||||
log(log.WARNING, "Sub_collection with id [%s] not found", sub_collection_id)
|
||||
flash("Subcollection not found", "danger")
|
||||
return redirect(
|
||||
url_for(
|
||||
"book.sub_collection_view",
|
||||
book_id=book_id,
|
||||
collection_id=collection_id,
|
||||
)
|
||||
)
|
||||
sub_collection: m.Collection = db.session.get(m.Collection, sub_collection_id)
|
||||
|
||||
redirect_url = url_for("book.collection_view", book_id=book_id)
|
||||
if collection_id:
|
||||
|
@ -667,6 +646,7 @@ def section_create(
|
|||
"/<int:book_id>/<int:collection_id>/<int:sub_collection_id>/<int:section_id>/edit_section",
|
||||
methods=["POST"],
|
||||
)
|
||||
@register_book_verify_route(bp.name)
|
||||
@login_required
|
||||
def section_edit(
|
||||
book_id: int,
|
||||
|
@ -674,31 +654,6 @@ def section_edit(
|
|||
section_id: int,
|
||||
sub_collection_id: int | None = None,
|
||||
):
|
||||
book: m.Book = db.session.get(m.Book, book_id)
|
||||
if not book or book.owner != current_user or book.is_deleted:
|
||||
log(log.INFO, "User: [%s] is not owner of book: [%s]", current_user, book)
|
||||
flash("You are not owner of this book!", "danger")
|
||||
return redirect(url_for("book.my_books"))
|
||||
|
||||
collection: m.Collection = db.session.get(m.Collection, collection_id)
|
||||
if not collection or collection.is_deleted:
|
||||
log(log.WARNING, "Collection with id [%s] not found", collection_id)
|
||||
flash("Collection not found", "danger")
|
||||
return redirect(url_for("book.collection_view", book_id=book_id))
|
||||
|
||||
if sub_collection_id:
|
||||
sub_collection: m.Collection = db.session.get(m.Collection, sub_collection_id)
|
||||
if not sub_collection or sub_collection.is_deleted:
|
||||
log(log.WARNING, "Sub_collection with id [%s] not found", sub_collection_id)
|
||||
flash("SubCollection not found", "danger")
|
||||
return redirect(
|
||||
url_for(
|
||||
"book.sub_collection_view",
|
||||
book_id=book_id,
|
||||
collection_id=collection_id,
|
||||
)
|
||||
)
|
||||
|
||||
redirect_url = url_for(
|
||||
"book.interpretation_view",
|
||||
book_id=book_id,
|
||||
|
@ -745,6 +700,7 @@ def section_edit(
|
|||
"/<int:book_id>/<int:collection_id>/<int:sub_collection_id>/<int:section_id>/delete_section",
|
||||
methods=["POST"],
|
||||
)
|
||||
@register_book_verify_route(bp.name)
|
||||
@login_required
|
||||
def section_delete(
|
||||
book_id: int,
|
||||
|
@ -752,32 +708,9 @@ def section_delete(
|
|||
section_id: int,
|
||||
sub_collection_id: int | None = None,
|
||||
):
|
||||
book: m.Book = db.session.get(m.Book, book_id)
|
||||
if not book or book.owner != current_user:
|
||||
log(log.INFO, "User: [%s] is not owner of book: [%s]", current_user, book)
|
||||
flash("You are not owner of this book!", "danger")
|
||||
return redirect(url_for("book.my_books"))
|
||||
|
||||
collection: m.Collection = db.session.get(m.Collection, collection_id)
|
||||
if not collection or collection.is_deleted:
|
||||
log(log.WARNING, "Collection with id [%s] not found", collection_id)
|
||||
flash("Collection not found", "danger")
|
||||
return redirect(url_for("book.collection_view", book_id=book_id))
|
||||
|
||||
collection_to_edit = collection
|
||||
if sub_collection_id:
|
||||
sub_collection: m.Collection = db.session.get(m.Collection, sub_collection_id)
|
||||
if not sub_collection or sub_collection.is_deleted:
|
||||
log(log.WARNING, "Sub_collection with id [%s] not found", sub_collection_id)
|
||||
flash("SubCollection not found", "danger")
|
||||
return redirect(
|
||||
url_for(
|
||||
"book.sub_collection_view",
|
||||
book_id=book_id,
|
||||
collection_id=collection_id,
|
||||
)
|
||||
)
|
||||
collection_to_edit = sub_collection
|
||||
collection: m.Collection = db.session.get(
|
||||
m.Collection, sub_collection_id or collection_id
|
||||
)
|
||||
|
||||
redirect_url = url_for(
|
||||
"book.section_view",
|
||||
|
@ -792,13 +725,13 @@ def section_delete(
|
|||
return redirect(redirect_url)
|
||||
|
||||
section.is_deleted = True
|
||||
if not collection_to_edit.active_sections:
|
||||
if not collection.active_sections:
|
||||
log(
|
||||
log.INFO,
|
||||
"Section [%s] has no active section. Set is_leaf = False",
|
||||
section.id,
|
||||
)
|
||||
collection_to_edit.is_leaf = False
|
||||
collection.is_leaf = False
|
||||
|
||||
log(log.INFO, "Delete section [%s]", section.id)
|
||||
section.save()
|
||||
|
|
|
@ -498,7 +498,7 @@ def test_crud_subcollection(client: FlaskClient, runner: FlaskCliRunner):
|
|||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b"SubCollection not found" in response.data
|
||||
assert b"Subcollection not found" in response.data
|
||||
|
||||
response: Response = client.post(
|
||||
f"/book/{book.id}/{collection.id}/{sub_collection.id}/delete",
|
||||
|
@ -517,7 +517,7 @@ def test_crud_subcollection(client: FlaskClient, runner: FlaskCliRunner):
|
|||
)
|
||||
|
||||
assert response.status_code == 200
|
||||
assert b"Collection not found" in response.data
|
||||
assert b"Subcollection not found" in response.data
|
||||
|
||||
|
||||
def test_crud_sections(client: FlaskClient, runner: FlaskCliRunner):
|
||||
|
|
Loading…
Reference in New Issue