annotate libervia/pages/blog/edit/page_meta.py @ 1466:cff720e26089

pages (blog/view): activate pagination when a single item is shown: `previous_page_url` and `next_page_url` are set when `item_id` is used. For now, they are both activated even if there is no item before or after, as it would request to make extra request to check it. This may be improved in 0.9 by using internal cache. fix 399
author Goffi <goffi@goffi.org>
date Thu, 30 Sep 2021 17:04:22 +0200
parents 925a7c498cda
children 081b4f8a63d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1416
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 #!/usr/bin/env python3
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
2
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 from libervia.server.constants import Const as C
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
4 from sat.core.log import getLogger
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 from sat.tools.common import data_format
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
6
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 log = getLogger(__name__)
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
8
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 name = "blog_edit"
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
10 access = C.PAGES_ACCESS_PROFILE
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 template = "blog/publish.html"
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
12
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
13
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 async def on_data_post(self, request):
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 profile = self.getProfile(request)
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 if profile is None:
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 self.pageError(request, C.HTTP_FORBIDDEN)
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 request_data = self.getRData(request)
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
19 title, tags, body = self.getPostedData(request, ('title', 'tags', 'body'))
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 mb_data = {"content_rich": body}
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
21 title = title.strip()
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
22 if title:
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
23 mb_data["title_rich"] = title
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
24 tags = [t.strip() for t in tags.split(',') if t.strip()]
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
25 if tags:
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
26 mb_data["tags"] = tags
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
27
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
28 await self.host.bridgeCall(
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
29 'mbSend',
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
30 "",
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
31 "",
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
32 data_format.serialise(mb_data),
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
33 profile
0554103ec700 pages (blog): new `edit` page:
Goffi <goffi@goffi.org>
parents:
diff changeset
34 )
1420
925a7c498cda pages (blog/edit): move preview code to new `BlogEditor` class in `editor` module
Goffi <goffi@goffi.org>
parents: 1416
diff changeset
35
925a7c498cda pages (blog/edit): move preview code to new `BlogEditor` class in `editor` module
Goffi <goffi@goffi.org>
parents: 1416
diff changeset
36 request_data["post_redirect_page"] = self.getPageByName("blog")