f-me/carma — pull request #960 by jorpic (2013-06-28 19:43:54+00:00)
Title: Move fields permissions from JSON to PG #804

Петя, Дима, посмотрите. Если замечаний нет, можно замёржить.

Следующие шаги:
- наследование ролей
- рефакторинг ролей (чтобы в FieldPermission было на порядок меньше строчек)
- аттрибуты ролей (чтобы права могли зависеть от данных и от погоды)
- перетащить права на модели и на экраны.

Вот так можно проверить, что ничего не сломалось:

```
function getModels {
USR=$1
PWD=$2
SESSION=`curl -v -d "login=$USR;password=$PWD" http://localhost:8000/login 2>&1 | egrep -o '_session=[^;]*;'`
curl -b $SESSION http://localhost:8000/cfg/models \
| ~/jq/jq 'with_entries({key, value: .value.fields | map({name,canWrite})})' > models.$USR.`date +%s`
}

git checkout master
cabal-dev install
cabal-dev/bin/carma &
sleep 10 # sleep while carma starts

getModels admin ""
getModels f1.operator 1234567
getModels b1.operator 1234567

pkill carma

git checkout i804-field-permissions-in-pg
cabal-dev install
cabal-dev/bin/carma &
sleep 10 # sleep while carma starts

getModels admin ""
getModels f1.operator 1234567
getModels b1.operator 1234567

pkill carma

diff -u models.admin.*
diff -u models.f1.operator.*
diff -u models.f1.operator.*
```