Welcome | Get started | Dive | Contribute | Topics | Reference | Changes | More

lists : newsletter

The lino_xl.lib.lists plugin adds functionality for managing newsletter.

This page contains code snippets (lines starting with >>>), which are being tested during our development workflow. The following snippet initializes the demo project used throughout this page.

>>> from lino_book.projects.noi1e.startup import *
class lino_xl.lib.lists.List

Django model to represent a newsletter.

user

The owner of this list.

name
ref
remark
class lino_xl.lib.lists.Member

Django model to represent a subscription to a list.

user
list
remark
seqno
>>> rt.show(lists.Lists)
=========== ================================ =======================
 Reference   overview                         Default for new users
----------- -------------------------------- -----------------------
             `Announcements <…>`__            No
             `Weekly newsletter <…>`__        Yes
             `General discussion <…>`__       No
             `Beginners forum <…>`__          No
             `Developers forum <…>`__         No
             `PyCon 2014 <…>`__               No
             `Free Software Day 2014 <…>`__   No
             `Schools <…>`__                  No
=========== ================================ =======================
>>> obj = lists.List.objects.get(pk=1)
>>> rt.show(lists.MembersByList, obj)
===== ============ ================== ======== ==========
 No.   Member       e-mail address     Remark   Workflow
----- ------------ ------------------ -------- ----------
 1     Robin Rood   demo@example.com
===== ============ ================== ======== ==========

The quick search field of a members list looks in the partner names and the membership remark.

>>> rt.show(lists.MembersByList, obj, quick_search="rob")
===== ============ ================== ======== ==========
 No.   Member       e-mail address     Remark   Workflow
----- ------------ ------------------ -------- ----------
 1     Robin Rood   demo@example.com
===== ============ ================== ======== ==========
>>> [f.name for f in lists.Member.quick_search_fields]
['user__first_name', 'user__last_name', 'user__username', 'user__email', 'remark']