Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
abbacf8
LUT-29580 : Remove deprecated resources
hohll Mar 10, 2025
f514999
LUT-29580 : Init default theme management in core and remove deprecat…
hohll Mar 10, 2025
c64b71b
LUT-29580 : Update init script
hohll Mar 10, 2025
3c8b952
LUT-29580 : Fix template default assignement
hohll Mar 11, 2025
571010c
LUT-29580 : Add core_datastore default theme keys
hohll Mar 11, 2025
7867576
Update _theme.ftl
hohll Mar 11, 2025
d9a7976
LUT-30367: Add theme management feature into LUTECE Core 7.2
YXME Aug 14, 2025
ff94fb1
LUT-30367: Add theme management feature into LUTECE Core 7.2
YXME Aug 14, 2025
7392ba3
LUT-30367: Remove old themes
hohll Sep 2, 2025
879f831
LUT-30367: Remove old themes
hohll Sep 2, 2025
b3df340
LUT-30367: Remove create, delete and update theme code add theme defa…
hohll Sep 2, 2025
47c4fae
LUT-30367: Add override's samples for lutece theme
hohll Sep 2, 2025
5644bb7
LUT-29666 : Remove jquery and fix labels
hohll May 14, 2025
112e3df
LUT-29666 : Add labels for BO properties management
hohll May 14, 2025
41a1e06
LUT-29666 : Remove unused libs for tabler theme
hohll May 14, 2025
6e716c7
LUT-29666 : Upgrade tabler to v 1.2.0
hohll May 14, 2025
fe3178a
LUT-29666 : Fix buttons colors
hohll May 14, 2025
69aeeec
LUT-29666 : Fix default page wrapper height for tabler theme
hohll May 14, 2025
f319410
LUT-29666 : Add toggle list / card function to module
hohll May 14, 2025
7297821
LUT-29666 : Add steps and upload input macro to themes
hohll May 14, 2025
d2d2563
LUT-29666 : Fix jquery version to same version in both theme
hohll May 14, 2025
ace95ef
LUT-29666 : Imrpove button dropdown behaviour
hohll May 14, 2025
55aacf3
LUT-29666 : Show image after upload if showImage new parameter is set
hohll May 14, 2025
4a79ff9
LUT-29666 : Improve aButton macro icon display
hohll May 14, 2025
56b2c1f
LUT-29666 : Fix text color
hohll May 14, 2025
c4fa115
LUT-29666 : Add params parameter and deprecated params treatment
hohll May 14, 2025
37d37ca
LUT-29666 : Set dark background for login if illustration is set
hohll May 14, 2025
d4367e8
LUT-29666 : Add nested to empty macro in tabler
hohll May 14, 2025
e3943f9
LUT-29666 : Fix button's size and color for home dashboards widget in…
hohll May 14, 2025
9b2a2aa
LUT-29666 : Fix logo size in admin header in tabler
hohll May 14, 2025
13fb921
LUT-29666 : Add params parameter to pageWrapper macro
hohll May 14, 2025
c6ce2f6
LUT-29666 : Fix css for formGroup in tabler
hohll May 14, 2025
871cbea
LUT-29666 : Fix mandatory star color for formLabel macro in tabler
hohll May 14, 2025
1679446
LUT-29666 : Wrap ul in card-header div for tabList macro in tabler
hohll May 14, 2025
9b59195
LUT-29666 : Improve css for paginationCombo macro in tabler
hohll May 14, 2025
4e8bd71
LUT-29666 : Fix label and icon spacing in offcanvas macro in tabler
hohll May 14, 2025
ddee6d4
LUT-29666 : Add default modal classes to modal macro in tabler
hohll May 14, 2025
2346258
LUT-29666 : Add nestedClass parameter with default "ms-auto" value to…
hohll May 14, 2025
6f045d1
LUT-29666 : Add default bg white color to boxBody to boxBody macro in…
hohll May 14, 2025
094598c
LUT-29666 : remove bottom margin to alert title in alert macro in tabler
hohll May 14, 2025
b4df6e1
LUT-29666 : Add accordion macro for themes
hohll May 14, 2025
4ede137
LUT-29666 : imrpove accordion's macros in tabler
hohll May 14, 2025
3a66dd0
LUT-29666 : Remove wrong li closing tag
hohll May 14, 2025
7d26d62
LUT-29666 : Fix corporate pageWrapper macro closing quote
hohll May 14, 2025
badd48a
LUT-29666 : Fix removed patternValidationRules param for tabler
hohll May 15, 2025
03128ae
LUT-29666 : Add new tabler version 1.4.0
hohll Sep 3, 2025
486eb4a
LUT-29666 : Remove loading class from html tag
hohll Sep 3, 2025
b2a3e63
LUT-29666 : Fix bean name
hohll Sep 3, 2025
9e7d5d5
LUT-29666 : Fix key name for welcome text
hohll Sep 3, 2025
d809779
LUT-30367: Improve default FO theme lutece and management : templates…
hohll Sep 10, 2025
049650b
LUT-30367: Add shared and lutece theme ressources
hohll Sep 10, 2025
8e2f368
LUT-29666 : Improve tabler 1.4 intergration in macros and css add new…
hohll Sep 10, 2025
f14316f
LUT-29666 : Fix errorPage JSP
hohll Sep 10, 2025
1db5fa1
LUT-29666 : Add default lutece resources
hohll Sep 10, 2025
0f39f7c
LUT-29666 : Update admin templates with manageFeatures macros
hohll Sep 10, 2025
226c333
LUT-29666 : Update BO messages
hohll Sep 10, 2025
facd7ae
LUT-29666 : Improve properties management for BO
hohll Sep 10, 2025
b059736
LUT-29666 : Update admin templates with manageFeatures macros
hohll Sep 10, 2025
69682c3
LUT-29666 : Update admin templates with manageFeatures macros
hohll Sep 10, 2025
47eca72
LUT-29666 : Improve dashboard admin templates
hohll Sep 10, 2025
460dddd
LUT-29666 : Improve xsl admin templates
hohll Sep 10, 2025
f527265
LUT-29666 : Improve workgroup admin templates
hohll Sep 10, 2025
3e08040
LUT-29666 : Improve workgroup admin templates
hohll Sep 10, 2025
cdaa428
LUT-29666 : Improve user admin templates
hohll Sep 10, 2025
df365d5
LUT-29666 : Improve user admin templates
hohll Sep 10, 2025
d53570e
LUT-29666 : Improve checkbox styles in templates
hohll Sep 10, 2025
2a121aa
LUT-29666 : Add id for empty box in view_user.html
hohll Sep 10, 2025
6887936
LUT-29666 : Improve rbac admin templates
hohll Sep 10, 2025
b1a69cd
LUT-29666 : Improve rbac adding stepper in admin templates and update…
hohll Sep 10, 2025
811d83f
LUT-29666 : Improve responsive preview in site admin
hohll Sep 10, 2025
3273d6b
LUT-29666 : Remove sub page from init script
hohll Sep 10, 2025
173aeb2
LUT-29666 : Upgrade to Tabler 1.4
hohll Sep 12, 2025
76f4d29
LUT-29666 : Improve rbac templates
hohll Sep 12, 2025
3f2f763
LUT-29666 : Fix overfow on offcanvas menu
hohll Sep 12, 2025
20c4ca3
LUT-29666 : Fix FO theme "lutece" menu
hohll Sep 12, 2025
6380b5e
LUT-29666 : Move create security headers template to offcanvas
hohll Sep 12, 2025
36ccf9d
LUT-29666 : Improve rbac templates
hohll Sep 12, 2025
c772a14
LUT-29666 : Add steps styles for Corporate
hohll Sep 12, 2025
8e44d8b
LUT-29666 : Add new toggleBtnClassAlign and toggleCardParentId param,…
hohll Sep 12, 2025
b635886
LUT-29666 : Add new params to luteceSearchList module and fix button …
hohll Sep 12, 2025
2c1973c
LUT-29666 : Improve daemon management template
hohll Sep 12, 2025
8193e8d
LUT-29666 : Improve featureItemColumn and manageFeatureItem macros an…
hohll Sep 15, 2025
39f684e
LUT-29666 : Improve mainling list management template
hohll Sep 15, 2025
700909f
LUT-29666 : Improve role management template
hohll Sep 15, 2025
b82bd15
LUT-29666 : Improve modify properties management template removing cu…
hohll Sep 15, 2025
d6e40bd
LUT-29666 : Improve pageHeader macro columns management
hohll Sep 15, 2025
018e084
LUT-29666 : Improve pageHeader macro columns management
hohll Sep 15, 2025
878d0aa
LUT-29666 : Clean pageTitle in dashboard templates
hohll Sep 15, 2025
6a6bcde
LUT-29666 : Set "danger" style to mandatory star
hohll Sep 15, 2025
3404f89
LUT-29666 : Fix wordgin for key manage_advanced_parameters.minimumPas…
hohll Sep 15, 2025
a7d4622
LUT-29666 : Remove hideTitl eparam on action dropdown list
hohll Sep 15, 2025
90ea489
LUT-29666 : Fix modify properties management template add default hei…
hohll Sep 16, 2025
99582bf
LUT-29666 : Fix bottom validation position
hohll Sep 16, 2025
8b8ea2a
LUT-29666 : Set same parameters feature icon for corporate
hohll Sep 16, 2025
7f807d1
LUT-30367: Improve theme management feature
YXME Sep 26, 2025
a6fa6f9
LUT-29666 : Fix init script
hohll Sep 29, 2025
d6398cb
LUT-29666 : Add default theme icon
hohll Sep 29, 2025
935db62
Update pom.xml
hohll Sep 30, 2025
3b2b9eb
LUT-30367: Add missing strGlobalThemeVersion param for setGlobalThe…
hohll Sep 30, 2025
9241916
LUT-30818 : Addition of a listener interface for user deletion
Sep 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<groupId>fr.paris.lutece</groupId>
<artifactId>lutece-core</artifactId>
<packaging>lutece-core</packaging>
<version>7.1.5-SNAPSHOT</version>
<version>7.2.0-SNAPSHOT</version>
<name>Lutece</name>
<url>http://dev.lutece.paris.fr/</url>

Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

