|
From: <max...@us...> - 2009-10-02 16:38:14
|
Revision: 3883
http://uni-d.svn.sourceforge.net/uni-d/?rev=3883&view=rev
Author: max_brod
Date: 2009-10-02 16:36:50 +0000 (Fri, 02 Oct 2009)
Log Message:
-----------
[UNI-477]
Improvements in the alerts page:
-Make it possible to delete alerts.
-Only option to "resolve" is available, not "ignore".
Modified Paths:
--------------
trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/Alerts.java
trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/AlertsParameters.java
trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/dataModel/AlertsAdministrationQuery.java
trunk/Uni-d/tapestry/src/main/resources/be/unid/tapestry/pages/alerts/Alerts.html
trunk/Uni-d/template/src/main/webapp/translations-common.txt
Modified: trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/Alerts.java
===================================================================
--- trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/Alerts.java 2009-10-02 14:54:01 UTC (rev 3882)
+++ trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/Alerts.java 2009-10-02 16:36:50 UTC (rev 3883)
@@ -62,7 +62,6 @@
public abstract class Alerts
extends NavigationablePageImpl<AlertsParameters>
{
- private static String STATUS_ALERT_IGNORED = "I";
private static String STATUS_ALERT_SOLVED = "S";
private static final Logger log = Logger.getLogger( Alerts.class );
@@ -112,10 +111,14 @@
public void setShowWarnings( boolean show ) { getPageParameters().setShowWarnings( show ); }
- public String getDateIgnoreUntil() { return getPageParameters().getDateIgnoreUntil(); }
+ public boolean isShowResolved() { return getPageParameters().isShowResolved(); }
- public void setDateIgnoreUntil( String d ) { getPageParameters().setDateIgnoreUntil( d ); }
+ public void setShowResolved( boolean show ) { getPageParameters().setShowResolved( show ); }
+ public String getDateDeleteUntil() { return getPageParameters().getDateDeleteUntil(); }
+
+ public void setDateDeleteUntil( String d ) { getPageParameters().setDateDeleteUntil( d ); }
+
public boolean isUserAdministrator()
{
return getSessionUserAdmin().isUserAdministrator();
@@ -133,7 +136,8 @@
try
{
UnidSelector sel = UnidProxyAccessor.getSelector( "UnidAlert" );
- AlertsAdministrationQuery query = new AlertsAdministrationQuery( getPageParameters().isShowWarnings() );
+ AlertsAdministrationQuery query = new AlertsAdministrationQuery( getPageParameters().isShowWarnings(),
+ getPageParameters().isShowResolved() );
if ( max > 0 )
{
query.setMaxResults( max );
@@ -179,39 +183,42 @@
setStatus( STATUS_ALERT_SOLVED );
}
- public void ignore()
+ public void delete()
{
- setStatus( STATUS_ALERT_IGNORED );
+ List<AlertFacade> facades = getPageParameters().getResults();
+ for ( AlertFacade facade : facades )
+ {
+ if ( facade.isChecked() )
+ {
+ try
+ {
+ facade.getProxy().removeEntityBean();
+ }
+ catch ( Exception e )
+ {
+ log.error( e, e );
+ setError( getTranslatedExceptionMessage( e ) );
+ }
+ }
+ }
}
- public void ignoreUntil()
+ public void deleteUntil()
{
DateTimeFormatter dateFormat = DateTimeFormat.forPattern( "dd/MM/yyyy" );
try
{
Timestamp t =
- new Timestamp( dateFormat.parseDateTime( getDateIgnoreUntil() ).getMillis() + 24 * 60 * 60 * 1000 );
+ new Timestamp( dateFormat.parseDateTime( getDateDeleteUntil() ).getMillis() + 24 * 60 * 60 * 1000 );
if ( log.isDebugEnabled() ) log.debug( "Ignoring alerts until " + t );
TextBuilder queryString = TextBuilder.newInstance();
UnidQueryImpl query = new UnidQueryImpl();
- queryString.append( "SELECT al FROM DMUnidAlertBean al WHERE (al.time<:time) AND (al.status='A')" );
+ queryString.append( "DELETE FROM DMUnidAlertBean al WHERE (al.time<:time)" );
query.addParameter( "time", t );
query.setQueryString( queryString.toString() );
UnidSelector sel = UnidProxyAccessor.getSelector( "UnidAlert" );
- List<UnidProxy> proxies = sel.findUnidProxy( query );
- if ( log.isDebugEnabled() ) log.debug( "Ignoring alerts. Found " + proxies.size() );
- List<UOID> uoids = new ArrayList<UOID>();
- for ( UnidProxy proxy : proxies )
- {
- uoids.add( proxy.getUOID() );
- }
- for ( UOID uoid : uoids )
- {
- UnidProxy proxy = sel.findUOIDProxy( uoid );
- UnidProxyAccessor.setField( proxy, "Status", String.class, STATUS_ALERT_IGNORED );
- proxy.unidUpdate();
- }
+ sel.unidRunUpdateQuery( query );
sel.remove();
}
catch ( Exception e )
@@ -290,9 +297,9 @@
public String getJavaScriptVariables()
{
- return "<script language=\"JavaScript\">\n<!--\n var messageConfirmIgnoreUntilDate=\"" +
- getMessage( "message.ConfirmIgnoreUntilDate" ) + "\"; var messageIgnoreUntilDate=\"" +
- getMessage( "message.IgnoreUntilDate" ) +
+ return "<script language=\"JavaScript\">\n<!--\n var messageConfirmDeleteUntilDate=\"" +
+ getMessage( "message.ConfirmDeleteUntilDate" ) + "\"; var messageDeleteUntilDate=\"" +
+ getMessage( "message.DeleteUntilDate" ) +
"\"; \n-->\n</script>";
}
Modified: trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/AlertsParameters.java
===================================================================
--- trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/AlertsParameters.java 2009-10-02 14:54:01 UTC (rev 3882)
+++ trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/AlertsParameters.java 2009-10-02 16:36:50 UTC (rev 3883)
@@ -33,7 +33,6 @@
import org.apache.log4j.Logger;
import java.util.List;
-import java.sql.Date;
/**
* PageParameters class for the Alerts management page
@@ -48,7 +47,8 @@
List<AlertFacade> results;
boolean showWarnings;
- String dateIgnoreUntil;
+ boolean showResolved;
+ String dateDeleteUntil;
public List<AlertFacade> getResults()
{
@@ -75,16 +75,26 @@
this.showWarnings = showWarnings;
}
- public String getDateIgnoreUntil()
+ public String getDateDeleteUntil()
{
- return dateIgnoreUntil;
+ return dateDeleteUntil;
}
- public void setDateIgnoreUntil( String dateIgnoreUntil )
+ public void setDateDeleteUntil( String dateDeleteUntil )
{
- this.dateIgnoreUntil = dateIgnoreUntil;
+ this.dateDeleteUntil = dateDeleteUntil;
}
+ public boolean isShowResolved()
+ {
+ return showResolved;
+ }
+
+ public void setShowResolved( boolean showResolved )
+ {
+ this.showResolved = showResolved;
+ }
+
@Override
public AlertsParameters clone( PageParameters newParams )
{
@@ -95,7 +105,8 @@
{
clone.setResults( results );
}
- clone.setDateIgnoreUntil( dateIgnoreUntil );
+ clone.setDateDeleteUntil( dateDeleteUntil );
+ clone.setShowResolved( showResolved );
return clone;
}
Modified: trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/dataModel/AlertsAdministrationQuery.java
===================================================================
--- trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/dataModel/AlertsAdministrationQuery.java 2009-10-02 14:54:01 UTC (rev 3882)
+++ trunk/Uni-d/tapestry/src/main/java/be/unid/tapestry/pages/alerts/dataModel/AlertsAdministrationQuery.java 2009-10-02 16:36:50 UTC (rev 3883)
@@ -37,14 +37,16 @@
public class AlertsAdministrationQuery
extends UnidQueryImpl
{
- boolean showAll;
+ private boolean showWarnings;
+ private boolean showResolved;
AlertsAdministrationQuery() {/*used by deserialization*/}
- public AlertsAdministrationQuery( boolean showAll )
+ public AlertsAdministrationQuery( boolean showWarnings, boolean showResolved )
{
super();
- this.showAll = showAll;
+ this.showWarnings = showWarnings;
+ this.showResolved = showResolved;
// build query
buildQueryString();
}
@@ -53,13 +55,25 @@
{
TextBuilder queryString = TextBuilder.newInstance();
- queryString.append( "SELECT al FROM DMUnidAlertBean al WHERE (al.status=\'A\') " );
+ queryString.append( "SELECT al FROM DMUnidAlertBean al " );
- if ( !showAll )
+ if ( !showWarnings )
{
// show only critical alerts
- queryString.append( " AND (al.alertType=\'C\') " );
+ queryString.append( " WHERE (al.alertType='C') " );
}
+ if ( !showResolved)
+ {
+ if (showWarnings)
+ {
+ queryString.append(" WHERE ");
+ }
+ else
+ {
+ queryString.append(" AND ");
+ }
+ queryString.append(" (al.status='A') ");
+ }
queryString.append( " ORDER BY al.unidCreationDate DESCENDING " );
this.setQueryString( queryString.toString() );
Modified: trunk/Uni-d/tapestry/src/main/resources/be/unid/tapestry/pages/alerts/Alerts.html
===================================================================
--- trunk/Uni-d/tapestry/src/main/resources/be/unid/tapestry/pages/alerts/Alerts.html 2009-10-02 14:54:01 UTC (rev 3882)
+++ trunk/Uni-d/tapestry/src/main/resources/be/unid/tapestry/pages/alerts/Alerts.html 2009-10-02 16:36:50 UTC (rev 3883)
@@ -1,49 +1,59 @@
<border jwcid="@Border" internationalizedTitle="message:title">
- <link type="text/css" media="all" href="css/layout.css" rel="stylesheet"></link>
+<link type="text/css" media="all" href="css/layout.css" rel="stylesheet"></link>
- <span jwcid="keepAlive"/>
+<span jwcid="keepAlive"/>
- <span class="displayError" jwcid="@Insert" value="prop:error"/>
+<span class="displayError" jwcid="@Insert" value="prop:error"/>
- <span jwcid="@Insert" raw="true" value="prop:javaScriptVariables"/>
+<span jwcid="@Insert" raw="true" value="prop:javaScriptVariables"/>
- <form jwcid="@Form" delegate="bean:validationDelegate" enctype="multipart/form-data"
- clientValidationEnabled="literal:true">
+<form jwcid="@Form" delegate="bean:validationDelegate" enctype="multipart/form-data"
+ clientValidationEnabled="literal:true">
<span class="defaultBlock">
<span class="defaultField">
<span class="defaultFieldLabel">
- <span key="ShowWarnings"/>
+ <span key="ShowWarnings"/>
+ </span>
+ <span class="defaultFieldValue">
+ <input jwcid="@Checkbox" value="prop:showWarnings" id="CHECKBOX_SHOW_WARNINGS"/>
+ </span>
</span>
- <span class="defaultFieldValue">
- <input jwcid="@Checkbox" value="prop:showWarnings" id="CHECKBOX_SHOW_WARNINGS"/>
- </span>
- </span>
+
+ <span class="defaultField">
+ <span class="defaultFieldLabel">
+ <span key="ShowResolved"/>
+ </span>
+ <span class="defaultFieldValue">
+ <input jwcid="@Checkbox" value="prop:showResolved" id="CHECKBOX_SHOW_RESOLVED"/>
+ </span>
+ </span>
</span>
- <input jwcid="@Submit" value="message:Find" action="listener:search" class="submitButton" id="BUTTON_SEARCH"/>
+ <input jwcid="@Submit" value="message:Find" action="listener:search" class="submitButton" id="BUTTON_SEARCH"/>
<span jwcid="@If" condition="prop:userAdministrator">
- <input jwcid="@Any" type="button" value="message:IgnoreUntil" action="listener:ignoreUntil" class="submitButton" id="BUTTON_IGNORE_UNTIL"
- onclick="
- var data1=prompt(messageIgnoreUntilDate);
- var data2=prompt(messageConfirmIgnoreUntilDate);
+ <input jwcid="@Any" type="button" value="message:DeleteUntil" class="submitButton" id="BUTTON_DELETE_UNTIL"
+ onclick="
+ var data1=prompt(messageDeleteUntilDate);
+ var data2=prompt(messageConfirmDeleteUntilDate);
if (data1==data2 && data1!=null && data1.length==10)
{
var dateField=document.getElementById('TEXTFIELD_HIDDEN_DATE');
dateField.value=data1;
- var buttonIgnore=document.getElementById('BUTTON_IGNORE_UNTIL_HIDDEN');
- buttonIgnore.click();
+ var buttonDelete=document.getElementById('BUTTON_DELETE_UNTIL_HIDDEN');
+ buttonDelete.click();
}
"
- />
- </span>
+ />
+ </span>
- <input jwcid="@TextField" value="prop:dateIgnoreUntil" style="display:none" id="TEXTFIELD_HIDDEN_DATE"/>
- <input jwcid="@Submit" value="message:Ignore" action="listener:ignoreUntil" id="BUTTON_IGNORE_UNTIL_HIDDEN" style="display:none"/>
+ <input jwcid="@TextField" value="prop:dateDeleteUntil" style="display:none" id="TEXTFIELD_HIDDEN_DATE"/>
+ <input jwcid="@Submit" value="delete hidden" action="listener:deleteUntil" id="BUTTON_DELETE_UNTIL_HIDDEN"
+ style="display:none"/>
<span jwcid="@If" condition="ognl:hasResults()">
<input jwcid="@Submit" value="message:Resolve" action="listener:resolve" id="BUTTON_RESOLVE"/>
- <input jwcid="@Submit" value="message:Ignore" action="listener:ignore" id="BUTTON_IGNORE"/>
+ <input jwcid="@Submit" value="message:Delete" action="listener:delete" id="BUTTON_DELETE"/>
<table border="0" width="100%">
<tr>
@@ -60,7 +70,7 @@
<span jwcid="results@For" source="prop:results" value="prop:currentItem">
<tr>
<td width="20%" align="left">
- <a jwcid="@NavigationLink" listener="listener:view"
+ <a jwcid="@NavigationLink" listener="listener:view"
parameters="ognl:currentItem.proxy.UOID"
class="result">
<span jwcid="@Insert" value="prop:timestamp"/>
@@ -84,33 +94,32 @@
</tr>
</span>
</table>
- <input jwcid="@Submit" value="message:Resolve" action="listener:resolve" class="submitButton" id="BUTTON_RESOLVE_2"/>
- <input jwcid="@Submit" value="message:Ignore" action="listener:ignore" class="submitButton" id="BUTTON_IGNORE_2"/>
+ <!--input jwcid="@Submit" value="message:Resolve" action="listener:resolve" id="BUTTON_RESOLVE2"/>
+ <input jwcid="@Submit" value="message:Delete" action="listener:delete" id="BUTTON_DELETE2"/-->
-
</span>
<span jwcid="@Else">
<br/>
<span jwcid="@Insert" value="message:NoResults"/>
</span>
- </form>
- <script language="JavaScript">
- <!--
- function setAll(checked)
- {
- parent=document.getElementsByName('alert_checked')[0];
- while(parent.tagName!='TABLE')
- {
- parent=parent.parentNode;
- }
- size=parent.getElementsByTagName("TR").length;
- document.getElementsByName('alert_checked')[0].checked = checked;
- for(i=0; i<size-1; i++)
- {
- document.getElementsByName('alert_checked_' + i)[0].checked = checked;
- }
- }
+</form>
+<script language="JavaScript">
+ <!--
+ function setAll(checked)
+ {
+ parent=document.getElementsByName('alert_checked')[0];
+ while(parent.tagName!='TABLE')
+ {
+ parent=parent.parentNode;
+ }
+ size=parent.getElementsByTagName("TR").length;
+ document.getElementsByName('alert_checked')[0].checked = checked;
+ for(i=0; i<size-1; i++)
+ {
+ document.getElementsByName('alert_checked_' + i)[0].checked = checked;
+ }
+ }
- -->
- </script>
+ -->
+</script>
</border>
Modified: trunk/Uni-d/template/src/main/webapp/translations-common.txt
===================================================================
--- trunk/Uni-d/template/src/main/webapp/translations-common.txt 2009-10-02 14:54:01 UTC (rev 3882)
+++ trunk/Uni-d/template/src/main/webapp/translations-common.txt 2009-10-02 16:36:50 UTC (rev 3883)
@@ -235,13 +235,13 @@
.label.nl Alle
.label.ro Selecteaza toate
.label.fr Tous
-.key IgnoreUntil/Alerts
-.label.en Ignore until date
-.label.ro Ignora pana la data
-.key message.IgnoreUntilDate/Alerts
+.key DeleteUntil/Alerts
+.label.en Delete until date
+.label.ro Sterge pana la data
+.key message.DeleteUntilDate/Alerts
.label.en Date (dd/mm/yyyy)
.label.ro Data (dd/mm/yyyy)
-.key message.ConfirmIgnoreUntilDate/Alerts
+.key message.ConfirmDeleteUntilDate/Alerts
.label.en Confirm date (dd/yy/mmmm)
.label.ro Confirma data (dd/yy/mmmm)
.key ClearAll/Alerts
@@ -322,11 +322,11 @@
.key HideInactiveRecords/Uni-d-fixed
.label.en Hide inactive records
.label.ro Ascunde inregistrarile inactive
-.key Ignore/Alerts
-.label.en Ignore
-.label.nl Negeer
-.label.ro Ignora
-.label.fr Ignorer
+.key Delete/Alerts
+.label.en Delete
+.label.nl Verwijderen
+.label.ro Sterge
+.label.fr Supprimer
.key Index/Uni-d-fixed
.label.en Index
.label.nl Index
@@ -552,6 +552,9 @@
.label.nl Waarschuwingen en berichten weergeven
.label.ro Arata avertismentele si mesajele
.label.fr Visualiser cautions et messages
+.key ShowResolved/Alerts
+.label.en Show resolved alerts
+.label.ro Arata alertele rezolvate
.key StartPage/Uni-d-fixed
.label.en Start page
.label.nl Startpagina
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|