72 lines
1.8 KiB
Python
72 lines
1.8 KiB
Python
|
|
from ttfrog import app, schema
|
||
|
|
|
||
|
|
TEMPLATE = """
|
||
|
|
# Heading 1
|
||
|
|
|
||
|
|
## Heading 2
|
||
|
|
|
||
|
|
### Heading 3
|
||
|
|
|
||
|
|
#### Heading 4
|
||
|
|
|
||
|
|
##### Heading 5
|
||
|
|
|
||
|
|
###### Heading 6
|
||
|
|
|
||
|
|
***
|
||
|
|
|
||
|
|
Normal text.
|
||
|
|
**Bold text.**
|
||
|
|
*Italic Text.*
|
||
|
|
[A link](/).
|
||
|
|
|
||
|
|
1. a
|
||
|
|
2. numbered
|
||
|
|
3. list.
|
||
|
|
|
||
|
|
> a block quote
|
||
|
|
|
||
|
|
| A | Table | Section |
|
||
|
|
| --- | ----- | ------- |
|
||
|
|
| foo | bar | baz |
|
||
|
|
|
||
|
|
"""
|
||
|
|
|
||
|
|
|
||
|
|
def bootstrap():
|
||
|
|
"""
|
||
|
|
Bootstrap the database entries by populating the first Page, the Admin user and the Admins group.
|
||
|
|
"""
|
||
|
|
app.check_state()
|
||
|
|
|
||
|
|
# create the top-level pages
|
||
|
|
root = app.db.save(schema.Page(name=app.config.VIEW_URI, title="Home", body="This is the home page"))
|
||
|
|
|
||
|
|
users = root.add_member(schema.Page(name="User", title="Users", body="users go here."))
|
||
|
|
groups = root.add_member(schema.Page(name="Group", title="Groups", body="groups go here."))
|
||
|
|
npcs = root.add_member(schema.Page(name="NPC", title="NPCS!", body="NPCS!"))
|
||
|
|
wiki = root.add_member(schema.Page(name="Wiki", title="Wiki", body=TEMPLATE))
|
||
|
|
|
||
|
|
# create the NPCs
|
||
|
|
npcs.add_member(schema.NPC(name="Sabetha", body=""))
|
||
|
|
npcs.add_member(schema.NPC(name="John", body=""))
|
||
|
|
|
||
|
|
# create the users
|
||
|
|
guest = users.add_member(schema.User(name="guest"))
|
||
|
|
admin = users.add_member(
|
||
|
|
schema.User(name=app.config.ADMIN_USERNAME, password="fnord", email=app.config.ADMIN_EMAIL)
|
||
|
|
)
|
||
|
|
|
||
|
|
# create the admin user and admins group
|
||
|
|
admins = groups.add_member(schema.Group(name="administrators", members=[admin]))
|
||
|
|
|
||
|
|
# admins get full access
|
||
|
|
root.set_permissions(
|
||
|
|
admins, permissions=[schema.Permissions.READ, schema.Permissions.WRITE, schema.Permissions.DELETE]
|
||
|
|
)
|
||
|
|
|
||
|
|
# guests get read access by default, except on Groups and Users
|
||
|
|
groups.set_permissions(guest, permissions=[])
|
||
|
|
users.set_permissions(guest, permissions=[])
|
||
|
|
root.set_permissions(guest, permissions=[schema.Permissions.READ])
|