Commit Graph
16 Commits
Author SHA1 Message Date
Romeo Fragomeli 1fcd098af5 [REF] *: BS5: migration
Automated change made by a lot of RegEx to change all think that is
possible to automate.

https://getbootstrap.com/docs/5.1/migration

Task ID: 2766483

Part-of: odoo/odoo#95450
2022-07-07 13:30:24 +02:00
Tiffany Chang (tic) f533e40f0e [IMP] purchase_requisition{_stock}: add new alternative POs option
Previously the "call to tender" flow involved creating a
`purchase.requisition` record, creating each RFQ via that record, and
then manually going through each RFQ to compare the prices/dates/etc.
By linking the "call to tender" POs within the POs, we remove an
unnecessary `purchase.requestion` record and makes it easier to track
which RFQs are related to each other as an Alternative RFQ.

On top of this, we add some comparision features to make it easier to
determine the best RFQ, specificially the ability to compare PO lines in
the same view with some visual aids (best price/date colored green +
buttons to check these lines to make them easier to view). We also add
an extra feature to set the qty of selected/non-chosen PO lines to 0 to
aid in the RFQ selection process (only applies to non-confirmed/done/
cancelled POs).

Some other features included with this:
- option to cancel alternative POs when confirming one, which purposely
  does not cancel ones that have already been confirmed/completed.
- new wizard for creating alternative POs so user can select whether or
  not they want to copy the products/qtys from the original PO.

Important Notes:
- JS Customizations:
  - custom many2many widget added so user:
    - can click between alternative POs in same window + keep breadcrumb.
      This is because all alt POs are interconnected and long breadcrumb
      chain is possible (+ we want to avoid windows within windows.) It
      is expected that user will be aware that unsaved changes will
      auto-save when alt PO is clicked on.
    - cannot unlink a PO from itself (this is automagically done during
      the write) since this will remove all of its linked POs and might
      confuse users.
  - custom view js for Comparing Order Lines to help highlight best
    options, including ensuring that the best options are still
    highlighted after clicking on Choose/Clear buttons (since the best
    option can change afterwards, we recalc + update via RPC)
- General implementation warnings:
  - Anytime any button/alternative PO is clicked on within a PO, the
    form will auto-save. This is due to how the current action service
    handles changing views.
  - POs created via "Create Alternative" button purposely:
     - require a vendor to ensure correct lead times/prices
     - show all vendor/product warnings in wizard because we cannot
       reproduce the pop-up warning that would occur in the PO when
       they are selected. We also purposely block the PO creation when a
       blocking warning is set since we cannot remove the values
       (especially in the case of a blocking vendor message) from a
       newly created PO.
  - Technical purchase.order.group model created to help with difficult
    management of complicated behaviors:
     - unlink from self if a PO is no longer linked to any other POs
     - linkages must be symmetric (i.e. linkage PO1 => PO2 must
       reflect PO2 => PO1 in their form views)
     - don't lose existing linkages (i.e. PO1 => PO2 and PO2 => PO3
       should auto-link PO1 => PO3)
    These last two behaviors are difficult to do without grouping due to
    possibility of remove and adding linkages at the same time. To avoid
    complex code to ensure these complexities hold when when creating a
    new PO, linkaging to alternatives is not allowed when PO is not yet
    saved as a record.

Task: 2695116
Upgrade PR: odoo/upgrade#3586

closes odoo/odoo#87656

Signed-off-by: Arnold Moyaux (arm) <arm@odoo.com>
2022-06-20 12:15:59 +02:00
Fabien Pinckaers ff110b0ed8 [IMP] purchase_requisition: blanket orders and usability cleaning
Improved usability & code cleaning:
  - Support for blanket orders, in addition of purchase tenders
    ("Purchase Agreements")
  - Create a RfQ in one click, no wizard anymore
  - Control of quantities really purchased
  - Better control of side-effects thanks to purchase requisition types
  - JS code removed (not necessary)
  - Workflow removed

Closes #11666
2016-04-29 10:43:49 +02:00
Valerie Pirenne dbe3d8035f [FIX] purchase: advanced calls for tenders
add option in res_config to have advance mode for call for tender (option was lost in commit: 3d8f7c2f24)
+ fix errors in method that used old po_line state
+ change icon to font-awesome icons
2015-09-23 11:59:16 +02:00
Christophe Simonis 88c0ce0692 [MERGE] forward port of branch saas-6 up to e16d495 2015-08-24 18:19:19 +02:00
rsi-odoo 93645a870e [FIX] purchase_requisition: fix typo - call for bids - generate PO from product lines 2015-08-18 15:21:02 +02:00
Christophe Matthieu 500c33b184 [IMP] web: split model.js into model.js and data_model.js. Web js modules must call web.DataModel. 2015-07-10 16:32:35 +02:00
Géry Debongnie 4fdf74fe21 [IMP] web+addons: improvement to module system
The module system needs to know the dependencies of a given module
before executing the function.  This is why the dependencies were
defined once in an array, and then were described one more times in the
call to require.

But a trick can simplify this: the boot function can parse the string
representation of the module and extract the calls to require from it.
It is more work for the processor, but it leads to simpler module
definitions.
2015-03-18 09:23:37 +01:00
Géry Debongnie 5e6171bb6f [REF] various addons: update to the new module system 2015-03-18 09:09:22 +01:00
Cedric Snauwaert 32bbc34458 [FIX] purchase_requisition: change active_id to tender_id in widget context
this is due to commit 6ed774de61 and a37bad205b which removes the active_id from context if the target==curent which is the case of this widget, we therefore can not use active_id here.

fix #2385
2014-10-15 14:47:13 +02:00
Jacques-Etienne Baudoux ed07bca432 [FIX]purchase_requisition: tree options is not standard, change approach to OpenERP standard
bzr revid: je@bcim.be-20130605073311-ae1u2jdjqvu34c66
2013-06-05 09:33:11 +02:00
Arnaud Pineux 2abd4d2222 [FIX] return back in breadcrumb
bzr revid: api@openerp.com-20130531094936-a27pmhrh4iqb2jre
2013-05-31 11:49:36 +02:00
Arnaud Pineux ae4ed0be36 [FIX] return the action
bzr revid: api@openerp.com-20130531090634-4o6wegyqmdoct9vm
2013-05-31 11:06:34 +02:00
Cedric Snauwaert 5d6379bc62 [FIX]purchase_requisition: working generate_po button and add groups in view for advance bidding mode
bzr revid: csn@openerp.com-20130531073856-v6p416dm50qwzf8x
2013-05-31 09:38:56 +02:00
Cedric Snauwaert 5593671ee4 [FIX]purchase_requisition: method to generate po from bid line and add a group as well as option in res_config for advance mode
bzr revid: csn@openerp.com-20130529154305-zhok6su2fmlet3x9
2013-05-29 17:43:05 +02:00
Cedric Snauwaert f3ccaf688a [ADD]purchase_requisition: add a button in tree view to generate PO after bidding, need a one line patch in server in order to work
bzr revid: csn@openerp.com-20130529122833-ocz3lyhqv8y8cr1o
2013-05-29 14:28:33 +02:00