ON THE DELIVERY SLIP :
1. CUSTOMER REFERENCE
- If a customer reference is filled in the SO, on the delivery slip, under
Customer Address, add a section Customer Reference :
- Display every customer information in the header
2. SO NUMBER
- Display the SO reference under the origin instead on the picking type name.
Do not display it if unset
3. LOCATIONS AND STATUS
- remove the columns locations and status
4. ORDERED QUANTITY
- add a column (between product and quantity) named Ordered Quantity. It
contains the quantity of the initial demand. Rename Quantity into
Delivered Quantity
5. BACKORDER
- If the delivery is a backorder, add the string : This shipment is a backorder
of "stock.picking.name".
- If a backorder has been created, add the string : All items couldn't be shipped,
the remaining ones will be shipped as soon as they become available.
- If it is a backorder and another backorder has been created, both strings should
be printed.
6. SCHEDULE DATE
- Should be the date when the delivery order is validated.
- Rename Scheduled Date into "Date"
- If the DO is not yet validated, display the scheduled date.
- If the DO is validated : display the date it was validated.
7. WEIGHT
- Add the unit of measure after the weight value
- Display only if set
8. CARRIER
- Display only if set
9. LOT/SERIAL NUMBERS
- Keep the header of the column + rename it into Serial Number / Lot
10. CUSTOMER/CONTACT ADDRESS
- Should be displayed on the right, keep only minimal information: Customer name,
phone number
ON THE PICKING REPORT
- picking: https://drive.google.com/file/d/0Bx4JWs1efCreX1FrZUhaZDEtblU/view?usp=drivesdk
- form: https://drive.google.com/a/openerp.com/file/d/0B5BDHVRYo-q5X3VGVWI1aThWcWM/view?usp=drivesdk
The two fields used in the filter Lost were not available on the
crm.activity.report model.
closes#11623
opw-673533
note: in 9.0..saas-10 the filter was removed with 70ba0e9
automatically try to detect type of columns from the first 10 rows of file:
If column only contains integer, only show, int, float, monetary, m2o, o2m, m2m fields in wizard
If column only contains true/false values, only show boolean fields in wizard
etc
add an advanced mode which is the same as previous import (show all fields)
Support different date format and float value with currency as well as float value with parenthesis to reprensent negative value.
Since calendar_event overrides read to handle virtual ids, we need to do
the same for mail_thread _get_message_unread and _get_message_needaction
methods. Otherwise virtual ids may end up in the cache and browsing them
would fail.
SQL dump:
- Recent export with -O to remove owners
- correct poor Ramzy name
purchase order CSV:
- use correct column names
- remove destination and pricelist columns
- first file should not contain order lines
- second file should be same as first + lines
When quickly changing the range in the calendar view, multiple
asynchronous read_slice requests will be launched. The read_slice
returns the records and sets the ids property on the dataset according
to a set domain, context etc.
This creates a race condition because although the read_slice calls will
be launched in the correct order, there is no guarantee that they will
resolve in the correct order. In practice issues will occur quite
frequently on a slower connection and with a big read followed by a
small read. The big read that matches a lot of records will be slower to
complete than the small read which will result in it resolving later
than the small read. This causes the dataset to not be in sync with the
rest of the view. When you click on an affected event everything will
look fine in the popup, but when clicking on edit the form view will
show a new event instead. The reason for this is that switching to the
form view requires a correct dataset.index, which is set by
dataset.get_id_index(id) which won't exist.
A potential way of fixing this would be guaranteeing the order of
read_slice calls by only allowing one of them to be active at a
time. This would not be ideal because you could end up with a long chain
of read_slice calls when changing the range fast on a slow
connection. In theory the UI would have to block as well then.
Instead of that, we will simply ignore responses to out-of-date
requests. This is done by manually resetting the ids property of the
dataset to its previous value when we detect the range of the calendar
has changed since the read_slice call was launched.
opw-673425
Before this fix, sales_team.team_sales_department was always used ignoring default_ in context.
Now we check before in context if a default sale team is forced.
We allow False as saleteam, eg you assign a lead to a employee who is not a saleman.
Now we check that the default saleteam sales_team.team_sales_department is configured to use_leads
to avoid undefined saleteam in the front end.
The code to fetch the fiscal position of a partner uses ACLs and
ir_rules to select the correct ones, but when calling the function
as admin, multi-company rules flight out the window.
By allowing to force a company in the context, we can get the fpos
as the admin from the pov of any company.
When the PO is related to a contact of a company, the current behavior
is to add the contact in the list of suppliers of the product. However,
there is little chance that this is actually the desired behavior.
Indeed, in most of the cases, this will simply add a lot of useless
suppliers on a product.
The fix is to add the parent company of the contact in the list of
vendors, since `_select_seller` wil also search in the parent companies
to get a purchase price.
opw-672862
We have an interesting problem when editing all custom float fields and all
fields with no explicit digit attributes: the propertiesmixin tries to
check if the number was changed, according to their declared precision.
But for these specific fields, it does not find a digit attribute, and
defaults to 2. Then, it makes sure that the changes are ignored if the
new value is too close to the old value (with 2 digits precision)
For example, if the user sets the value to 1.234, then save, then change
it to 1.235, then save, the form view will display 1.234 and totally
ignore the change.
Not that handling the digit precision is done in the propertiesmixin and
in the field float widget. Also, they do different things, and in some
case, may not be the same. All this logic should be moved to the
fieldfloat widget.
In the enterprise client, in mobile, the buttons in the systray are 'display:
inline-block'. This rule was overriden in the case of the attendance button
by a 'this.$el.show()', which changed the display to 'block'. This rev. uses
'do_show' and 'do_hide' functions of widgets instead, as they don't change the
display.