[checklist] Implement checklist templates in account pages

Review Request #7099 — Created March 21, 2015 and submitted — Latest diff uploaded

6969, 7103
rb-extension-pack, students

An additional functionality of the checklist extension is to allow users to create individual templates which can be quickly added to any existing checklists. This change does not enable checklist templates to be imported into existing checklists.

Checklist templates are stored with two attributes, their title as a string and their list of items in JSON format.

The form for users to modify their checklist templates is under their account preferences page. In the form, users can add checklist templates, remove checklist templates, or edit an existing checklist template.

The form will automatically add new item fields when it detects that the user is editing the last item field, or when the user presses enter.

On Chrome 41.0.2272 and Safari 8.0.2:

  • Basic CRUD functionality - adding, editing and removing - works as it should.
  • Does not accept templates without a title.
  • Empty items are not included upon form submission.
  • Tested and ensured that the UI shortcuts (enter, tab) work.
  • Verified that the issue where the menu entry will disappear has been resolved (after #7103).
  • Ensured that users can only view and edit their own templates.