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

Ви можете отримати доступ до редактора збірки через вкладки гілок, випадаюче меню збірок або додавши /odoo-sh/editor до доменного імені вашої збірки (наприклад, 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) під час розробки та staging збірок.
Примітка
Ваші зміни не поширюватимуться на нову збірку, ви повинні закріпити їх у своєму вихідному коді, якщо ви хочете, щоб вони збереглися.
Для production збірок вихідний код доступний лише для читання, оскільки застосування локальних змін на production сервері не є хорошою практикою.
Вихідний код вашого репозиторію Github знаходиться в /src/user,
Вихідний код Odoo знаходиться нижче
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
Щоб відкрити файл у редакторі, просто двічі клацніть його на панелі перегляду файлів ліворуч.

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

Однак, якщо зміна є даними, що зберігаються в базі даних, як-от мітка поля або подання, вам потрібно оновити відповідний модуль, щоб застосувати зміни. Ви можете оновити модуль поточного відкритого файлу за допомогою меню
. Зауважте, що відкритим наразі вважається файл, на який сфокусовано текстовий редактор, а не виділений у файловому браузері.
Ви також можете відкрити термінал і виконати команду:
$ odoo-bin -u <comma-separated module names> --stop-after-init
Зафіксуйте та надішліть свої зміни¶
У вас є можливість закріпити та надіслати свої зміни у свій репозиторій Github.
Відкрийте термінал (
),Змініть каталог на ~/src/user за допомогою
cd ~/src/user
,Внесіть зміни за допомогою
git add
,Зафіксуйте свої зміни за допомогою
git commit
,Надсилайте свої зміни за допомогою
git push https HEAD:<branch>
.
У цій останній команді
https - це ім’я вашого віддаленого репозиторію HTTPS Github (наприклад, https://github.com/username/repository.git),
HEAD - це посилання на останню внесену вами редакцію,
<branch> має бути замінено назвою гілки, до якої ви хочете надіслати зміни, швидше за все поточної гілки, якщо ви працюєте в збірці для development.

Примітка
Віддалений SSH Github не використовується, оскільки ваш приватний ключ SSH не розміщено у ваших контейнерах збірки (з очевидних проблем безпеки) і не пересилається через агента SSH (оскільки ви отримуєте доступ до цього редактора через веб-браузер), і тому ви не можете авторизуватися в Github за допомогою SSH. Ви повинні використовувати віддалений HTTPS-репозиторій Github, щоб надіслати свої зміни, які автоматично додаються під назвою https у ваших віддалених Git-засобах. Вам буде запропоновано ввести ім’я користувача та пароль Github. Якщо ви активували двофакторну автентифікацію на Github, ви можете створити особистий маркер доступу і використовуйте його як пароль. Надання дозволу repo
достатньо.
Примітка
Вихідна папка Git ~/src/user вилучається не на гілці, а на відокремленій версії: це тому, що збірки працюють на конкретних версіях, а не на гілках. Іншими словами, це означає, що ви можете мати кілька збірок на одній гілці, але в різних ревізіях.
Щойно ваші зміни буде надіслано, відповідно до вашої поведінки надсилання гілок, може бути створено нову збірку. Ви можете продовжувати працювати в редакторі, з якого ви натиснули, оскільки він матиме ту саму версію, що й нова збірка, яку було створено, але завжди переконайтеся, що ви знаходитесь у редакторі збірки, використовуючи останню версію вашої гілки.
Консолі¶
Ви можете відкрити консолі Python, які є інтерактивними оболонками IPython. Одним із найцікавіших доповнень для використання консолі Python замість оболонки IPython у терміналі є розширений дисплей <https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display>
_ можливості. Завдяки цьому ви зможете відображати об’єкти в HTML.
Ви можете, наприклад, відобразити клітинки файлу CSV за допомогою pandas.

Ви також можете відкрити консоль Odoo Shell, щоб пограти з реєстром Odoo і моделювати методи вашої бази даних. Ви також можете безпосередньо читати або писати на своїх записах.
Попередження
У консолі Odoo транзакції здійснюються автоматично. Це означає, наприклад, що зміни в записах ефективно застосовуються в базі даних. Якщо ви змінюєте ім’я користувача, ім’я користувача також змінюється у вашій базі даних. Тому вам слід обережно використовувати консолі Odoo у робочих базах даних.
Ви можете використовувати env для виклику моделей реєстру вашої бази даних, наприклад. env['res.users']
.
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
Клас Pretty
дає вам можливість легко відображати списки та dicts у гарний спосіб, використовуючи rich display згаданий вище.

Ви також можете використовувати pandas для відображення графіків.
