Skip to content

Update field #43

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<artifactId>lutece-global-pom</artifactId>
<groupId>fr.paris.lutece.tools</groupId>
<version>5.2.1</version>
<version>6.0.0</version>
</parent>

<modelVersion>4.0.0</modelVersion>
Expand Down Expand Up @@ -36,7 +36,7 @@
<dependency>
<groupId>fr.paris.lutece</groupId>
<artifactId>lutece-core</artifactId>
<version>[7.0.1,)</version>
<version>[7.0.6-SNAPSHOT,)</version>
<type>lutece-core</type>
</dependency>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@

import fr.paris.lutece.plugins.referencelist.business.ReferenceItem;
import fr.paris.lutece.portal.business.regularexpression.RegularExpression;

import java.io.Serializable;

import java.util.Date;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public final class FieldDAO implements IFieldDAO
private static final String SQL_QUERY_DELETE = "DELETE FROM genatt_field WHERE id_field = ? ";
private static final String SQL_QUERY_INSERT_VERIF_BY = "INSERT INTO genatt_verify_by(id_field,id_expression) VALUES(?,?) ";
private static final String SQL_QUERY_DELETE_VERIF_BY = "DELETE FROM genatt_verify_by WHERE id_field = ? and id_expression= ?";
private static final String SQL_QUERY_UPDATE = "UPDATE genatt_field SET "
private static final String SQL_QUERY_UPDATE = "UPDATE genatt_field SET "
+ "id_field=?,id_entry=?,code=?,title=?,value=?,default_value=?,pos=?,value_type_date=?,no_display_title=?,comment=? WHERE id_field = ?";
private static final String SQL_QUERY_SELECT_FIELD_BY_ID_ENTRY = SQL_QUERY_SELECT_ALL + " WHERE id_entry = ? ORDER BY pos";
private static final String SQL_QUERY_NEW_POSITION = "SELECT MAX(pos)" + " FROM genatt_field ";
Expand Down Expand Up @@ -113,6 +113,8 @@ public synchronized int insert( Field field, Plugin plugin )
daoUtil.setDate( nIndex++, ( field.getValueTypeDate( ) == null ) ? null : new Date( field.getValueTypeDate( ).getTime( ) ) );
daoUtil.setBoolean( nIndex++, field.isNoDisplayTitle( ) );
daoUtil.setString( nIndex++, field.getComment( ) );


daoUtil.executeUpdate( );
if ( daoUtil.nextGeneratedKey( ) )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
*/
package fr.paris.lutece.plugins.genericattributes.service;

import fr.paris.lutece.portal.service.fileimage.FileImagePublicService;
import fr.paris.lutece.portal.service.image.ImageResourceManager;
import fr.paris.lutece.portal.service.plugin.PluginDefaultImplementation;
import fr.paris.lutece.portal.service.util.AppPropertiesService;
Expand All @@ -59,5 +60,7 @@ public void init( )
{
ImageResourceManager.registerProvider( new ResponseImageResourceProvider( ) );
}

FileImagePublicService.init( );
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -99,4 +99,5 @@ public static String getUrlDownloadImageResponse( int nIdResponse )

return urlItem.getUrl( );
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,17 @@
import fr.paris.lutece.plugins.genericattributes.business.MandatoryError;
import fr.paris.lutece.plugins.genericattributes.business.Response;
import fr.paris.lutece.plugins.genericattributes.util.GenericAttributesUtils;
import fr.paris.lutece.portal.service.fileimage.FileImagePublicService;
import fr.paris.lutece.portal.service.i18n.I18nService;
import fr.paris.lutece.portal.service.image.ImageResourceManager;
import fr.paris.lutece.portal.service.message.AdminMessage;
import fr.paris.lutece.portal.service.message.AdminMessageService;
import fr.paris.lutece.portal.service.util.AppException;
import fr.paris.lutece.portal.service.util.AppLogService;
import fr.paris.lutece.portal.web.upload.MultipartHttpServletRequest;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
Expand All @@ -60,6 +65,7 @@
*/
public abstract class AbstractEntryTypeCheckBox extends AbstractEntryTypeChoice
{
private static final String MESSAGE_ERROR_FILE_IMAGE = "Error importing file.";
/**
* {@inheritDoc}
*/
Expand All @@ -76,6 +82,8 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
String strFieldInLine = request.getParameter( PARAMETER_FIELD_IN_LINE );
String strCSSClass = request.getParameter( PARAMETER_CSS_CLASS );
String strOnlyDisplayInBack = request.getParameter( PARAMETER_ONLY_DISPLAY_IN_BACK );
MultipartHttpServletRequest multipartRequest = ( MultipartHttpServletRequest ) request;
FileItem imageFileItem = multipartRequest.getFile( PARAMETER_ILLUSTRATION_IMAGE );

int nFieldInLine = -1;

Expand All @@ -101,6 +109,21 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
return AdminMessageService.getMessageUrl( request, strFieldError, ERROR_FIELD_REF_LIST, AdminMessage.TYPE_STOP );
}

