Author: tdraier
Date: Mon Dec 24 13:28:07 2007
New Revision: 19408
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19408&repname=
=3Djahia
Log:
better license checks for multi lang and multi site (JAHIA-2454)
Modified:
trunk/core/src/java/org/jahia/admin/sites/ManageSites.java
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java
trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java
Modified: trunk/core/src/java/org/jahia/admin/sites/ManageSites.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/admin/sites/ManageSites.java&rev=3D19408&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/admin/sites/ManageSites.java (original)
+++ trunk/core/src/java/org/jahia/admin/sites/ManageSites.java Mon Dec 24 1=
3:28:07 2007
@@ -51,6 +51,7 @@
import org.jahia.registries.SharedTemplatePackagesRegistry;
import org.jahia.resourcebundle.JahiaResourceBundle;
import org.jahia.security.license.License;
+import org.jahia.security.license.LicenseActionChecker;
import org.jahia.services.acl.JahiaBaseACL;
import org.jahia.services.files.JahiaTextFileService;
import org.jahia.services.importexport.ImportExportBaseService;
@@ -2237,19 +2238,27 @@
=
JahiaAdministration.doRedirect(request, response, session, JSP=
_PATH + "import_choose.jsp");
} else {
+ boolean license =3D LicenseActionChecker.isAuthorizedByLicense=
("org.jahia.actions.server.admin.sites.ManageSites", 0);
+ boolean noMoreSite =3D false;
+
for (Iterator iterator =3D importsInfos.keySet().iterator(); i=
terator.hasNext();) {
File file =3D (File) iterator.next();
if (request.getParameter(file.getName()+"selected") !=3D n=
ull) {
Map infos =3D (Map) importsInfos.get(file);
if (infos.get("importFileName").equals("serverPermissi=
ons.xml")) {
- ImportExportBaseService.getInstance().importServer=
Permissions(jParams, new FileInputStream(file));
+ if (LicenseActionChecker.isAuthorizedByLicense("or=
g.jahia.actions.server.admin.permissions.ManageServerPermissions", 0)) {
+ ImportExportBaseService.getInstance().importSe=
rverPermissions(jParams, new FileInputStream(file));
+ }
} else {
// site import
String tpl =3D (String) infos.get("templates");
if ("".equals(tpl)) tpl =3D null;
try {
- createSite(request, jParams.getUser().getUsern=
ame(), (String) infos.get("sitetitle"),
- (String) infos.get("siteservername"), =
(String) infos.get("sitekey"), "", jParams.getLocale(), null, null, null, t=
pl, file, (String) infos.get("importFileName"),true);
+ if (! noMoreSite) {
+ createSite(request, jParams.getUser().getU=
sername(), (String) infos.get("sitetitle"),
+ (String) infos.get("siteservername=
"), (String) infos.get("sitekey"), "", jParams.getLocale(), null, null, nul=
l, tpl, file, (String) infos.get("importFileName"),true);
+ noMoreSite =3D !license;
+ }
} catch (Throwable e) {
logger.error("Cannot create site " + infos.get=
("sitetitle"), e);
}
Modified: trunk/core/src/java/org/jahia/services/importexport/ImportExportB=
aseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/importexport/ImportExportBaseService.java&rev=3D19408&rep=
name=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java (original)
+++ trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java Mon Dec 24 13:28:07 2007
@@ -1551,8 +1551,8 @@
logger.error("Cannot get languages", e);
}
=
-// boolean isMultiLang =3D LicenseActionChecker.isAuthorize=
dByLicense("org.jahia.actions.sites.*.admin.languages.ManageSiteLanguages",=
0);
-//
+ boolean isMultiLang =3D LicenseActionChecker.isAuthorizedB=
yLicense("org.jahia.actions.sites.*.admin.languages.ManageSiteLanguages",0);
+
for (Iterator iterator =3D keys.iterator(); iterator.hasNe=
xt();) {
String property =3D (String) iterator.next();
String value =3D p.getProperty(property);
@@ -1565,14 +1565,14 @@
SiteLanguageSettings set;
=
if (!m.containsKey(lang)) {
-// if (isMultiLang || m.isEmpty()) {
+ if (isMultiLang || m.isEmpty()) {
set =3D new SiteLanguageSettings(site.getI=
D(), lang, true, m.size()+1, false);
m.put(lang, set);
} else {
-// logger.warn("Multilanguage is not author=
ized by license, "+lang+" will be ignored");
-// continue;
-// }
-// } else {
+ logger.warn("Multilanguage is not authoriz=
ed by license, "+lang+" will be ignored");
+ continue;
+ }
+ } else {
set =3D (SiteLanguageSettings) m.get(lang);
}
if ("rank".equals(t)) {
Modified: trunk/core/src/java/org/jahia/services/importexport/ImportHandler=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/importexport/ImportHandler.java&rev=3D19408&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
(original)
+++ trunk/core/src/java/org/jahia/services/importexport/ImportHandler.java =
Mon Dec 24 13:28:07 2007
@@ -77,6 +77,7 @@
import org.jahia.services.esi.EsiService;
import org.jahia.utils.LanguageCodeConverters;
import org.jahia.engines.EngineMessage;
+import org.jahia.security.license.LicenseActionChecker;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.Locator;
@@ -162,11 +163,15 @@
=
if (!languageSettingsAsLocales.contains(currentLocale) && (cur=
rentObject =3D=3D null || (updateOnly && currentObject.getParent(null)=3D=
=3Dnull))) {
// create site language
- SiteLanguageSettings newLanguage =3D
- new SiteLanguageSettings(site.getID(), currentLoca=
le.toString(), true, languageSettingsAsLocales.size()+1, false);
- JahiaSiteLanguageListManager listManager =3D (JahiaSiteLan=
guageListManager) SpringContextSingleton.getInstance().getContext().getBean=
(JahiaSiteLanguageListManager.class.getName());
- listManager.addSiteLanguageSettings(newLanguage);
- languageSettingsAsLocales =3D site.getLanguageSettingsAsLo=
cales(false);
+ if (LicenseActionChecker.isAuthorizedByLicense("org.jahia.=
actions.sites.*.admin.languages.ManageSiteLanguages",0) || languageSettings=
AsLocales.isEmpty()) {
+ SiteLanguageSettings newLanguage =3D
+ new SiteLanguageSettings(site.getID(), current=
Locale.toString(), true, languageSettingsAsLocales.size()+1, false);
+ JahiaSiteLanguageListManager listManager =3D (JahiaSit=
eLanguageListManager) SpringContextSingleton.getInstance().getContext().get=
Bean(JahiaSiteLanguageListManager.class.getName());
+ listManager.addSiteLanguageSettings(newLanguage);
+ languageSettingsAsLocales =3D site.getLanguageSettings=
AsLocales(false);
+ } else {
+ throw new SAXException("languages");
+ }
} else {
while (!languageSettingsAsLocales.contains(currentLocale))=
{
if (!"".equals(currentLocale.getVariant())) {
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list