Skip to content

Commit 804496b

Browse files
bjoernranftsikelerd
authored andcommitted
Datensatz Bearbeiten Bugfixes
1 parent ecb5bf9 commit 804496b

10 files changed

+54
-48
lines changed

basic/WollMux/DatensatzBearbeitenOrga.xdl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<dlg:textfield dlg:id="Referat" dlg:tab-index="1" dlg:left="92" dlg:top="9" dlg:width="255" dlg:height="15"/>
1616
<dlg:textfield dlg:id="OrgaKurz" dlg:tab-index="3" dlg:left="92" dlg:top="29" dlg:width="255" dlg:height="15"/>
1717
<dlg:textfield dlg:id="OrgaLang" dlg:tab-index="5" dlg:left="92" dlg:top="49" dlg:width="255" dlg:height="15"/>
18-
<dlg:textfield dlg:id="Dienststelle" dlg:tab-index="7" dlg:left="92" dlg:top="69" dlg:width="255" dlg:height="15"/>
18+
<dlg:textfield dlg:id="OrgaName" dlg:tab-index="7" dlg:left="92" dlg:top="69" dlg:width="255" dlg:height="15"/>
1919
<dlg:textfield dlg:id="Postanschrift" dlg:tab-index="9" dlg:left="92" dlg:top="89" dlg:width="255" dlg:height="15"/>
2020
<dlg:textfield dlg:id="PostPLZ" dlg:tab-index="11" dlg:left="92" dlg:top="109" dlg:width="255" dlg:height="15"/>
2121
<dlg:textfield dlg:id="PostOrt" dlg:tab-index="13" dlg:left="92" dlg:top="129" dlg:width="255" dlg:height="15"/>
@@ -25,12 +25,12 @@
2525
<dlg:button dlg:id="btnReferat" dlg:tab-index="0" dlg:visible="false" dlg:left="80" dlg:top="12" dlg:width="10" dlg:height="10" dlg:value="*"/>
2626
<dlg:button dlg:id="btnOrgaKurz" dlg:tab-index="2" dlg:visible="false" dlg:left="80" dlg:top="32" dlg:width="10" dlg:height="10" dlg:value="*"/>
2727
<dlg:button dlg:id="btnOrgaLang" dlg:tab-index="4" dlg:visible="false" dlg:left="80" dlg:top="52" dlg:width="10" dlg:height="10" dlg:value="*"/>
28-
<dlg:button dlg:id="btnDienststelle" dlg:tab-index="6" dlg:visible="false" dlg:left="80" dlg:top="72" dlg:width="10" dlg:height="10" dlg:value="*"/>
29-
<dlg:button dlg:id="btnStr" dlg:tab-index="8" dlg:visible="false" dlg:left="80" dlg:top="92" dlg:width="10" dlg:height="10" dlg:value="*"/>
30-
<dlg:button dlg:id="btnPLZ" dlg:tab-index="10" dlg:visible="false" dlg:left="80" dlg:top="112" dlg:width="10" dlg:height="10" dlg:value="*"/>
31-
<dlg:button dlg:id="btnOrt" dlg:tab-index="12" dlg:visible="false" dlg:left="80" dlg:top="132" dlg:width="10" dlg:height="10" dlg:value="*"/>
32-
<dlg:button dlg:id="btnEMail" dlg:tab-index="14" dlg:visible="false" dlg:left="80" dlg:top="152" dlg:width="10" dlg:height="10" dlg:value="*"/>
33-
<dlg:button dlg:id="btnTelefon" dlg:tab-index="16" dlg:visible="false" dlg:left="80" dlg:top="172" dlg:width="10" dlg:height="10" dlg:value="*"/>
34-
<dlg:button dlg:id="btnFax" dlg:tab-index="18" dlg:visible="false" dlg:left="80" dlg:top="192" dlg:width="10" dlg:height="10" dlg:value="*"/>
28+
<dlg:button dlg:id="btnOrgaName" dlg:tab-index="6" dlg:visible="false" dlg:left="80" dlg:top="72" dlg:width="10" dlg:height="10" dlg:value="*"/>
29+
<dlg:button dlg:id="btnPostanschrift" dlg:tab-index="8" dlg:visible="false" dlg:left="80" dlg:top="92" dlg:width="10" dlg:height="10" dlg:value="*"/>
30+
<dlg:button dlg:id="btnPostPLZ" dlg:tab-index="10" dlg:visible="false" dlg:left="80" dlg:top="112" dlg:width="10" dlg:height="10" dlg:value="*"/>
31+
<dlg:button dlg:id="btnPostOrt" dlg:tab-index="12" dlg:visible="false" dlg:left="80" dlg:top="132" dlg:width="10" dlg:height="10" dlg:value="*"/>
32+
<dlg:button dlg:id="btnOrgaEmail" dlg:tab-index="14" dlg:visible="false" dlg:left="80" dlg:top="152" dlg:width="10" dlg:height="10" dlg:value="*"/>
33+
<dlg:button dlg:id="btnOrgaTelefon" dlg:tab-index="16" dlg:visible="false" dlg:left="80" dlg:top="172" dlg:width="10" dlg:height="10" dlg:value="*"/>
34+
<dlg:button dlg:id="btnOrgaFax" dlg:tab-index="18" dlg:visible="false" dlg:left="80" dlg:top="192" dlg:width="10" dlg:height="10" dlg:value="*"/>
3535
</dlg:bulletinboard>
3636
</dlg:window>

