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
can you check to see if this is the best conditional to use? and if it is, do you need the following line, `if request.user.trainee:`?

Also, before finishing up, can you add a block for TAs? (e.g., `if request.user is TrainingAssistant`) and the necessary comments?

Keep in mind that a user can have both TA and trainee profiles simultaneously.