there was a problem with security on conf.getHideList()/conf.setHideList() -
added conf.canSetHideList() and some extra code to EditConferenceDialog to help get around this.
This commit is contained in:
parent
0437cc7b92
commit
0750e3f2cd
|
@ -102,6 +102,8 @@ public interface ConferenceContext
|
||||||
|
|
||||||
public abstract void setHideList(boolean flag) throws DataException, AccessError;
|
public abstract void setHideList(boolean flag) throws DataException, AccessError;
|
||||||
|
|
||||||
|
public abstract boolean canSetHideList();
|
||||||
|
|
||||||
public abstract String getDefaultPseud();
|
public abstract String getDefaultPseud();
|
||||||
|
|
||||||
public abstract void setDefaultPseud(String val) throws DataException;
|
public abstract void setDefaultPseud(String val) throws DataException;
|
||||||
|
|
|
@ -747,6 +747,12 @@ class ConferenceUserContextImpl implements ConferenceContext, ConferenceBackend
|
||||||
|
|
||||||
} // end setHideList
|
} // end setHideList
|
||||||
|
|
||||||
|
public boolean canSetHideList()
|
||||||
|
{
|
||||||
|
return comm.userCanCreateSubobjects();
|
||||||
|
|
||||||
|
} // end canSetHideList
|
||||||
|
|
||||||
public String getDefaultPseud()
|
public String getDefaultPseud()
|
||||||
{
|
{
|
||||||
return pseud;
|
return pseud;
|
||||||
|
|
|
@ -85,6 +85,17 @@ public class EditConferenceDialog extends ContentDialog
|
||||||
|
|
||||||
} // end constructor
|
} // end constructor
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------------
|
||||||
|
* Internal operations
|
||||||
|
*--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
private final void doDisable(CommunityContext comm, ConferenceContext conf)
|
||||||
|
{
|
||||||
|
setFieldEnabled("hide",conf.canSetHideList());
|
||||||
|
|
||||||
|
} // end doDisable
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------------
|
/*--------------------------------------------------------------------------------
|
||||||
* External operations
|
* External operations
|
||||||
*--------------------------------------------------------------------------------
|
*--------------------------------------------------------------------------------
|
||||||
|
@ -92,15 +103,21 @@ public class EditConferenceDialog extends ContentDialog
|
||||||
|
|
||||||
public void setupDialog(CommunityContext comm, ConferenceContext conf) throws DataException, AccessError
|
public void setupDialog(CommunityContext comm, ConferenceContext conf) throws DataException, AccessError
|
||||||
{
|
{
|
||||||
|
doDisable(comm,conf);
|
||||||
setHiddenField("sig",String.valueOf(comm.getCommunityID()));
|
setHiddenField("sig",String.valueOf(comm.getCommunityID()));
|
||||||
setHiddenField("conf",String.valueOf(conf.getConfID()));
|
setHiddenField("conf",String.valueOf(conf.getConfID()));
|
||||||
setTitle("Edit Conference: " + conf.getName());
|
setTitle("Edit Conference: " + conf.getName());
|
||||||
setFieldValue("name",conf.getName());
|
setFieldValue("name",conf.getName());
|
||||||
setFieldValue("descr",conf.getDescription());
|
setFieldValue("descr",conf.getDescription());
|
||||||
if (conf.getHideList())
|
if (conf.canSetHideList())
|
||||||
setFieldValue("hide",YES);
|
{ // this is only valid at community level
|
||||||
else
|
if (conf.getHideList())
|
||||||
setFieldValue("hide","");
|
setFieldValue("hide",YES);
|
||||||
|
else
|
||||||
|
setFieldValue("hide","");
|
||||||
|
|
||||||
|
} // end if
|
||||||
|
|
||||||
setFieldValue("read_lvl",String.valueOf(conf.getReadLevel()));
|
setFieldValue("read_lvl",String.valueOf(conf.getReadLevel()));
|
||||||
setFieldValue("post_lvl",String.valueOf(conf.getPostLevel()));
|
setFieldValue("post_lvl",String.valueOf(conf.getPostLevel()));
|
||||||
setFieldValue("create_lvl",String.valueOf(conf.getCreateLevel()));
|
setFieldValue("create_lvl",String.valueOf(conf.getCreateLevel()));
|
||||||
|
@ -142,7 +159,8 @@ public class EditConferenceDialog extends ContentDialog
|
||||||
// sweep through the conference and set the appropriate changes
|
// sweep through the conference and set the appropriate changes
|
||||||
conf.setName(getFieldValue("name"));
|
conf.setName(getFieldValue("name"));
|
||||||
conf.setDescription(getFieldValue("descr"));
|
conf.setDescription(getFieldValue("descr"));
|
||||||
conf.setHideList(YES.equals(getFieldValue("hide")));
|
if (conf.canSetHideList())
|
||||||
|
conf.setHideList(YES.equals(getFieldValue("hide")));
|
||||||
conf.setSecurityLevels(read_lvl,post_lvl,create_lvl,hide_lvl,nuke_lvl,change_lvl,delete_lvl);
|
conf.setSecurityLevels(read_lvl,post_lvl,create_lvl,hide_lvl,nuke_lvl,change_lvl,delete_lvl);
|
||||||
|
|
||||||
// reset the properties
|
// reset the properties
|
||||||
|
@ -153,6 +171,7 @@ public class EditConferenceDialog extends ContentDialog
|
||||||
|
|
||||||
public void resetOnError(CommunityContext comm, ConferenceContext conf, String message)
|
public void resetOnError(CommunityContext comm, ConferenceContext conf, String message)
|
||||||
{
|
{
|
||||||
|
doDisable(comm,conf);
|
||||||
setHiddenField("sig",String.valueOf(comm.getCommunityID()));
|
setHiddenField("sig",String.valueOf(comm.getCommunityID()));
|
||||||
setHiddenField("conf",String.valueOf(conf.getConfID()));
|
setHiddenField("conf",String.valueOf(conf.getConfID()));
|
||||||
setTitle("Edit Conference: " + conf.getName());
|
setTitle("Edit Conference: " + conf.getName());
|
||||||
|
|
Loading…
Reference in New Issue
Block a user