~sirn/fanboi2

ref: 98796226802a26b82c888365ad5b9cd331006792 fanboi2/fanboi2/models/board.py -rw-r--r-- 1.8 KiB
Allow boards to be restricted, locked and archived.

For moderation purpose. Behavior for each status is as follows:

* open — anyone may create new topic and post.
* restricted — nobody can create new topic but may post.
* locked — nobody may create new topic nor post.
* archived — same as locked, but board is no longer shown in the list.

In summary,

+------------+---------------+-----------*----------+
| Status     | Shown in list | New Topic | New Post |
+------------+---------------+-----------*----------+
| open       |      Yes      |    Yes    |    Yes   |
| restricted |      Yes      |    No     |    Yes   |
| locked     |      Yes      |    No     |    No    |
| archived   |      No       |    No     |    No    |
+------------+---------------+-----------*----------+
Remove column definition in BaseModel.

In order to make everything more explicit and to allow primary key for
the model to be customized, e.g. in case of one-to-one relationship.
Integrate versioned with existing models.
Split model implementation into multiple files.