84 changes: 84 additions & 0 deletions src/java/fr/paris/lutece/portal/business/theme/IThemeDAO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
/*
* Copyright (c) 2002-2014, Mairie de Paris
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright notice
* and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice
* and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* License 1.0
*/
package fr.paris.lutece.portal.business.theme;

import fr.paris.lutece.portal.business.style.Theme;
import fr.paris.lutece.util.ReferenceList;

import java.util.Collection;


/**
* This class provides Data Access methods for Theme objects
*/
public interface IThemeDAO
{
/**
* load the data of Level from the table
*
* @param strCodeTheme The indentifier of the object Theme
* @return The Instance of the object Theme
*/
Theme load( String strCodeTheme );

/**
* Returns a list of all the themes
*
* @return A collection of themes objects
*/
Collection<Theme> selectThemesList( );

/**
* Returns the list of the themes in form of a reference list
*
* @return the themes list in form of a ReferenceList object
*/
ReferenceList getThemesList( );

/**
* Sets the global theme
*
* @param strGlobalTheme The Global Theme

*/
void setGlobalTheme( String strGlobalTheme, String strGlobalThemeVersion );

/**
* Returns the global theme
*

* @return The Global Theme
*/
Theme getGlobalTheme( );
}
186 changes: 186 additions & 0 deletions src/java/fr/paris/lutece/portal/business/theme/ThemeDAO.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
/*
* Copyright (c) 2002-2014, Mairie de Paris
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright notice
* and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice
* and the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
* License 1.0
*/
package fr.paris.lutece.portal.business.theme;

