Bug Hunting Session
Bug 75340 - UI: No Error-Dialog appears using Tabulator-key to swith to next record, when Input is required from a Table, but isn't set in a Form as "required"
Summary: UI: No Error-Dialog appears using Tabulator-key to swith to next record, when...
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: Other Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-21 20:46 UTC by Robert Großkopf
Modified: 2015-10-11 16:36 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
Database with a form, where all fields (except one) were set to "Input required" (20.84 KB, application/vnd.oasis.opendocument.base)
2014-02-21 20:46 UTC, Robert Großkopf
Details
New form with navigationbar inside, button - test using the same ID as first row. (29.92 KB, application/vnd.oasis.opendocument.database)
2014-11-10 15:51 UTC, Robert Großkopf
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Großkopf 2014-02-21 20:46:25 UTC
Created attachment 94532 [details]
Database with a form, where all fields (except one) were set to "Input required"

A table with some fioelds.
All fields were set to "Input required"
A form for this table, created by the wizard.
All fields of the form were set to "Input required".
Now one field is set back to "Input required → No". It is the field "Time" in the attached database in the form "Table_Input_required_GUI_and_SQL".
Try top delete the value for "Time" and save the row. There doesn't appear any error and it isn't possible to save the row. LO seems to hang for normal users.

Expected behavior: There should appear an error, that there is any input missing. It shouldn't have anything to do with the settings in the fields of the form, only with the settings of the table.

My System: openSUSE 12.3 64bit rpm. LO 4.1.5.3, also tested with other LO-Versions down to LO 3.3.0beta1 - all the same result.
Comment 1 Buovjaga 2014-11-08 14:27:56 UTC
Contrary to you, I got an error when trying to save the form after deleting content from the Time field:

Error updating the current record

SQL Status: 23000
Error code: -10

Attempt to insert null into a non-nullable column: column: Time table: Table_Input_required_all_Fields in statement [UPDATE "Table_Input_required_all_Fields" SET "Time" = ? WHERE "ID" = ?]

I then altered Time to require Input (right-click form in the Base main view - Edit - right-click the Time column - Column - Data)

After setting it to Yes, saving and reopening, it stayed as Yes.

The error message is different when it is set to Yes:

Error writing data to database.

Input required in the field 'Time'. Please enter a value.

Win 7 64-bit Version: 4.4.0.0.alpha2+
Build ID: c989f5e0e11e295b11ffc921b0d105869e037e47
TinderBox: Win-x86@42, Branch:master, Time: 2014-11-07_22:50:48
Comment 2 Robert Großkopf 2014-11-08 16:31:12 UTC
Have tested it again, also with
Version: 4.4.0.0.alpha1+
Build ID: c91e045c12ac5dffc20c04c6f97db4892c1e558d
TinderBox: Linux-rpm_deb-x86_64@46-TDF, Branch:master, Time: 2014-10-31_02:30:34

