Skip to content
GitLab
Explorer
Connexion
Navigation principale
Rechercher ou aller à…
Projet
C
cgscop_cotisation_aura
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
Confédération Générale des SCOP
cgscop_cotisation_aura
Requêtes de fusion
!1
12.0 refactor cotiz
Code
Examiner les modifications
Extraire la branche
Télécharger
Correctifs
Diff brut
Étendre la barre latérale
Fusionnées
12.0 refactor cotiz
12.0-refactor-cotiz
vers
12.0-dev
Vue d'ensemble
0
Validations
7
Modifications
1
Fusionnées
12.0 refactor cotiz
Ghost User
requested to merge
12.0-refactor-cotiz
into
12.0-dev
7 déc. 2021
Vue d'ensemble
0
Validations
7
Modifications
1
0
0
Rapports de requête de fusion
Affichage du commit
d76a66f0
Précédent
Suivant
Afficher la dernière version
1 file
+
72
−
0
En ligne
Comparer les modifications
Côte à côte
En ligne
Afficher les modifications des espaces
Afficher un fichier à la fois
d76a66f0
[update] refactor cotiz to generate 1 invoice per quarter
· d76a66f0
jordan
rédigé
22 nov. 2021
models/scop_cotisation_aura.py
+
72
−
0
Afficher le fichier @ d76a66f0
Modifier dans l'éditeur de fichier unique
Ouvrir dans Web EDI
Afficher le fichier complet
@@ -308,6 +308,78 @@ class ScopCotisationAura(models.Model):
# ------------------------------------------------------
# Global functions
# ------------------------------------------------------
def
create_contribution
(
self
,
product
,
partner
,
type_contribution
,
liasse
=
None
,
amount
=
0
,
date
=
False
,
journal_id
=
False
,
account_id
=
False
,
type_invoice
=
'
out_invoice
'
):
"""
Create invoice from Contribution Base
:param product: product_id
:param partner: partner_id
:param type_contribution: type_contribution (CG, UR, Fédé)
:param liasse: liasse_fiscale_id (reference)
:param amount: contribution amount (float)
:param date: date invoice
:param journal_id: journal
:param account_id: customer_account_id
:param type_invoice: invoice or refund
:return: invoice
"""
Invoice
=
self
.
env
[
'
account.invoice
'
]
InvoiceLine
=
self
.
env
[
'
account.invoice.line
'
]
domain
=
[
(
'
partner_id
'
,
'
=
'
,
partner
.
id
),
(
'
year
'
,
'
=
'
,
self
.
year
),
(
'
type_contribution_id
'
,
'
=
'
,
type_contribution
),
]
exisiting_invoice
=
Invoice
.
search
(
domain
)
if
not
exisiting_invoice
:
date_invoice
=
date
if
date
else
self
.
date_cotisation
journal_id
=
self
.
company_id
.
contribution_journal_id
\
if
not
journal_id
else
journal_id
account_id
=
partner
.
property_account_receivable_id
\
if
not
account_id
else
account_id
member_invoice
=
Invoice
.
create
({
'
partner_id
'
:
partner
.
id
,
'
liasse_fiscale_id
'
:
liasse
.
id
,
'
type
'
:
type_invoice
,
'
year
'
:
self
.
year
,
'
is_contribution
'
:
True
,
'
type_contribution_id
'
:
type_contribution
,
'
journal_id
'
:
journal_id
.
id
,
'
state
'
:
'
draft
'
,
'
account_id
'
:
account_id
.
id
,
'
payment_term_id
'
:
self
.
payment_term_id
.
id
,
'
payment_mode_id
'
:
partner
.
customer_payment_mode_id
.
id
,
'
date_invoice
'
:
date_invoice
,
})
else
:
member_invoice
=
exisiting_invoice
# Création de la ligne CG Scop
exisiting_invoice_line_ids
=
InvoiceLine
.
search
([
(
'
invoice_id
'
,
'
=
'
,
member_invoice
.
id
),
(
'
product_id
'
,
'
=
'
,
product
.
id
)
])
if
not
exisiting_invoice_line_ids
:
InvoiceLine
.
create
({
'
invoice_id
'
:
member_invoice
.
id
,
'
product_id
'
:
product
.
id
,
'
account_id
'
:
product
.
property_account_income_id
.
id
,
'
invoice_line_tax_ids
'
:
[(
6
,
0
,
product
.
taxes_id
.
ids
)],
'
name
'
:
product
.
name
,
'
price_unit
'
:
amount
})
else
:
exisiting_invoice_line_ids
[
0
].
write
({
'
price_unit
'
:
amount
})
return
member_invoice
@api.multi
def
get_members
(
self
):
self
.
ensure_one
()
Chargement en cours