import fr.paris.lutece.portal.business.datastore.DataEntity;
import fr.paris.lutece.portal.business.datastore.DataEntityDAO;
import fr.paris.lutece.portal.business.datastore.DataEntityHome;
import fr.paris.lutece.portal.business.style.Theme;
import fr.paris.lutece.util.ReferenceList;
import fr.paris.lutece.util.sql.DAOUtil;

import java.util.ArrayList;
import java.util.Collection;


/**
* This class provides Data Access methods for Theme objects
*/
public final class ThemeDAO implements IThemeDAO
{
private static final String SQL_QUERY_SELECT = " SELECT code_theme, theme_description, path_images, path_css, theme_author, " +
" theme_author_url, theme_version, theme_licence, path_js FROM core_theme WHERE code_theme = ?";
private static final String SQL_QUERY_SELECTALL = " SELECT code_theme, theme_description, path_images, path_css, theme_author, " +
" theme_author_url, theme_version, theme_licence, path_js FROM core_theme ORDER BY code_theme";
private static final String SQL_QUERY_SELECT_THEME = " SELECT code_theme, theme_description FROM core_theme";
private static final String SQL_QUERY_SELECT_GLOBAL_THEME = " SELECT tt.code_theme, tt.theme_description, tt.path_images, tt.path_css, " +
" tt.theme_author, tt.theme_author_url, tt.theme_version, tt.theme_licence, tt.path_js " +
" FROM core_theme tt WHERE tt.code_theme = ?";
private static final String SQL_QUERY_UPDATE_GLOBAL_THEME = " UPDATE core_datastore SET entity_value=? WHERE entity_key = 'theme.globalThemeCode' ";
private static final String SQL_QUERY_UPDATE_GLOBAL_THEME_VERSION = " UPDATE core_datastore SET entity_value=? WHERE entity_key = 'theme.globalThemeVersion' ";

/**
* {@inheritDoc}
*/
public Theme load( String strCodeTheme )
{
Theme theme = null;
try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT ) ) {
daoUtil.setString( 1, strCodeTheme );

daoUtil.executeQuery( );

if ( daoUtil.next( ) )
{
theme = new Theme( );
theme.setCodeTheme( daoUtil.getString( 1 ) );
theme.setThemeDescription( daoUtil.getString( 2 ) );
theme.setPathImages( daoUtil.getString( 3 ) );
theme.setPathCss( daoUtil.getString( 4 ) );
theme.setThemeAuthor( daoUtil.getString( 5 ) );
theme.setThemeAuthorUrl( daoUtil.getString( 6 ) );
theme.setThemeVersion( daoUtil.getString( 7 ) );
theme.setThemeLicence( daoUtil.getString( 8 ) );
theme.setPathJs( daoUtil.getString( 9 ) );
}
}
return theme;
}