basic/WollMux/DatensatzBearbeitenPerson.xdl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<dlg:window xmlns:dlg="http://openoffice.org/2000/dialog" xmlns:script="http://openoffice.org/2000/script" dlg:id="DatensatzBearbeitenPerson" dlg:left="73" dlg:top="27" dlg:width="413" dlg:height="278" dlg:closeable="true" dlg:moveable="true" dlg:withtitlebar="false">
44
<dlg:bulletinboard>
55
<dlg:text dlg:id="Label0" dlg:tab-index="0" dlg:left="15" dlg:top="9" dlg:width="65" dlg:height="15" dlg:value="Rolle"/>
6-
<dlg:text dlg:id="Label1" dlg:tab-index="17" dlg:left="205" dlg:top="9" dlg:width="50" dlg:height="15" dlg:value="Anrede"/>
6+
<dlg:text dlg:id="Label1" dlg:tab-index="17" dlg:left="205" dlg:top="9" dlg:width="30" dlg:height="15" dlg:value="Anrede"/>
77
<dlg:text dlg:id="Label2" dlg:tab-index="19" dlg:left="15" dlg:top="29" dlg:width="65" dlg:height="15" dlg:value="Vorname"/>
88
<dlg:text dlg:id="Label3" dlg:tab-index="21" dlg:left="15" dlg:top="49" dlg:width="65" dlg:height="15" dlg:value="Nachname"/>
99
<dlg:text dlg:id="Label4" dlg:tab-index="23" dlg:left="15" dlg:top="69" dlg:width="65" dlg:height="15" dlg:value="Titel"/>
@@ -39,15 +39,15 @@
3939
<dlg:button dlg:id="btnNachname" dlg:tab-index="5" dlg:visible="false" dlg:left="85" dlg:top="52" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4040
<dlg:button dlg:id="btnTitel" dlg:tab-index="7" dlg:visible="false" dlg:left="85" dlg:top="72" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4141
<dlg:button dlg:id="btnTelefon" dlg:tab-index="9" dlg:visible="false" dlg:left="85" dlg:top="92" dlg:width="10" dlg:height="10" dlg:value=" *"/>
42-
<dlg:button dlg:id="btnPostanschrift" dlg:tab-index="11" dlg:visible="false" dlg:left="85" dlg:top="112" dlg:width="10" dlg:height="10" dlg:value=" *"/>
42+
<dlg:button dlg:id="btnFax" dlg:tab-index="11" dlg:visible="false" dlg:left="85" dlg:top="112" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4343
<dlg:button dlg:id="btnZimmer" dlg:tab-index="13" dlg:visible="false" dlg:left="85" dlg:top="132" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4444
<dlg:button dlg:id="btnDienstgebaeude" dlg:tab-index="15" dlg:visible="false" dlg:left="85" dlg:top="152" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4545
<dlg:button dlg:id="btnDienstgebaeudePLZ" dlg:tab-index="18" dlg:visible="false" dlg:left="85" dlg:top="172" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4646
<dlg:button dlg:id="btnDienstgebaeudeOrt" dlg:tab-index="22" dlg:visible="false" dlg:left="85" dlg:top="192" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4747
<dlg:button dlg:id="btnMail" dlg:tab-index="26" dlg:visible="false" dlg:left="85" dlg:top="212" dlg:width="10" dlg:height="10" dlg:value=" *"/>
48-
<dlg:button dlg:id="btnZustaendigkeit" dlg:tab-index="30" dlg:visible="false" dlg:left="85" dlg:top="232" dlg:width="10" dlg:height="10" dlg:value=" *"/>
48+
<dlg:button dlg:id="btnZustaendigkeit" dlg:tab-index="38" dlg:visible="false" dlg:left="257" dlg:top="232" dlg:width="10" dlg:height="10" dlg:value=" *"/>
4949
<dlg:button dlg:id="btnFunktion" dlg:tab-index="34" dlg:visible="false" dlg:left="85" dlg:top="252" dlg:width="10" dlg:height="10" dlg:value=" *"/>
50-
<dlg:button dlg:id="btnDienstBezKurz" dlg:tab-index="38" dlg:visible="false" dlg:left="257" dlg:top="232" dlg:width="10" dlg:height="10" dlg:value=" *"/>
50+
<dlg:button dlg:id="btnDienstBezKurz" dlg:tab-index="30" dlg:visible="false" dlg:left="85" dlg:top="232" dlg:width="10" dlg:height="10" dlg:value=" *"/>
5151
<dlg:button dlg:id="btnDienstBezLang" dlg:tab-index="42" dlg:visible="false" dlg:left="257" dlg:top="252" dlg:width="10" dlg:height="10" dlg:value=" *"/>
5252
<dlg:button dlg:id="btnAnrede" dlg:tab-index="46" dlg:visible="false" dlg:left="242" dlg:top="12" dlg:width="10" dlg:height="10" dlg:value=" *"/>
5353
</dlg:bulletinboard>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@
428428
<dependency>
429429
<groupId>de.muenchen</groupId>
430430
<artifactId>wollmux-core</artifactId>
431-
<version>18.1.2</version>
431+
<version>18.1.3</version>
432432
</dependency>
433433
<dependency>
434434
<groupId>org.libreoffice</groupId>

