Issue 9784

Not set value from readonly field when ModifyHeader
Nosy list
pokoli, resteve
Assigned to

Created on 2020-11-03.12:01:40 by resteve, last changed 1 month ago by pokoli.


Author: [hidden] (pokoli) Tryton committer Tryton translator
Date: 2020-12-04.19:07:01

I'm closing this because we had no feedback for 1 month, please reopen with the full details if you don't agree.

Author: [hidden] (pokoli) Tryton committer Tryton translator
Date: 2020-11-04.12:14:03

Which is the SQL contraint? Why it breaks? Why is this related to ModifyHeader?
Could you please share the full details of your issue.

Author: [hidden] (resteve)
Date: 2020-11-04.12:09:46


We detected that ModifyHEAD try to write a readonly field because we have a SQL constain. When you write, in this case, ModifyHEAD not need to write a field that is readonly defined in the model. (readonly = user could not change the value)

Author: [hidden] (pokoli) Tryton committer Tryton translator
Date: 2020-11-03.15:51:19

Why not? We do not enforce readonly on server side (until issue4207 is implemented).
There is any issue with it

It will be great if you can explain your problems. You marked this as bug so in order to other fix it we should know the problem.

Author: [hidden] (resteve)
Date: 2020-11-03.15:46:20

See that "number_external" is a readonly. Why write it (_save_value) when is readonly?

Author: [hidden] (pokoli) Tryton committer Tryton translator
Date: 2020-11-03.12:57:08

I do not understand the issue.
The wizard sets by default the current values so no modification should be done.

Could please you explain which is the problem?

Author: [hidden] (resteve)
Date: 2020-11-03.12:01:40

Module: sale

We see that we has a fields that is readonly, when change the header, try to write, when is readonly.


number_external = fields.Char('External Number', readonly=True)

The self.start._save_values to write are:

{'add_rules': True, 'agent': None, 'carrier': 13, 'comment': '', 'company': 1, 'coupon': '', 'currency': 50, 'description': '', 'esale': False, 'esale_coupon': '', 'external_discount': None, 'external_shipment_amount': None, 'external_tax_amount': None, 'external_total_amount': None, 'external_untaxed_amount': None, 'galatea_user': None, 'invoice_address': 1344, 'invoice_method': 'shipment', 'invoice_state': 'none', 'lines': [], 'moves': [], 'mse_code': '', 'number': '', 'number_external': '', 'origin': None, 'party': 1, 'payment_term': 2, 'payment_type': 19, 'payments': [], 'price_list': 1, 'reference': '', 'sale_date': None, 'sale_device': None, 'sale_discount': Decimal('0.0'), 'shipment_address': 1, 'shipment_comment': '', 'shipment_cost_method': 'order', 'shipment_method': 'order', 'shipment_party': None, 'shipment_state': 'none', 'shop': 1, 'state': 'draft', 'status': '', 'status_history': '', 'warehouse': 4}

See that "number_external" is in the dict values to write.

Date User Action Args
2020-12-04 19:07:01pokolisetmessages: + msg62394
status: need-eg -> invalid
2020-11-04 12:14:03pokolisetmessages: + msg61645
2020-11-04 12:09:46restevesetmessages: + msg61643
2020-11-03 15:51:19pokolisetmessages: + msg61624
status: chatting -> need-eg
2020-11-03 15:46:20restevesetmessages: + msg61623
2020-11-03 12:57:08pokolisetmessages: + msg61611
nosy: + pokoli
2020-11-03 12:01:40restevecreate

Showing 10 items. Show all history (warning: this could be VERY long)