/**
* {@inheritDoc}
*/
public Collection<Theme> selectThemesList( )
{
Collection<Theme> themeList = new ArrayList<Theme>( );
try (DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECTALL ) ) {
daoUtil.executeQuery( );

while ( daoUtil.next( ) )
{
Theme theme = new Theme( );

theme.setCodeTheme( daoUtil.getString( 1 ) );
theme.setThemeDescription( daoUtil.getString( 2 ) );
theme.setPathImages( daoUtil.getString( 3 ) );
theme.setPathCss( daoUtil.getString( 4 ) );
theme.setThemeAuthor( daoUtil.getString( 5 ) );
theme.setThemeAuthorUrl( daoUtil.getString( 6 ) );
theme.setThemeVersion( daoUtil.getString( 7 ) );
theme.setThemeLicence( daoUtil.getString( 8 ) );
theme.setPathJs( daoUtil.getString( 9 ) );

themeList.add( theme );
}
}
return themeList;
}

/**
* {@inheritDoc}
*/
public ReferenceList getThemesList( )
{
ReferenceList themesList = new ReferenceList( );
try ( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_THEME ) ) {
daoUtil.executeQuery( );

while ( daoUtil.next( ) )
{
themesList.addItem( daoUtil.getString( 1 ), daoUtil.getString( 2 ) );
}

}
return themesList;
}

/**
* {@inheritDoc }
*/
public void setGlobalTheme( String strGlobalTheme, String strGlobalThemeVersion )
{
try (DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE_GLOBAL_THEME ) )
{
daoUtil.setString( 1, strGlobalTheme );
daoUtil.executeUpdate( );
}

try (DAOUtil daoUtil = new DAOUtil( SQL_QUERY_UPDATE_GLOBAL_THEME_VERSION ) )
{
daoUtil.setString( 1, strGlobalThemeVersion );
daoUtil.executeUpdate( );
}
}

/**
* {@inheritDoc }
*/
public Theme getGlobalTheme( )
{
Theme theme = null;
DataEntity globalTheme = DataEntityHome.findByPrimaryKey("theme.globalThemeCode");
try( DAOUtil daoUtil = new DAOUtil( SQL_QUERY_SELECT_GLOBAL_THEME ) )
{
daoUtil.setString( 1, globalTheme.getValue() );
daoUtil.executeQuery( );

if ( daoUtil.next( ) )
{
theme = new Theme( );
theme.setCodeTheme( daoUtil.getString( 1 ) );
theme.setThemeDescription( daoUtil.getString( 2 ) );
theme.setPathImages( daoUtil.getString( 3 ) );
theme.setPathCss( daoUtil.getString( 4 ) );
theme.setThemeAuthor( daoUtil.getString( 5 ) );
theme.setThemeAuthorUrl( daoUtil.getString( 6 ) );
theme.setThemeVersion( daoUtil.getString( 7 ) );
theme.setThemeLicence( daoUtil.getString( 8 ) );
theme.setPathJs( daoUtil.getString( 9 ) );
}

}

return theme;
}
}
Loading