<commit_before>Social NET
========================
1) Заполнение данных о пользователях и группах.

Получение списка пользователей из LDAP
    php app/console ldap:import:users
----------------------------------
Обновление информации пользователей из PS
    php app/console ps:sync:users
----------------------------------
Обновление участников групп из PS
    php app/console ps:sync:groups


2) Unit-тестирование приложения.

    phing -f bin/build.xml test


3) Генерирование ошибок:

Для GET, POST запросов:

- $this->generateError($message, \Exception $e = null, $route_name = 'homepage', FormInterface $form = null);
    Вписывает в Flashbag ошибку $message или ошибки указанной формы $form
    Для ajax запросов возвращает json
    Для http запросов возвращает редирект $route_name

4) Установка изображения для сущности
Для сво-ва в который будет попадать UploadFile добавить аннотацию ввида @isImage(relates="largeAvatar, smallAvatar")
где relates те свойства которые также будут обработаны этим файлом.

В настройках config.yml указать в
common:
    image:
        "наименование сущности с мал.буквы":
            "свойство": { width: "ширина", height: "высота", filestore: "место хранения" }


5) Добавить задачу "47 * * * * cd /home/user/www/s3n; /usr/bin/phing -f bin/build.xml synch" в cron:
    запуск задачи каждый час в 47 минут.
    Поменять "/home/user/www/s3n" на реальный путь до папки проекта.
    Поменять "/usr/bin/phing" на реальный путь до утилиты phing

Все!
<commit_msg>add info for create CRUD<commit_after>Social NET
========================
1) Заполнение данных о пользователях и группах.

Получение списка пользователей из LDAP
    php app/console ldap:import:users
----------------------------------
Обновление информации пользователей из PS
    php app/console ps:sync:users
----------------------------------
Обновление участников групп из PS
    php app/console ps:sync:groups


2) Unit-тестирование приложения.

    phing -f bin/build.xml test


3) Генерирование ошибок:

Для GET, POST запросов:

- $this->generateError($message, \Exception $e = null, $route_name = 'homepage', FormInterface $form = null);
    Вписывает в Flashbag ошибку $message или ошибки указанной формы $form
    Для ajax запросов возвращает json
    Для http запросов возвращает редирект $route_name

4) Установка изображения для сущности
Для сво-ва в который будет попадать UploadFile добавить аннотацию ввида @isImage(relates="largeAvatar, smallAvatar")
где relates те свойства которые также будут обработаны этим файлом.

В настройках config.yml указать в
common:
    image:
        "наименование сущности с мал.буквы":
            "свойство": { width: "ширина", height: "высота", filestore: "место хранения" }


5) Добавить задачу "47 * * * * cd /home/user/www/s3n; /usr/bin/phing -f bin/build.xml synch" в cron:
    запуск задачи каждый час в 47 минут.
    Поменять "/home/user/www/s3n" на реальный путь до папки проекта.
    Поменять "/usr/bin/phing" на реальный путь до утилиты phing

Все!

6) Добавление сущности в CRUD админки:
 - Создать класс константу Bundle\AdminBundle\Constant\Admin%Name%Const
 - В CRUDController в аннотацию @Route класса в поле entityType добавить %name%
 - Создать форму в Bundle\AdminBundle\Form\CRUD\%Name%Type
 - Добавить ссылку на страницу списка в AdminBundle::baseAdmin.html.wig
 - Создать шаблон просмотра сущности в AdminBundle:CRUD:Include/%name%.html.twig
 - Добавить переводы в translations\messages.ru.yml
{'fraction_non_alphanumeric': 0.1288272674754477, 'fraction_numerical': 0.006643558636626227, 'mean_word_length': 3.417091836734694, 'pattern_counts': {'":': 4, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6213906', 'n_tokens_mistral': 1278, 'n_tokens_neox': 1408, 'n_words': 364}