Editable list views don't enforce requiered fields when used in a popup
Bug #479302 reported by
Numérigraphe
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Odoo GTK Client (MOVED TO GITHUB) |
Fix Released
|
Undecided
|
Anup(SerpentCS) | ||
Bug Description
In the GTK client, when you create an object composed of another object ( object -> one2many -> details), the "component" object will usually be entered in a form open as a popup window.
If this form contains an editable list (component -> one2many -> sub-component), this list does not enforce required fields, resulting in invalid forms.
As a consequence the object can not be saved, though the user is not warned of the failure.
On windows, crashes of the GTK client have been observed too.
Changed in openobject-client: | |
status: | New → Confirmed |
Changed in openobject-client: | |
assignee: | nobody → Anup (Open ERP) (ach-openerp) |
status: | Confirmed → In Progress |
To post a comment you must log in.
Please find attached an example module showing the bug. ls/Projets/ OpenERP/ v5.0/client/ bin/modules/ gui/main. py", line 1299, in _sig_child_call button_ name]() ls/Projets/ OpenERP/ v5.0/client/ bin/modules/ gui/window/ form.py" , line 304, in sig_save save_current( ) ls/Projets/ OpenERP/ v5.0/client/ bin/widget/ screen/ screen. py", line 425, in save_current model.validate( ): ls/Projets/ OpenERP/ v5.0/client/ bin/widget/ model/record. py", line 182, in validate mfields[ fname]. validate( self): ls/Projets/ OpenERP/ v5.0/client/ bin/widget/ model/field. py", line 405, in validate ls/Projets/ OpenERP/ v5.0/client/ bin/widget/ model/record. py", line 182, in validate mfields[ fname]. validate( self): ls/Projets/ OpenERP/ v5.0/client/ bin/widget/ model/field. py", line 407, in validate value[self. name].models. remove( model2) ls/Projets/ OpenERP/ v5.0/client/ bin/widget/ model/group. py", line 68, in remove __screen. signal( 'record- changed' , ('record-removed', idx)) ls/Projets/ OpenERP/ v5.0/client/ bin/signal_ event.py" , line 29, in signal ls/Projets/ OpenERP/ v5.0/client/ bin/widget/ screen/ screen. py", line 228, in _record_changed
- install the module
- go to the menu "MyObject > MyObject"
- enter a name
- click the button to create a new entry for my.object.details => it should open a popup window
- enter a name for the details
- click several times the button to create a new entry for "Elements" - don't enter anything in the elements
- click validate => it should close the popup window
- save the object
You should get somthing like this:
Traceback (most recent call last):
File "/home/
res = wid.handlers[
File "/home/
id = self.screen.
File "/home/
if self.current_
File "/home/
if not self.mgroup.
File "/home/
if not model2.validate():
File "/home/
if not self.mgroup.
File "/home/
model.
File "/home/
self.
File "/home/
fnct(self, signal_data, *data)
File "/home/
for view in self.views:
AttributeError: 'Screen' object has no attribute 'views'