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.

../../../_images/interface-editor.png

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ă.

Pentru a deschide un fișier în editor, faceți dublu clic pe el în panoul de navigare a fișierelor din stânga.

../../../_images/interface-editor-open-file.png

Puteți apoi să începeți să faceți modificările. Puteți salva modificările din meniul File ‣ Save .. File sau apăsând tasta rapidă Ctrl+S.

../../../_images/interface-editor-save-file.png

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.

../../../_images/interface-editor-automaticreload.gif

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 Odoo ‣ Update current module. 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.

../../../_images/interface-editor-update-current-module.png

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 (File ‣ New ‣ 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.

../../../_images/interface-editor-commit-push.png

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.

../../../_images/interface-editor-console-python-read-csv.png

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.

../../../_images/interface-editor-console-odoo-pretty.png

Puteți, de asemenea, utiliza pandas pentru a afișa grafice.

../../../_images/interface-editor-console-odoo-graph.png