if ( imageFileItem != null && imageFileItem.getSize( ) > 0 )
{
try
{
String strFileStoreKey = ImageResourceManager.addImageResource( FileImagePublicService.IMAGE_RESOURCE_TYPE_ID, imageFileItem );
GenericAttributesUtils.createOrUpdateField( entry, FIELD_ILLUSTRATION_IMAGE, null, strFileStoreKey );
}
catch ( Exception e )
{
AppLogService.error( MESSAGE_ERROR_FILE_IMAGE, e );
throw new AppException( MESSAGE_ERROR_FILE_IMAGE, e );
}
}


entry.setCode( strCode );
entry.setTitle( strTitle );
entry.setHelpMessage( strHelpMessage );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public GenericAttributeError getResponseData( Entry entry, HttpServletRequest re

if ( !entry.isMandatory( ) )
{
String sourceBase = request.getParameter( ( IEntryTypeService.PREFIX_ATTRIBUTE + entry.getIdEntry( ) ) );
String sourceBase = request.getParameter( ( PREFIX_ATTRIBUTE + entry.getIdEntry( ) ) );

Response response = getResponseFromImage( sourceBase, entry, false );
response.setIterationNumber( getResponseIterationValue( request ) );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,16 @@
import fr.paris.lutece.plugins.genericattributes.business.MandatoryError;
import fr.paris.lutece.plugins.genericattributes.business.Response;
import fr.paris.lutece.plugins.genericattributes.util.GenericAttributesUtils;
import fr.paris.lutece.portal.service.fileimage.FileImagePublicService;
import fr.paris.lutece.portal.service.i18n.I18nService;
import fr.paris.lutece.portal.service.image.ImageResourceManager;
import fr.paris.lutece.portal.service.message.AdminMessage;
import fr.paris.lutece.portal.service.message.AdminMessageService;
import fr.paris.lutece.portal.service.util.AppException;
import fr.paris.lutece.portal.service.util.AppLogService;
import fr.paris.lutece.portal.web.upload.MultipartHttpServletRequest;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.lang3.StringUtils;

import java.util.List;
Expand All @@ -56,6 +61,7 @@
*/
public abstract class AbstractEntryTypeRadioButton extends AbstractEntryTypeChoice
{
private static final String MESSAGE_ERROR_FILE_IMAGE = "Error importing file.";
/**
* {@inheritDoc}
*/
Expand All @@ -71,6 +77,8 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
String strFieldInLine = request.getParameter( PARAMETER_FIELD_IN_LINE );
String strCSSClass = request.getParameter( PARAMETER_CSS_CLASS );
String strOnlyDisplayInBack = request.getParameter( PARAMETER_ONLY_DISPLAY_IN_BACK );
MultipartHttpServletRequest multipartRequest = ( MultipartHttpServletRequest ) request;
FileItem imageFileItem = multipartRequest.getFile( PARAMETER_ILLUSTRATION_IMAGE );

int nFieldInLine = -1;

Expand All @@ -96,6 +104,19 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
return AdminMessageService.getMessageUrl( request, strFieldError, ERROR_FIELD_REF_LIST, AdminMessage.TYPE_STOP );
}

if ( imageFileItem != null && imageFileItem.getSize( ) > 0 )
{
try
{
String strFileStoreKey = ImageResourceManager.addImageResource( FileImagePublicService.IMAGE_RESOURCE_TYPE_ID, imageFileItem);
GenericAttributesUtils.createOrUpdateField( entry, FIELD_ILLUSTRATION_IMAGE, null, strFileStoreKey );
}
catch ( Exception e )
{
AppLogService.error( MESSAGE_ERROR_FILE_IMAGE, e );
throw new AppException( MESSAGE_ERROR_FILE_IMAGE, e );
}
}
entry.setCode( strCode );
entry.setTitle( strTitle );
entry.setHelpMessage( strHelpMessage );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
import java.util.Locale;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.lang3.StringUtils;

import fr.paris.lutece.plugins.genericattributes.business.Entry;
Expand All @@ -48,19 +48,25 @@
import fr.paris.lutece.plugins.genericattributes.business.Response;
import fr.paris.lutece.plugins.genericattributes.util.GenericAttributesUtils;
import fr.paris.lutece.portal.business.regularexpression.RegularExpression;
import fr.paris.lutece.portal.service.fileimage.FileImagePublicService;
import fr.paris.lutece.portal.service.i18n.I18nService;
import fr.paris.lutece.portal.service.image.ImageResourceManager;
import fr.paris.lutece.portal.service.message.AdminMessage;
import fr.paris.lutece.portal.service.message.AdminMessageService;
import fr.paris.lutece.portal.service.plugin.Plugin;
import fr.paris.lutece.portal.service.regularexpression.RegularExpressionService;
import fr.paris.lutece.portal.service.util.AppException;
import fr.paris.lutece.portal.service.util.AppLogService;
import fr.paris.lutece.util.ReferenceList;
import fr.paris.lutece.util.string.StringUtil;
import fr.paris.lutece.portal.web.upload.MultipartHttpServletRequest;

/**
* Abstract entry type for text
*/
public abstract class AbstractEntryTypeText extends EntryTypeService
{
private static final String MESSAGE_ERROR_FILE_IMAGE = "Error importing file.";
/**
* {@inheritDoc}
*/
Expand All @@ -84,6 +90,8 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
String strErrorMessage = request.getParameter( PARAMETER_ERROR_MESSAGE );
String strIndexed = request.getParameter( PARAMETER_INDEXED );
String strPlaceholder = request.getParameter( PARAMETER_PLACEHOLDER );
MultipartHttpServletRequest multipartRequest = ( MultipartHttpServletRequest ) request;
FileItem imageFileItem = multipartRequest.getFile( PARAMETER_ILLUSTRATION_IMAGE );

int nWidth = -1;
int nMaxSizeEnter = -1;
Expand Down Expand Up @@ -153,11 +161,25 @@ public String getRequestData( Entry entry, HttpServletRequest request, Locale lo
entry.setErrorMessage( strErrorMessage );
entry.setCode( strCode );

if ( imageFileItem != null && imageFileItem.getSize( ) > 0 )
{
try
{
String strFileStoreKey = ImageResourceManager.addImageResource( FileImagePublicService.IMAGE_RESOURCE_TYPE_ID, imageFileItem );
GenericAttributesUtils.createOrUpdateField( entry, FIELD_ILLUSTRATION_IMAGE, imageFileItem.getName( ), strFileStoreKey );
}
catch ( Exception e )
{
AppLogService.error( MESSAGE_ERROR_FILE_IMAGE, e );
throw new AppException( MESSAGE_ERROR_FILE_IMAGE, e );
}
}

GenericAttributesUtils.createOrUpdateField( entry, FIELD_TEXT_CONF, null, strValue );
GenericAttributesUtils.createOrUpdateField( entry, FIELD_WIDTH, null, String.valueOf( nWidth ) );
GenericAttributesUtils.createOrUpdateField( entry, FIELD_MAX_SIZE, null, String.valueOf( nMaxSizeEnter ) );
GenericAttributesUtils.createOrUpdateField( entry, FIELD_PLACEHOLDER, null, strPlaceholder != null ? strPlaceholder : StringUtils.EMPTY );

entry.setMandatory( strMandatory != null );
entry.setOnlyDisplayInBack( strOnlyDisplayInBack != null );

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ public interface IEntryTypeService
String PARAMETER_USE_REF_LIST = "use_ref_list";
String PARAMETER_REF_LIST_SELECT = "select_ref_list";
String PARAMETER_PLACEHOLDER = "placeholder";
String PARAMETER_ILLUSTRATION_IMAGE = "illustration_image";

// Fields codes
String FIELD_DATE_VALUE = "default_date_value";
Expand Down Expand Up @@ -137,6 +138,7 @@ public interface IEntryTypeService
String FIELD_USE_REF_LIST = "use_ref_list";
String FIELD_ANONYMIZABLE = "anonymizable";
String FIELD_PLACEHOLDER = "placeholder";
String FIELD_ILLUSTRATION_IMAGE = "illustration_image";

// attribute
String ATTRIBUTE_RESPONSE_ITERATION_NUMBER = "response_iteration_number";
Expand Down