Merge life-study branch to demo

### Task List

##### General

- [x] beautify the view and make it more intuitive
- [ ] a notification when something is done

##### for TA's

- [x] assign `Discipline` to single `Trainee`
- [x] assign `Discipline` to single `House`
- [x] approve single `Summary`
- [x] approve all `Summary`'s relate to a single `Discipline`
- [x] assign `Discipline` according to `Roll` over a certain period
- [x] hard-copy submission
- [ ] transfer `Discipline` from a single `Trainee` to another
- [ ] A report view that lists all the completed/incompleted `Discipline`
  - [x] list all
  - [ ] sorted according to a choice of `trainee`/`house`/`team`/`term`/`TA`
  - [ ] filtered by inputting a certain `trainee`/`house`/`team`/`term`/`TA`
- [ ] dynamically change `Discipline` upon each change in `attendance` app
  - [ ] sending signal from `attendance` app
  - [ ] capturing it in `lifestudies` app
- [x] "select all" button to check all the `Discipline`'s

##### for Trainees

- [x] submit/edit summary
`return "[{book} ch. {chapter}] {name}. Approved: {approved}".format(name=self.discipline.trainee.account.get_full_name, book=self.book.name, chapter=self.chapter, approved=self.approved)
`