Онлайн-редактор¶
Вигляд Онлайн-редактор дозволяє редагувати вихідний код ваших збірок з веб-браузера. Він також надає можливість відкривати термінали, консолі 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) збірок розробки та стейджингу. Для виробничих збірок вихідний код доступний лише для читання, оскільки застосування локальних змін на виробничому сервері не є хорошою практикою.
Примітка
Ваші зміни не будуть поширені на нові збірки. Необхідно зафіксувати їх у вихідному коді, якщо ви хочете, щоб вони зберігалися.
Вихідний код вашого репозиторію GitHub розташований у
/src/user.Вихідний код Odoo розташований у:
/src/odoo(https://github.com/odoo/odoo)/src/enterprise(https://github.com/odoo/enterprise)/src/themes(https://github.com/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 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 відображає списки в зрозумілому вигляді.
Ви можете відкривати консолі 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'}]