← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 519720] Re: Too many "invoice_line_ids" for one invoice : HTTP request too long

 

Hello Borja López Soilán,

Can you please check is this patch is working fine for you ?
Please let us know the status from your side.

Thanks.

-- 
Too many "invoice_line_ids" for one invoice : HTTP request too long
https://bugs.launchpad.net/bugs/519720
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.

Status in OpenObject Web Client: Fix Committed
Status in OpenObject Web Client 5.0 series: New
Status in OpenObject Web Client trunk series: Fix Committed

Bug description:
I use latest trunk version of the web-client (revno 2811) and of openerp-server (revno 1968)

After creating a new database, I create two draft invoices :
- first invoice "Invoice1" contains two invoice lines : 1 PC1 and 1 PC2
- second invoice "Invoice2" contains two invoice lines : 1 PC3 and 1 MB1
(PC1, PC2, PC3 and MB1 are products code for the invoice lines items).

In database, I get : 
ID (invoice_line)      INVOICE_ID
============================================
1                      1 (Invoice1)
2                      1 (Invoice1)
3                      2 (Invoice2)
4                      2 (Invoice2)

Up to now, it's OK.

Now, I open "Invoice1" and open the view "Invoice Line" by clicking on the first invoice line.
In the HTML code of the "invoice line" view, I get :
<input type="hidden" id="invoice_line/_terp_ids" name="invoice_line/_terp_ids" value="[1, 2, 3, 4]"/>

All invoice lines are here ! (allthough many lines don't belong to the current invoice !).
Then, by clicking on the "account" search help (magnifyng glass), all these invoice_line_ids are transmitted in a HTTP GET request, in an active_ids request parameter. This leads to a much-too-bigger HTTP GET request.

On a production base, with many invoices, and even more invoice lines, I currently get this :
Request-URI Too Large
The requested URL's length exceeds the capacity limit for this server.
Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.4 with Suhosin-Patch Server at <SERVER_NAME> Port <PORT>

That looks serious : from a certain number of invoice lines, it is not possible anymore to display, and modify the invoice lines !
Why are all invoice lines IDs transmitted ?

Attached file : the too-long request (look at "active_ids" parameter).