src/de/muenchen/allg/itd51/wollmux/dialog/DatensatzBearbeiten.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858

5959
import de.muenchen.allg.afid.UNO;
6060
import de.muenchen.allg.itd51.wollmux.core.db.DJDataset;
61+
import de.muenchen.allg.itd51.wollmux.core.db.LocalOverrideStorageStandardImpl.LOSDJDataset;
6162
import de.muenchen.allg.itd51.wollmux.core.parser.ConfigThingy;
6263
import de.muenchen.allg.itd51.wollmux.core.parser.ConfigurationErrorException;
6364

@@ -83,7 +84,7 @@ public class DatensatzBearbeiten
8384
* @param edit
8485
* @throws ConfigurationErrorException
8586
*/
86-
protected DatensatzBearbeiten(DJDataset datensatz, List<String> dbSchema)
87+
protected DatensatzBearbeiten(LOSDJDataset datensatz, List<String> dbSchema)
8788
{
8889
wizard = Wizard.createSinglePathWizard(UNO.defaultContext,
8990
DatensatzBearbeitenWizardController.PATHS,

src/de/muenchen/allg/itd51/wollmux/dialog/DatensatzBearbeitenBaseWizardPage.java

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ protected void setControlContainer(XControlContainer controlContainer)
5555
this.controlContainer = controlContainer;
5656
}
5757

58-
protected void showAcceptLdapValueButton(String columnName)
58+
protected void showAcceptLdapValueButton(String columnName, boolean visible)
5959
{
6060
if (this.controlContainer == null)
6161
{
@@ -77,25 +77,14 @@ protected void showAcceptLdapValueButton(String columnName)
7777

7878
try
7979
{
80-
props.setPropertyValue("EnableVisible", true);
80+
props.setPropertyValue("EnableVisible", visible);
8181
} catch (IllegalArgumentException | UnknownPropertyException | PropertyVetoException
8282
| WrappedTargetException e)
8383
{
8484
LOGGER.error("", e);
8585
}
8686
}
8787

88-
protected boolean isDifferentFromLdapDataset(String columnName) {
89-
LOSDJDataset losDJ = dataset;
90-
String losValue = losDJ.getLOS().get(columnName);
91-
String bsValue = losDJ.getBS().get(columnName);
92-
93-
if (losValue == null || losValue.isEmpty() || bsValue == null || bsValue.isEmpty())
94-
return false;
95-
else
96-
return !losValue.equals(bsValue);
97-
}
98-
9988
protected void setTextColor(XControl xControl, int textColor)
10089
{
10190
if (xControl == null)
@@ -204,11 +193,14 @@ public void textChanged(TextEvent arg0)
204193
String textComponentText = xTextComponent.getText();
205194
String dataSetValue = dataset.get(label);
206195

207-
if (dataSetValue == null || !dataSetValue.equals(textComponentText))
196+
if (dataset.getBS() != null
197+
&& (dataSetValue == null || !dataSetValue.equals(textComponentText)))
208198
{
199+
showAcceptLdapValueButton(label, true);
209200
setTextColor(xControl, 16711680);
210201
} else
211202
{
203+
showAcceptLdapValueButton(label, false);
212204
setTextColor(xControl, 00000000);
213205
}
214206
}

src/de/muenchen/allg/itd51/wollmux/dialog/DatensatzBearbeitenFusszeileWizardPage.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.slf4j.Logger;
66
import org.slf4j.LoggerFactory;
77

8+
import com.sun.star.awt.XButton;
89
import com.sun.star.awt.XControl;
910
import com.sun.star.awt.XControlContainer;
1011
import com.sun.star.awt.XTextComponent;
@@ -14,15 +15,15 @@
1415

1516
import de.muenchen.allg.afid.UNO;
1617
import de.muenchen.allg.itd51.wollmux.core.db.ColumnNotFoundException;
17-
import de.muenchen.allg.itd51.wollmux.core.db.DJDataset;
18+
import de.muenchen.allg.itd51.wollmux.core.db.LocalOverrideStorageStandardImpl.LOSDJDataset;
1819

1920
public class DatensatzBearbeitenFusszeileWizardPage extends DatensatzBearbeitenBaseWizardPage
2021
{
2122
private static final Logger LOGGER = LoggerFactory
2223
.getLogger(DatensatzBearbeitenFusszeileWizardPage.class);
2324

2425
public DatensatzBearbeitenFusszeileWizardPage(XWindow parentWindow, short pageId,
25-
DJDataset dataset, List<String> dbSchema)
26+
LOSDJDataset dataset, List<String> dbSchema)
2627
throws Exception
2728
{
2829
super(pageId, parentWindow, "DatensatzBearbeitenFusszeile", dataset, dbSchema);
@@ -46,7 +47,9 @@ public DatensatzBearbeitenFusszeileWizardPage(XWindow parentWindow, short pageId
4647
if (xTextComponent == null)
4748
continue;
4849

49-
if (isDifferentFromLdapDataset(columnName)) {
50+
if (dataset.isDifferentFromLdapDataset(columnName, dataset))
51+
{
52+
showAcceptLdapValueButton(columnName, true);
5053
setTextColor(xControl, 16711680); // rot
5154
}
5255

@@ -57,10 +60,13 @@ public DatensatzBearbeitenFusszeileWizardPage(XWindow parentWindow, short pageId
5760
{
5861
XTextComponent textComponent = UNO.XTextComponent(control);
5962

60-
if (textComponent == null)
61-
continue;
63+
XButton xButton = UNO.XButton(control);
64+
65+
if (textComponent != null)
66+
textComponent.addTextListener(textListener);
6267

63-
textComponent.addTextListener(textListener);
68+
if (xButton != null)
69+
xButton.addActionListener(buttonActionListener);
6470
}
6571

6672
} catch (ColumnNotFoundException e)

src/de/muenchen/allg/itd51/wollmux/dialog/DatensatzBearbeitenOrgaWizardPage.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.slf4j.Logger;
66
import org.slf4j.LoggerFactory;
77

8+
import com.sun.star.awt.XButton;
89
import com.sun.star.awt.XControl;
910
import com.sun.star.awt.XControlContainer;
1011
import com.sun.star.awt.XTextComponent;
@@ -14,14 +15,14 @@
1415

1516
import de.muenchen.allg.afid.UNO;
1617
import de.muenchen.allg.itd51.wollmux.core.db.ColumnNotFoundException;
17-
import de.muenchen.allg.itd51.wollmux.core.db.DJDataset;
18+
import de.muenchen.allg.itd51.wollmux.core.db.LocalOverrideStorageStandardImpl.LOSDJDataset;
1819

1920
public class DatensatzBearbeitenOrgaWizardPage extends DatensatzBearbeitenBaseWizardPage
2021
{
2122
private static final Logger LOGGER = LoggerFactory
2223
.getLogger(DatensatzBearbeitenOrgaWizardPage.class);
2324

24-
public DatensatzBearbeitenOrgaWizardPage(XWindow parentWindow, short pageId, DJDataset dataset,
25+
public DatensatzBearbeitenOrgaWizardPage(XWindow parentWindow, short pageId, LOSDJDataset dataset,
2526
List<String> dbSchema) throws Exception
2627
{
2728
super(pageId, parentWindow, "DatensatzBearbeitenOrga", dataset, dbSchema);
@@ -45,8 +46,9 @@ public DatensatzBearbeitenOrgaWizardPage(XWindow parentWindow, short pageId, DJD
4546
if (xTextComponent == null)
4647
continue;
4748

48-
if (isDifferentFromLdapDataset(columnName))
49+
if (dataset.isDifferentFromLdapDataset(columnName, dataset))
4950
{
51+
showAcceptLdapValueButton(columnName, true);
5052
setTextColor(xControl, 16711680); // rot
5153
}
5254

@@ -57,10 +59,13 @@ public DatensatzBearbeitenOrgaWizardPage(XWindow parentWindow, short pageId, DJD
5759
{
5860
XTextComponent textComponent = UNO.XTextComponent(control);
5961

60-
if (textComponent == null)
61-
continue;
62+
XButton xButton = UNO.XButton(control);
63+
64+
if (textComponent != null)
65+
textComponent.addTextListener(textListener);
6266

63-
textComponent.addTextListener(textListener);
67+
if (xButton != null)
68+
xButton.addActionListener(buttonActionListener);
6469
}
6570
} catch (ColumnNotFoundException e)
6671
{

src/de/muenchen/allg/itd51/wollmux/dialog/DatensatzBearbeitenPersonWizardPage.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@
1616

1717
import de.muenchen.allg.afid.UNO;
1818
import de.muenchen.allg.itd51.wollmux.core.db.ColumnNotFoundException;
19-
import de.muenchen.allg.itd51.wollmux.core.db.DJDataset;
19+
import de.muenchen.allg.itd51.wollmux.core.db.LocalOverrideStorageStandardImpl.LOSDJDataset;
2020

2121
public class DatensatzBearbeitenPersonWizardPage extends DatensatzBearbeitenBaseWizardPage
2222
{
2323
private static final Logger LOGGER = LoggerFactory
2424
.getLogger(DatensatzBearbeitenPersonWizardPage.class);
2525

26-
public DatensatzBearbeitenPersonWizardPage(XWindow parentWindow, short pageId, DJDataset dataset,
26+
public DatensatzBearbeitenPersonWizardPage(XWindow parentWindow, short pageId,
27+
LOSDJDataset dataset,
2728
List<String> dbSchema) throws Exception
2829
{
2930
super(pageId, parentWindow, "DatensatzBearbeitenPerson", dataset, dbSchema);
@@ -57,9 +58,9 @@ public DatensatzBearbeitenPersonWizardPage(XWindow parentWindow, short pageId, D
5758

5859
xTextComponent.setText(dataset.get(columnName) == null ? "" : dataset.get(columnName));
5960

60-
if (isDifferentFromLdapDataset(columnName))
61+
if (dataset.isDifferentFromLdapDataset(columnName, dataset))
6162
{
62-
showAcceptLdapValueButton(columnName);
63+
showAcceptLdapValueButton(columnName, true);
6364
super.setTextColor(xControl, 16711680); // rot
6465
}
6566
}

src/de/muenchen/allg/itd51/wollmux/dialog/DatensatzBearbeitenWizardController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
import com.sun.star.ui.dialogs.XWizardController;
1111
import com.sun.star.ui.dialogs.XWizardPage;
1212

13-
import de.muenchen.allg.itd51.wollmux.core.db.DJDataset;
13+
import de.muenchen.allg.itd51.wollmux.core.db.LocalOverrideStorageStandardImpl.LOSDJDataset;
1414

1515
public class DatensatzBearbeitenWizardController implements XWizardController
1616
{
1717
private static final Logger LOGGER = LoggerFactory
1818
.getLogger(DatensatzBearbeitenWizardController.class);
1919
private static final int PAGE_COUNT = 3;
2020
private XWizardPage[] pages = new XWizardPage[PAGE_COUNT];
21-
private DJDataset dataset;
21+
private LOSDJDataset dataset;
2222
private List<String> dbSchema;
2323

2424
protected static final short[] PATHS = { 0, 1, 2 };
@@ -32,7 +32,7 @@ private enum PAGE_ID
3232

3333
private String[] title = { "Person", "Orga", "Fusszeile" };
3434

35-
public DatensatzBearbeitenWizardController(DJDataset dataset,
35+
public DatensatzBearbeitenWizardController(LOSDJDataset dataset,
3636
List<String> dbSchema)
3737
{
3838
this.dataset = dataset;

src/de/muenchen/allg/itd51/wollmux/dialog/PersoenlicheAbsenderlisteVerwalten.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,8 @@ private void editEntry(short index)
500500

501501
DJDataset djDataset = cachedPAL.get(index);
502502

503-
DatensatzBearbeiten editDSWizard = new DatensatzBearbeiten(djDataset, dj.getMainDatasourceSchema());
503+
DatensatzBearbeiten editDSWizard = new DatensatzBearbeiten((LOSDJDataset) djDataset,
504+
dj.getMainDatasourceSchema());
504505

505506
short result = editDSWizard.executeWizard();
506507

0 commit comments

Comments
 (0)