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

Вигляд Онлайн-редактор дозволяє редагувати вихідний код ваших збірок з веб-браузера. Він також надає можливість відкривати термінали, консолі 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 ‣ Update current module.

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

Порада

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

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

Фіксація та відправлення змін

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

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

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

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

    git config --global user.email "you@example.com" && 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, ви можете створити персональний токен доступу і використовувати його як пароль. Достатньо надати дозвіл repo.

Примітка

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

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

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

Консолі

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

Example

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

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

Порада

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

  • Комірки CSV-файлу

    Приклад CSV у pandas
  • Графіки

    Приклад графіка у pandas

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

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

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

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

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