r161 - in trunk: cantharella.data/src/main/java/nc/ird/cantharella/data/model cantharella.data/src/main/sql cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/campagne cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/extraction cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/lot cantharell
Author: echatellier Date: 2013-02-26 15:42:36 +0100 (Tue, 26 Feb 2013) New Revision: 161 Url: http://forge.codelutin.com/projects/cantharella/repository/revisions/161 Log: Fix document modification Modified: trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Document.java trunk/cantharella.data/src/main/sql/dev_update.sql trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/DocumentServiceImpl.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/campagne/ManageCampagnePage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ManageDocumentPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.html trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/extraction/ManageExtractionPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/lot/ManageLotPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/molecule/ManageMoleculePage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/personne/ManagePersonnePage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/purification/ManagePurificationPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/specimen/ManageSpecimenPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/station/ManageStationPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/testBio/ManageTestBioPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/ManageUtilisateurPage.java trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/UpdateUtilisateurPage.java Modified: trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Document.java =================================================================== --- trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Document.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.data/src/main/java/nc/ird/cantharella/data/model/Document.java 2013-02-26 14:42:36 UTC (rev 161) @@ -32,6 +32,8 @@ import javax.persistence.Id; import javax.persistence.Lob; import javax.persistence.ManyToOne; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; import javax.validation.constraints.NotNull; import nc.ird.cantharella.data.model.utils.AbstractModel; @@ -66,6 +68,7 @@ /** Date de creation. */ @NotNull + @Temporal(TemporalType.DATE) private Date dateCreation; /** Editeur. */ Modified: trunk/cantharella.data/src/main/sql/dev_update.sql =================================================================== --- trunk/cantharella.data/src/main/sql/dev_update.sql 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.data/src/main/sql/dev_update.sql 2013-02-26 14:42:36 UTC (rev 161) @@ -88,7 +88,7 @@ create table Document ( idDocument int4 not null, contrainteLegale varchar(100), - dateCreation timestamp not null, + dateCreation date not null, description text, editeur varchar(100) not null, fileContent bytea, Modified: trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/DocumentServiceImpl.java =================================================================== --- trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/DocumentServiceImpl.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.service/src/main/java/nc/ird/cantharella/service/services/impl/DocumentServiceImpl.java 2013-02-26 14:42:36 UTC (rev 161) @@ -36,8 +36,10 @@ import nc.ird.cantharella.data.exceptions.DataNotFoundException; import nc.ird.cantharella.data.exceptions.UnexpectedException; import nc.ird.cantharella.data.model.Document; +import nc.ird.cantharella.data.model.Extraction; import nc.ird.cantharella.data.model.TypeDocument; import nc.ird.cantharella.data.model.Utilisateur; +import nc.ird.cantharella.data.model.Utilisateur.TypeDroit; import nc.ird.cantharella.service.services.DocumentService; import nc.ird.cantharella.utils.AssertTools; @@ -114,14 +116,15 @@ /** {@inheritDoc} */ @Override public Document loadDocument(Integer idDocument) throws DataNotFoundException { - - return null; + LOG.debug("read Document"); + return dao.read(Document.class, idDocument); } /** {@inheritDoc} */ @Override public boolean updateOrdeleteDocumentEnabled(Document document, Utilisateur utilisateur) { - return false; + return utilisateur.getTypeDroit() == TypeDroit.ADMINISTRATEUR + || utilisateur.getIdPersonne() == document.getCreateur().getIdPersonne(); } /** {@inheritDoc} */ Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/campagne/ManageCampagnePage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/campagne/ManageCampagnePage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/campagne/ManageCampagnePage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -97,7 +97,7 @@ private static final String ACTION_CREATE = "Create"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update */ private static final String ACTION_UPDATE = "Update"; Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ManageDocumentPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ManageDocumentPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ManageDocumentPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -26,8 +26,6 @@ import java.util.List; import nc.ird.cantharella.data.exceptions.DataConstraintException; -import nc.ird.cantharella.data.exceptions.DataNotFoundException; -import nc.ird.cantharella.data.exceptions.UnexpectedException; import nc.ird.cantharella.data.model.Document; import nc.ird.cantharella.data.model.Personne; import nc.ird.cantharella.data.model.TypeDocument; @@ -42,9 +40,9 @@ import nc.ird.cantharella.web.utils.CallerPage; import nc.ird.cantharella.web.utils.behaviors.JSConfirmationBehavior; import nc.ird.cantharella.web.utils.forms.AutoCompleteTextFieldString; +import nc.ird.cantharella.web.utils.forms.AutoCompleteTextFieldString.ComparisonMode; import nc.ird.cantharella.web.utils.forms.SubmittableButton; import nc.ird.cantharella.web.utils.forms.SubmittableButtonEvents; -import nc.ird.cantharella.web.utils.forms.AutoCompleteTextFieldString.ComparisonMode; import nc.ird.cantharella.web.utils.panels.SimpleTooltipPanel; import nc.ird.cantharella.web.utils.renderers.MapChoiceRenderer; @@ -67,8 +65,6 @@ import org.apache.wicket.model.PropertyModel; import org.apache.wicket.spring.injection.annot.SpringBean; import org.apache.wicket.util.lang.Bytes; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * Document management page (creation/edition). @@ -81,16 +77,13 @@ private static final String ACTION_CREATE = "Create"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update */ private static final String ACTION_UPDATE = "Update"; - /** Logger */ - private static final Logger LOG = LoggerFactory.getLogger(ManageDocumentPage.class); - /** Model : document. */ - private final IModel<Document> documentModel; + private IModel<Document> documentModel; /** Service : document */ @SpringBean @@ -107,9 +100,6 @@ /** Caller page. */ private final CallerPage callerPage; - /** Multiple entry. */ - private boolean multipleEntry; - /** * Constructeur (mode création) * @param callerPage Page appelante @@ -118,45 +108,35 @@ */ public ManageDocumentPage(CallerPage callerPage, IModel<? extends DocumentAttachable> documentAttachableModel, boolean multipleEntry) { - this(null, null, documentAttachableModel, callerPage, multipleEntry); + this(null, documentAttachableModel, callerPage, multipleEntry); } /** * Constructeur (mode édition) - * @param idDocument ID document + * @param document document to edit + * @param documentAttachableModel document sur le * @param callerPage Page appelante */ - public ManageDocumentPage(Integer idDocument, CallerPage callerPage) { - this(idDocument, null, null, callerPage, false); + public ManageDocumentPage(Document document, IModel<? extends DocumentAttachable> documentAttachableModel, + CallerPage callerPage) { + this(document, documentAttachableModel, callerPage, false); } /** - * Constructeur (mode saisie du lot suivante) - * @param document document - * @param callerPage Page appelante - */ - public ManageDocumentPage(Document document, CallerPage callerPage) { - this(null, document, null, callerPage, true); - } - - /** * Constructeur. Si idDocument et document sont null, on créée un nouveau Document. * Si idDocument est renseigné, on édite le document * correspondant. Si document est renseigné, on créée un nouveau document à * partir des informations qu'il contient. - * @param idDocument ID document * @param document document - * @param documentAttachable entity where document is attached to + * @param documentAttachableModel entity where document is attached to * @param callerPage Page appelante * @param multipleEntry Saisie multiple */ - private ManageDocumentPage(Integer idDocument, Document document, - final IModel<? extends DocumentAttachable> documentAttachableModel, final CallerPage callerPage, + private ManageDocumentPage(Document document, final IModel<? extends DocumentAttachable> documentAttachableModel, + final CallerPage callerPage, boolean multipleEntry) { super(ManageDocumentPage.class); - assert idDocument == null || document == null; this.callerPage = callerPage; - this.multipleEntry = multipleEntry; final CallerPage currentPage = new CallerPage(this); @@ -164,15 +144,9 @@ long documentMaxUploadSize = ((WebApplicationImpl) getApplication()).getDocumentMaxUploadSize(); // Initialisation du modèle - try { - documentModel = new Model<Document>(idDocument == null && document == null ? new Document() - : document != null ? document : documentService.loadDocument(idDocument)); - } catch (DataNotFoundException e) { - LOG.error(e.getMessage(), e); - throw new UnexpectedException(e); - } - - boolean createMode = idDocument == null; + documentModel = new Model<Document>(document == null ? new Document() : document); + + boolean createMode = document == null; if (createMode) { documentModel.getObject().setCreateur(getSession().getUtilisateur()); documentModel.getObject().setAjoutePar(getSession().getUtilisateur()); @@ -358,11 +332,7 @@ * Redirection vers une autre page. Cas où le formulaire est validé */ private void redirect() { - if (multipleEntry) { - // Redirection vers l'écran de saisie d'un nouveau document, en fournissant déjà quelques données - Document nextDocument = new Document(); - setResponsePage(new ManageDocumentPage(nextDocument, callerPage)); - } else if (callerPage != null) { + if (callerPage != null) { // On passe l'id du document associé à cette page, en paramètre de la prochaine page, pour lui permettre de // l'exploiter si besoin //callerPage.addPageParameter(Document.class.getSimpleName(), documentModel.getObject().getIdDocument()); Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.html =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.html 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.html 2013-02-26 14:42:36 UTC (rev 161) @@ -90,6 +90,11 @@ <span class="value" wicket:id="Document.fileMimetype"></span> </div> + <div class="property"> + <span class="label"><wicket:message key="Document.link" /></span> + <span class="value" wicket:id="Document.link"></span> + </div> + <form wicket:id="Form"> <div class="actions"> <a class="edit" wicket:id="ReadDocumentPage.Document.Update" wicket:message="title:Update"> Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/document/ReadDocumentPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -26,6 +26,7 @@ import nc.ird.cantharella.data.model.Document; import nc.ird.cantharella.data.model.utils.DocumentAttachable; import nc.ird.cantharella.web.pages.TemplatePage; +import nc.ird.cantharella.web.pages.domain.document.panel.DocumentLinkPanel; import nc.ird.cantharella.web.pages.domain.lot.ManageLotPage; import nc.ird.cantharella.web.utils.CallerPage; import nc.ird.cantharella.web.utils.behaviors.JSConfirmationBehavior; @@ -98,6 +99,7 @@ .add(new ReplaceEmptyLabelBehavior())); add(new Label("Document.fileMimetype", new PropertyModel<String>(documentModel, "fileMimetype")) .add(new ReplaceEmptyLabelBehavior())); + add(new DocumentLinkPanel("Document.link", documentModel)); // Formulaire des actions final Form<Void> formView = new Form<Void>("Form"); @@ -107,7 +109,7 @@ documentModel.getObject())) { @Override public void onClick() { - setResponsePage(new ManageDocumentPage(getModelObject().getIdDocument(), currentPage)); + setResponsePage(new ManageDocumentPage(getModelObject(), documentAttachableModel, currentPage)); } }; //FIXME updateLink.setVisibilityAllowed(documentService.updateOrdeleteDocumentEnabled(documentModel.getObject(), getSession() Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/extraction/ManageExtractionPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/extraction/ManageExtractionPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/extraction/ManageExtractionPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -105,7 +105,7 @@ private static final String ACTION_UPDATE = "Update"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Logger */ private static final Logger LOG = LoggerFactory.getLogger(ManageExtractionPage.class); Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/lot/ManageLotPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/lot/ManageLotPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/lot/ManageLotPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -85,7 +85,7 @@ private static final String ACTION_CREATE = "Create"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update */ private static final String ACTION_UPDATE = "Update"; Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/molecule/ManageMoleculePage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/molecule/ManageMoleculePage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/molecule/ManageMoleculePage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -101,7 +101,7 @@ private static final String ACTION_CREATE = "Create"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update */ private static final String ACTION_UPDATE = "Update"; @@ -467,16 +467,12 @@ // champs d'input final DropDownChoice<Produit> produitChoice = new DropDownChoice<Produit>("Molecule.provenance.produit.ref", - new PropertyModel<Produit>(newProvenanceModel, "produit"), utilisateurProduits, new ProduitRenderer()) { - - }; + new PropertyModel<Produit>(newProvenanceModel, "produit"), utilisateurProduits, new ProduitRenderer()); produitChoice.setNullValid(false); provenanceTable.add(produitChoice); final TextField<BigDecimal> presenceInput = new TextField<BigDecimal>("Molecule.provenance.presence", - new PropertyModel<BigDecimal>(newProvenanceModel, "pourcentage")) { - - }; + new PropertyModel<BigDecimal>(newProvenanceModel, "pourcentage")); presenceInput.setOutputMarkupId(true); provenanceTable.add(presenceInput); Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/personne/ManagePersonnePage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/personne/ManagePersonnePage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/personne/ManagePersonnePage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -63,7 +63,7 @@ private static final String ACTION_CREATE_UTILISATEUR = "CreateUtilisateur"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update */ private static final String ACTION_UPDATE = "Update"; Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/purification/ManagePurificationPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/purification/ManagePurificationPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/purification/ManagePurificationPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -106,7 +106,7 @@ private static final String ACTION_UPDATE = "Update"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** purification Model */ private final IModel<Purification> purificationModel; Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/specimen/ManageSpecimenPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/specimen/ManageSpecimenPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/specimen/ManageSpecimenPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -84,7 +84,7 @@ private static final String ACTION_CREATE = "Create"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update */ private static final String ACTION_UPDATE = "Update"; Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/station/ManageStationPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/station/ManageStationPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/station/ManageStationPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -74,10 +74,10 @@ private static final String ACTION_CREATE = "Create"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update */ - public static final String ACTION_UPDATE = "Update"; + private static final String ACTION_UPDATE = "Update"; /** Logger */ private static final Logger LOG = LoggerFactory.getLogger(ManageStationPage.class); Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/testBio/ManageTestBioPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/testBio/ManageTestBioPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/testBio/ManageTestBioPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -117,7 +117,7 @@ private static final String ACTION_UPDATE = "Update"; /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** testBio Model */ private final IModel<TestBio> testBioModel; Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/ManageUtilisateurPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/ManageUtilisateurPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/ManageUtilisateurPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -86,16 +86,16 @@ public final class ManageUtilisateurPage extends TemplatePage { /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : reject */ - public static final String ACTION_REJECT = "Reject"; + private static final String ACTION_REJECT = "Reject"; /** Action : update */ private static final String ACTION_UPDATE = "Update"; /** Action : validate */ - public static final String ACTION_VALID = "Valid"; + private static final String ACTION_VALID = "Valid"; /** Logger */ private static final Logger LOG = LoggerFactory.getLogger(ManageUtilisateurPage.class); Modified: trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/UpdateUtilisateurPage.java =================================================================== --- trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/UpdateUtilisateurPage.java 2013-02-26 10:05:31 UTC (rev 160) +++ trunk/cantharella.web/src/main/java/nc/ird/cantharella/web/pages/domain/utilisateur/UpdateUtilisateurPage.java 2013-02-26 14:42:36 UTC (rev 161) @@ -55,7 +55,7 @@ public final class UpdateUtilisateurPage extends TemplatePage { /** Action : delete */ - public static final String ACTION_DELETE = "Delete"; + private static final String ACTION_DELETE = "Delete"; /** Action : update password */ private static final String ACTION_UPDATE_PASSWORD = "UpdatePassword";
participants (1)
-
echatellier@users.forge.codelutin.com