branch develop updated (57db2f5e -> 969d1afd)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git from 57db2f5e correction des URL de ressource + correction onglet de l'édition d'un sondage + lien de pied de page new 969d1afd ajout du type de resource (choix ou screenshot) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 969d1afd1648d8af7671ed43e0c54d71b916ef35 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Jul 31 17:37:20 2017 +0200 ajout du type de resource (choix ou screenshot) Summary of changes: .../migration/h2/V3_0_0_5__add_type_in_resource.sql | 4 ++++ .../postgresql/V3_0_0_5__add_type_in_resource.sql | 4 ++++ pollen-persistence/src/main/xmi/pollen.properties | 2 +- pollen-persistence/src/main/xmi/pollen.zargo | Bin 26297 -> 26867 bytes .../pollen/rest/api/beans/Resource64Bean.java | 12 ++++++++++++ .../org/chorem/pollen/rest/api/v1/ApiUtils.java | 10 ++++++++++ .../pollen/services/bean/ResourceFileBean.java | 13 +++++++++++++ .../pollen/services/bean/ResourceMetaBean.java | 13 +++++++++++++ .../services/service/PollenResourceService.java | 2 ++ .../resources/i18n/pollen-services_en_GB.properties | 1 + .../resources/i18n/pollen-services_fr_FR.properties | 1 + pollen-ui-riot-js/src/main/web/js/Poll.js | 2 +- pollen-ui-riot-js/src/main/web/js/PollForm.js | 4 ++-- .../src/main/web/js/ResourceService.js | 4 ++-- .../src/main/web/tag/popup/FeedbackModal.tag.html | 3 ++- 15 files changed, 68 insertions(+), 7 deletions(-) create mode 100644 pollen-persistence/src/main/resources/db/migration/h2/V3_0_0_5__add_type_in_resource.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/postgresql/V3_0_0_5__add_type_in_resource.sql -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 969d1afd1648d8af7671ed43e0c54d71b916ef35 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Mon Jul 31 17:37:20 2017 +0200 ajout du type de resource (choix ou screenshot) --- .../migration/h2/V3_0_0_5__add_type_in_resource.sql | 4 ++++ .../postgresql/V3_0_0_5__add_type_in_resource.sql | 4 ++++ pollen-persistence/src/main/xmi/pollen.properties | 2 +- pollen-persistence/src/main/xmi/pollen.zargo | Bin 26297 -> 26867 bytes .../pollen/rest/api/beans/Resource64Bean.java | 12 ++++++++++++ .../org/chorem/pollen/rest/api/v1/ApiUtils.java | 10 ++++++++++ .../pollen/services/bean/ResourceFileBean.java | 13 +++++++++++++ .../pollen/services/bean/ResourceMetaBean.java | 13 +++++++++++++ .../services/service/PollenResourceService.java | 2 ++ .../resources/i18n/pollen-services_en_GB.properties | 1 + .../resources/i18n/pollen-services_fr_FR.properties | 1 + pollen-ui-riot-js/src/main/web/js/Poll.js | 2 +- pollen-ui-riot-js/src/main/web/js/PollForm.js | 4 ++-- .../src/main/web/js/ResourceService.js | 4 ++-- .../src/main/web/tag/popup/FeedbackModal.tag.html | 3 ++- 15 files changed, 68 insertions(+), 7 deletions(-) diff --git a/pollen-persistence/src/main/resources/db/migration/h2/V3_0_0_5__add_type_in_resource.sql b/pollen-persistence/src/main/resources/db/migration/h2/V3_0_0_5__add_type_in_resource.sql new file mode 100644 index 00000000..6a82f99f --- /dev/null +++ b/pollen-persistence/src/main/resources/db/migration/h2/V3_0_0_5__add_type_in_resource.sql @@ -0,0 +1,4 @@ +-- add type in pollenresource +alter table pollenresource add resourcetype longvarchar; +update pollenresource set resourcetype = 'CHOICE'; +update pollenresource set resourcetype = 'SCREENSHOT' where name = 'screenShot.jpeg' ; \ No newline at end of file diff --git a/pollen-persistence/src/main/resources/db/migration/postgresql/V3_0_0_5__add_type_in_resource.sql b/pollen-persistence/src/main/resources/db/migration/postgresql/V3_0_0_5__add_type_in_resource.sql new file mode 100644 index 00000000..d7307ee5 --- /dev/null +++ b/pollen-persistence/src/main/resources/db/migration/postgresql/V3_0_0_5__add_type_in_resource.sql @@ -0,0 +1,4 @@ +-- add type in pollenresource +alter table pollenresource add resourcetype text; +update pollenresource set resourcetype = 'CHOICE'; +update pollenresource set resourcetype = 'SCREENSHOT' where name = 'screenShot.jpeg' ; \ No newline at end of file diff --git a/pollen-persistence/src/main/xmi/pollen.properties b/pollen-persistence/src/main/xmi/pollen.properties index 4ee00b40..d6ac9ccd 100644 --- a/pollen-persistence/src/main/xmi/pollen.properties +++ b/pollen-persistence/src/main/xmi/pollen.properties @@ -18,7 +18,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # #L% ###m -model.tagvalue.version=3.0.0.4 +model.tagvalue.version=3.0.0.5 #model.tagValue.notGenerateToString=true #model.tagValue.constantPrefix=PROPERTY_ #model.tagValue.useEnumerationName=true diff --git a/pollen-persistence/src/main/xmi/pollen.zargo b/pollen-persistence/src/main/xmi/pollen.zargo index a9447c7e..ef9c933a 100644 Binary files a/pollen-persistence/src/main/xmi/pollen.zargo and b/pollen-persistence/src/main/xmi/pollen.zargo differ diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/beans/Resource64Bean.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/beans/Resource64Bean.java index ec236f98..d818e8d3 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/beans/Resource64Bean.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/beans/Resource64Bean.java @@ -1,5 +1,7 @@ package org.chorem.pollen.rest.api.beans; +import org.chorem.pollen.persistence.entity.ResourceType; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -11,6 +13,8 @@ public class Resource64Bean { protected String contentType; + protected ResourceType resourceType; + public String getData() { return data; } @@ -34,4 +38,12 @@ public class Resource64Bean { public void setContentType(String contentType) { this.contentType = contentType; } + + public ResourceType getResourceType() { + return resourceType; + } + + public void setResourceType(ResourceType resourceType) { + this.resourceType = resourceType; + } } diff --git a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ApiUtils.java b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ApiUtils.java index 0c8cd409..cebdb51c 100644 --- a/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ApiUtils.java +++ b/pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ApiUtils.java @@ -1,7 +1,9 @@ package org.chorem.pollen.rest.api.v1; import com.google.common.base.Charsets; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; +import org.chorem.pollen.persistence.entity.ResourceType; import org.chorem.pollen.rest.api.beans.Resource64Bean; import org.chorem.pollen.services.PollenTechnicalException; import org.chorem.pollen.services.bean.ResourceFileBean; @@ -16,6 +18,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.util.Base64; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -65,6 +68,12 @@ public class ApiUtils { resourceBean.setContentType(contentType); resourceBean.setSize(uploadFile.length()); + List<InputPart> resourceTypeInputs = multipartFormDataInput + .getFormDataMap() + .get("resourceType"); + if (CollectionUtils.isNotEmpty(resourceTypeInputs)) { + resourceBean.setResourceType(ResourceType.valueOf(resourceTypeInputs.get(0).getBodyAsString())); + } return resourceBean; } catch (IOException e) { @@ -89,6 +98,7 @@ public class ApiUtils { resourceBean.setContentType(resource64Bean.getContentType()); resourceBean.setSize(uploadFile.length()); + resourceBean.setResourceType(resource64Bean.getResourceType()); return resourceBean; diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java index bd01f2c5..526d9fa2 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java @@ -24,6 +24,7 @@ package org.chorem.pollen.services.bean; import org.apache.commons.io.IOUtils; import org.chorem.pollen.persistence.entity.PollenResource; import org.chorem.pollen.persistence.entity.PollenResourceImpl; +import org.chorem.pollen.persistence.entity.ResourceType; import javax.sql.rowset.serial.SerialBlob; import java.io.File; @@ -50,6 +51,8 @@ public class ResourceFileBean extends PollenBean<PollenResource> { protected String contentType; + protected ResourceType resourceType; + public ResourceFileBean() { super(PollenResource.class); } @@ -61,6 +64,7 @@ public class ResourceFileBean extends PollenBean<PollenResource> { setName(entity.getName()); setSize(entity.getSize()); setContentType(entity.getContentType()); + setResourceType(entity.getResourceType()); } @Override @@ -78,6 +82,7 @@ public class ResourceFileBean extends PollenBean<PollenResource> { entity.setName(getName()); entity.setSize(getSize()); entity.setContentType(getContentType()); + entity.setResourceType(getResourceType()); return entity; } @@ -125,4 +130,12 @@ public class ResourceFileBean extends PollenBean<PollenResource> { return new SerialBlob(IOUtils.toByteArray(stream)); } + + public ResourceType getResourceType() { + return resourceType; + } + + public void setResourceType(ResourceType resourceType) { + this.resourceType = resourceType; + } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceMetaBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceMetaBean.java index 08d5d8a3..b4e67f9c 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceMetaBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceMetaBean.java @@ -23,6 +23,7 @@ package org.chorem.pollen.services.bean; import org.chorem.pollen.persistence.entity.PollenResource; import org.chorem.pollen.persistence.entity.PollenResourceImpl; +import org.chorem.pollen.persistence.entity.ResourceType; /** * Created on 11/07/14. @@ -37,6 +38,8 @@ public class ResourceMetaBean extends PollenBean<PollenResource> { protected String contentType; + protected ResourceType resourceType; + protected ResourceMetaBean() { super(PollenResource.class); } @@ -48,6 +51,7 @@ public class ResourceMetaBean extends PollenBean<PollenResource> { setName(entity.getName()); setSize(entity.getSize()); setContentType(entity.getContentType()); + setResourceType(entity.getResourceType()); } @Override @@ -59,6 +63,7 @@ public class ResourceMetaBean extends PollenBean<PollenResource> { entity.setName(getName()); entity.setSize(getSize()); entity.setContentType(getContentType()); + entity.setResourceType(getResourceType()); return entity; } @@ -86,4 +91,12 @@ public class ResourceMetaBean extends PollenBean<PollenResource> { public void setContentType(String contentType) { this.contentType = contentType; } + + public ResourceType getResourceType() { + return resourceType; + } + + public void setResourceType(ResourceType resourceType) { + this.resourceType = resourceType; + } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java index b3098624..78e676af 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollenResourceService.java @@ -170,6 +170,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle toSave.setName(resource.getName()); toSave.setContentType(resource.getContentType()); toSave.setSize(resource.getSize()); + toSave.setResourceType(resource.getResourceType()); try { toSave.setResourceContent(resource.getResourceBlob()); } catch (IOException | SQLException e) { @@ -216,6 +217,7 @@ public class PollenResourceService extends PollenServiceSupport implements Polle errorMap.addError("size", message); } + checkNotNull(errorMap, PollenResource.PROPERTY_RESOURCE_TYPE, resource.getResourceType(), l(getLocale(),"pollen.error.resource.resourceTypeRequired")); return errorMap; } } diff --git a/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties b/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties index 77428b70..3878bd2e 100644 --- a/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties +++ b/pollen-services/src/main/resources/i18n/pollen-services_en_GB.properties @@ -89,6 +89,7 @@ pollen.error.report.level.mandatory=Report level can not be empty pollen.error.resource.empty=No resource sent pollen.error.resource.maxSize=File "%s" of %4.2f %s can't be over %4.2f %s. pollen.error.resource.notExist=Image don't exist +pollen.error.resource.resourceTypeRequired=Resource type is required pollen.error.user.bannedSelf=You can't banned yourself pollen.error.user.mailEmpty=The email address can not be empty pollen.error.user.mailExist=The email address already exists diff --git a/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties b/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties index f8305bf5..cba4a21c 100644 --- a/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties +++ b/pollen-services/src/main/resources/i18n/pollen-services_fr_FR.properties @@ -88,6 +88,7 @@ pollen.error.report.level.mandatory=Le type de signalement est obligatoire pollen.error.resource.empty=Aucune resource envoyé pollen.error.resource.maxSize=Le fichier « %s » de %4.2f %s ne doit pas dépasser %4.2f %s. pollen.error.resource.notExist=L'image n'existe pas sur le serveur +pollen.error.resource.resourceTypeRequired=Le type de resource est obligatoire pollen.error.user.bannedSelf=Vous ne pouvez pas vous bannir vous-même pollen.error.user.mailEmpty=L'adresse de courriel ne peut pas être vide pollen.error.user.mailExist=L'adresse de courriel existe déjà diff --git a/pollen-ui-riot-js/src/main/web/js/Poll.js b/pollen-ui-riot-js/src/main/web/js/Poll.js index 25685df7..ba4ba3a8 100644 --- a/pollen-ui-riot-js/src/main/web/js/Poll.js +++ b/pollen-ui-riot-js/src/main/web/js/Poll.js @@ -108,7 +108,7 @@ class Poll { if (this.id) { let promise; if (choice.choiceType === "RESOURCE" && choice.choiceValue.type) { - promise = resourceService.create(choice.choiceValue).then((result) => { + promise = resourceService.create(choice.choiceValue, "CHOICE").then((result) => { choice.choiceValue = result.id; return Promise.resolve(choice); }); diff --git a/pollen-ui-riot-js/src/main/web/js/PollForm.js b/pollen-ui-riot-js/src/main/web/js/PollForm.js index 15c5ca98..8eabde2d 100644 --- a/pollen-ui-riot-js/src/main/web/js/PollForm.js +++ b/pollen-ui-riot-js/src/main/web/js/PollForm.js @@ -150,7 +150,7 @@ class PollForm { let fileUploadPromises = []; this.choices.forEach((choice) => { if (choice.choiceType === "RESOURCE" && choice.choiceValue.name) { - let promise = resourceService.create(choice.choiceValue).then((result) => { + let promise = resourceService.create(choice.choiceValue, "CHOICE").then((result) => { choice.choiceValue = result.id; return result.id; }); @@ -178,7 +178,7 @@ class PollForm { let choicesPromises = this.choices.map(choice=> { let promise; if (choice.choiceType === "RESOURCE" && choice.choiceValue.type) { - promise = resourceService.create(choice.choiceValue) + promise = resourceService.create(choice.choiceValue, "CHOICE") .then((result) => { choice.choiceValue = result.id; return Promise.resolve(choice); diff --git a/pollen-ui-riot-js/src/main/web/js/ResourceService.js b/pollen-ui-riot-js/src/main/web/js/ResourceService.js index 8799faf4..d6e0d38e 100644 --- a/pollen-ui-riot-js/src/main/web/js/ResourceService.js +++ b/pollen-ui-riot-js/src/main/web/js/ResourceService.js @@ -32,9 +32,9 @@ class ResourceService extends FetchService { return url; } - create(resource) { + create(resource, resourceType) { let url = this._getUrlPrefix(); - return this.form(url, {resource: resource}, true); + return this.form(url, {resource: resource, resourceType: resourceType}, true); } create64(resource64) { diff --git a/pollen-ui-riot-js/src/main/web/tag/popup/FeedbackModal.tag.html b/pollen-ui-riot-js/src/main/web/tag/popup/FeedbackModal.tag.html index 370ea216..a61b5685 100644 --- a/pollen-ui-riot-js/src/main/web/tag/popup/FeedbackModal.tag.html +++ b/pollen-ui-riot-js/src/main/web/tag/popup/FeedbackModal.tag.html @@ -115,7 +115,8 @@ require("./Modal.tag.html"); let resource64 = { data: data, name: "screenShot.jpeg", - contentType: type + contentType: type, + resourceType: "SCREENSHOT" }; return resourceService.create64(resource64); }); -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm