Při ukládání duplicitní hodnoty do unikátního klíče se vypíše do
chybového dialogu důvod a záznam se neobjeví v gridu. Hlášky do messageboxů jsou načítány ze zk-label.properties. closes #75
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package info.bukova.isspst;
|
||||
|
||||
import org.zkoss.util.resource.Labels;
|
||||
|
||||
public class StringUtils {
|
||||
|
||||
public static String nullStr(String str) {
|
||||
@@ -10,4 +12,36 @@ public class StringUtils {
|
||||
return i == 0 ? "" : String.valueOf(i);
|
||||
}
|
||||
|
||||
public static String localizeDbErr(String sqlError) {
|
||||
String splitMessage[] = sqlError.split("'");
|
||||
String message = "";
|
||||
|
||||
for (int i = 0; i < splitMessage.length; i++) {
|
||||
if (i % 2 == 0) {
|
||||
message += getLocalized(splitMessage[i]);
|
||||
} else {
|
||||
message += " '" + splitMessage[i] + "' ";
|
||||
}
|
||||
}
|
||||
|
||||
return message;
|
||||
}
|
||||
|
||||
public static String localize(String key) {
|
||||
return Labels.getLabel(key);
|
||||
}
|
||||
|
||||
private static String getLocalized(String str) {
|
||||
String words[] = str.split(" ");
|
||||
String key = "";
|
||||
|
||||
for (String word: words) {
|
||||
if (!word.isEmpty()) {
|
||||
key += word.substring(0, 1).toUpperCase() + word.substring(1);
|
||||
}
|
||||
}
|
||||
|
||||
return Labels.getLabel("Db" + key);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
package info.bukova.isspst.ui;
|
||||
|
||||
import info.bukova.isspst.StringUtils;
|
||||
import info.bukova.isspst.data.DataModel;
|
||||
import info.bukova.isspst.services.Service;
|
||||
import info.bukova.isspst.services.ValidationException;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.hibernate.exception.ConstraintViolationException;
|
||||
import org.springframework.security.access.AccessDeniedException;
|
||||
import org.zkoss.bind.annotation.BindingParam;
|
||||
import org.zkoss.bind.annotation.Command;
|
||||
@@ -63,12 +65,16 @@ public class FormViewModel<T extends DataModel> {
|
||||
classErr = "";
|
||||
}
|
||||
|
||||
Messagebox.show("Chyba validace", "Chyba", Messagebox.OK, Messagebox.ERROR);
|
||||
Messagebox.show(StringUtils.localize("DbValidationError"), StringUtils.localize("Error"), Messagebox.OK, Messagebox.ERROR);
|
||||
} catch (AccessDeniedException e) {
|
||||
Messagebox.show("K vykobání této operace nemáte dostatečná oprávnění", "Chyba", Messagebox.OK, Messagebox.ERROR);
|
||||
Messagebox.show(StringUtils.localize("ErrorRights"), StringUtils.localize("Error"), Messagebox.OK, Messagebox.ERROR);
|
||||
} catch (ConstraintViolationException e) {
|
||||
Messagebox.show(StringUtils.localizeDbErr(e.getSQLException().getMessage()), StringUtils.localize("Error"), Messagebox.OK, Messagebox.ERROR);
|
||||
dataBean.setValid(false);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Messagebox.show("Chyba při ukládání záznamu", "Chyba", Messagebox.OK, Messagebox.ERROR);
|
||||
Messagebox.show(StringUtils.localize("DbSaveError"), StringUtils.localize("Error"), Messagebox.OK, Messagebox.ERROR);
|
||||
dataBean.setValid(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package info.bukova.isspst.ui;
|
||||
|
||||
import info.bukova.isspst.StringUtils;
|
||||
import info.bukova.isspst.data.DataModel;
|
||||
import info.bukova.isspst.filters.Filter;
|
||||
import info.bukova.isspst.services.Service;
|
||||
@@ -140,7 +141,7 @@ public class ListViewModel<T extends DataModel> {
|
||||
} catch (IllegalAccessException e) {
|
||||
e.printStackTrace();
|
||||
} catch (AccessDeniedException e) {
|
||||
Messagebox.show("K vykobání této operace nemáte dostatečná oprávnění", "Chyba", Messagebox.OK, Messagebox.ERROR);
|
||||
Messagebox.show(StringUtils.localize("ErrorRights"), StringUtils.localize("Error"), Messagebox.OK, Messagebox.ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,7 +165,7 @@ public class ListViewModel<T extends DataModel> {
|
||||
@Command
|
||||
@NotifyChange({ "dataList", "dataBean" })
|
||||
public void delete() {
|
||||
Messagebox.show("Opravdu smazat?", "Smazat záznam", Messagebox.YES
|
||||
Messagebox.show(StringUtils.localize("DbReallyDelete"), StringUtils.localize("DbDeleteRecord"), Messagebox.YES
|
||||
| Messagebox.NO, Messagebox.QUESTION,
|
||||
new EventListener<Event>() {
|
||||
|
||||
@@ -180,9 +181,9 @@ public class ListViewModel<T extends DataModel> {
|
||||
BindUtils.postNotifyChange(null, null,
|
||||
ListViewModel.this, "dataBean");
|
||||
} catch (DataIntegrityViolationException e) {
|
||||
Messagebox.show("Chyba při mazání záznamu", "Chyba", Messagebox.OK, Messagebox.ERROR);
|
||||
Messagebox.show(StringUtils.localize("DbCannotDelete"), StringUtils.localize("Error"), Messagebox.OK, Messagebox.ERROR);
|
||||
} catch (AccessDeniedException e) {
|
||||
Messagebox.show("K vykobání této operace nemáte dostatečná oprávnění", "Chyba", Messagebox.OK, Messagebox.ERROR);
|
||||
Messagebox.show(StringUtils.localize("ErrorRights"), StringUtils.localize("Error"), Messagebox.OK, Messagebox.ERROR);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -198,7 +199,7 @@ public class ListViewModel<T extends DataModel> {
|
||||
dataList.remove(dataBean);
|
||||
dataBean = null;
|
||||
} catch (DataIntegrityViolationException e) {
|
||||
Messagebox.show("Chyba při mazání záznamu", "Chyba", Messagebox.OK,
|
||||
Messagebox.show(StringUtils.localize("DbCannotDelete"), StringUtils.localize("Error"), Messagebox.OK,
|
||||
Messagebox.ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,4 +76,16 @@ ReportReport=Sestava
|
||||
ReportSend=Odeslat
|
||||
ReportPrint=Tisk
|
||||
ReportReports=Sestavy
|
||||
ReportTitle=Nadpis sestavy:
|
||||
ReportTitle=Nadpis sestavy:
|
||||
|
||||
Error=Chyba
|
||||
ErrorRights=K vykobání této operace nemáte dostatečná oprávnění
|
||||
|
||||
DbDeleteRecord=Smazat záznam
|
||||
DbReallyDelete=Opravdu chcete smazat tento záznam?
|
||||
DbDuplicateEntry=Chyba při ukládání záznamu: Duplicitní záznam
|
||||
DbForKey= pro klíč
|
||||
DbCannotDelete=Chyba při mazání záznamu: Záznam nelze smazat protože na něj odkazuje jiný záznam
|
||||
DbSaveError=Chyba při ukládání záznamu
|
||||
DbValidationError=Chyba validace
|
||||
|
||||
Reference in New Issue
Block a user