-
-
Notifications
You must be signed in to change notification settings - Fork 603
[19.0] [MIG] contract: Migration to 19.0 #1312
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
BhaveshHeliconia
wants to merge
272
commits into
OCA:19.0
Choose a base branch
from
HeliconiaIO:19.0-mig-contract
base: 19.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
272 commits
Select commit
Hold shift + click to select a range
9b7bfb9
[FIX+IMP] contract: Real fix to company_id missing + improvements + C…
pedrobaeza cb3dc83
[IMP+FIX] contract: Several things:
carlosdauden ffb4df3
[IMP] contract: Automatic prices for lines
pedrobaeza 02a77e5
[FIX] contract: Let billing users have access rights for contracts (#…
levkar 2a5e7ef
[IMP] contract: Add extend existing invoice possibility
carlosdauden 0c69f4f
[IMP] contract_variable_quantity: Recompute price when changing qty
pedrobaeza 25e267a
[FIX] contract: Custom values overwrited by xml, missed noupdate
carlosdauden 7285896
[IMP] contract: possible error in migration if the column does not exist
jonerikceberio a5c26c2
[FIX] analytic invoice/contract lines inheritance
katyukha dad6180
[IMP] Fix README.rst
RoelAdriaans 717e884
Translated using Weblate (Dutch)
RoelAdriaans 6ac73a0
Translated using Weblate (German)
730cc8c
[IMP] Add type to analytic account / contract
funbaker e3cfc26
[IMP] Make sure it works for sale and purchase contracts
MiquelRForgeFlow 67b674e
Translated using Weblate (Spanish)
etobella f0d8d8b
Translated using Weblate (Portuguese (Portugal))
dreispt 9fec39a
[IMP] contract: Don't depend on external data
pedrobaeza 2a275ee
[FIX] Contract Spanish Translation
d3435f8
[MIG] contract: Migration to 12.0
sbejaoui 2cda545
Translated using Weblate (Spanish)
mvrodriguez 6e4c651
Translated using Weblate (Galician)
mvrodriguez 56d9a98
Translated using Weblate (German)
marylla 8fa69b5
[FIX] Errors in navigation to customer invoices / vendor bills
JordiBForgeFlow acd8bbd
Translated using Weblate (Italian)
primes2h 1f13d91
Translated using Weblate (French)
d828b3d
Translated using Weblate (Portuguese)
pedrocs-exo caedca5
Translated using Weblate (Portuguese (Brazil))
db7433c
Translated using Weblate (German)
rschnapka a23e0e4
Translated using Weblate (Chinese (Simplified))
liweijie0812 5c6cfc6
Remove invalid Chinese translation files
liweijie0812 e52b03d
[IMP] contract: Make recurrence mechanism on contract line
sbejaoui 70a2723
[REF+FIX+IMP] Contract: invoice creation + date start required for co…
ThomasBinsfeld d451926
[FIX+IMP] contract: several things
sbejaoui 8cdcfe6
[FIX] Contract: copy payment term on generated invoice
ThomasBinsfeld 96d02cb
[IMP] - Should be able to stop a past contract line
sbejaoui 9c156f3
[ADD] Contract: fiscal position
ThomasBinsfeld 39b8b86
[FIX+IMP] contract: recurring_next_date is required if date_end is nu…
sbejaoui 47757fc
[IMP] Contract: matching invoice view depending on contract type
ThomasBinsfeld 98f9586
[ADD] - Add more value for auto_renew_rule_type
sbejaoui ee69a9b
[FIX] Contract to Invoice: take contract vendor instead of partner's
ThomasBinsfeld 7cac826
[REF+FIX+IMP] contract: Several things
sbejaoui c086f32
[IMP]pass the payment term to the contract from the partner
AaronHForgeFlow ffd97a2
[REF] contract: Several things
ThomasBinsfeld e43f5d6
[IMP] - Make one migration from 12.0.1 to 12.0.4
sbejaoui c0320d8
[FIX+IMP+MIG] contract: Several refinements:
pedrobaeza e8d4e26
Translated using Weblate (Chinese (Simplified))
liweijie0812 811c983
[MIG+FIX] contract: Missing pieces for moving info from analytic acco…
pedrobaeza 7d9a876
Add commercial_partner_id fields into contract module
hparfr 699be3d
Translated using Weblate (Italian)
eLBati 4d9bc97
[MIG] contract: Assign old partner's salesman to migrated contracts
pedrobaeza 996618b
Translated using Weblate (German)
marylla 7c77350
[12.0][FIX] contract & contract_sale - security fix
enriquemartin ca4ecc5
Translated using Weblate (Catalan)
albertpons 46eb6c8
Translated using Weblate (Portuguese (Brazil))
britoederr 0ab29b9
[MIG] contract: Missing renaming of invoice link
pedrobaeza 36b4f22
[MIG] contract: Create contract sequence for allowing to create records
pedrobaeza e37c5ef
Translated using Weblate (Dutch)
thomaspot f09d306
[IMP+FIX] contract: Add multi-company access rule for contract object…
sbejaoui 7f55203
Translated using Weblate (Spanish)
josepmy a37b81d
[FIX] contract: Fix performance issue on contract line read + Fix con…
sbejaoui 238380e
[MIG] contract: No contract on AA without recurring invoices flag
pedrobaeza 078d9a0
Translated using Weblate (Croatian)
badbole 5677bc6
[IMP] contract: Fix test crash with other modules
sergio-teruel 8e0680c
[MIG][FIX] contract: Move contracts, but disable them
pedrobaeza 9402c5f
[12.0][FIX] - Run onchange contract_type when changing the contract t…
sbejaoui 4256355
[FIX] contract: Don't execute onchange after invoice creation + Tests…
pedrobaeza cb0fe0e
[REF] contract: Several refactorings
sbidoul 08943d4
Translated using Weblate (French)
Martronic-SA adb29bf
[REF+FIX+IMP] contract: Several refactorings + fixes + imps
sbidoul 101f7df
[FIX+REF] contract: Improve unit tests + add unit test for different …
sbejaoui 6cf54e0
[IMP] contract: display invoicing offset
sbidoul 61fbe62
Translated using Weblate (Portuguese (Brazil))
augustodinizl a163046
[IMP+FIX] contract: Several things
sbejaoui 677ed5d
Translated using Weblate (Italian)
scigghia dc75ca6
[IMP+FIX] contract: Add failing test for wrong invoicing date after c…
sbejaoui 5b9ad6d
[FIX] contract: Handle properly multi-company setups
pedrobaeza c7afb65
Translated using Weblate (French)
gregory-moka b99d0a2
Added translation using Weblate (Spanish (Chile))
38ddea7
Translated using Weblate (Spanish)
1d91145
Translated using Weblate (French)
qgroulard 1808880
[IMP] contract: remove redundant method
pedrobaeza 87d436e
[12.0][IMP] - Add an action for contracts manual invoicing
sbejaoui 1266ee6
Translated using Weblate (Italian)
3e5c6a2
Translated using Weblate (Portuguese (Brazil))
marcelsavegnago 770be51
Translated using Weblate (Finnish)
jarmokortetjarvi cbf58ad
[IMP] contract: add analytic_tag_ids field in contract lines
c55f370
[IMP] contract: Improve partner With running contracts search view fi…
sbejaoui 9b48470
Translated using Weblate (French)
svalaeys 947734d
[IMP] - Add contract tags
sbejaoui a283a5e
Set company_id earlier in the invoice preparation process so that _on…
svalaeys c8e353b
Translated using Weblate (Spanish)
20e1241
[FIX] contract: Delete cascade line wizard
pedrobaeza d2c34a4
[IMP] - Place id attribute before model
sbejaoui 150292c
[IMP] contract: add section and notes in contract line
975ec82
[FIX+IMP] contract: improve test coverage with new sections + fix sea…
pedrobaeza 67b355e
[FIX] contract: Select the correct sections/notes to be invoiced
4dcb5af
[IMP] - Contract: add new recurring_rule_type quarterly and semesterly
sbejaoui 0cedf28
Translated using Weblate (Spanish)
JorgeQuinteros c819601
[FIX] contract: Currency is not editable + pricelist from partner
pedrobaeza e6f1444
Translated using Weblate (Portuguese (Brazil))
fcolus b1c4505
Translated using Weblate (Spanish)
pedrobaeza bb12b30
[FIX] contract: do not die if modified partner has contracts in sever…
dcd42ef
[IMP] contract: Allow to set a manual currency
pedrobaeza 2fae1bc
Translated using Weblate (Slovenian)
sysadminmatmoz 3a42337
[FIX] contract: multi-company assignment notification
bb28d3b
[12.0][FIX] - fiscal position, payment mode and pricelist obtained ac…
sbejaoui 23b59b9
[IMP] : black, isort, prettier
pedrobaeza a11ab37
[MIG] contract: Migration to 13.0
pedrobaeza 5334e43
[IMP+REF] contract: Allow to set recurrency at header level
pedrobaeza d39c09e
[13.0][FIX] contract: Recompute recurring next date
rousseldenis 140f187
[IMP] contract: Set a condicion to avoid create lines on invoices
CarlosRoca13 0a35cd3
[FIX] contract: Only include 'section_and_note_one2many' js widget in…
victoralmau c397160
Translated using Weblate (Spanish (Argentina))
ibuioli 2070f1d
[IMP] contract: Add followers to invoices created
victoralmau eac2866
Translated using Weblate (Dutch)
bosd 91b6c5e
[IMP] contract: Portal
victoralmau 6b9d7f2
[IMP] contract: JS tour on test assets
pedrobaeza 2891d78
[IMP] contract: Add contract modification + contract: Add fields to c…
victoralmau 427177e
[FIX] contract: Modification mail + Auto-create follower in contract …
victoralmau e8369cf
[13.0][FIX] contract: Impossible to create invoices from contract lin…
rousseldenis 8ac5805
[FIX] contract: Error in test_contract_invoice_followers
victoralmau bc2fd07
[FIX] contract: remove groupby if it is in context + consistency betw…
7c82ac4
[13.0][FIX] contract: consistency between contract count and contract…
newtratip 985b41d
[OU-FIX] contract: Don't alter v12 recurrence mechanism + Transfer co…
pedrobaeza d0ae601
[FIX] contract: Changed modification_mail auto to appear like email a…
victoralmau b9ab217
[IMP] contract: black, isort, prettier
ozono dec443a
[MIG] contract: Migration to 14.0
ozono 044686c
[FIX] contract: restore readme images
ozono 134f520
Added translation using Weblate (French (France))
Yvesldff 9e0792a
[FIX] contract: Don't change period start date having line recurrence
pedrobaeza 6471b2b
[13.0][FIX] contract: Set layout for section and note in portal template
rousseldenis 8890ca1
[IMP] contract: Improve code to show recurring_rule_type from contrac…
victoralmau d123e38
[FIX] contract: Cleanup values on line when invoicing
pedrobaeza 9f9ebe4
Translated using Weblate (Turkish)
tate11 79a3d36
[FIX] contract: fix an obvious crash when self is a multi-recordset
alexis-via 6f453f8
[FIX] contract: Fix invoice creation and salesperson assignment
joao-p-marques d2246a0
Translated using Weblate (Catalan)
pere-aquarian 27e41bb
[IMP] contract: black, isort, prettier
jcdrubay 21b8216
[MIG] contract: Migration to 15.0
jcdrubay 045bd13
[FIX] contract: Avoid error in invoicing contracts crone
manuelregidor cc7c359
[15.0][IMP] modify production beta to stable
JoanMForgeFlow b86aeed
[IMP] contract: Add discount + price_subtotal fields to the contract …
victoralmau 7710203
ADJ: When generating invoices from the Wizard to create invoices manu…
jcdrubay 0b068db
Translated using Weblate (Catalan)
Noel000 71668b1
[FIX+IMP] contract: Several things
rousseldenis 62d7fd6
Translated using Weblate (Catalan)
juliap98 4311e8e
[FIX] contract: add default_move_type in context
mariadforgeflow 2ed7097
[FIX+IMP] contract: lots of things
rousseldenis 80fbbfc
[FIX] contract: change where security is given to group_account_invoi…
albariera 0cdc4fe
[FIX] contract: Remove noupdate in mail template data
joao-p-marques d912f5c
[15.0][IMP] contract : show tags with colors in the contract
chandni299 d8048c3
Translated using Weblate (German)
wpichler 8b9cd71
[IMP] contract: Use _prepare_home_portal_values() function.
victoralmau 739b715
Translated using Weblate (Portuguese (Brazil))
douglascstd 09f8d5f
Translated using Weblate (Spanish)
pere-aquarian c98fd59
[IMP] contract: Set invoice_user_id field with Form() to apply the co…
victoralmau 57ab7c8
[IMP] Add link to contract in invoice chatter
9bcc729
[FIX] contract: bug onchange date_start (comparison between bool and …
mourad-ehm ad54515
[IMP] contract: Set fixed start dates in test contracts
victoralmau b01d2ba
[FIX] contract: Switch string > title in buttons
pedrobaeza d6c423a
[MIG] contract: Migration to 16.0
wpichler 2a91a6b
Translated using Weblate (Italian)
francesco-ooops f6a3f9b
Translated using Weblate (Italian)
mymage 23fb9df
Added translation using Weblate (Catalan (ca_ES))
miquelalzanillas 394ba22
Translated using Weblate (German)
NICO-SOLUTIONS 9899d70
[IMP] contract: Make portal link configurable
5397f48
Translated using Weblate (Spanish)
Ivorra78 170d809
[16.0][FIX] contract: invoice message create
carolinafernandez-tecnativa 109d3a3
Translated using Weblate (Portuguese (Brazil))
adrianojprado d25115d
[FIX] No contract line and invoices when contract is archived
fkantelberg b37aace
Translated using Weblate (Italian)
alessandro-fiorino c4bb059
[FIX] contract: removed dateutil from dependencies
4c299a2
Translated using Weblate (Italian)
alessandro-fiorino 3248867
Translated using Weblate (Dutch)
ThijsvOers 03545c3
Translated using Weblate (French)
remi-filament 3a9b177
[MIG] contract: Remove analytic_account_id and add migration
fkantelberg 52f59f8
[FIX] contract: Change web_ribbon text to title to make it translatable
victoralmau b9d9554
[FIX] contract: Move migration to post migration
fkantelberg 2aa092e
[16.0] contract: Show discount lines for users with the group 'Discou…
fkantelberg 428fb8b
[IMP] contract: Protect line recurrrency change
pedrobaeza e9351c6
[16.0][IMP] contract and contract_sale_generation: Add translations
aliciagaarzo 6e69c24
Translated using Weblate (French)
houzefa-abba a30dd93
[FIX] contract: Fix modifications layout
pedrobaeza a9e8bc2
[IMP] contract: Remove buttons from contract lines if recurrence is n…
victoralmau 51dc6f1
[16.0][IMP] contract: improve visual
aliciagaarzo 940b81b
[16.0][IMP] contract and contract_variable_quantity: improve visual o…
aliciagaarzo 64b3fca
[IMP] contract: black, isort, prettier
CRogos 9bda2dc
[MIG] contract: Migration to 17.0
CRogos c2b1c88
[17.0][IMP] contract: solve error for last_date_invoiced field
aliciagaarzo d5f2c31
[17.0][FIX] contract: report translations & change structure
185dc6c
Translated using Weblate (Spanish)
Ivorra78 5f894dd
Translated using Weblate (Swedish)
jakobkrabbe c3b591f
[FIX] contract: Fix error when sending contract by email
carolinafernandez-tecnativa b328cb0
[FIX] contract: Link format error for messages posted when creates ma…
sergio-teruel b4adcb9
[FIX] contract : ignore date constraint for a note
florian-dacosta 84cacbb
[IMP] Add INVOICEMONTHNAME marker to line description
stenext 849ecf5
[I18N] contract: Spanish translations
victoralmau f7f3d64
[FIX] contract: link contract instead of move
carlos-lopez-tecnativa 4a2d92b
[IMP] contract: Use %m instead of %B to obtain month
victoralmau 872988f
[IMP] contract: Add contract lines entry point for reporting
rousseldenis 255e4b1
Translated using Weblate (Spanish)
victoralmau be51394
[IMP] contract: Terminate contract lines with last_date_invoiced if i…
sergio-teruel ec320bf
[IMP] contract Report correction, prevent unintended styling when usi…
arielbarreiros96 a6a4ad2
[FIX] contract: Invoice creation message translatable
pedrobaeza 2d6ecee
[FIX]contract: Malformed expression in the column_invisible attribute.
93bd86e
Translated using Weblate (Chinese (Traditional) (zh_TW))
tekvinci 3ca62b5
Translated using Weblate (Turkish)
bo-eska a3fecf7
[IMP] contract: Adapting portal contract design to odoo style
pilarvargas-tecnativa 20a5372
[FIX] contract: Don't lose modification email layout
pedrobaeza 1dd820b
[18.0][MIG] contract
sbejaoui 7f6566b
[REF] split contract module into: contract, contract_line_successor, …
sbejaoui 1200d5b
[IMP] contract: Change `automatic_price` fields to stored
rousseldenis 20d0913
[IMP] contract: Remove duplicate compute function for `price_unit` field
rousseldenis 78eb68b
[IMP] contract: Reintroduce comment about onchanges on _inverse methods
rousseldenis 6957150
[IMP] contract: Remove onchange on `product_id`
rousseldenis 6f4f2ed
[IMP] contract: Use account.journal `_check_company_domain()` to get …
rousseldenis a441ab7
[IMP] contract: Remove wrong api.model decorators + use Environment t…
rousseldenis b685d6c
[IMP] contract: remove blocking view in migration script
CRogos 0a50bc3
[IMP] contract and product_contract: pre-commit auto fixes
Anxo82 91503ad
[IMP] contract: make label for notes visible on contract view form
glitchov 0c3ccee
[FIX] contract: Remove test flag from contract because of "unknown ke…
CRogos e0625c3
[OU-FIX] contract: migration scripts
MiquelRForgeFlow 02f2388
[IMP] Contract line: compute display name
qgroulard 9a98ae1
[FIX] contract.recurring_create_invoice: Add ensure_one
tobiaszehntner 807b418
[IMP] contract: skip assignment when value unchanged to avoid trigger…
sbejaoui 29c836f
[FIX] contract: Enforce company
etobella 50bce72
Translated using Weblate (Catalan)
eugenichafer 90639fe
[FIX] contract: automatic pricing should resptect pricelist quantity-…
RicardCForgeFlow 498ce0a
[IMP] contract: compute group_id based on analytic accounts in contra…
carlos-lopez-tecnativa 6c44b80
[18.0][IMP] contract: hook for line is invoiceable
tobiaszehntner 248bb66
[IMP] contract: store additional fields for analysis purposes
carlos-lopez-tecnativa 1861ac7
[IMP] contract: enhance search filters and add a pivot view for contr…
carlos-lopez-tecnativa 26c2f2f
[FIX] contract: Avoid the error when accessing the portal if the user…
victoralmau cd4bdba
[FIX] contract: implement missing _compute_analytic_distribution on c…
marielejeune 6628a7f
[IMP] contract: add paths to actions
marielejeune 66dc9dd
[FIX] contract: Visual hint for cancelled lines in portal
pedrobaeza 46633bc
Translated using Weblate (French)
qtheuret 501d387
[IMP] contract: Remove account.move old_contract_id field
qgroulard 2e78d0d
[FIX] contract: Use another condition for forcingn a failure
etobella 7057eb4
Translated using Weblate (Slovenian)
sysadminmatmoz 4621639
Translated using Weblate (Catalan)
jonpasquier 67b9dfc
[18.0][IMP] contract: Improve contract lines view with section/note s…
cristina-hidalgo-tecnativa d58a9ea
[FIX] contract: improve views
etobella 64b0383
[FIX] contract : ignore date constraint for a note
florian-dacosta 03db5f9
[IMP] contract: invoice lines
jbaudoux 859da8b
[FIX] contract: invoicing
jbaudoux 1d19a84
Translated using Weblate (Spanish)
carlossainznetkia 96fab1f
[IMP] contract: add monthly_recurring field to contracts and lines
cristina-hidalgo-tecnativa d16d416
[IMP] contract: pre-commit auto fixes
BhaveshHeliconia 847b186
[MIG] contract: Migration to 19.0
BhaveshHeliconia File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,180 @@ | ||
| .. image:: https://odoo-community.org/readme-banner-image | ||
| :target: https://odoo-community.org/get-involved?utm_source=readme | ||
| :alt: Odoo Community Association | ||
|
|
||
| ================================ | ||
| Recurring - Contracts Management | ||
| ================================ | ||
|
|
||
| .. | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| !! This file is generated by oca-gen-addon-readme !! | ||
| !! changes will be overwritten. !! | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| !! source digest: sha256:e395f519d62bac7a25c01767e5e91f0a646779db0f51ab345c28fd5c5f2efa5c | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
|
|
||
| .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png | ||
| :target: https://odoo-community.org/page/development-status | ||
| :alt: Production/Stable | ||
| .. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png | ||
| :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
| :alt: License: AGPL-3 | ||
| .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fcontract-lightgray.png?logo=github | ||
| :target: https://github.com/OCA/contract/tree/19.0/contract | ||
| :alt: OCA/contract | ||
| .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
| :target: https://translation.odoo-community.org/projects/contract-19-0/contract-19-0-contract | ||
| :alt: Translate me on Weblate | ||
| .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png | ||
| :target: https://runboat.odoo-community.org/builds?repo=OCA/contract&target_branch=19.0 | ||
| :alt: Try me on Runboat | ||
|
|
||
| |badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
|
||
| This module enables contracts management with recurring invoicing | ||
| functions. Also you can print and send by email contract report. | ||
|
|
||
| It works for customer contract and supplier contracts. | ||
|
|
||
| Contracts are shown in portal. | ||
|
|
||
| **Table of contents** | ||
|
|
||
| .. contents:: | ||
| :local: | ||
|
|
||
| Configuration | ||
| ============= | ||
|
|
||
| To view discount field in contract line, you need to set *Discount on | ||
| lines* in user access rights. | ||
|
|
||
| Contracts can be viewed on the portal (list and detail) if the user | ||
| logged into the portal is a follower of the contract. | ||
|
|
||
| Usage | ||
| ===== | ||
|
|
||
| 1. Contracts are in Invoicing -> Customers -> Customer and Invoicing -> | ||
| Vendors -> Supplier Contracts | ||
| 2. When creating a contract, fill fields for selecting the invoicing | ||
| parameters: | ||
|
|
||
| - a journal | ||
| - a price list (optional) | ||
|
|
||
| 3. And add the lines to be invoiced with: | ||
|
|
||
| - the product with a description, a quantity and a price | ||
| - the recurrence parameters: interval (days, weeks, months, months | ||
| last day or years), start date, date of next invoice (automatically | ||
| computed, can be modified) and end date (optional) | ||
| - auto-price, for having a price automatically obtained from the | ||
| price list | ||
| - #START# - #END# or #INVOICEMONTHNAME# in the description field to | ||
| display the start/end date or the start month of the invoiced | ||
| period in the invoice line description | ||
| - pre-paid (invoice at period start) or post-paid (invoice at start | ||
| of next period) | ||
|
|
||
| 4. The "Generate Recurring Invoices from Contracts" cron runs daily to | ||
| generate the invoices. If you are in debug mode, you can click on the | ||
| invoice creation button. | ||
| 5. The *Show recurring invoices* shortcut on contracts shows all | ||
| invoices created from the contract. | ||
| 6. The contract report can be printed from the Print menu | ||
| 7. The contract can be sent by email with the *Send by Email* button | ||
| 8. Contract templates can be created from the Configuration -> Contracts | ||
| -> Contract Templates menu. They allow to define default journal, | ||
| price list and lines when creating a contract. To use it, just select | ||
| the template on the contract and fields will be filled automatically. | ||
|
|
||
| - Contracts appear in portal to following users in every contract: | ||
|
|
||
| |image| | ||
|
|
||
| |image1| | ||
|
|
||
| |image2| | ||
|
|
||
| .. |image| image:: https://raw.githubusercontent.com/OCA/contract/19.0/contract/static/src/screenshots/portal-my.png | ||
| .. |image1| image:: https://raw.githubusercontent.com/OCA/contract/19.0/contract/static/src/screenshots/portal-list.png | ||
| .. |image2| image:: https://raw.githubusercontent.com/OCA/contract/19.0/contract/static/src/screenshots/portal-detail.png | ||
|
|
||
| Known issues / Roadmap | ||
| ====================== | ||
|
|
||
| - Recover states and others functional fields in Contracts. | ||
| - Add recurrence flag at template level. | ||
|
|
||
| Bug Tracker | ||
| =========== | ||
|
|
||
| Bugs are tracked on `GitHub Issues <https://github.com/OCA/contract/issues>`_. | ||
| In case of trouble, please check there if your issue has already been reported. | ||
| If you spotted it first, help us to smash it by providing a detailed and welcomed | ||
| `feedback <https://github.com/OCA/contract/issues/new?body=module:%20contract%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
|
||
| Do not contact contributors directly about support or help with technical issues. | ||
|
|
||
| Credits | ||
| ======= | ||
|
|
||
| Authors | ||
| ------- | ||
|
|
||
| * Tecnativa | ||
| * ACSONE SA/NV | ||
|
|
||
| Contributors | ||
| ------------ | ||
|
|
||
| - Angel Moya <angel.moya@domatix.com> | ||
|
|
||
| - Dave Lasley <dave@laslabs.com> | ||
|
|
||
| - Miquel Raïch <miquel.raich@eficent.com> | ||
|
|
||
| - Souheil Bejaoui <souheil.bejaoui@acsone.eu> | ||
|
|
||
| - Thomas Binsfeld <thomas.binsfeld@acsone.eu> | ||
|
|
||
| - Guillaume Vandamme <guillaume.vandamme@acsone.eu> | ||
|
|
||
| - Raphaël Reverdy <raphael.reverdy@akretion.com> | ||
|
|
||
| - `Tecnativa <https://www.tecnativa.com>`__: | ||
|
|
||
| - Pedro M. Baeza | ||
| - Carlos Dauden | ||
| - Vicent Cubells | ||
| - Rafael Blasco | ||
| - Víctor Martínez | ||
|
|
||
| - Iván Antón <ozono@ozonomultimedia.com> | ||
|
|
||
| - `APSL <https://www.apsl.tech>`__: | ||
|
|
||
| - Antoni Marroig <amarroig@apsl.net> | ||
|
|
||
| - `Heliconia Solutions Pvt. Ltd. <https://www.heliconia.io>`__ | ||
|
|
||
| - Bhavesh Heliconia | ||
|
|
||
| Maintainers | ||
| ----------- | ||
|
|
||
| This module is maintained by the OCA. | ||
|
|
||
| .. image:: https://odoo-community.org/logo.png | ||
| :alt: Odoo Community Association | ||
| :target: https://odoo-community.org | ||
|
|
||
| OCA, or the Odoo Community Association, is a nonprofit organization whose | ||
| mission is to support the collaborative development of Odoo features and | ||
| promote its widespread use. | ||
|
|
||
| This module is part of the `OCA/contract <https://github.com/OCA/contract/tree/19.0/contract>`_ project on GitHub. | ||
|
|
||
| You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| from . import controllers | ||
| from . import models | ||
| from . import wizards |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # Copyright 2004-2010 OpenERP SA | ||
| # Copyright 2014-2018 Tecnativa - Pedro M. Baeza | ||
| # Copyright 2015 Domatix | ||
| # Copyright 2016-2018 Tecnativa - Carlos Dauden | ||
| # Copyright 2017 Tecnativa - Vicent Cubells | ||
| # Copyright 2016-2017 LasLabs Inc. | ||
| # Copyright 2018-2019 ACSONE SA/NV | ||
| # Copyright 2020-2021 Tecnativa - Pedro M. Baeza | ||
| # Copyright 2020 Tecnativa - Víctor Martínez | ||
| # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). | ||
|
|
||
| { | ||
| "name": "Recurring - Contracts Management", | ||
| "version": "19.0.1.0.0", | ||
| "category": "Contract Management", | ||
| "license": "AGPL-3", | ||
| "author": "Tecnativa, ACSONE SA/NV, Odoo Community Association (OCA)", | ||
| "website": "https://github.com/OCA/contract", | ||
| "depends": ["base", "account", "product", "portal"], | ||
| "development_status": "Production/Stable", | ||
| "data": [ | ||
| "security/contract_tag.xml", | ||
| "security/ir.model.access.csv", | ||
| "security/contract_security.xml", | ||
| "report/report_contract.xml", | ||
| "report/contract_views.xml", | ||
| "data/contract_cron.xml", | ||
| "data/mail_template.xml", | ||
| "data/template_mail_notification.xml", | ||
| "data/mail_message_subtype.xml", | ||
| "data/ir_ui_menu.xml", | ||
| "views/contract_tag.xml", | ||
| "views/contract_template.xml", | ||
| "views/contract_template_line.xml", | ||
| "views/contract.xml", | ||
| "views/contract_line.xml", | ||
| "views/res_partner_view.xml", | ||
| "views/res_config_settings.xml", | ||
| "views/contract_portal_templates.xml", | ||
| "wizards/contract_manually_create_invoice.xml", | ||
| ], | ||
| "assets": { | ||
| "web.assets_frontend": ["contract/static/src/scss/frontend.scss"], | ||
| "web.assets_tests": ["contract/static/src/js/contract_portal_tour.esm.js"], | ||
| }, | ||
| "installable": True, | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
|
|
||
| from . import main |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,110 @@ | ||
| # Copyright 2020-2022 Tecnativa - Víctor Martínez | ||
| # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
|
|
||
| from odoo import http | ||
| from odoo.exceptions import AccessError, MissingError | ||
| from odoo.http import request | ||
|
|
||
| from odoo.addons.portal.controllers.portal import CustomerPortal | ||
| from odoo.addons.portal.controllers.portal import pager as portal_pager | ||
|
|
||
|
|
||
| class PortalContract(CustomerPortal): | ||
| def _prepare_home_portal_values(self, counters): | ||
| values = super()._prepare_home_portal_values(counters) | ||
| if "contract_count" in counters: | ||
| contract_model = request.env["contract.contract"] | ||
| contract_count = ( | ||
| contract_model.search_count([]) | ||
| if contract_model.has_access("read") | ||
| else 0 | ||
| ) | ||
| values["contract_count"] = contract_count | ||
| return values | ||
|
|
||
| def _contract_get_page_view_values(self, contract, access_token, **kwargs): | ||
| values = { | ||
| "page_name": "Contracts", | ||
| "contract": contract, | ||
| } | ||
| return self._get_page_view_values( | ||
| contract, access_token, values, "my_contracts_history", False, **kwargs | ||
| ) | ||
|
|
||
| def _get_filter_domain(self, kw): | ||
| return [] | ||
|
|
||
| @http.route( | ||
| ["/my/contracts", "/my/contracts/page/<int:page>"], | ||
| type="http", | ||
| auth="user", | ||
| website=True, | ||
| ) | ||
| def portal_my_contracts( | ||
| self, page=1, date_begin=None, date_end=None, sortby=None, **kw | ||
| ): | ||
| values = self._prepare_portal_layout_values() | ||
| contract_obj = request.env["contract.contract"] | ||
| # Avoid error if the user does not have access. | ||
| if not contract_obj.has_access("read"): | ||
| return request.redirect("/my") | ||
| domain = self._get_filter_domain(kw) | ||
| searchbar_sortings = { | ||
| "date": { | ||
| "label": request.env._("Date"), | ||
| "order": "recurring_next_date desc", | ||
| }, | ||
| "name": {"label": request.env._("Name"), "order": "name desc"}, | ||
| "code": {"label": request.env._("Reference"), "order": "code desc"}, | ||
| } | ||
| # default sort by order | ||
| if not sortby or sortby not in searchbar_sortings: | ||
| sortby = "date" | ||
| order = searchbar_sortings[sortby]["order"] | ||
| # count for pager | ||
| contract_count = contract_obj.search_count(domain) | ||
| # pager | ||
| pager = portal_pager( | ||
| url="/my/contracts", | ||
| url_args={ | ||
| "date_begin": date_begin, | ||
| "date_end": date_end, | ||
| "sortby": sortby, | ||
| }, | ||
| total=contract_count, | ||
| page=page, | ||
| step=self._items_per_page, | ||
| ) | ||
| # content according to pager and archive selected | ||
| contracts = contract_obj.search( | ||
| domain, order=order, limit=self._items_per_page, offset=pager["offset"] | ||
| ) | ||
| request.session["my_contracts_history"] = contracts.ids[:100] | ||
| values.update( | ||
| { | ||
| "date": date_begin, | ||
| "contracts": contracts, | ||
| "page_name": "Contracts", | ||
| "pager": pager, | ||
| "default_url": "/my/contracts", | ||
| "searchbar_sortings": searchbar_sortings, | ||
| "sortby": sortby, | ||
| } | ||
| ) | ||
| return request.render("contract.portal_my_contracts", values) | ||
|
|
||
| @http.route( | ||
| ["/my/contracts/<int:contract_contract_id>"], | ||
| type="http", | ||
| auth="public", | ||
| website=True, | ||
| ) | ||
| def portal_my_contract_detail(self, contract_contract_id, access_token=None, **kw): | ||
| try: | ||
| contract_sudo = self._document_check_access( | ||
| "contract.contract", contract_contract_id, access_token | ||
| ) | ||
| except (AccessError, MissingError): | ||
| return request.redirect("/my") | ||
| values = self._contract_get_page_view_values(contract_sudo, access_token, **kw) | ||
| return request.render("contract.portal_contract_page", values) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <odoo noupdate="1"> | ||
| <record model="ir.cron" id="contract_cron_for_invoice"> | ||
| <field name="name">Generate Recurring Invoices from Contracts</field> | ||
| <field name="model_id" ref="model_contract_contract" /> | ||
| <field name="state">code</field> | ||
| <field name="code">model.cron_recurring_create_invoice()</field> | ||
| <field name="user_id" ref="base.user_root" /> | ||
| <field name="interval_number">1</field> | ||
| <field name="interval_type">days</field> | ||
| </record> | ||
| </odoo> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <odoo> | ||
| <menuitem | ||
| id="menu_config_contract" | ||
| name="Contracts" | ||
| sequence="1" | ||
| parent="account.menu_finance_configuration" | ||
| /> | ||
| </odoo> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <odoo noupdate="1"> | ||
| <record id="mail_message_subtype_invoice_created" model="mail.message.subtype"> | ||
| <field name="name">Invoice created</field> | ||
| <field name="res_model">contract.contract</field> | ||
| </record> | ||
| <record | ||
| id="mail_message_subtype_contract_modification" | ||
| model="mail.message.subtype" | ||
| > | ||
| <field name="name">Contract modifications</field> | ||
| <field name="res_model">contract.contract</field> | ||
| <field name="default" eval="False" /> | ||
| </record> | ||
| </odoo> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.