Editor online¶
Prezentare generală¶
Editorul online vă permite să editați codul sursă al construcțiilor dvs. din un browser web. De asemenea, vă oferă posibilitatea de a deschide terminale, console Python, console Odoo Shell și Notebooks.
Puteți accesa editorul unei construcții prin filele de ramuri, meniul de construcții sau prin adăugarea /odoo-sh/editor la numele de domeniu al construcției dvs. (de exemplu https://odoo-addons-master-1.dev.odoo.com/odoo-sh/editor).
Editați codul sursă¶
Directorul de lucru este format din următoarele foldere:
.
├── 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
Puteți edita codul sursă (fișierele din /src) în dezvoltarea și build-urile de stagiu.
Notă
Modificările dvs. nu vor fi propagate într-o nouă construcție, trebuie să le comiteți în codul sursă dacă doriți să le faceți persistente.
Pentru construcțiile de producție, codul sursă este doar pentru citire, deoarece aplicarea modificărilor locale pe un server de producție nu este o practică bună.
Codul sursă al depozitului dvs. Github se află sub /src/user,
Codul sursă al Odoo se află sub
/src/odoo (odoo/odoo),
/src/enterprise (odoo/enterprise),
/src/themes (odoo/design-themes).
Pentru a deschide un fișier în editor, faceți dublu clic pe el în panoul de navigare a fișierelor din stânga.
Puteți apoi să începeți să faceți modificările. Puteți salva modificările din meniul
sau apăsând tasta rapidă Ctrl+S.Dacă salvați un fișier Python care se află în calea addons a serverului Odoo, Odoo va detecta și va reîncărca automat astfel încât modificările să fie reflectate imediat, fără a trebui să reporniți manual serverul.
Cu toate acestea, dacă modificarea este o dată stocată în baza de date, cum ar fi eticheta unui câmp sau o vedere, trebuie să actualizați modulul corespunzător pentru a aplica modificarea. Puteți actualiza modulul fișierului curent deschis utilizând meniul
. Rețineți că fișierul considerat ca fiind deschis în prezent este fișierul focalizat în editorul de text, nu fișierul evidențiat în navigatorul de fișiere.Puteți deschide de asemenea un terminal și executa comanda:
$ odoo-bin -u <comma-separated module names> --stop-after-init
Comiteți și trimiteți modificările¶
Aveți posibilitatea de a comite și de a trimite modificările la depozitul Github.
Deschideți un terminal (
),Modificați directorul la ~/src/user utilizând
cd ~/src/user
,Stagiați modificările utilizând
git add
,Comiteți modificările utilizând
git commit
,Trimiteți modificările utilizând
git push https HEAD:<branch>
.
În această ultimă comandă,
https este numele depozitului dvs. de depozit HTTPS Github (de exemplu https://github.com/username/repository.git),
HEAD este referința la ultima revizie pe care ați comis-o,
<branch> trebuie înlocuit cu numele ramurii în care doriți să trimiteți modificările, cel mai probabil ramura curentă dacă lucrați într-o versiune de dezvoltare.
Notă
Depozitul SSH Github nu este utilizat deoarece cheia dvs. privată SSH nu este găzduită în containerele dvs. de construcție (din motive evidente de securitate) nici nu este transmisă prin un agent SSH (deoarece accesați acest editor prin un browser web) și prin urmare nu puteți vă autentifica la Github folosind SSH. Trebuie să utilizați depozitul HTTPS al depozitului dvs. Github pentru a trimite modificările, care este adăugat automat numit ca https în remote-urile Git. Vă veți fi solicitat să introduceți numele dvs. de utilizator și parola Github. Dacă ați activat autentificarea cu doi factori pe Github, puteți crea un token de acces personal și să-l utilizați ca parolă. Acordarea permisiunii repo
este suficientă.
Notă
Folderul sursă Git ~/src/user nu este verificat pe o ramură, ci mai degrabă pe o revizie desprinsă: Acest lucru se întâmplă deoarece construcțiile funcționează pe revizii specifice în loc de ramuri. Altfel spus, acest lucru înseamnă că puteți avea mai multe construcții pe aceeași ramură, dar pe revizii diferite.
Odată ce modificările dvs. sunt trimise, în funcție de comportamentul push al ramurii, o nouă construcție poate fi creată. Puteți continua să lucrați în editorul din care ați trimis, deoarece va avea aceeași revizie ca și noua construcție care a fost creată, dar asigurați-vă întotdeauna să fiți într-un editor al unei construcții care utilizează cea mai recentă revizie a ramurii dvs.
Console¶
Puteți deschide console Python, care sunt IPython interactive shells. Una dintre cele mai interesante adăugări pentru a utiliza o consolă Python în locul unei shell-uri IPython într-un terminal este rich display capabilities. Datorită acestui lucru, veți putea afișa obiecte în HTML.
Puteți, de exemplu, afișa celulele unui fișier CSV utilizând pandas.
Puteți deschide, de asemenea, o consolă Odoo Shell pentru a rula cu registrele Odoo și metodele modelului bazei de date. De asemenea, puteți citi sau scrie direct în înregistrările dvs.
Atenționare
Într-o consolă Odoo, tranzacțiile sunt automat comise. Acest lucru înseamnă, de exemplu, că modificările în înregistrări sunt aplicate efectiv în baza de date. Dacă schimbați numele unui utilizator, numele utilizatorului este schimbat și în baza de date. De aceea, ar trebui să utilizați cu atenție consolele Odoo pe baze de date de producție.
Puteți utiliza env pentru a invoca modelele registrelor bazei de date, de exemplu: env['res.users']
.
env['res.users'].search_read([], ['name', 'email', 'login'])
[{'id': 2,
'login': 'admin',
'name': 'Administrator',
'email': 'admin@example.com'}]
Clasa Pretty
vă oferă posibilitatea de a afișa ușor liste și dicționare într-un mod frumos, utilizând rich display menționat mai sus.
Puteți, de asemenea, utiliza pandas pentru a afișa grafice.