<td></td>
<td></td>
<td><img src="<s:url value="/skin/icon.relation.png"/>" border="none" title=""/></td>
- <td><i><s:text name="label.uses"/>:</i> <s:property value="title"/></td>
+ <td>
+ <s:a href="%{URL}" target="_blank" cssClass="link">
+ <i><s:text name="label.uses"/>:</i> <s:property value="title"/>
+ </s:a>
+ </td>
<td align=center><s:property value="version"/></td>
<td align="right"><s:property value="size"/> </td>
<td align="right"><s:property value="date"/></td>
<td></td>
<td><img src="<s:url value="/skin/image.attach.png"/>" border="none" title=""/></td>
<td>
- <i><s:text name="label.converts"/>:</i>
- <s:property value="format"/> <s:property value="description"/>
+ <s:a href="%{URL}" target="_blank" cssClass="link">
+ <i><s:text name="label.converts"/>:</i>
+ <s:property value="format"/> <s:property value="description"/>
+ </s:a>
</td>
<td align=center></td>
<td align="right"><s:property value="size"/> </td>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td width=18><img src="<s:url value="/skin/%{fileIcon}"/>" border="none" title=""/></td>
- <td><s:property value="description"/></td>
+ <td>
+ <s:if test="%{!URL.equals(prevUrl)}">
+ <s:a href="%{URL}" target="_blank" cssClass="link">
+ <s:property value="description"/>
+ </s:a>
+ </s:if><s:else>
+ <s:property value="description"/>
+ </s:else>
+ </td>
+ <s:set name="prevUrl" value="%{URL}"/>
</tr>
</table>
</td>
<td></td>
<td></td>
<td><img src="<s:url value="/skin/icon.relation.png"/>" border="none" title=""/></td>
- <td><i><s:text name="label.uses"/>:</i> <s:property value="title"/></td>
+ <td>
+ <s:a href="%{URL}" target="_blank" cssClass="link">
+ <i><s:text name="label.uses"/>:</i> <s:property value="title"/>
+ </s:a>
+ </td>
<td align=center><s:property value="version"/></td>
<td align=right><s:property value="size"/> </td>
<td align=right><s:property value="date"/></td>
<td></td>
<td><img src="<s:url value="/skin/image.attach.png"/>" border="none" title=""/></td>
<td>
- <i><s:text name="label.converts"/>:</i>
- <s:property value="format"/> <s:property value="description"/>
+ <s:a href="%{URL}" target="_blank" cssClass="link">
+ <i><s:text name="label.converts"/>:</i>
+ <s:property value="format"/> <s:property value="description"/>
+ </s:a>
</td>
<td align=center></td>
<td align=right><s:property value="size"/> </td>
<table>
<tr>
<td><img src="<s:url value="/skin/%{fileIcon}"/>" border="none" title=""/></td>
- <td><s:property value="description"/></td>
+ <td>
+ <s:if test="%{!URL.equals(prevUrl)}">
+ <s:a href="%{URL}" target="_blank" cssClass="link">
+ <s:property value="description"/>
+ </s:a>
+ </s:if><s:else>
+ <s:property value="description"/>
+ </s:else>
+ </td>
+ <s:set name="prevUrl" value="%{URL}"/>
</tr>
</table>
</td>
</tr>
</table>
-<form name="version" id="version" action="valid-version" method="post"><s:hidden
- name="fileName" /> <s:hidden name="index" /> <s:hidden name="version" />
+<s:form name="version" id="version" action="valid-version" method="post"
+ validate="true">
+<s:hidden name="fileName" /> <s:hidden name="index" /> <s:hidden name="version" />
<s:hidden name="documentDate" /> <s:hidden name="defaultDescription"
value="%{description}" />
-<table cellpadding="0" cellspacing="0" border="0" class="text">
<tr height="15">
<td></td>
</tr>
<tr>
<td align="right"><s:text name="label.modifications" />:</td>
<td><s:textfield theme="simple" id="description"
- name="description" disabled="true" size="60" /></td>
+ name="description" disabled="true" size="60"
+ value='%{getText("default.versioning.description")}'/></td>
</tr>
<s:if test="dependencies.size > 0">
<tr height="10">
name="documentState" list="documentStates" listKey="value"
listValue="%{getText(key)}" disabled="" /></td>
</tr>
-</table>
-</form>
+</s:form>
</div>
</div>
menu.remove.document = Supprimer ce document
menu.remove.version = Supprimer cette version
menu.purge = Supprimer l''historique
+menu.actualize = Set up-to-date
menu.admin.indexing = Indexer les études
menu.admin.importuser = Importer des utilisateurs
message.checkedout = Ce scénario a été réservé par {0} le {1}. Pour pouvoir en modifier les propriétés, {2} doit donc préalablement restituer ses modifications.</br>Du coup, voulez-vous :
message.checkin = Voulez-vous vraiment abandonner les modifications en cours ?
message.dependencies = Les documents suivants devront a priori être mis à jour car ils utilisent le document en cours de versionnement.</br>Si certains d''entre eux ne sont PAS IMPACTÉS par ce versionnement, ils doivent être COCHÉS.
+message.actualize.document= Do you really want to set this documents state to up-to-date ?
message.info.contact = Contactez votre administrateur système.
message.info.scename = Si besoin, changez le titre du scénario ci-dessous.
message.error.comparison = Invalid comparison input data. Select at least one document; all selected documents should have compatible format.
#Validation errors
-message.error.noenteredvalue=The field ''{0}'' must be filled
\ No newline at end of file
+message.error.noenteredvalue=The field ''{0}'' must be filled
+default.versioning.description = A new Version
\ No newline at end of file
menu.purge = Remove the history
menu.markasreference = Mark as Reference
menu.removeasreference = Remove as Reference
+menu.actualize = Set up-to-date
menu.reject = Reject
menu.admin.indexing = Index the studies
message.checkedout = This scenario has been checked-out by {0} on {1}. For being able to edit the properties, {2} must first check-in his/her modifications.</br>Then, do you want :
message.checkin = Do you really want to forget the on-going modifications ?
message.dependencies = The documents below will must probably be updated because they use the document being versioned.</br>Those which are NOT IMPACTED by this versioning must be CHECKED.
+message.actualize.document= Do you really want to set this documents state to up-to-date ?
message.info.contact = Contact your system administrator.
message.info.scename = If needed, change below the title of the scenario.
message.error.comparison = Invalid comparison input data. Select at least one document; all selected documents should have compatible format.
#Validation errors
-message.error.noenteredvalue=The field ''{0}'' must be filled
\ No newline at end of file
+message.error.noenteredvalue=The field ''{0}'' must be filled
+default.versioning.description = A new Version
\ No newline at end of file
final ApplicationSettings applicationSettings) {
ResourceBundle custom = ResourceBundle.getBundle("som",
applicationSettings.getCurrentLocale());
- File export = represented.getTo().asFile();
- String path = export.getPath();
+ org.splat.dal.bo.som.File export = represented.getTo();
+ String path = export.getRelativePath();
String[] table = path.split("\\x2E");
DecimalFormat tostring = new DecimalFormat(custom
.getString("size.format")); // Locale size display format
_surl = applicationSettings.getRepositoryURL() + path;
_surl = _surl.replaceAll("'", "\\\\'");
_format = table[table.length - 1].toUpperCase();
- _size = tostring.format(export.length() / 1000);
+ _size = tostring.format(export.asFile().length() / 1000);
_date = convert.format(represented.getTo().getDate());
_comment = represented.getDescription();
if (_comment == null) {
--- /dev/null
+<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
+<validators>
+ <field name="description">
+ <field-validator type="requiredstring">
+ <message>${getText("message.error.noenteredvalue", "-", getText("field.description"))}</message>
+ </field-validator>
+ </field>
+</validators>
\ No newline at end of file
</action>
<action name="valid-version" class="versionDocumentAction"
method="version">
+ <interceptor-ref name="simanBasicStack"/>
+ <interceptor-ref name="siman-validation"/>
<result name="success" type="redirectAction">
step-study
</result>