Essay Implementation in Mailman3

My first task was to implement the essay feature in Mailman3. This is the detailed report of the implementation.

Overview
An essay is a set of questions that can be asked by the list admin, which has to be answered by the subscriber in order to subscribe. These details can be viewed anytime by the admin.

  • This is the list subscription page.The details entered through this form gets saved in an ‘essay’ model.

  • This is the admins page where all subscription requests are listed. I have provided a “detail” button which will take us to that page where essay of that user can be viewed.

  • This is the page where the admin can see all the information entered by the user. The essay is arranged according to date.

  • This is the page where all subscribed members are listed. I have provided a “Essay Details” button which will take us to that page where essay of that user can be viewed.

Github

GitHub code changes can be seen here.
The pull request for the code changes can be seen here.

Functional Changes in Postorius

  • Model class ‘EssaySubscribe’ that stores the details entered by the user through the form during subscription request.

  • Modified forms.py according to Systers’ needs and store it to the database created in models.py.

  • Modified list.py to fetch the value from the form and store them in database.

  • Template ‘application.html’ to show the essay details.

  • View ‘essay.py’ for essay.

  • Modified ‘urls.py’ to give the path to template for essay.

  • Provided buttons on ‘subscription_requests.html’ and ‘members.html’.

Files changed

  • src/postorius/forms.py
  • src/postorius/models.py
  • src/postorius/templates/postorius/lists/members.html
  • src/postorius/templates/postorius/lists/subscription_requests.html
  • src/postorius/templates/postorius/lists/summary.html
  • src/postorius/urls.py
  • src/postorius/views/list.py

Files created

  • src/postorius/views/essay.py
  • src/postorius/templates/postorius/lists/application.html