Онлайн редактор

Режим перегляду Онлайн-редактор дозволяє редагувати вихідний код ваших збірок з веб-браузера. Він також дає вам можливість відкривати термінали, консолі Python, консолі оболонки Odoo та Jupyter Notebooks.

Огляд онлайн-редактора

Ви можете отримати доступ до редактора збірки через вкладку гілок, випадаюче меню збірок або додавши /odoo-sh/editor до URL-адреси збірки (наприклад, https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).

Редагування вихідного коду

Робочий каталог складається з наступного:

.
├── home
│    └── odoo
│         ├── src
│         │    ├── odoo                Odoo Community source code
│         │    │    └── odoo-bin       Odoo server executable
│         │    ├── enterprise          Odoo Enterprise source code
│         │    ├── themes              Odoo Themes source code
│         │    └── user                Your repository branch source code
│         ├── data
│         │    ├── filestore           Database attachments, as well as the files of binary fields
│         │    └── sessions            Visitors and users sessions
│         └── logs
│              ├── install.log         Database installation logs
│              ├── odoo.log            Running server logs
│              ├── update.log          Database updates logs
│              └── pip.log             Python packages installation logs

Ви можете редагувати вихідний код (файли в /src) збірок для розробки та проміжних збірок. Для збірок для виробничих збірок вихідний код доступний лише для читання, оскільки застосування локальних змін на робочому сервері не є гарною практикою.

Примітка

Щоб відкрити файл у редакторі, двічі клацніть на ньому на панелі переглядача файлів. Після цього ви зможете редагувати файл. Щоб зберегти зміни, перейдіть до Файл ‣ Зберегти або скористайтеся комбінацією клавіш Ctrl+S.

Якщо ви збережете файл Python у шляху доповнень вашого сервера Odoo, Odoo виявить його та автоматично перезавантажить, а це означає, що ваші зміни будуть одразу видимими.

Зміна файлу Python стає одразу видимою

Однак, якщо ваші зміни зберігаються в базі даних, такі як підпис поля або представлення, необхідно оновити відповідний модуль, щоб застосувати зміни. Щоб оновити модуль поточного відкритого файлу, перейдіть до Odoo ‣ Оновити поточний модуль.

Використання редактора для оновлення поточного модуля

Порада

Ви також можете виконати таку команду в терміналі, щоб оновити модуль:

odoo-bin -u <comma-separated module names> --stop-after-init

Фіксування та надсилання змін

Щоб зафіксувати зміни та відправити їх до вашого репозиторію GitHub:

  • Відкрийте термінал, перейшовши до Файл ‣ Новий ‣ Термінал.

  • Змініть каталог на ~/src/user.

    cd ~/src/user
    
  • Вкажіть свою особу.

    git config --global user.email "[email protected]" && git config --global user.name "Your Name"
    
  • Додайте зміни до індексу.

    git add
    
  • Зафіксуйте свої зміни.

    git commit
    
  • Надішліть свої зміни.

    git push https HEAD:<branch>
    

    У цій команді:

    • https - це назва вашого віддаленого репозиторію GitHub HTTPS (наприклад, https://github.com/username/repository.git).

    • HEAD – це посилання на останню редакцію, яку ви зафіксували.

    • <branch> потрібно замінити назвою гілки, до якої ви хочете перенести зміни, найімовірніше, поточної гілки, якщо ви працюєте над розробницькою збіркою.

Вам буде запропоновано ввести ім’я користувача та пароль GitHub. Після введення облікових даних натисніть клавішу Enter.

Команди для фіксації та надсилання змін

Порада

Якщо ви активуєте двофакторну автентифікацію для свого облікового запису GitHub, ви можете створити персональний токен доступу та використовувати його як пароль. Достатньо надання дозволу на репозиторій.

Примітка

  • Аутентифікувати себе за допомогою SSH неможливо, оскільки ваш закритий ключ SSH не розміщено у ваших контейнерах збірки з міркувань безпеки та не пересилається через агент SSH, оскільки ви отримуєте доступ до редактора через веб-браузер.

  • Вихідна папка ~/src/user не витягується з гілки, а з окремої ревізії. Це пояснюється тим, що збірки працюють з певними ревізіями, а не з гілками, тобто ви можете мати кілька збірок на одній гілці, але на різних ревізіях.

Після того, як ваші зміни будуть відправлені, відповідно до вашої поведінки поведінка надсилання гілок, може бути створена нова збірка. Ви можете продовжувати працювати в редакторі, з якого ви відправили зміни, оскільки він матиме ту саму ревізію, що й нова збірка, яку було створено. Однак завжди переконайтеся, що ви перебуваєте в редакторі збірки, використовуючи останню ревізію вашої гілки.

Консолі

Ви можете відкривати консолі Python, які є інтерактивними оболонками IPython. Використання цих консолей Python (а не оболонок IPython у терміналі) дозволяє використовувати їхні багаті можливості відображення для відображення об’єктів у HTML.

Example

Клас Pretty відображає списки у зручному для читання вигляді.

Приклад класу Pretty

Порада

Використовуючи pandas, ви можете відобразити:

  • Клітинки CSV-файлу

    Приклад CSV з pandas
  • Graphs

    pandas graph example

Ви можете відкрити консолі оболонки Odoo, щоб експериментувати з реєстром Odoo та методами моделювання вашої бази даних. Ви також можете читати або записувати безпосередньо у свої записи.

Попередження

У консолі оболонки Odoo транзакції автоматично фіксуються. Це означає, що зміни, внесені до записів, застосовуються до бази даних. Наприклад, якщо ви зміните ім’я користувача, воно також буде оновлено у вашій базі даних. Тому обережно використовуйте консолі оболонки Odoo у виробничих базах даних.

Ви можете використовувати env для виклику моделей вашого реєстру бази даних, наприклад, env['res.users'].

env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': '[email protected]'}]