Bereinigen Code, beseitigen Bezüge auf SiteNode/Package/PackageType und weiteren old style application code.
git-svn-id: https://svn.libreccm.org/ccm/trunk@2051 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
5764020eab
commit
18414f374a
|
|
@ -21,8 +21,8 @@ package com.arsdigita.simplesurvey;
|
||||||
|
|
||||||
import com.arsdigita.bebop.PageState;
|
import com.arsdigita.bebop.PageState;
|
||||||
|
|
||||||
import com.arsdigita.kernel.PackageInstance;
|
// import com.arsdigita.kernel.PackageInstance;
|
||||||
import com.arsdigita.kernel.SiteNode;
|
// import com.arsdigita.kernel.SiteNode;
|
||||||
|
|
||||||
import com.arsdigita.kernel.Kernel;
|
import com.arsdigita.kernel.Kernel;
|
||||||
import com.arsdigita.kernel.User;
|
import com.arsdigita.kernel.User;
|
||||||
|
|
@ -30,9 +30,8 @@ import com.arsdigita.kernel.User;
|
||||||
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
import com.arsdigita.kernel.permissions.PermissionDescriptor;
|
||||||
import com.arsdigita.kernel.permissions.PermissionService;
|
import com.arsdigita.kernel.permissions.PermissionService;
|
||||||
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
|
import com.arsdigita.kernel.permissions.PrivilegeDescriptor;
|
||||||
|
import com.arsdigita.web.Application;
|
||||||
|
// import com.arsdigita.web.Web;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -51,35 +50,35 @@ public class SimpleSurveyUtil {
|
||||||
* @param request
|
* @param request
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static SiteNode getSiteNode(HttpServletRequest request) {
|
// public static SiteNode getSiteNode(HttpServletRequest request) {
|
||||||
|
|
||||||
SiteNode siteNode;
|
// SiteNode siteNode;
|
||||||
try {
|
// try {
|
||||||
siteNode = SiteNode.getSiteNode(request.getRequestURI().toString(), true);
|
// siteNode = SiteNode.getSiteNode(request.getRequestURI().toString(), true);
|
||||||
} catch (com.arsdigita.domain.DataObjectNotFoundException e) {
|
// } catch (com.arsdigita.domain.DataObjectNotFoundException e) {
|
||||||
throw new com.arsdigita.util.UncheckedWrapperException(e);
|
// throw new com.arsdigita.util.UncheckedWrapperException(e);
|
||||||
}
|
// }
|
||||||
|
|
||||||
return siteNode;
|
// return siteNode;
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param pageState
|
* @param pageState
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static SiteNode getSiteNode(PageState pageState) {
|
// public static SiteNode getSiteNode(PageState pageState) {
|
||||||
return getSiteNode(pageState.getRequest());
|
// return getSiteNode(pageState.getRequest());
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param pageState
|
* @param pageState
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static PackageInstance getPackageInstance(PageState pageState) {
|
// public static PackageInstance getPackageInstance(PageState pageState) {
|
||||||
return getSiteNode(pageState).getPackageInstance();
|
// return getSiteNode(pageState).getPackageInstance();
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -87,15 +86,27 @@ public class SimpleSurveyUtil {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static boolean isUserAdmin(PageState pageState) {
|
public static boolean isUserAdmin(PageState pageState) {
|
||||||
|
|
||||||
boolean admin_p = false;
|
boolean admin_p = false;
|
||||||
|
|
||||||
User user = (User)Kernel.getContext().getParty();
|
User user = (User)Kernel.getContext().getParty();
|
||||||
|
|
||||||
SiteNode siteNode = SimpleSurveyUtil.getSiteNode(pageState);
|
// DEPRECATED! SiteNode is old style application an no longer used.
|
||||||
|
// Can not provide any useful information as no applicagtion is created
|
||||||
|
// as a SiteNode anymore.
|
||||||
|
// SiteNode siteNode = SimpleSurveyUtil.getSiteNode(pageState);
|
||||||
|
|
||||||
|
// PermissionDescriptor admin = new PermissionDescriptor
|
||||||
|
// (PrivilegeDescriptor.ADMIN,
|
||||||
|
// siteNode,
|
||||||
|
// user);
|
||||||
|
|
||||||
|
// TODO: Replacement code not tested yet (both alternatives)!
|
||||||
|
// Application app = Web.getContext().getApplication();
|
||||||
|
Application app = (Application)Kernel.getContext().getResource();
|
||||||
PermissionDescriptor admin = new PermissionDescriptor
|
PermissionDescriptor admin = new PermissionDescriptor
|
||||||
(PrivilegeDescriptor.ADMIN,
|
(PrivilegeDescriptor.ADMIN,
|
||||||
siteNode,
|
app,
|
||||||
user);
|
user);
|
||||||
|
|
||||||
if (PermissionService.checkPermission(admin)) {
|
if (PermissionService.checkPermission(admin)) {
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ import com.arsdigita.formbuilder.PersistentForm;
|
||||||
|
|
||||||
import com.arsdigita.kernel.ACSObject;
|
import com.arsdigita.kernel.ACSObject;
|
||||||
import com.arsdigita.kernel.User;
|
import com.arsdigita.kernel.User;
|
||||||
import com.arsdigita.kernel.PackageInstance;
|
// import com.arsdigita.kernel.PackageInstance;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
@ -196,10 +196,10 @@ public class Survey extends ACSObject {
|
||||||
getEndDate().compareTo(currentDate) > 0;
|
getEndDate().compareTo(currentDate) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPackageInstance(PackageInstance packageInstance) {
|
// Mo longer useful. PackageInstance is old style app no longer used.
|
||||||
|
// public void setPackageInstance(PackageInstance packageInstance) {
|
||||||
set(PACKAGE_INSTANCE, packageInstance);
|
// set(PACKAGE_INSTANCE, packageInstance);
|
||||||
}
|
// }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Retrieves most recent survey that isn't completed
|
* Retrieves most recent survey that isn't completed
|
||||||
|
|
|
||||||
|
|
@ -23,31 +23,24 @@ import com.arsdigita.simplesurvey.util.GlobalizationUtil ;
|
||||||
|
|
||||||
|
|
||||||
// Every item in the Table will have links
|
// Every item in the Table will have links
|
||||||
|
import com.arsdigita.bebop.Component;
|
||||||
import com.arsdigita.bebop.ControlLink;
|
import com.arsdigita.bebop.ControlLink;
|
||||||
import com.arsdigita.bebop.Label;
|
import com.arsdigita.bebop.Label;
|
||||||
|
import com.arsdigita.bebop.PageState;
|
||||||
import com.arsdigita.bebop.Table;
|
import com.arsdigita.bebop.Table;
|
||||||
import com.arsdigita.bebop.table.TableModelBuilder;
|
import com.arsdigita.bebop.table.TableModelBuilder;
|
||||||
import com.arsdigita.bebop.table.TableModel;
|
import com.arsdigita.bebop.table.TableModel;
|
||||||
import com.arsdigita.bebop.table.TableCellRenderer;
|
import com.arsdigita.bebop.table.TableCellRenderer;
|
||||||
|
import com.arsdigita.formbuilder.PersistentForm;
|
||||||
import com.arsdigita.simplesurvey.SimpleSurveyUtil;
|
|
||||||
|
|
||||||
import com.arsdigita.kernel.ACSObject;
|
import com.arsdigita.kernel.ACSObject;
|
||||||
import com.arsdigita.kernel.PackageInstance;
|
// import com.arsdigita.simplesurvey.SimpleSurveyUtil;
|
||||||
|
|
||||||
import com.arsdigita.bebop.Component;
|
|
||||||
|
|
||||||
import com.arsdigita.simplesurvey.Survey;
|
import com.arsdigita.simplesurvey.Survey;
|
||||||
import com.arsdigita.simplesurvey.SurveyCollection;
|
import com.arsdigita.simplesurvey.SurveyCollection;
|
||||||
import com.arsdigita.formbuilder.PersistentForm;
|
import com.arsdigita.util.LockableImpl;
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
||||||
import com.arsdigita.bebop.PageState;
|
|
||||||
import com.arsdigita.util.LockableImpl;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tables all Simple Surveys in the system.
|
* Tables all Simple Surveys in the system.
|
||||||
*
|
*
|
||||||
|
|
@ -71,38 +64,64 @@ public class AdminSurveyTable extends Table {
|
||||||
public static final int COL_DELETE = 7;
|
public static final int COL_DELETE = 7;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor.
|
||||||
|
*
|
||||||
|
* @param surveyClass
|
||||||
|
*/
|
||||||
public AdminSurveyTable(Class surveyClass) {
|
public AdminSurveyTable(Class surveyClass) {
|
||||||
super(new AdminSurveyTableModelBuilder(surveyClass),
|
|
||||||
new String[] {"", "", "", "", "", "","", ""});
|
|
||||||
|
|
||||||
m_surveyClass = surveyClass;
|
super(new AdminSurveyTableModelBuilder(surveyClass),
|
||||||
|
new String[] {"", "", "", "", "", "","", ""});
|
||||||
|
m_surveyClass = surveyClass;
|
||||||
|
|
||||||
setDefaultCellRenderer(new AdminSurveyTableCellRenderer());
|
setDefaultCellRenderer(new AdminSurveyTableCellRenderer());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class AdminSurveyTableModelBuilder extends LockableImpl
|
/**
|
||||||
implements TableModelBuilder {
|
*
|
||||||
|
*/
|
||||||
|
private static class AdminSurveyTableModelBuilder
|
||||||
|
extends LockableImpl
|
||||||
|
implements TableModelBuilder {
|
||||||
|
|
||||||
private Class m_surveyClass;
|
private Class m_surveyClass;
|
||||||
|
|
||||||
public AdminSurveyTableModelBuilder(Class surveyClass) {
|
/**
|
||||||
m_surveyClass = surveyClass;
|
*
|
||||||
}
|
* @param surveyClass
|
||||||
|
*/
|
||||||
|
public AdminSurveyTableModelBuilder(Class surveyClass) {
|
||||||
|
m_surveyClass = surveyClass;
|
||||||
|
}
|
||||||
|
|
||||||
public TableModel makeModel(Table l, PageState pageState) {
|
/**
|
||||||
PackageInstance pack = SimpleSurveyUtil.getPackageInstance(pageState);
|
*
|
||||||
SurveyCollection surveys =
|
* @param l
|
||||||
Survey.retrieveAll();
|
* @param pageState
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public TableModel makeModel(Table l, PageState pageState) {
|
||||||
|
|
||||||
surveys.addEqualsFilter(ACSObject.DEFAULT_DOMAIN_CLASS,
|
// PackageInstance no loger provides useful information.
|
||||||
m_surveyClass.getName());
|
// Obviously not really used here.
|
||||||
|
// NOT TESTED yet!
|
||||||
|
// PackageInstance pack = SimpleSurveyUtil.getPackageInstance(pageState);
|
||||||
|
|
||||||
return new AdminSurveyTableModel(surveys);
|
SurveyCollection surveys = Survey.retrieveAll();
|
||||||
}
|
|
||||||
|
surveys.addEqualsFilter(ACSObject.DEFAULT_DOMAIN_CLASS,
|
||||||
|
m_surveyClass.getName());
|
||||||
|
return new AdminSurveyTableModel(surveys);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
private static class AdminSurveyTableCellRenderer implements TableCellRenderer {
|
private static class AdminSurveyTableCellRenderer implements TableCellRenderer {
|
||||||
public Component getComponent(Table table, PageState state, Object value,
|
|
||||||
|
public Component getComponent(Table table, PageState state, Object value,
|
||||||
boolean isSelected, Object key,
|
boolean isSelected, Object key,
|
||||||
int row, int column) {
|
int row, int column) {
|
||||||
Survey survey = (Survey)value;
|
Survey survey = (Survey)value;
|
||||||
|
|
|
||||||
|
|
@ -19,12 +19,10 @@
|
||||||
package com.arsdigita.simplesurvey.ui.admin;
|
package com.arsdigita.simplesurvey.ui.admin;
|
||||||
|
|
||||||
|
|
||||||
import com.arsdigita.simplesurvey.util.GlobalizationUtil ;
|
|
||||||
|
|
||||||
import com.arsdigita.bebop.event.FormSectionEvent;
|
import com.arsdigita.bebop.event.FormSectionEvent;
|
||||||
import com.arsdigita.bebop.event.FormProcessListener;
|
import com.arsdigita.bebop.event.FormProcessListener;
|
||||||
import com.arsdigita.bebop.event.FormInitListener;
|
import com.arsdigita.bebop.event.FormInitListener;
|
||||||
|
|
||||||
import com.arsdigita.bebop.parameters.NotWhiteSpaceValidationListener;
|
import com.arsdigita.bebop.parameters.NotWhiteSpaceValidationListener;
|
||||||
import com.arsdigita.bebop.Form;
|
import com.arsdigita.bebop.Form;
|
||||||
import com.arsdigita.bebop.FormProcessException;
|
import com.arsdigita.bebop.FormProcessException;
|
||||||
|
|
@ -42,13 +40,18 @@ import com.arsdigita.formbuilder.PersistentForm;
|
||||||
|
|
||||||
import com.arsdigita.simplesurvey.Survey;
|
import com.arsdigita.simplesurvey.Survey;
|
||||||
import com.arsdigita.simplesurvey.Poll;
|
import com.arsdigita.simplesurvey.Poll;
|
||||||
import com.arsdigita.simplesurvey.SimpleSurveyUtil;
|
// import com.arsdigita.simplesurvey.SimpleSurveyUtil;
|
||||||
import com.arsdigita.simplesurvey.ui.SurveySelectionModel;
|
import com.arsdigita.simplesurvey.ui.SurveySelectionModel;
|
||||||
|
import com.arsdigita.simplesurvey.util.GlobalizationUtil ;
|
||||||
|
|
||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.GregorianCalendar;
|
import java.util.GregorianCalendar;
|
||||||
import java.lang.Boolean;
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
public class PropertiesForm extends Form {
|
public class PropertiesForm extends Form {
|
||||||
|
|
||||||
private SurveySelectionModel m_survey;
|
private SurveySelectionModel m_survey;
|
||||||
|
|
@ -117,82 +120,111 @@ public class PropertiesForm extends Form {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
private class SurveyInitListener implements FormInitListener {
|
private class SurveyInitListener implements FormInitListener {
|
||||||
public void init(FormSectionEvent e)
|
|
||||||
throws FormProcessException {
|
|
||||||
PageState state = e.getPageState();
|
|
||||||
|
|
||||||
if (m_survey.isSelected(state)) {
|
/**
|
||||||
Survey survey = m_survey.getSelectedSurvey(state);
|
*
|
||||||
PersistentForm form = survey.getForm();
|
* @param e
|
||||||
|
* @throws FormProcessException
|
||||||
|
*/
|
||||||
|
public void init(FormSectionEvent e) throws FormProcessException {
|
||||||
|
|
||||||
m_surveyName.setValue(state, form.getAdminName());
|
PageState state = e.getPageState();
|
||||||
m_description.setValue(state, form.getDescription());
|
|
||||||
m_startDate.setValue(state, survey.getStartDate());
|
|
||||||
m_endDate.setValue(state, survey.getEndDate());
|
|
||||||
m_quizType.setValue(state, survey.getQuizType());
|
|
||||||
if ( survey.responsesArePublic() ) {
|
|
||||||
m_responsesPublic.setValue(state, "true");
|
|
||||||
} else {
|
|
||||||
m_responsesPublic.setValue(state,"false");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
m_surveyName.setValue(state, "");
|
|
||||||
m_description.setValue(state, "");
|
|
||||||
|
|
||||||
Calendar startCalendar = new GregorianCalendar();
|
if (m_survey.isSelected(state)) {
|
||||||
startCalendar.add(Calendar.DATE, 0);
|
|
||||||
java.util.Date startDate = startCalendar.getTime();
|
|
||||||
Calendar endCalendar = new GregorianCalendar();
|
|
||||||
endCalendar.add(Calendar.DATE, 15);
|
|
||||||
java.util.Date endDate = endCalendar.getTime();
|
|
||||||
|
|
||||||
m_startDate.setValue(state, startDate);
|
Survey survey = m_survey.getSelectedSurvey(state);
|
||||||
m_endDate.setValue(state, endDate);
|
PersistentForm form = survey.getForm();
|
||||||
m_responsesPublic.setValue(state, "true");
|
m_surveyName.setValue(state, form.getAdminName());
|
||||||
m_quizType.setValue(state, "knowledge_test");
|
m_description.setValue(state, form.getDescription());
|
||||||
}
|
m_startDate.setValue(state, survey.getStartDate());
|
||||||
}
|
m_endDate.setValue(state, survey.getEndDate());
|
||||||
|
m_quizType.setValue(state, survey.getQuizType());
|
||||||
|
if ( survey.responsesArePublic() ) {
|
||||||
|
m_responsesPublic.setValue(state, "true");
|
||||||
|
} else {
|
||||||
|
m_responsesPublic.setValue(state,"false");
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
m_surveyName.setValue(state, "");
|
||||||
|
m_description.setValue(state, "");
|
||||||
|
Calendar startCalendar = new GregorianCalendar();
|
||||||
|
startCalendar.add(Calendar.DATE, 0);
|
||||||
|
java.util.Date startDate = startCalendar.getTime();
|
||||||
|
Calendar endCalendar = new GregorianCalendar();
|
||||||
|
endCalendar.add(Calendar.DATE, 15);
|
||||||
|
java.util.Date endDate = endCalendar.getTime();
|
||||||
|
|
||||||
|
m_startDate.setValue(state, startDate);
|
||||||
|
m_endDate.setValue(state, endDate);
|
||||||
|
m_responsesPublic.setValue(state, "true");
|
||||||
|
m_quizType.setValue(state, "knowledge_test");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
private class PropertiesFormProcessListener implements FormProcessListener {
|
private class PropertiesFormProcessListener implements FormProcessListener {
|
||||||
public void process(FormSectionEvent e)
|
|
||||||
throws FormProcessException {
|
|
||||||
PageState state = e.getPageState();
|
|
||||||
|
|
||||||
Survey survey;
|
/**
|
||||||
PersistentForm form;
|
*
|
||||||
|
* @param e
|
||||||
|
* @throws FormProcessException
|
||||||
|
*/
|
||||||
|
public void process(FormSectionEvent e) throws FormProcessException {
|
||||||
|
|
||||||
if (m_survey.isSelected(state)) {
|
PageState state = e.getPageState();
|
||||||
survey = m_survey.getSelectedSurvey(state);
|
|
||||||
form = survey.getForm();
|
|
||||||
} else {
|
|
||||||
survey = m_type.equals(Survey.class) ? new Survey() : new Poll();
|
|
||||||
survey.setPackageInstance(SimpleSurveyUtil.getPackageInstance(state));
|
|
||||||
form = new PersistentForm();
|
|
||||||
survey.setForm(form);
|
|
||||||
}
|
|
||||||
|
|
||||||
form.setAdminName((String)m_surveyName.getValue(state));
|
Survey survey;
|
||||||
form.setHTMLName(getHTMLName((String)m_surveyName.getValue(state)));
|
PersistentForm form;
|
||||||
form.setDescription((String)m_description.getValue(state));
|
|
||||||
form.save();
|
|
||||||
|
|
||||||
survey.setStartDate((java.util.Date)m_startDate.getValue(state));
|
if (m_survey.isSelected(state)) {
|
||||||
survey.setEndDate((java.util.Date)m_endDate.getValue(state));
|
survey = m_survey.getSelectedSurvey(state);
|
||||||
survey.setResponsesPublic(new Boolean((String) m_responsesPublic.getValue(state)));
|
form = survey.getForm();
|
||||||
survey.setQuizType((String) m_quizType.getValue(state));
|
} else {
|
||||||
survey.save();
|
survey = m_type.equals(Survey.class) ? new Survey() : new Poll();
|
||||||
}
|
|
||||||
|
|
||||||
private String getHTMLName(String surveyName) {
|
// PackageInstance is old style application, no longer used.
|
||||||
|
// survey.setPackageInstance(SimpleSurveyUtil.getPackageInstance(state));
|
||||||
|
|
||||||
String htmlName = surveyName.trim().toLowerCase();
|
form = new PersistentForm();
|
||||||
|
survey.setForm(form);
|
||||||
|
}
|
||||||
|
|
||||||
htmlName = htmlName.replace(' ', '_');
|
form.setAdminName((String)m_surveyName.getValue(state));
|
||||||
|
form.setHTMLName(getHTMLName((String)m_surveyName.getValue(state)));
|
||||||
|
form.setDescription((String)m_description.getValue(state));
|
||||||
|
form.save();
|
||||||
|
|
||||||
return htmlName;
|
survey.setStartDate((java.util.Date)m_startDate.getValue(state));
|
||||||
}
|
survey.setEndDate((java.util.Date)m_endDate.getValue(state));
|
||||||
|
survey.setResponsesPublic(new Boolean((String) m_responsesPublic.getValue(state)));
|
||||||
|
survey.setQuizType((String) m_quizType.getValue(state));
|
||||||
|
survey.save();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param surveyName
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private String getHTMLName(String surveyName) {
|
||||||
|
String htmlName = surveyName.trim().toLowerCase();
|
||||||
|
htmlName = htmlName.replace(' ', '_');
|
||||||
|
|
||||||
|
return htmlName;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue