This is an automated email from the git hooks/post-receive script. New commit to branch feature/7717 in repository observe. See http://git.codelutin.com/observe.git commit 7fb9846889c9cd0c09e794f53ca6bb19f68a254d Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Fri Nov 13 14:14:38 2015 +0100 afficher les droits sur les sources de données (refs #7717) --- .../java/fr/ird/observe/ObserveTextGenerator.java | 7 ++ .../fr/ird/observe/db/ObserveSwingDataSource.java | 14 ++++ .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 4 +- .../observe/ui/admin/config/ConfigUIHandler.java | 30 +++++--- .../ui/admin/validate/ValidateUIHandler.java | 11 --- .../fr/ird/observe/ui/storage/StorageUIModel.java | 32 +++++++- .../ui/storage/tabs/StorageTabUIHandler.java | 28 ++++--- .../main/resources/ftl/connexionTestResult_fr.ftl | 5 +- .../ftl/dataSourceConnectionReport_fr.ftl | 87 ++++++---------------- .../src/main/resources/ftl/dataSourcePolicy_fr.ftl | 32 ++++++++ .../ftl/storageModelDataSourceConfiguration_fr.ftl | 71 +++++++++++++----- 11 files changed, 201 insertions(+), 120 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveTextGenerator.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveTextGenerator.java index 897bf28..7549d35 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveTextGenerator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveTextGenerator.java @@ -3,6 +3,7 @@ package fr.ird.observe; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.ui.storage.StorageUIModel; import freemarker.cache.ClassTemplateLoader; import freemarker.template.Configuration; @@ -34,6 +35,8 @@ public class ObserveTextGenerator { protected static final String DATA_SOURCE_INFORMATION_TEMPLATE = "dataSourceInformation.ftl"; + protected static final String DATA_SOURCE_POLICY_TEMPLATE = "dataSourcePolicy.ftl"; + protected final Configuration freemarkerConfiguration; @@ -75,6 +78,10 @@ public class ObserveTextGenerator { return generateHtml(DATA_SOURCE_INFORMATION_TEMPLATE, source); } + public String getDataSourcePolicy(ObserveDataSourceInformation model) { + return generateHtml(DATA_SOURCE_POLICY_TEMPLATE, model); + } + protected String generateHtml(String templateName, Object model) { return generateHtml(observeConfiguration.getLocale(), templateName, model); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index 74cc523..b6a486d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -1,6 +1,7 @@ package fr.ird.observe.db; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableList; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -108,6 +109,18 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return result; } + + public ObserveDataSourceInformation getInformation() { + return new ObserveDataSourceInformation( + canReadReferential(), + canWriteReferential(), + canReadData(), + canWriteData(), + getVersion(), + getVersion(), + ImmutableList.<Version>of()); + } + public void open() throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { Preconditions.checkState(!isOpen(), "Connection is already open"); @@ -377,4 +390,5 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements listener.onClosed(evt); } } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java index e9f8c58..a27cb15 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java @@ -665,6 +665,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { ObserveSwingDataSource previousSource = getPreviousSource(); ObserveDataSourceConfiguration previousSourceConfig = null; + ObserveDataSourceInformation previousSourceInfo = null; EnumSet<DbMode> authorizedModes = getIncomingDataSourceMode(); EnumSet<DbMode> modes = EnumSet.noneOf(DbMode.class); @@ -696,6 +697,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { try { previousSourceConfig = previousSource.getConfiguration().clone(); + previousSourceInfo = previousSource.getInformation(); } catch (CloneNotSupportedException e) { if (log.isErrorEnabled()) { log.error("con not clone previous data configuration", e); @@ -747,7 +749,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // on intialize le modèle de la source locale à partir du service // entrant (s'il existe) - localSourceModel.initFromPreviousConfig(ui, previousSourceConfig); + localSourceModel.initFromPreviousConfig(ui, previousSourceConfig, previousSourceInfo); } DbMode dbMode = localSourceModel.getDbMode(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java index 8e2d1d4..934ddfd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/config/ConfigUIHandler.java @@ -21,6 +21,9 @@ */ package fr.ird.observe.ui.admin.config; +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.ObserveTextGenerator; +import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.admin.AdminTabUI; @@ -163,19 +166,24 @@ public class ConfigUIHandler extends AdminTabUIHandler { } protected String updateDataSourcePolicy(StorageUIModel sourceModel, boolean valid) { - if (!valid) { - return t("observe.common.storage.not.valid"); + String text = null; + if (valid) { + ObserveDataSourceInformation dataSourceInformation = sourceModel.getDataSourceInformation(); + + if (dataSourceInformation != null) { + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + ObserveTextGenerator textGenerator = applicationContext.getTextGenerator(); + text = textGenerator.getDataSourcePolicy(dataSourceInformation); + } + + } else { + + text = t("observe.common.storage.not.valid"); + } - //FIXME -// DataSourceConfig config; -// if (sourceModel.getDbMode() == DbMode.USE_REMOTE) { -// config = sourceModel.getPgConfig(); -// } else { -// config = sourceModel.getH2Config(); -// } -// return config.getPolicyLabel(); - return null; + return text; } protected boolean canShowLocalStorage(Set<AdminStep> operations, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java index b817496..5f633e6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java @@ -615,15 +615,4 @@ public class ValidateUIHandler extends AdminTabUIHandler { getModel().getValidateModel().setReportFile(new File(configUI.validationReportDirectoryText.getText(), filename)); } - public String updateReferentielPolicy(boolean valid) { - if (!valid) { - return t("observe.common.storage.not.valid"); - } else { - //FIXME -// return model.getCentralSourceModel().getPgConfig().getPolicyLabel(); - return null; - } - } - - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index b6259b6..edade25 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -216,6 +216,9 @@ public class StorageUIModel extends WizardModel<StorageStep> { /** Les information de connextion a la base**/ protected ObserveDataSourceInformation dataSourceInformation; + /** Les information de connextion a la base**/ + protected ObserveDataSourceInformation h2DataSourceInformation; + /** le fichier d'import des donné */ protected File dumpFile; @@ -459,7 +462,8 @@ public class StorageUIModel extends WizardModel<StorageStep> { * @since 2.0 */ public void initFromPreviousConfig(JAXXContext context, - ObserveDataSourceConfiguration previousConfig) { + ObserveDataSourceConfiguration previousConfig, + ObserveDataSourceInformation previousInfo) { if (previousConfig == null) { @@ -502,7 +506,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { // on est actuellement connecte sur une base locale fromStorageConfig((ObserveDataSourceConfigurationTopiaH2) previousConfig); - + h2DataSourceInformation = previousInfo; } else if (previousConfig instanceof ObserveDataSourceConfigurationTopiaPG){ if (!isLocalStorageExist) { @@ -519,6 +523,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { // on est sur une base distante fromStorageConfig((ObserveDataSourceConfigurationRest) previousConfig); } + setDataSourceInformation(previousInfo); } /** @@ -1664,7 +1669,6 @@ public class StorageUIModel extends WizardModel<StorageStep> { dst.setSelectDataModel(getSelectDataModel()); dst.setSecurityModel(getSecurityModel()); dst.setAdminAction(getAdminAction()); - dst.setDataSourceInformation(getDataSourceInformation()); dst.updateEditConfig(); @@ -1674,6 +1678,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { dst.setRemotePassword(getRemotePassword()); dst.setServerDatabase(getServerDatabase()); + dst.setDataSourceInformation(getDataSourceInformation()); dst.setConnexionStatus(getConnexionStatus()); } @@ -1752,7 +1757,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { Version versionDataSource = dataSourceInformation.getVersion(); // en mise a jour de la base on ne test pas la version - if (getModelVersion().equals(versionDataSource) || isCanMigrate()) { + if (getModelVersion().equals(versionDataSource) || isCanMigrate() || ObstunaAdminAction.CREATE.equals(adminAction)) { setConnexionStatus(ConnexionStatus.SUCCESS); @@ -2002,9 +2007,28 @@ public class StorageUIModel extends WizardModel<StorageStep> { } public ObserveDataSourceInformation getDataSourceInformation() { + if (DbMode.USE_LOCAL.equals(dbMode)) { + return getH2DataSourceInformation(); + } + return dataSourceInformation; } + public ObserveDataSourceInformation getH2DataSourceInformation() { + if (h2DataSourceInformation == null && localStorageExist) { + ObserveSwingDataSource dataSource = ObserveSwingApplicationContext.get().newDataSource(h2Config); + try { + h2DataSourceInformation = dataSource.checkCanConnect(); + } catch (Exception e) { + if (log.isDebugEnabled()) { + log.debug("error on load data source information for local storage", e); + } + } + } + + return h2DataSourceInformation; + } + public void setDataSourceInformation(ObserveDataSourceInformation dataSourceInformation) { this.dataSourceInformation = dataSourceInformation; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java index c7de3e6..4f76e7f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/StorageTabUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.db.constantes.ConnexionStatus; import fr.ird.observe.db.constantes.CreationMode; import fr.ird.observe.db.constantes.DbMode; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.storage.StorageStep; import fr.ird.observe.ui.storage.StorageUILauncher; @@ -469,18 +470,23 @@ public class StorageTabUIHandler { protected String updateDataSourcePolicy(StorageUIModel sourceModel, boolean valid) { - if (!valid) { - return t("observe.common.storage.not.valid"); + String text = null; + if (valid) { + ObserveDataSourceInformation dataSourceInformation = sourceModel.getDataSourceInformation(); + + if (dataSourceInformation != null) { + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + ObserveTextGenerator textGenerator = applicationContext.getTextGenerator(); + text = textGenerator.getDataSourcePolicy(dataSourceInformation); + } + + } else { + + text = t("observe.common.storage.not.valid"); + } - //FIXME -// DataSourceConfig config; -// if (sourceModel.getDbMode() == DbMode.USE_REMOTE) { -// config = sourceModel.getPgConfig(); -// } else { -// config = sourceModel.getH2Config(); -// } -// return config.getPolicyLabel(); - return null; + return text; } } diff --git a/observe-application-swing/src/main/resources/ftl/connexionTestResult_fr.ftl b/observe-application-swing/src/main/resources/ftl/connexionTestResult_fr.ftl index f4efabc..052050a 100644 --- a/observe-application-swing/src/main/resources/ftl/connexionTestResult_fr.ftl +++ b/observe-application-swing/src/main/resources/ftl/connexionTestResult_fr.ftl @@ -13,8 +13,11 @@ </ul> <#elseif connexionStatus.name() == "SUCCESS"> + Information sur la connexion : - <#include "storageModelDataSourceConfiguration_fr.ftl"> + <#import "storageModelDataSourceConfiguration_fr.ftl" as storageInfo> + <@storageInfo.storageModelDataSourceInformation storageModel=.data_model /> + </#if> </body> </html> \ No newline at end of file diff --git a/observe-application-swing/src/main/resources/ftl/dataSourceConnectionReport_fr.ftl b/observe-application-swing/src/main/resources/ftl/dataSourceConnectionReport_fr.ftl index e47bc7e..7894edf 100644 --- a/observe-application-swing/src/main/resources/ftl/dataSourceConnectionReport_fr.ftl +++ b/observe-application-swing/src/main/resources/ftl/dataSourceConnectionReport_fr.ftl @@ -1,6 +1,6 @@ <html> <body> - +<#import "storageModelDataSourceConfiguration_fr.ftl" as storageInfo> <#if backupAction> <h2> @@ -81,14 +81,13 @@ <h3>Import du référentiel depuis une base distante :</h3> - <#include "storageModelDataSourceConfiguration.ftl"> - + <@storageInfo.storageModelDataSourceInformation storageModel=.data_model /> <#elseif creationMode.name() == "IMPORT_SERVER_STORAGE"> <h3>Import du référentiel depuis un serveur distant :</h3> - <#include "storageModelDataSourceConfiguration_fr.ftl"> + <@storageInfo.storageModelDataSourceInformation storageModel=.data_model /> </#if> @@ -101,7 +100,7 @@ <h3>Informations sur la base distante à utiliser :</h3> - <#include "storageModelDataSourceConfiguration_fr.ftl"> + <@storageInfo.storageModelDataSourceInformation storageModel=.data_model /> <#else> @@ -110,7 +109,7 @@ <h3>Informations sur la connexion distance à utiliser :</h3> - <#include "storageModelDataSourceConfiguration_fr.ftl"> + <@storageInfo.storageModelDataSourceInformation storageModel=.data_model /> <#if adminAction.name() == "CREATE"> @@ -127,24 +126,14 @@ <#elseif referentielImportMode.name() == "IMPORT_REMOTE_STORAGE"> <h3>Import du référentiel depuis une base distante :</h3> - <ul> - <li><strong>URL jdbc : </strong>${centralSourceModel.pgConfig.jdbcUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.pgConfig.username}</li> - <li><strong>Mot de passe : </strong>*****</li> - <li><strong>Mode SSL : </strong>${centralSourceModel.pgConfig.useSsl?then('Oui', 'Non')}</li> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> <#elseif referentielImportMode.name() == "IMPORT_SERVER_STORAGE"> <h3>Import du référentiel depuis un serveur distant :</h3> - <ul> - <li><strong>URL du serveur : </strong>${centralSourceModel.restConfig.serverUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.restConfig.login}</li> - <li><strong>Mot de passe : </strong>*****</li> - <#if centralSourceModel.restConfig.optionalDatabaseName.present> - <li><strong>Base de données : </strong>${centralSourceModel.restConfig.optionalDatabaseName.get()}</li> - </#if> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> </#if> @@ -165,24 +154,14 @@ <#elseif referentielImportMode.name() == "IMPORT_REMOTE_STORAGE"> <h3>Import du référentiel depuis une base distante :</h3> - <ul> - <li><strong>URL jdbc : </strong>${centralSourceModel.pgConfig.jdbcUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.pgConfig.username}</li> - <li><strong>Mot de passe : </strong>*****</li> - <li><strong>Mode SSL : </strong>${centralSourceModel.pgConfig.useSsl?then('Oui', 'Non')}</li> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> <#elseif referentielImportMode.name() == "IMPORT_SERVER_STORAGE"> <h3>Import du référentiel depuis un serveur distant :</h3> - <ul> - <li><strong>URL du serveur : </strong>${centralSourceModel.restConfig.serverUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.restConfig.login}</li> - <li><strong>Mot de passe : </strong>*****</li> - <#if centralSourceModel.restConfig.optionalDatabaseName.present> - <li><strong>Base de données : </strong>${centralSourceModel.restConfig.optionalDatabaseName.get()}</li> - </#if> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> </#if> @@ -212,7 +191,7 @@ <h3>Informations sur le serveur connexion distant à utiliser :</h3> - <#include "storageModelDataSourceConfiguration_fr.ftl"> + <@storageInfo.storageModelDataSourceInformation storageModel=.data_model /> <#else> @@ -221,7 +200,7 @@ <h3>Informations sur le serveur connexion distant à utiliser :</h3> - <#include "storageModelDataSourceConfiguration_fr.ftl"> + <@storageInfo.storageModelDataSourceInformation storageModel=.data_model /> <#if adminAction.name() == "CREATE"> @@ -238,24 +217,14 @@ <#elseif referentielImportMode.name() == "IMPORT_REMOTE_STORAGE"> <h3>Import du référentiel depuis une base distante :</h3> - <ul> - <li><strong>URL jdbc : </strong>${centralSourceModel.pgConfig.jdbcUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.pgConfig.username}</li> - <li><strong>Mot de passe : </strong>*****</li> - <li><strong>Mode SSL : </strong>${centralSourceModel.pgConfig.useSsl?then('Oui', 'Non')}</li> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> <#elseif referentielImportMode.name() == "IMPORT_SERVER_STORAGE"> <h3>Import du référentiel depuis un serveur distant :</h3> - <ul> - <li><strong>URL du serveur : </strong>${centralSourceModel.restConfig.serverUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.restConfig.login}</li> - <li><strong>Mot de passe : </strong>*****</li> - <#if centralSourceModel.restConfig.optionalDatabaseName.present> - <li><strong>Base de données : </strong>${centralSourceModel.restConfig.optionalDatabaseName.get()}</li> - </#if> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> </#if> @@ -276,24 +245,14 @@ <#elseif referentielImportMode.name() == "IMPORT_REMOTE_STORAGE"> <h3>Import du référentiel depuis une base distante :</h3> - <ul> - <li><strong>URL jdbc : </strong>${centralSourceModel.pgConfig.jdbcUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.pgConfig.username}</li> - <li><strong>Mot de passe : </strong>*****</li> - <li><strong>Mode SSL : </strong>${centralSourceModel.pgConfig.useSsl?then('Oui', 'Non')}</li> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> <#elseif referentielImportMode.name() == "IMPORT_SERVER_STORAGE"> <h3>Import du référentiel depuis un serveur distant :</h3> - <ul> - <li><strong>URL du serveur : </strong>${centralSourceModel.restConfig.serverUrl}</li> - <li><strong>Utilisateur : </strong>${centralSourceModel.restConfig.login}</li> - <li><strong>Mot de passe : </strong>*****</li> - <#if centralSourceModel.restConfig.optionalDatabaseName.present> - <li><strong>Base de données : </strong>${centralSourceModel.restConfig.optionalDatabaseName.get()}</li> - </#if> - </ul> + + <@storageInfo.storageModelDataSourceInformation storageModel=centralSourceModel /> </#if> diff --git a/observe-application-swing/src/main/resources/ftl/dataSourcePolicy_fr.ftl b/observe-application-swing/src/main/resources/ftl/dataSourcePolicy_fr.ftl new file mode 100644 index 0000000..d370ca6 --- /dev/null +++ b/observe-application-swing/src/main/resources/ftl/dataSourcePolicy_fr.ftl @@ -0,0 +1,32 @@ +<html> +<body> +Droits : + +<strong> • Référentiel : </strong> +<#if canReadReferential() > + Lecture + <#if canWriteReferential() > + / Ecriture + </#if> + <#elseif canWriteReferential()> + Ecriture + <#else> + Aucun droit +</#if> + +<strong> • Données observateur : </strong> +<#if canReadData() > + Lecture + <#if canWriteData() > + / Ecriture + </#if> + <#elseif canWriteData() > + Ecriture + <#else> + Aucun droit +</#if> +<Strong> • Version : </Strong> + v ${version} + +</body> +</html> \ No newline at end of file diff --git a/observe-application-swing/src/main/resources/ftl/storageModelDataSourceConfiguration_fr.ftl b/observe-application-swing/src/main/resources/ftl/storageModelDataSourceConfiguration_fr.ftl index d1eb1aa..ff3deba 100644 --- a/observe-application-swing/src/main/resources/ftl/storageModelDataSourceConfiguration_fr.ftl +++ b/observe-application-swing/src/main/resources/ftl/storageModelDataSourceConfiguration_fr.ftl @@ -1,18 +1,55 @@ -<ul> - <#if editRemoteConfig> - <li><strong>URL jdbc : </strong>${pgConfig.jdbcUrl}</li> - <li><strong>Utilisateur : </strong>${pgConfig.username}</li> - <li><strong>Mot de passe : </strong>*****</li> - <li><strong>Mode SSL : </strong>${pgConfig.useSsl?then('Oui', 'Non')}</li> - <#elseif editServerConfig> - <li><strong>URL du serveur : </strong>${restConfig.serverUrl}</li> - <li><strong>Utilisateur : </strong>${restConfig.login}</li> - <li><strong>Mot de passe : </strong>*****</li> - <#if restConfig.optionalDatabaseName.present> - <li><strong>Base de données : </strong>${restConfig.optionalDatabaseName.get()}</li> +<#macro storageModelDataSourceInformation storageModel> +<#if storageModel??> + <ul> + <#if storageModel.editRemoteConfig> + <li><strong>URL jdbc : </strong>${storageModel.pgConfig.jdbcUrl}</li> + <li><strong>Utilisateur : </strong>${storageModel.pgConfig.username}</li> + <li><strong>Mot de passe : </strong>*****</li> + <li><strong>Mode SSL : </strong>${storageModel.pgConfig.useSsl?then('Oui', 'Non')}</li> + <#elseif storageModel.editServerConfig> + <li><strong>URL du serveur : </strong>${storageModel.restConfig.serverUrl}</li> + <li><strong>Utilisateur : </strong>${storageModel.restConfig.login}</li> + <li><strong>Mot de passe : </strong>*****</li> + <#if storageModel.restConfig.optionalDatabaseName.present> + <li><strong>Base de données : </strong>${storageModel.restConfig.optionalDatabaseName.get()}</li> + </#if> + <#else> + <li><strong>Utilisateur : </strong>${storageModel.h2Config.username}</li> + <li><strong>Mot de passe : </strong>*****</li> </#if> - <#else> - <li><strong>Utilisateur : </strong>${h2Config.username}</li> - <li><strong>Mot de passe : </strong>*****</li> - </#if> -</ul> \ No newline at end of file + <li><strong>Droits : </strong> + <ul> + <li> + <em>Référentiel : </em> + <#if storageModel.dataSourceInformation.canReadReferential() > + Lecture + <#if storageModel.dataSourceInformation.canWriteReferential() > + / Ecriture + </#if> + <#elseif storageModel.dataSourceInformation.canWriteReferential()> + Ecriture + <#else> + Aucun droit + </#if> + </li> + <li> + <em>Données observateur : </em> + <#if storageModel.dataSourceInformation.canReadData() > + Lecture + <#if storageModel.dataSourceInformation.canWriteData() > + / Ecriture + </#if> + <#elseif storageModel.dataSourceInformation.canWriteData() > + Ecriture + <#else> + Aucun droit + </#if> + </li> + </ul> + </li> + </ul> + +<#else> + NO STORAGE MODEL +</#if> +</#macro> \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.