Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
A
ap_sale_project
Gestion
Activité
Membres
Labels
Programmation
Tickets
Tableaux des tickets
Jalons
Code
Requêtes de fusion
Dépôt
Branches
Validations
Étiquettes
Graphe du dépôt
Comparer les révisions
Analyse
Données d'analyse des chaînes de valeur
Analyse des contributeurs
Données d'analyse du dépôt
Aide
Aide
Support
Documentation de GitLab
Comparer les forfaits GitLab
Forum de la communauté GitLab
Contribuer à GitLab
Donner votre avis
Raccourcis clavier
?
Extraits de code
Groupes
Projets
Afficher davantage de fils d'Ariane
Le Filament
Arbre et Paysage
ap_sale_project
Validations
ed548b39
Valider
ed548b39
rédigé
Il y a 2 mois
par
Julien - Le Filament
Parcourir les fichiers
Options
Téléchargements
Correctifs
Plain Diff
[ADD] finalisation
parent
91bd2cfb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion
!4
14.0 new fields
,
!3
[ADD] add some fields for import
Modifications
3
Afficher les modifications d'espaces
En ligne
Côte à côte
Affichage de
3 fichiers modifiés
controllers/export.py
+35
-28
35 ajouts, 28 suppressions
controllers/export.py
wizard/ap_export_wizard.py
+3
-0
3 ajouts, 0 suppression
wizard/ap_export_wizard.py
wizard/ap_export_wizard_views.xml
+2
-2
2 ajouts, 2 suppressions
wizard/ap_export_wizard_views.xml
avec
40 ajouts
et
30 suppressions
controllers/export.py
+
35
−
28
Voir le fichier @
ed548b39
from
odoo
import
http
from
odoo.http
import
request
from
odoo.addons.web.controllers.main
import
ExcelExport
# Copyright 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
import
io
import
xlsxwriter
from
odoo
import
http
from
odoo.http
import
request
def
export_xlsx
(
data_by_sheet
):
...
...
@@ -74,7 +77,6 @@ class ApExportController(http.Controller):
return
""
def
get_nb_tree
(
self
,
inter_id
):
if
inter_id
.
plant_sequence_ids
:
to_count
=
inter_id
.
plant_sequence_ids
else
:
...
...
@@ -90,12 +92,12 @@ class ApExportController(http.Controller):
# un onglet par programme (subvention)
programmes
=
request
.
env
[
"
sale.project.subvention
"
].
search
([])
# fichier final
file
=
{}
for
programme
in
programmes
:
# on créer l onglet du programme
file
[
programme
.
name
]
=
[]
page
=
file
.
get
(
programme
.
name
)
page
=
[]
# tout les projets sous ce programme pour la saison dont le devis est signé
projects
=
request
.
env
[
"
sale.project
"
].
search
(
...
...
@@ -109,6 +111,7 @@ class ApExportController(http.Controller):
[(
"
project_id
"
,
"
in
"
,
projects
.
ids
)]
)
plant_data
=
{}
# sauvegarde de la liste des planteurs pour la premiere ligne
seeders_list
=
[]
for
intervention
in
interventions
:
seeders_list
.
append
(
intervention
.
partner_id
)
...
...
@@ -120,8 +123,25 @@ class ApExportController(http.Controller):
plant
[
f
"
ROT
{
intervention
.
partner_id
.
name
}
"
]
=
sequence
.
qty
# format data for xls
for
plant
in
plant_data
:
line
=
{}
line
.
update
(
{
"
Article
"
:
plant
.
name
,
"
Nom latin
"
:
plant
.
latin_name
or
""
,
"
Nom de la catégorie
"
:
plant
.
categ_id
.
name
or
""
,
"
Numéro de pépiniériste
"
:
plant
.
categ_id
.
nurseryman_id
or
""
,
}
)
qty
=
plant_data
.
get
(
plant
)
for
seeder
in
qty
:
line
[
seeder
]
=
qty
[
seeder
]
page
.
append
(
line
)
# premiere ligne on va chercher les secteurs de plantation
# si on des commandes pour ce programe on l ajoute au fichier
if
page
:
# on construit la premier ligne avec les secteurs
# de plantation par planteur
first_line
=
{
"
Article
"
:
"
Secteur plantation
"
,
...
...
@@ -138,22 +158,9 @@ class ApExportController(http.Controller):
.
mapped
(
"
name
"
)
)
first_line
[
f
"
ROT
{
seeder
.
name
}
"
]
=
"
,
"
.
join
(
secteur_plat
)
page
.
append
(
first_line
)
page
.
insert
(
0
,
first_line
)
file
[
programme
.
name
]
=
page
for
plant
in
plant_data
:
line
=
{}
line
.
update
(
{
"
Article
"
:
plant
.
name
,
"
Nom latin
"
:
plant
.
latin_name
or
""
,
"
Nom de la catégorie
"
:
plant
.
categ_id
.
name
or
""
,
"
Numéro de pépiniériste
"
:
plant
.
categ_id
.
nurseryman_id
or
""
,
}
)
qty
=
plant_data
.
get
(
plant
)
for
seeder
in
qty
:
line
[
seeder
]
=
qty
[
seeder
]
page
.
append
(
line
)
return
file
def
get_fin_data
(
self
,
saison
):
...
...
@@ -266,7 +273,7 @@ class ApExportController(http.Controller):
@http.route
(
"
/ap_export/xlsx_download
"
,
type
=
"
http
"
,
auth
=
"
user
"
)
def
download_xlsx
(
self
,
wizard_id
,
**
kwargs
):
wizard
=
request
.
env
[
"
ap.export.wizard
"
].
sudo
().
browse
(
int
(
wizard_id
))
wizard
=
request
.
env
[
"
ap.export.wizard
"
].
browse
(
int
(
wizard_id
))
filename
=
self
.
get_filename
(
wizard
.
export_type
,
wizard
.
saison_id
)
data_methods
=
{
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
wizard/ap_export_wizard.py
+
3
−
0
Voir le fichier @
ed548b39
# Copyright 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from
odoo
import
models
,
fields
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
wizard/ap_export_wizard_views.xml
+
2
−
2
Voir le fichier @
ed548b39
...
...
@@ -34,7 +34,7 @@
name=
"Export de données"
parent=
"sale.sale_menu_root"
sequence=
"7"
groups=
"
base.group_system
"
groups=
"
sales_team.group_sale_salesman
"
/>
<menuitem
...
...
@@ -43,7 +43,7 @@
name=
"Exporter"
action=
"action_ap_export_wizard"
sequence=
"10"
groups=
"
base.group_system
"
groups=
"
sales_team.group_sale_salesman
"
/>
</data>
...
...
Ce diff est replié.
Cliquez pour l'agrandir.
Aperçu
0%
Chargement en cours
Veuillez réessayer
ou
joindre un nouveau fichier
.
Annuler
You are about to add
0
people
to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Enregistrer le commentaire
Annuler
Veuillez vous
inscrire
ou vous
se connecter
pour commenter