mozilla/fxoss — pull request #117 by daaray (2014-02-25 20:11:14+00:00)
Title: 109 RichTextPage and Form Content Locking

Fixes #109

* Adds Optimistic Locking via [django-concurrency ](https://github.com/saxix/django-concurrency) for ```RichTextPage``` and ```Form``` objects.
* Adds middleware to detect collions and renders a diff of the current attempted edits vs the most recently stored version of the object.

**Requires pip install and database migration**

```
pip install -r requirements/base.txt
python manage.py migrate sandstone
```

To test as an end user:
* Open two browsers
* navigate to the edit screen of the same object in each browser
* make edits and save in one browser
* make edits and save in the other browser

**TODO**
- [ ] Add some simple unit tests to validate the locks work on the mezz models