Author: xlawrence
Date: Fri Aug 31 16:55:02 2007
New Revision: 18331
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18331&repname=
=3Djahia
Log:
resolve issue: http://www.jahia.net/jira/browse/JAHIA-2158
If all values are the same in all languages, the shared language icon is se=
t to true
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/Fields=
EditHelper.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/Fields=
EditHelperAbstract.java
branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/containe=
redit/fieldedit.inc
branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/p=
age_field.jsp
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
FieldsEditHelper.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/FieldsEditHelper.java&rev=3D183=
31&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/Fields=
EditHelper.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/Fields=
EditHelper.java Fri Aug 31 16:55:02 2007
@@ -14,7 +14,8 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied=
. =
* See the License for the specific language governing permissions and =
* limitations under the License.
- */package org.jahia.data.fields;
+ */
+package org.jahia.data.fields;
=
import java.util.HashMap;
import java.util.Hashtable;
@@ -30,11 +31,11 @@
import java.io.Serializable;
=
/**
- *
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: Jahia Ltd</p>
+ *
* @author not attributable
* @version 1.0
*/
@@ -58,7 +59,7 @@
=
public Hashtable getFieldForms();
=
- public void setFieldForms (Hashtable fieldForms);
+ public void setFieldForms(Hashtable fieldForms);
=
public void addFieldForm(int fieldId, String fieldForm);
=
@@ -89,57 +90,61 @@
/**
* Process current fields, return false on error
*
- * @param engineName String
+ * @param engineName String
* @param jahiaContentContainerFacade ContainerFacadeInterface
- * @param elh EngineLanguageHelper
- * @param jParams ProcessingContext
- * @param engineMap HashMap
- * @param mode int
- * @throws JahiaException
+ * @param elh EngineLanguageHelper
+ * @param jParams ProcessingContext
+ * @param engineMap HashMap
+ * @param mode int
* @return boolean
+ * @throws JahiaException
*/
- public boolean processCurrentFields (String engineName,
- ContainerFacadeInterface jahi=
aContentContainerFacade,
- EngineLanguageHelper elh,
- ProcessingContext jParams, HashMap engineMap, int mode)
+ public boolean processCurrentFields(String engineName,
+ ContainerFacadeInterface jahiaCont=
entContainerFacade,
+ EngineLanguageHelper elh,
+ ProcessingContext jParams, HashMap=
engineMap, int mode)
throws JahiaException;
=
/**
* Process last field, return false on error
*
- * @param engineName String
+ * @param engineName String
* @param jahiaContentContainerFacade ContainerFacadeInterface
- * @param elh EngineLanguageHelper
- * @param jParams ProcessingContext
- * @param engineMap HashMap
- * @param mode int
- * @throws JahiaException
+ * @param elh EngineLanguageHelper
+ * @param jParams ProcessingContext
+ * @param engineMap HashMap
+ * @param mode int
* @return boolean
+ * @throws JahiaException
*/
- public boolean processLastFields (String engineName,
- ContainerFacadeInterface jahiaConten=
tContainerFacade,
- EngineLanguageHelper elh,
- ProcessingContext jParams,
- HashMap engineMap,
- int mode)
- throws JahiaException;
+ public boolean processLastFields(String engineName,
+ ContainerFacadeInterface jahiaContent=
ContainerFacade,
+ EngineLanguageHelper elh,
+ ProcessingContext jParams,
+ HashMap engineMap,
+ int mode)
+ throws JahiaException;
=
/**
* Check Fields validation
*
- * @param engineName String
+ * @param engineName String
* @param jahiaContentContainerFacade ContainerFacadeInterface
- * @param elh EngineLanguageHelper
- * @param jParams ProcessingContext
- * @param engineMap HashMap
- * @throws JahiaException
+ * @param elh EngineLanguageHelper
+ * @param jParams ProcessingContext
+ * @param engineMap HashMap
* @return EngineValidationHelper
+ * @throws JahiaException
*/
- public abstract EngineValidationHelper validate (String engineName,
- ContainerFacadeInterface=
jahiaContentContainerFacade,
- EngineLanguageHelper elh,
- ProcessingContext jParam=
s,
- HashMap engineMap)
- throws JahiaException;
+ public abstract EngineValidationHelper validate(String engineName,
+ ContainerFacadeInterfa=
ce jahiaContentContainerFacade,
+ EngineLanguageHelper e=
lh,
+ ProcessingContext jPar=
ams,
+ HashMap engineMap)
+ throws JahiaException;
+
+ public abstract boolean areValuesTheSameInAllActiveLanguages(final Jah=
iaField theField,
+ final Con=
tainerFacadeInterface jahiaContentContainerFacade)
+ throws JahiaException;
=
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/=
FieldsEditHelperAbstract.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/data/fields/FieldsEditHelperAbstract.java&r=
ev=3D18331&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/Fields=
EditHelperAbstract.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/data/fields/Fields=
EditHelperAbstract.java Fri Aug 31 16:55:02 2007
@@ -14,7 +14,8 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied=
. =
* See the License for the specific language governing permissions and =
* limitations under the License.
- */package org.jahia.data.fields;
+ */
+package org.jahia.data.fields;
=
import org.jahia.data.containers.ContainerEditView;
import org.jahia.data.containers.ContainerEditViewFieldGroup;
@@ -39,21 +40,21 @@
import java.util.*;
=
/**
- *
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: Jahia Ltd</p>
+ *
* @author not attributable
* @version 1.0
*/
public abstract class FieldsEditHelperAbstract implements FieldsEditHelper=
{
=
private static final org.apache.log4j.Logger logger =3D
- org.apache.log4j.Logger.getLogger (FieldsEditHelperAbstract.cl=
ass);
+ org.apache.log4j.Logger.getLogger(FieldsEditHelperAbstract.cla=
ss);
=
public static String FIELDS_EDIT_HELPER_CONTEXTID =3D
- "org.jahia.data.fields.FieldsEditHelper.ContextID";
+ "org.jahia.data.fields.FieldsEditHelper.ContextID";
=
private int selectedFieldId; // selected fieldId
private int lastFieldId;
@@ -62,113 +63,113 @@
private HashMap updatedFields =3D new HashMap(); // updated fiels
private boolean stayOnSameField;
=
- public JahiaField getSelectedField(){
+ public JahiaField getSelectedField() {
return this.getField(this.getSelectedFieldId());
}
=
- public int getSelectedFieldId(){
+ public int getSelectedFieldId() {
return this.selectedFieldId;
}
=
- public void setSelectedFieldId(int fieldId){
+ public void setSelectedFieldId(int fieldId) {
this.selectedFieldId =3D fieldId;
}
=
- public int getLastFieldId(){
+ public int getLastFieldId() {
return this.lastFieldId;
}
=
- public void setLastFieldId(int fieldId){
+ public void setLastFieldId(int fieldId) {
this.lastFieldId =3D fieldId;
}
=
- public HashMap getUpdatedFields(){
- if ( this.updatedFields =3D=3D null ){
+ public HashMap getUpdatedFields() {
+ if (this.updatedFields =3D=3D null) {
this.updatedFields =3D new HashMap();
}
return this.updatedFields;
}
=
- public void addUpdatedField(int fieldId, String languageCode){
- if ( languageCode =3D=3D null ){
+ public void addUpdatedField(int fieldId, String languageCode) {
+ if (languageCode =3D=3D null) {
return;
}
- ArrayList langs =3D (ArrayList)this.getUpdatedFields().get(new Int=
eger(fieldId));
- if ( langs =3D=3D null ){
+ ArrayList langs =3D (ArrayList) this.getUpdatedFields().get(new In=
teger(fieldId));
+ if (langs =3D=3D null) {
langs =3D new ArrayList();
- this.getUpdatedFields().put(new Integer(fieldId),langs);
+ this.getUpdatedFields().put(new Integer(fieldId), langs);
}
- if ( !langs.contains(languageCode) ){
+ if (!langs.contains(languageCode)) {
langs.add(languageCode);
}
}
=
- public boolean containsUpdatedField(int fieldId, String languageCode){
- if ( languageCode =3D=3D null ){
+ public boolean containsUpdatedField(int fieldId, String languageCode) {
+ if (languageCode =3D=3D null) {
return false;
}
- ArrayList langs =3D (ArrayList)this.getUpdatedFields().get(new Int=
eger(fieldId));
- if ( langs !=3D null ){
- return ( languageCode.equals(ContentField.SHARED_LANGUAGE)
- || langs.contains(languageCode) );
+ ArrayList langs =3D (ArrayList) this.getUpdatedFields().get(new In=
teger(fieldId));
+ if (langs !=3D null) {
+ return (languageCode.equals(ContentField.SHARED_LANGUAGE)
+ || langs.contains(languageCode));
}
return false;
}
=
- public Hashtable getFieldForms(){
- if ( this.fieldForms =3D=3D null ){
+ public Hashtable getFieldForms() {
+ if (this.fieldForms =3D=3D null) {
this.fieldForms =3D new Hashtable();
}
return this.fieldForms;
}
=
- public void setFieldForms (Hashtable fieldForms){
+ public void setFieldForms(Hashtable fieldForms) {
this.fieldForms =3D fieldForms;
}
=
- public void addFieldForm(int fieldId, String fieldForm){
- if ( fieldForm =3D=3D null ){
+ public void addFieldForm(int fieldId, String fieldForm) {
+ if (fieldForm =3D=3D null) {
return;
}
- this.getFieldForms().put(new Integer(fieldId),fieldForm);
+ this.getFieldForms().put(new Integer(fieldId), fieldForm);
}
=
- public String getFieldForm(int fieldId){
- return (String)this.getFieldForms().get(new Integer(fieldId));
+ public String getFieldForm(int fieldId) {
+ return (String) this.getFieldForms().get(new Integer(fieldId));
}
=
- public void setContainerEditView(ContainerEditView ctnEditView){
+ public void setContainerEditView(ContainerEditView ctnEditView) {
this.ctnEditView =3D ctnEditView;
}
=
- public ContainerEditView getContainerEditView(){
+ public ContainerEditView getContainerEditView() {
return this.ctnEditView;
}
=
- public void setStayOnSameField(boolean stayOnSameField){
+ public void setStayOnSameField(boolean stayOnSameField) {
this.stayOnSameField =3D stayOnSameField;
}
=
- public boolean getStayOnSameField(){
+ public boolean getStayOnSameField() {
return this.stayOnSameField;
}
=
- public void processRequest(ProcessingContext jParams, int lastFieldId){
- String fieldIdStr =3D jParams.getParameter ("lastfid");
+ public void processRequest(ProcessingContext jParams, int lastFieldId)=
{
+ String fieldIdStr =3D jParams.getParameter("lastfid");
int fieldId =3D 0;
try {
- fieldId =3D Integer.parseInt (fieldIdStr);
+ fieldId =3D Integer.parseInt(fieldIdStr);
this.setLastFieldId(fieldId);
} catch (NumberFormatException nfe) {
}
=
- fieldIdStr =3D jParams.getParameter ("editfid");
+ fieldIdStr =3D jParams.getParameter("editfid");
try {
- fieldId =3D Integer.parseInt (fieldIdStr);
+ fieldId =3D Integer.parseInt(fieldIdStr);
this.setSelectedFieldId(fieldId);
} catch (NumberFormatException nfe) {
}
- if ( lastFieldId !=3D 0 ){
+ if (lastFieldId !=3D 0) {
this.setSelectedFieldId(lastFieldId);
}
}
@@ -176,37 +177,37 @@
/**
* Process last field, return false on error
*
- * @param engineName String
+ * @param engineName String
* @param jahiaContentContainerFacade ContainerFacadeInterface
- * @param elh EngineLanguageHelper
- * @param jParams ProcessingContext
- * @param engineMap HashMap
- * @param mode int
- * @throws JahiaException
+ * @param elh EngineLanguageHelper
+ * @param jParams ProcessingContext
+ * @param engineMap HashMap
+ * @param mode int
* @return boolean
+ * @throws JahiaException
*/
- public boolean processLastFields (String engineName,
- ContainerFacadeInterface jahiaCo=
ntentContainerFacade,
- EngineLanguageHelper elh,
- ProcessingContext jParams,
- HashMap engineMap,
- int mode)
- throws JahiaException {
+ public boolean processLastFields(String engineName,
+ ContainerFacadeInterface jahiaContent=
ContainerFacade,
+ EngineLanguageHelper elh,
+ ProcessingContext jParams,
+ HashMap engineMap,
+ int mode)
+ throws JahiaException {
=
- engineMap.put("fieldsEditCallingEngineName",engineName); // @todo =
: make as Constant
- engineMap.put (JahiaEngine.PROCESSING_LOCALE,
+ engineMap.put("fieldsEditCallingEngineName", engineName); // @todo=
: make as Constant
+ engineMap.put(JahiaEngine.PROCESSING_LOCALE,
elh.getPreviousLocale());
=
- JahiaContainer theContainer =3D jahiaContentContainerFacade.getCon=
tainer (
+ JahiaContainer theContainer =3D jahiaContentContainerFacade.getCon=
tainer(
elh.getPreviousEntryLoadRequest(), true);
=
- engineMap.put (engineName + "." + "theContainer", theContainer);
+ engineMap.put(engineName + "." + "theContainer", theContainer);
=
- JahiaField theField =3D theContainer.getField (this.getLastFieldId=
());
+ JahiaField theField =3D theContainer.getField(this.getLastFieldId(=
));
=
if (theField =3D=3D null) {
- if ( theContainer.getctndefid()>0){
- logger.error("Field not found in container "+theContainer.=
getID()+ " definition name =3D " + theContainer.getDefinition().getName() +=
", we are searching field "+ getLastFieldId()+ " in fields "+ ToStringBuil=
der.reflectionToString(theContainer.getFields()));
+ if (theContainer.getctndefid() > 0) {
+ logger.error("Field not found in container " + theContaine=
r.getID() + " definition name =3D " + theContainer.getDefinition().getName(=
) + ", we are searching field " + getLastFieldId() + " in fields " + ToStri=
ngBuilder.reflectionToString(theContainer.getFields()));
}
this.setStayOnSameField(true);
return false;
@@ -219,45 +220,46 @@
}
=
ContainerEditViewFieldGroup fieldGroup =3D getContainerEditView()
- .getFieldGroupByFieldName=
(theField.getDefinition().getName ());
+ .getFieldGroupByFieldName(theField.getDefinition().getName=
());
=
boolean errorOccured =3D false;
=
// get the lists of fields in the edit view
- int size =3D fieldGroup.getFieldNames ().size ();
+ int size =3D fieldGroup.getFieldNames().size();
String fieldName =3D "";
for (int i =3D 0; i < size; i++) {
- fieldName =3D (String) fieldGroup.getFieldNames ().get (i);
+ fieldName =3D (String) fieldGroup.getFieldNames().get(i);
=
// dispatches to the appropriate sub engine
- theField =3D theContainer.getField (fieldName);
+ theField =3D theContainer.getField(fieldName);
if (theField !=3D null) {
=
- int fieldType =3D theField.getType ();
+ int fieldType =3D theField.getType();
=
- logger.debug ("Update container field " +
- theField.getDefinition ().getName () + "...");
- engineMap.put (engineName+"."+"theField", theField);
- engineMap.put (engineName+"."+"isSelectedField", Boolean.F=
ALSE);
+ logger.debug("Update container field " +
+ theField.getDefinition().getName() + "...");
+ engineMap.put(engineName + "." + "theField", theField);
+ engineMap.put(engineName + "." + "isSelectedField", Boolea=
n.FALSE);
=
boolean doUpdate =3D false;
HashMap ctnListFieldAcls =3D this.getCtnListFieldAcls();
int fieldId =3D theField.getID();
- if (theContainer.getListID () !=3D 0 && ctnListFieldAcls !=
=3D null && fieldId >0){
- JahiaBaseACL acl =3D JahiaEngineTools.getCtnListFieldA=
CL (ctnListFieldAcls,fieldId);
+ if (theContainer.getListID() !=3D 0 && ctnListFieldAcls !=
=3D null && fieldId > 0) {
+ JahiaBaseACL acl =3D JahiaEngineTools.getCtnListFieldA=
CL(ctnListFieldAcls, fieldId);
if (acl !=3D null) {
- doUpdate =3D acl.getPermission (jParams.getUser (),
- JahiaBaseACL.WRITE_R=
IGHTS, JahiaEngineTools.isCtnListFieldACLDefined(ctnListFieldAcls, fieldId)=
);
+ doUpdate =3D acl.getPermission(jParams.getUser(),
+ JahiaBaseACL.WRITE_RIGHTS, JahiaEngineTool=
s.isCtnListFieldACLDefined(ctnListFieldAcls, fieldId));
}
} else {
doUpdate =3D true;
}
- jParams.setSubstituteEntryLoadRequest (elh.getPreviousEntr=
yLoadRequest());
- engineMap.put("fieldsEditCallingEngineName",engineName); /=
/ todo : make as Constant
+ jParams.setSubstituteEntryLoadRequest(elh.getPreviousEntry=
LoadRequest());
+ engineMap.put("fieldsEditCallingEngineName", engineName); =
// todo : make as Constant
if (doUpdate &&
- !EngineToolBox.getInstance().processFieldTypes (th=
eField, theContainer, engineName, jParams, mode, engineMap)) {
+ !EngineToolBox.getInstance().processFieldTypes(the=
Field, theContainer, engineName, jParams, mode, engineMap))
+ {
=
- if (!errorOccured){
+ if (!errorOccured) {
errorOccured =3D true;
}
=
@@ -270,31 +272,31 @@
jParams.resetSubstituteEntryLoadRequest ();
break;
*/
- } else {
- this.addUpdatedField(fieldId,theField.getLanguageCode(=
));
- if (fieldType !=3D theField.getType ()) {
+ } else {
+ this.addUpdatedField(fieldId, theField.getLanguageCode=
());
+ if (fieldType !=3D theField.getType()) {
// field type has changed
- jahiaContentContainerFacade.changeType (fieldId,
- theField.getType (), jParams);
+ jahiaContentContainerFacade.changeType(fieldId,
+ theField.getType(), jParams);
theField =3D jahiaContentContainerFacade.
- getContentFieldFacade (fieldId).
- getField (elh.getPreviousEntryLoadRequest(=
), true);
- theContainer.setField (theField);
- engineMap.put (engineName+"."+"theField", theField=
);
+ getContentFieldFacade(fieldId).
+ getField(elh.getPreviousEntryLoadRequest()=
, true);
+ theContainer.setField(theField);
+ engineMap.put(engineName + "." + "theField", theFi=
eld);
}
=
- if (doUpdate && "true".equals(jParams.getParameter ("a=
pply_change_to_all_lang_" +fieldId))) {
- applyChangeToAllLang (engineName,theField,
+ if (doUpdate && "true".equals(jParams.getParameter("ap=
ply_change_to_all_lang_" + fieldId))) {
+ applyChangeToAllLang(engineName, theField,
jahiaContentContainerFacade,
engineMap, jParams);
}
}
- jParams.resetSubstituteEntryLoadRequest ();
- logger.debug ("processLastScreen > the field value is now =
" +
- theField.getValue ());
+ jParams.resetSubstituteEntryLoadRequest();
+ logger.debug("processLastScreen > the field value is now "=
+
+ theField.getValue());
}
}
- if ( errorOccured ){
+ if (errorOccured) {
this.setStayOnSameField(true);
return false;
}
@@ -305,29 +307,29 @@
/**
* Process current fields, return false on error
*
- * @param engineName String
+ * @param engineName String
* @param jahiaContentContainerFacade ContainerFacadeInterface
- * @param elh EngineLanguageHelper
- * @param jParams ProcessingContext
- * @param engineMap HashMap
- * @param mode int
- * @throws JahiaException
+ * @param elh EngineLanguageHelper
+ * @param jParams ProcessingContext
+ * @param engineMap HashMap
+ * @param mode int
* @return boolean
+ * @throws JahiaException
*/
- public boolean processCurrentFields (String engineName,
- ContainerFacadeInterface jahi=
aContentContainerFacade,
- EngineLanguageHelper elh,
- ProcessingContext jParams, HashMap engineMap, int mode)
+ public boolean processCurrentFields(String engineName,
+ ContainerFacadeInterface jahiaCont=
entContainerFacade,
+ EngineLanguageHelper elh,
+ ProcessingContext jParams, HashMap=
engineMap, int mode)
throws JahiaException {
=
- engineMap.put("fieldsEditCallingEngineName",engineName); // @todo =
: make as Constant
+ engineMap.put("fieldsEditCallingEngineName", engineName); // @todo=
: make as Constant
=
- JahiaContainer theContainer =3D jahiaContentContainerFacade.getCon=
tainer (
+ JahiaContainer theContainer =3D jahiaContentContainerFacade.getCon=
tainer(
elh.getCurrentEntryLoadRequest(), true);
=
- engineMap.put (engineName + "." + "theContainer", theContainer);
+ engineMap.put(engineName + "." + "theContainer", theContainer);
=
- engineMap.put (JahiaEngine.PROCESSING_LOCALE,
+ engineMap.put(JahiaEngine.PROCESSING_LOCALE,
elh.getCurrentLocale());
=
ContainerEditView editView =3D this.getContainerEditView();
@@ -336,7 +338,7 @@
=
// get first visible field
JahiaField theField =3D null;
- if ( this.getSelectedFieldId()!=3D0 ){
+ if (this.getSelectedFieldId() !=3D 0) {
try {
theField =3D theContainer.getField(this.getSelectedFieldId=
());
} catch (JahiaException je) {
@@ -344,17 +346,17 @@
}
}
if (theField !=3D null) {
- fieldGroup =3D editView.getFieldGroupByFieldName (theField.
- getDefinition ().getName ());
+ fieldGroup =3D editView.getFieldGroupByFieldName(theField.
+ getDefinition().getName());
}
if (fieldGroup =3D=3D null) {
- if ( editView.getFields().size()>0 ){
+ if (editView.getFields().size() > 0) {
String fieldName =3D (String) editView.getFields().get(0);
theField =3D theContainer.getFieldByName(fieldName);
}
- if ( theField !=3D null ){
- fieldGroup =3D editView.getFieldGroupByFieldName (theField.
- getDefinition ().getName ());
+ if (theField !=3D null) {
+ fieldGroup =3D editView.getFieldGroupByFieldName(theField.
+ getDefinition().getName());
this.setSelectedFieldId(theField.getID());
this.setLastFieldId(theField.getID());
}
@@ -362,143 +364,155 @@
=
//engineMap.put (engineName+"."+"field_id", new Integer (fieldID));
=
- Vector fieldIDs =3D new Vector ();
+ Vector fieldIDs =3D new Vector();
=
if (theField !=3D null) {
// at least one visible field
=
// get the lists of fields in the edit view
- int size =3D fieldGroup.getFieldNames ().size ();
+ int size =3D fieldGroup.getFieldNames().size();
String fieldName =3D "";
EntryLoadRequest processingEntryLoadRequest =3D null;
=
for (int i =3D 0; i < size; i++) {
- fieldName =3D (String) fieldGroup.getFieldNames ().get (i);
+ fieldName =3D (String) fieldGroup.getFieldNames().get(i);
=
// dispatches to the appropriate sub engine
- theField =3D theContainer.getField (fieldName);
+ theField =3D theContainer.getField(fieldName);
=
if (theField !=3D null) {
- engineMap.put (engineName+"."+"fieldForm", null); // r=
eset field form
- logger.debug ("The field value is now " + theField.get=
Value ());
+ engineMap.put(engineName + "." + "fieldForm", null); /=
/ reset field form
+ logger.debug("The field value is now " + theField.getV=
alue());
=
- engineMap.put (engineName+"."+"theField", theField);
- engineMap.put (engineName+"."+"isSelectedField",
- new Boolean (theField.getID () =3D=3D this.get=
SelectedFieldId()));
- engineMap.put (engineName+"."+"fieldID", new Integer (=
theField.getID ()));
-
- processingEntryLoadRequest =3D new EntryLoadRequest (t=
heField.
- getWorkflowState (), theField.getVersionID (),
- new ArrayList ());
- processingEntryLoadRequest.getLocales ()
- .add (LanguageCodeConverters
- .languageCodeToLocale (theField.getLanguageCod=
e ()));
- if ( ContentObject.SHARED_LANGUAGE.equals(theField.get=
LanguageCode()) ){
+ engineMap.put(engineName + "." + "theField", theField);
+ engineMap.put(engineName + "." + "isSelectedField",
+ new Boolean(theField.getID() =3D=3D this.getSe=
lectedFieldId()));
+ engineMap.put(engineName + "." + "fieldID", new Intege=
r(theField.getID()));
+
+ processingEntryLoadRequest =3D new EntryLoadRequest(th=
eField.
+ getWorkflowState(), theField.getVersionID(),
+ new ArrayList());
+ processingEntryLoadRequest.getLocales()
+ .add(LanguageCodeConverters
+ .languageCodeToLocale(theField.getLang=
uageCode()));
+ if (ContentObject.SHARED_LANGUAGE.equals(theField.getL=
anguageCode())) {
// allow engine locale too as the field is shared =
lang
- processingEntryLoadRequest.getLocales ()
- .add (elh.getCurrentLocale());
+ processingEntryLoadRequest.getLocales()
+ .add(elh.getCurrentLocale());
}
- jParams.setSubstituteEntryLoadRequest (
+ jParams.setSubstituteEntryLoadRequest(
processingEntryLoadRequest);
- if (EngineToolBox.getInstance().processFieldTypes (the=
Field, theContainer, engineName, jParams, mode, engineMap)) {
+ if (EngineToolBox.getInstance().processFieldTypes(theF=
ield, theContainer, engineName, jParams, mode, engineMap))
+ {
=
- if ("true".equals(jParams.getParameter (
- "apply_change_to_all_lang_" + theField.get=
ID ()))) {
- applyChangeToAllLang (engineName,theField,
+ if ("true".equals(jParams.getParameter(
+ "apply_change_to_all_lang_" + theField.get=
ID()))) {
+ applyChangeToAllLang(engineName, theField,
jahiaContentContainerFacade,
engineMap, jParams);
}
}
- jParams.resetSubstituteEntryLoadRequest ();
+ jParams.resetSubstituteEntryLoadRequest();
=
- if (engineMap.get (engineName+"."+"fieldForm") !=3D nu=
ll) {
- fieldIDs.add (new Integer (theField.getID ()));
- Hashtable fieldForms =3D (Hashtable) engineMap.get=
(
- engineName+"."+"fieldForms");
- Object fieldForm =3D engineMap.get (engineName+"."=
+"fieldForm");
- fieldForms.put (new Integer (theField.getID ()),
+ if (engineMap.get(engineName + "." + "fieldForm") !=3D=
null) {
+ fieldIDs.add(new Integer(theField.getID()));
+ Hashtable fieldForms =3D (Hashtable) engineMap.get(
+ engineName + "." + "fieldForms");
+ Object fieldForm =3D engineMap.get(engineName + ".=
" + "fieldForm");
+ fieldForms.put(new Integer(theField.getID()),
fieldForm);
}
}
}
}
- engineMap.put (engineName+"."+"fieldID", new Integer (this.getSele=
ctedFieldId()));
- engineMap.put (engineName+"."+"theField", theField);
- engineMap.put (engineName+"."+"fieldIDs", fieldIDs);
+ engineMap.put(engineName + "." + "fieldID", new Integer(this.getSe=
lectedFieldId()));
+ engineMap.put(engineName + "." + "theField", theField);
+ engineMap.put(engineName + "." + "fieldIDs", fieldIDs);
return true;
}
=
/**
* Check Fields validation
*
- * @param engineName String
+ * @param engineName String
* @param jahiaContentContainerFacade ContainerFacadeInterface
- * @param elh EngineLanguageHelper
- * @param jParams ProcessingContext
- * @param engineMap HashMap
- * @throws JahiaException
+ * @param elh EngineLanguageHelper
+ * @param jParams ProcessingContext
+ * @param engineMap HashMap
* @return EngineValidationHelper
+ * @throws JahiaException
*/
- public EngineValidationHelper validate (String engineName,
- ContainerFacadeInterface jahia=
ContentContainerFacade,
- EngineLanguageHelper elh,
- ProcessingContext jParams,
- HashMap engineMap)
- throws JahiaException {
- EngineValidationHelper evh =3D new EngineValidationHelper();
- Enumeration fieldEnum =3D jahiaContentContainerFacade.getField=
s();
- JahiaContentFieldFacade cff =3D null;
- JahiaField field =3D null;
- ValidationError ve =3D null;
- while ( fieldEnum.hasMoreElements() ){
- cff =3D (JahiaContentFieldFacade)fieldEnum.nextElement();
- Enumeration fEnum =3D cff.getFields();
- while ( fEnum.hasMoreElements() ){
- field =3D (JahiaField)fEnum.nextElement();
- if ( !"true".equals(field.getDefinition().getProperty(=
FieldDefinition.READ_ONLY)) ) {
- if (this.getContainerEditView().getFieldGroupByFie=
ldName(
+ public EngineValidationHelper validate(String engineName,
+ ContainerFacadeInterface jahiaC=
ontentContainerFacade,
+ EngineLanguageHelper elh,
+ ProcessingContext jParams,
+ HashMap engineMap)
+ throws JahiaException {
+ EngineValidationHelper evh =3D new EngineValidationHelper();
+ Enumeration fieldEnum =3D jahiaContentContainerFacade.getFields();
+ JahiaContentFieldFacade cff =3D null;
+ JahiaField field =3D null;
+ ValidationError ve =3D null;
+ while (fieldEnum.hasMoreElements()) {
+ cff =3D (JahiaContentFieldFacade) fieldEnum.nextElement();
+ Enumeration fEnum =3D cff.getFields();
+ while (fEnum.hasMoreElements()) {
+ field =3D (JahiaField) fEnum.nextElement();
+ if (!"true".equals(field.getDefinition().getProperty(Field=
Definition.READ_ONLY))) {
+ if (this.getContainerEditView().getFieldGroupByFieldNa=
me(
field
- .getDefinition().getName()) !=3D null) {
- ve =3D field.validate();
- if (ve !=3D null) {
- evh.addError(ve);
- return evh;
- }
+ .getDefinition().getName()) !=3D null)=
{
+ ve =3D field.validate();
+ if (ve !=3D null) {
+ evh.addError(ve);
+ return evh;
}
}
}
}
+ }
=
- return evh;
+ return evh;
}
=
/**
* @param theField
* @param jahiaContentContainerFacade
- *
- * @throws JahiaException
- * todo : put in a Tool class
+ * @throws JahiaException todo : put in a Tool class
*/
- public void applyChangeToAllLang (String engineName,
- JahiaField theField,
- ContainerFacadeInterface
- jahiaContentContainerFacade,
- HashMap engineMap,
- ProcessingContext jParams)
+ public void applyChangeToAllLang(String engineName,
+ JahiaField theField,
+ ContainerFacadeInterface jahiaContent=
ContainerFacade,
+ HashMap engineMap,
+ ProcessingContext jParams)
throws JahiaException {
-
- JahiaContentFieldFacade contentFieldFacade =3D
- jahiaContentContainerFacade.getContentFieldFacade (theFiel=
d.getID ());
- Enumeration fieldEnum =3D contentFieldFacade.getFields ();
- JahiaField field =3D null;
- while (fieldEnum.hasMoreElements ()) {
- field =3D (JahiaField) fieldEnum.nextElement ();
- theField.copyValueInAnotherLanguage (field, jParams);
+ final JahiaContentFieldFacade contentFieldFacade =3D jahiaContentC=
ontainerFacade.getContentFieldFacade(theField.getID());
+ final Enumeration fieldEnum =3D contentFieldFacade.getFields();
+ while (fieldEnum.hasMoreElements()) {
+ final JahiaField field =3D (JahiaField) fieldEnum.nextElement(=
);
+ theField.copyValueInAnotherLanguage(field, jParams);
// remember change
- this.addUpdatedField(field.getID(),field.getLanguageCode());
+ this.addUpdatedField(field.getID(), field.getLanguageCode());
}
}
=
+ public boolean areValuesTheSameInAllActiveLanguages(final JahiaField t=
heField,
+ final ContainerFac=
adeInterface jahiaContentContainerFacade)
+ throws JahiaException {
+ final JahiaContentFieldFacade contentFieldFacade =3D jahiaContentC=
ontainerFacade.getContentFieldFacade(theField.getID());
+ final Enumeration fieldEnum =3D contentFieldFacade.getFields();
+ String oldValue =3D null;
+ while (fieldEnum.hasMoreElements()) {
+ final JahiaField field =3D (JahiaField) fieldEnum.nextElement(=
);
+ final String value =3D field.getValue();
+ if (oldValue !=3D null && !oldValue.equals(value)) {
+ return false;
+ }
+ oldValue =3D value;
+ }
+ return true;
+ }
+
public abstract JahiaField getField(int fieldId);
=
public abstract JahiaField getField(String fieldName);
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/co=
ntaineredit/fieldedit.inc
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/engines/containeredit/fieldedit.inc&rev=
=3D18331&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/containe=
redit/fieldedit.inc (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/containe=
redit/fieldedit.inc Fri Aug 31 16:55:02 2007
@@ -17,7 +17,10 @@
--%>
<%@ page import=3D"org.jahia.data.fields.JahiaAllowApplyChangeToAllLangFie=
ld" %>
<%@ page import=3D"org.jahia.engines.validation.EngineValidationHelper" %>
+<%@ page import=3D"org.jahia.data.containers.JahiaContentContainerFacade"%>
<%
+ final JahiaContentContainerFacade jahiaContentContainerFacade =3D (Ja=
hiaContentContainerFacade) engineMap.get(
+ "UpdateContainer_Engine.JahiaContentContainerFacade");
boolean applyChangeToAllLang =3D "true".equals(jParams.getParameter("a=
pply_change_to_all_lang_" + aField.getID()));
String errorMsg =3D (String) fieldErrors.get(new Integer(aField.getID(=
)));
if (errorMsg =3D=3D null) {
@@ -44,10 +47,18 @@
}
</script>
<h4 class=3D"<%=3DgetIconClassName(aField.getType(), false) %>">
-<% if (localeList.size() > 1 && !readOnlyMode && !aField.isShared() &&
+<% boolean allSameTitles =3D false;
+ if (localeList.size() > 1) {
+ allSameTitles =3D feh.areValuesTheSameInAllActiveLanguages(aField,=
jahiaContentContainerFacade);
+ }
+
+ if (localeList.size() > 1 && !readOnlyMode && !aField.isShared() &&
ServicesRegistry.getInstance().getJahiaACLManagerService().hasWrit=
eAccesOnAllLangs(jParams)) { %>
+ <% if (allSameTitles) { %>
+ <a id=3D"switchIcons_<%=3DaField.getID()%>" href=3D"javascript:switchI=
cons('switchIcons_<%=3DaField.getID()%>');" title=3D'<jahia:engineResourceB=
undle resourceName=3D"org.jahia.applyToAllLanguages.label"/>' class=3D"shar=
edLanguageYes"> </a>
+ <% } else { %>
<a id=3D"switchIcons_<%=3DaField.getID()%>" href=3D"javascript:switchI=
cons('switchIcons_<%=3DaField.getID()%>');" title=3D'<jahia:engineResourceB=
undle resourceName=3D"org.jahia.applyToSingleLanguage.label"/>' class=3D"sh=
aredLanguageNo"> </a>
-
+ <% } %>
<% } else { %>
<% if (aField.isShared()) { %>
<span title=3D"<jahia:engineResourceBundle resourceName=3D'org.jahia.s=
ameInAllLanguage.label'/>" class=3D"sharedLanguageYesDisabled"> </span>
@@ -59,7 +70,7 @@
<% } %>
</h4>
<input id=3D"apply_change_to_all_lang_<%=3DaField.getID()%>" type=3D"h=
idden"
- name=3D"apply_change_to_all_lang_<%=3DaField.getID()%>" value=
=3D"<%=3DapplyChangeToAllLang%>"/>
+ name=3D"apply_change_to_all_lang_<%=3DaField.getID()%>" value=
=3D"<%=3DapplyChangeToAllLang || allSameTitles %>"/>
<% if (errorMsg !=3D null && errorMsg.length() > 0) { %>
<span class=3D"error"><%=3DerrorMsg%></span><br/>
<% } %>
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/sh=
ared/page_field.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/webapp/jsp/jahia/engines/shared/page_field.jsp&rev=3D18331=
&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
--- branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/p=
age_field.jsp (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/webapp/jsp/jahia/engines/shared/p=
age_field.jsp Fri Aug 31 16:55:02 2007
@@ -134,6 +134,20 @@
sourceTitle =3D (String) titles.get(processingLocale.toString(=
));
}
=
+ boolean allSameTitles =3D false;
+ if (pageBean.getTitles().size() > 0) {
+ final Iterator ite =3D pageBean.getTitles().values().iterator();
+ String oldTitle =3D null;
+ while (ite.hasNext()) {
+ final String tmp =3D ite.next().toString();
+ if (oldTitle !=3D null && tmp.equals(oldTitle)) {
+ break;
+ }
+ oldTitle =3D tmp;
+ }
+ allSameTitles =3D true;
+ }
+
if (sourceTitle !=3D null && "".equals(title)) {
title =3D sourceTitle;
}
@@ -261,7 +275,7 @@
!Page_Field.UPDATE_PAGE.equals(pageBean.getOperation()) ? true=
: false;
=
ContentObject timeBasedPublishingObject =3D (ContentObject)request.get=
Attribute("Page_Field.enableTimeBasedPublishingStatus"); =
- boolean enableTimeBasedPublishing =3D ( timeBasedPublishingObject !=3D=
null ); =
+ boolean enableTimeBasedPublishing =3D ( timeBasedPublishingObject !=3D=
null );
=
if ( enableTimeBasedPublishing ) { =
%>
@@ -435,12 +449,19 @@
<span title=3D"<jahia:engineResourceBundle resourceName=3D'org.jahia.s=
ameInAllLanguage.label'/>"
class=3D"sharedLanguageYesDisabled"> </span>
<% } else { %>
+ <% if (allSameTitles) { %>
+ <a id=3D"switchIcons_<%=3DpageBean.getID()%>" href=3D"javascript:switc=
hIcons('switchIcons_<%=3DpageBean.getID()%>');"
+ title=3D'<jahia:engineResourceBundle resourceName=3D"org.jahia.appl=
yToAllLanguages.label"/>'
+ class=3D"sharedLanguageYes">
+ </a>
+ <% } else { %>
<a id=3D"switchIcons_<%=3DpageBean.getID()%>" href=3D"javascript:switc=
hIcons('switchIcons_<%=3DpageBean.getID()%>');"
title=3D'<jahia:engineResourceBundle resourceName=3D"org.jahia.appl=
yToSingleLanguage.label"/>'
class=3D"sharedLanguageNo">
</a>
<% } %>
- <input id=3D"shared_title" type=3D"hidden" name=3D"shared_title" value=
=3D"<%=3DpageBean.isSharedTitle()%>"/>
+ <% } %>
+ <input id=3D"shared_title" type=3D"hidden" name=3D"shared_title" value=
=3D"<%=3DallSameTitles || pageBean.isSharedTitle()%>"/>
<% } %>
<% if (isNewPage) { %>
<% if (isLinkOnly) { %>
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list