use of org.olat.course.properties.CoursePropertyManager in project OpenOLAT by OpenOLAT.
the class ProjectBrokerCourseNode method getDetailsListView.
@Override
public String getDetailsListView(UserCourseEnvironment userCourseEnvironment) {
Identity identity = userCourseEnvironment.getIdentityEnvironment().getIdentity();
CoursePropertyManager propMgr = userCourseEnvironment.getCourseEnvironment().getCoursePropertyManager();
List<Property> samples = propMgr.findCourseNodeProperties(this, identity, null, TaskController.PROP_ASSIGNED);
// no sample assigned yet
if (samples.size() == 0)
return null;
return samples.get(0).getStringValue();
}
use of org.olat.course.properties.CoursePropertyManager in project OpenOLAT by OpenOLAT.
the class IQSURVCourseNode method cleanupOnDelete.
/**
* @see org.olat.course.nodes.CourseNode#cleanupOnDelete(org.olat.course.ICourse)
*/
@Override
public void cleanupOnDelete(ICourse course) {
super.cleanupOnDelete(course);
CoursePropertyManager pm = course.getCourseEnvironment().getCoursePropertyManager();
// 1) Delete all properties: attempts
pm.deleteNodeProperties(this, null);
// 2) Delete all qtiresults for this node
String repositorySoftKey = (String) getModuleConfiguration().get(IQEditController.CONFIG_KEY_REPOSITORY_SOFTKEY);
RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntryBySoftkey(repositorySoftKey, false);
if (re != null) {
QTIResultManager.getInstance().deleteAllResults(course.getResourceableId(), getIdent(), re.getKey());
}
}
use of org.olat.course.properties.CoursePropertyManager in project OpenOLAT by OpenOLAT.
the class TACourseNode method informOnDelete.
/**
* @see org.olat.course.nodes.CourseNode#informOnDelete(org.olat.core.gui.UserRequest,
* org.olat.course.ICourse)
*/
@Override
public String informOnDelete(Locale locale, ICourse course) {
Translator trans = new PackageTranslator(PACKAGE_TA, locale);
CoursePropertyManager cpm = PersistingCoursePropertyManager.getInstance(course);
List<Property> list = cpm.listCourseNodeProperties(this, null, null, null);
// properties exist
if (list.size() != 0)
return trans.translate("warn.nodedelete");
File fTaskFolder = new File(FolderConfig.getCanonicalRoot() + TACourseNode.getTaskFolderPathRelToFolderRoot(course, this));
// task folder contains files
if (fTaskFolder.exists() && fTaskFolder.list().length > 0)
return trans.translate(NLS_WARN_NODEDELETE);
// no data yet.
return null;
}
use of org.olat.course.properties.CoursePropertyManager in project OpenOLAT by OpenOLAT.
the class TACourseNode method getDetailsListView.
/**
* @see org.olat.course.nodes.AssessableCourseNode#getDetailsListView(org.olat.course.run.userview.UserCourseEnvironment)
*/
@Override
public String getDetailsListView(UserCourseEnvironment userCourseEnvironment) {
Identity identity = userCourseEnvironment.getIdentityEnvironment().getIdentity();
CoursePropertyManager propMgr = userCourseEnvironment.getCourseEnvironment().getCoursePropertyManager();
List<Property> samples = propMgr.findCourseNodeProperties(this, identity, null, TaskController.PROP_ASSIGNED);
// no sample assigned yet
if (samples.size() == 0)
return null;
return samples.get(0).getStringValue();
}
use of org.olat.course.properties.CoursePropertyManager in project OpenOLAT by OpenOLAT.
the class LTIRunController method checkHasDataExchangeAccepted.
/**
* Helper method to check if user has already accepted. this info is stored
* in a user property, the accepted values are stored as an MD5 hash (save
* space, privacy)
*
* @param hash
* MD5 hash with all user data
* @return true: user has already accepted for this hash; false: user has
* not yet accepted or for other values
*/
private boolean checkHasDataExchangeAccepted(String hash) {
boolean dataAccepted = false;
CoursePropertyManager propMgr = this.userCourseEnv.getCourseEnvironment().getCoursePropertyManager();
Property prop = propMgr.findCourseNodeProperty(this.courseNode, getIdentity(), null, PROP_NAME_DATA_EXCHANGE_ACCEPTED);
if (prop != null) {
// compare if value in property is the same as calculated today. If not, user as to accept again
String storedHash = prop.getStringValue();
if (storedHash != null && hash != null && storedHash.equals(hash)) {
dataAccepted = true;
} else {
// remove property, not valid anymore
propMgr.deleteProperty(prop);
}
}
return dataAccepted;
}
Aggregations