forked from forks/microblog.pub
Allow to post note with attachments and a CW
This commit is contained in:
parent
356aace9bc
commit
0f20a1d12f
2 changed files with 19 additions and 2 deletions
15
app/admin.py
15
app/admin.py
|
@ -1021,7 +1021,7 @@ async def admin_actions_unpin(
|
||||||
async def admin_actions_new(
|
async def admin_actions_new(
|
||||||
request: Request,
|
request: Request,
|
||||||
files: list[UploadFile] = [],
|
files: list[UploadFile] = [],
|
||||||
content: str = Form(),
|
content: str | None = Form(None),
|
||||||
redirect_url: str = Form(),
|
redirect_url: str = Form(),
|
||||||
in_reply_to: str | None = Form(None),
|
in_reply_to: str | None = Form(None),
|
||||||
content_warning: str | None = Form(None),
|
content_warning: str | None = Form(None),
|
||||||
|
@ -1032,6 +1032,19 @@ async def admin_actions_new(
|
||||||
csrf_check: None = Depends(verify_csrf_token),
|
csrf_check: None = Depends(verify_csrf_token),
|
||||||
db_session: AsyncSession = Depends(get_db_session),
|
db_session: AsyncSession = Depends(get_db_session),
|
||||||
) -> RedirectResponse:
|
) -> RedirectResponse:
|
||||||
|
if not content and not content_warning:
|
||||||
|
raise HTTPException(status_code=422, detail="Error: object must have a content")
|
||||||
|
|
||||||
|
# Do like Mastodon, if there's only a CW with no content and some attachments,
|
||||||
|
# swap the CW and the content
|
||||||
|
if not content and content_warning and len(files) >= 1:
|
||||||
|
content = content_warning
|
||||||
|
is_sensitive = True
|
||||||
|
content_warning = None
|
||||||
|
|
||||||
|
if not content:
|
||||||
|
raise HTTPException(status_code=422, detail="Error: objec must have a content")
|
||||||
|
|
||||||
# XXX: for some reason, no files restuls in an empty single file
|
# XXX: for some reason, no files restuls in an empty single file
|
||||||
uploads = []
|
uploads = []
|
||||||
raw_form_data = await request.form()
|
raw_form_data = await request.form()
|
||||||
|
|
|
@ -3,7 +3,11 @@
|
||||||
|
|
||||||
{% block head %}
|
{% block head %}
|
||||||
{% if outbox_object %}
|
{% if outbox_object %}
|
||||||
{% set excerpt = outbox_object.content | html2text | trim | truncate(50) %}
|
{% if outbox_object.content %}
|
||||||
|
{% set excerpt = outbox_object.content | html2text | trim | truncate(50) %}
|
||||||
|
{% else %}
|
||||||
|
{% set excerpt = outbox_object.summary | html2text | trim | truncate(50) %}
|
||||||
|
{% endif %}
|
||||||
<title>{% if outbox_object.name %}{{ outbox_object.name }}{% else %}{{ local_actor.display_name }}: "{{ excerpt }}"{% endif %}</title>
|
<title>{% if outbox_object.name %}{{ outbox_object.name }}{% else %}{{ local_actor.display_name }}: "{{ excerpt }}"{% endif %}</title>
|
||||||
<link rel="webmention" href="{{ url_for("webmention_endpoint") }}">
|
<link rel="webmention" href="{{ url_for("webmention_endpoint") }}">
|
||||||
<link rel="alternate" href="{{ request.url }}" type="application/activity+json">
|
<link rel="alternate" href="{{ request.url }}" type="application/activity+json">
|
||||||
|
|
Loading…
Reference in a new issue