Seems I haven't described the bug exactly enough. The normal way for most users to get the next row is to walk through the fields by typing the tabulator. It works right by typing the button for saving data. It doesen't work with typing the tabulator.
Comment 3 Buovjaga 2014-11-08 17:04:11 UTC
(In reply to robert from comment #2)
> Seems I haven't described the bug exactly enough. The normal way for most
> users to get the next row is to walk through the fields by typing the
> tabulator. It works right by typing the button for saving data. It doesen't
> work with typing the tabulator.

How is this relevant for my reproduction?
Comment 4 Robert Großkopf 2014-11-08 17:44:23 UTC
(In reply to Beluga from comment #3)
> (In reply to robert from comment #2)
> > Seems I haven't described the bug exactly enough. The normal way for most
> > users to get the next row is to walk through the fields by typing the
> > tabulator. It works right by typing the button for saving data. It doesen't
> > work with typing the tabulator.
> 
> How is this relevant for my reproduction?

Open the form "Table_Input_required_GUI_and_SQL"
Try to delete the value for "Time" and switch to the next row by typing a tabulator or clicking with the mouse to the next row. There doesn't appear any error and it isn't possible to save the row this way. LO seems to hang for normal using of a form with a tabulator.

You could only get the error-message when using the navigationbar or closing the form.

I could reproduce this with every LO-version - have installed 60 different versions here as parallel installed test-versions.

My system: OpenSUSE 12.3 64bit rpm Linux.
Comment 5 Buovjaga 2014-11-08 20:31:58 UTC
(In reply to robert from comment #4)
> Open the form "Table_Input_required_GUI_and_SQL"
> Try to delete the value for "Time" and switch to the next row by typing a
> tabulator or clicking with the mouse to the next row. There doesn't appear
> any error and it isn't possible to save the row this way. LO seems to hang
> for normal using of a form with a tabulator.
> 
> You could only get the error-message when using the navigationbar or closing
> the form.
> 
> I could reproduce this with every LO-version - have installed 60 different
> versions here as parallel installed test-versions.
> 
> My system: OpenSUSE 12.3 64bit rpm Linux.

By "next row" you mean cell, I guess. For me, tabulator or mouse after deleting the value for Time does not cause a hang or anything out of the ordinary.

Might be Linux-specific. Let's wait for others to test.
Comment 6 Buovjaga 2014-11-09 14:54:29 UTC
Tabbing or mouse-clicking after deleting the contents of Time or Text does not cause a hang on Linux for me.
After deleting Text and tabbing to decimal and then once more, I got the error message:

Error writing data to database.

Input required in the field 'Text'. Please enter a value.

Version: 4.3.2.2.0+
Build ID: 4.3.2.2 Arch Linux build-1
Comment 7 Robert Großkopf 2014-11-09 20:17:38 UTC
(In reply to Beluga from comment #6)
> Tabbing or mouse-clicking after deleting the contents of Time or Text does
> not cause a hang on Linux for me.
> After deleting Text and tabbing to decimal and then once more, I got the
> error message:
> 
> Error writing data to database.
> 
> Input required in the field 'Text'. Please enter a value.

This is the message for a field, where "Inupt required → Yes" is chosen.

Please try it only with the field "Time", which is set to "Input reuired → NO" (described in the report). There should appear a warning of the database, as it apperas when you press the button "Save" afterwords. Type the tab to reach the new row. The cursor will hang at the last field of the tablecontrol and no warning will appear.
Comment 8 Robert Großkopf 2014-11-10 15:51:21 UTC
Created attachment 109226 [details]
New form with navigationbar inside, button - test using the same ID as first row.

Open the form "Table_Input_required_GUI_ID". Create a new row with the same "ID" as the first ('1'). Try to save it by 
1. using the tabulator to next row
2. using the button at the right of the tablecontrol (should save a row)
3. using the navigationbar inside the form
4. using the navigationbar at the bottom of the window.

An error appears only by using the navigationbar at the bottom of the window. All other actions seem to hang. No error is shown.
This has just been reported by a user in libreoffice forum, who used a button for saving data. Think it's the same buggy behavior.
Comment 9 Buovjaga 2014-11-11 12:27:53 UTC
(In reply to robert from comment #8)
> Created attachment 109226 [details]
> Open the form "Table_Input_required_GUI_ID". Create a new row with the same
> "ID" as the first ('1'). Try to save it by 
> 1. using the tabulator to next row
> 2. using the button at the right of the tablecontrol (should save a row)
> 3. using the navigationbar inside the form
> 4. using the navigationbar at the bottom of the window.

I confirm that only 4. produces an error.

Let's set this as new and see what happens.

Version: 4.4.0.0.alpha2+
Build ID: 6143fa5a89d9528fc11fed1e7fe96b9280d411a4
TinderBox: Win-x86@51-TDF, Branch:MASTER, Time: 2014-11-10_23:27:31
Comment 10 Alex Thurgood 2015-01-03 17:38:06 UTC
Adding self to CC if not already on
Comment 11 vlad 2015-06-10 23:14:12 UTC
The bugs you described in "New form ..."are still present in my Libre (version 4.3.7).Sadness.
Comment 12 Alex Thurgood 2015-07-01 10:43:15 UTC
*** Bug 91837 has been marked as a duplicate of this bug. ***
Comment 13 Julien Nabet 2015-10-11 13:15:33 UTC
On pc Debian x86-64 with LO Debian package 5.0.2.2, I gave a try to the 4 scenario described in comment 8, I don't reproduce this.

Could someone else test again with 5.0.2.2 or with recent master sources? Perhaps I missed something obvious.
Comment 14 Alan Wheeler 2015-10-11 14:21:45 UTC
I haven't tested the scenario described in comment 8 but bug 91837 (which I raised) was marked as a duplicate of bug 75340 and I have re-tested the procedure described in bug 91837 to demonstrate the bug. The symptoms are still there and exactly as described in bug 91837.

Using LibreOffice 5.0.2.2 on Windows Home Premium 64-bit.
Comment 15 Alex Thurgood 2015-10-11 15:47:46 UTC
Tested comment 8 on
OSX 10.11
Version: 5.1.0.0.alpha1+
Build ID: 862bd364390a05ad0b07f9280fb9a0f8b2cc4ed6
Locale : fr-FR (fr.UTF-8)

I get an error message every time about a duplicate PK

Problem not reproducible for me on master.
Comment 16 Alex Thurgood 2015-10-11 15:51:03 UTC
OSX 10.11

Version: 5.0.2.2
Build ID: 37b43f919e4de5eeaca9b9755ed688758a8251fe
Locale : fr-FR (fr.UTF-8)

Error message on every variant described in Comment 8 - no repro
Comment 17 Robert Großkopf 2015-10-11 16:36:47 UTC
One part of this bug has been gone with LO 5.0.3.1. If there is a field, which is set to "Input required" in the table-definition, the errormessage appears every time you try to save a row without an input in the field.

Second part of this description hasn't gone: If "Input required" is only set in the form, not in the table, it will be ignored.

I will close this bug, because the second part is described in bug75341. Set this bug to WORKSFORME.